diff options
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn | 78 | ||||
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn | 4513 | ||||
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn | 2 | ||||
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/nr-rrc.cnf | 8 | ||||
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c | 2 | ||||
-rw-r--r-- | epan/dissectors/packet-nr-rrc.c | 10613 |
6 files changed, 7376 insertions, 7840 deletions
diff --git a/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn b/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn index 696ca6a92d..3c8400bbd7 100644 --- a/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn +++ b/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn @@ -1,4 +1,4 @@ --- 3GPP TS 38.331 V15.1.0 (2018-03) +-- 3GPP TS 38.331 V15.2.0 (2018-06) NR-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::= @@ -10,10 +10,11 @@ IMPORTS CSI-RS-Index, GapConfig, maxBandComb, - maxBasebandProcComb, maxNrofSCells, + maxNrofServingCells-1, maxNrofIndexesToReport, MeasQuantityResults, + MeasResultList2NR, MeasResultSCG-Failure, MeasResultCellListSFTD, P-Max, @@ -21,7 +22,9 @@ IMPORTS RadioBearerConfig, RRCReconfiguration, ServCellIndex, +-- SetupRelease, SSB-Index, + SSB-MTC, ShortMAC-I, UE-CapabilityRAT-ContainerList FROM NR-RRC-Definitions; @@ -95,7 +98,7 @@ RRM-Config ::= SEQUENCE { hr8, hr10, hr13, hr16, hr20, day1, day1hr12, day2, day2hr12, day3, day4, day5, day7, day10, day14, day19, day24, day30, dayMoreThan30} OPTIONAL , - candidateCellInfoList CandidateCellInfoList OPTIONAL, + candidateCellInfoList MeasResultList2NR OPTIONAL, ... } @@ -117,14 +120,15 @@ CG-Config-IEs ::= SEQUENCE { scg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL, configRestrictModReq ConfigRestrictModReqSCG OPTIONAL, drx-InfoSCG DRX-Info OPTIONAL, - candidateCellInfoListSN OCTET STRING (CONTAINING CandidateCellInfoList) OPTIONAL, + candidateCellInfoListSN OCTET STRING (CONTAINING MeasResultList2NR) OPTIONAL, measConfigSN MeasConfigSN OPTIONAL, selectedBandCombinationNR BandCombinationIndex OPTIONAL, + fr-InfoListSCG FR-InfoList OPTIONAL, nonCriticalExtension SEQUENCE {} OPTIONAL } MeasConfigSN ::= SEQUENCE { - measuredFrequenciesFR1 SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF NR-FreqInfo OPTIONAL, + measuredFrequenciesSN SEQUENCE (SIZE (1.. maxMeasFreqsSN)) OF NR-FreqInfo OPTIONAL, ... } @@ -135,13 +139,19 @@ NR-FreqInfo ::= SEQUENCE { ConfigRestrictModReqSCG ::= SEQUENCE { requestedBC-MRDC BandCombinationIndex OPTIONAL, - requestedBPC-ListMRDC BPC-IndexList OPTIONAL, requestedP-MaxFR1 P-Max OPTIONAL, ... } BandCombinationIndex ::= INTEGER (1..maxBandComb) +FR-InfoList ::= SEQUENCE (SIZE (1..maxNrofServingCells-1)) OF FR-Info + +FR-Info ::= SEQUENCE { + servCellIndex ServCellIndex, + fr-Type ENUMERATED {fr1, fr2} +} + -- TAG-CG-CONFIG-STOP -- TAG-CG-CONFIG-INFO-START @@ -157,8 +167,8 @@ CG-ConfigInfo ::= SEQUENCE { CG-ConfigInfo-IEs ::= SEQUENCE { ue-CapabilityInfo OCTET STRING (CONTAINING UE-CapabilityRAT-ContainerList) OPTIONAL,-- Cond SN-Addition - candidateCellInfoListMN CandidateCellInfoList OPTIONAL, - candidateCellInfoListSN OCTET STRING (CONTAINING CandidateCellInfoList) OPTIONAL, + candidateCellInfoListMN MeasResultList2NR OPTIONAL, + candidateCellInfoListSN OCTET STRING (CONTAINING MeasResultList2NR) OPTIONAL, measResultCellListSFTD MeasResultCellListSFTD OPTIONAL, scgFailureInfo SEQUENCE { failureType ENUMERATED { t310-Expiry, randomAccessProblem, @@ -178,7 +188,6 @@ CG-ConfigInfo-IEs ::= SEQUENCE { ConfigRestrictInfoSCG ::= SEQUENCE { allowedBC-ListMRDC BandCombinationIndexList OPTIONAL, - allowedBPC-ListMRDC BPC-IndexList OPTIONAL, powerCoordination-FR1 SEQUENCE { p-maxNR P-Max OPTIONAL, p-maxEUTRA P-Max OPTIONAL @@ -187,15 +196,13 @@ ConfigRestrictInfoSCG ::= SEQUENCE { lowBound ServCellIndex, upBound ServCellIndex } OPTIONAL, -- Cond SN-Addition - maxMeasFreqsSCG-NR INTEGER(1..maxMeasFreqsMN) OPTIONAL, + maxMeasFreqsSCG-NR INTEGER(1..maxMeasFreqsMN) OPTIONAL, + maxMeasIdentitiesSCG-NR INTEGER(1..maxMeasIdentitiesMN) OPTIONAL, ... } BandCombinationIndexList ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationIndex -BPC-IndexList ::= SEQUENCE (SIZE (1..maxBasebandProcComb)) OF BPC-Index -BPC-Index ::= INTEGER (1..maxBasebandProcComb) - DRX-Info ::= SEQUENCE { drx-LongCycleStartOffset CHOICE { ms10 INTEGER(0..9), @@ -230,7 +237,7 @@ DRX-Info ::= SEQUENCE { MeasConfigMN ::= SEQUENCE { measuredFrequenciesMN SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF NR-FreqInfo OPTIONAL, - measGapConfigFR1 GapConfig OPTIONAL, + measGapConfig CHOICE { release NULL, setup GapConfig } OPTIONAL, gapPurpose ENUMERATED {perUE, perFR1} OPTIONAL, ... } @@ -257,49 +264,20 @@ MeasurementTimingConfiguration-IEs ::= SEQUENCE { MeasTimingList ::= SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF MeasTiming MeasTiming ::= SEQUENCE { - carrierFreq ARFCN-ValueNR OPTIONAL, - ssb-MeasurementTimingConfiguration ENUMERATED {ffsTypeAndValue} OPTIONAL, + frequencyAndTiming SEQUENCE { + carrierFreq ARFCN-ValueNR, + ssb-MeasurementTimingConfiguration SSB-MTC + } OPTIONAL, ... } -- TAG-MEASUREMENT-TIMING-CONFIGURATION-STOP --- TAG-CANDIDATE-CELL-INFO-LIST-START - -CandidateCellInfoList ::= SEQUENCE (SIZE (1.. maxNrofSCells)) OF CandidateCellInfo - -CandidateCellInfo ::= SEQUENCE { - cellIdentification SEQUENCE { - physCellId PhysCellId, - dl-CarrierFreq ARFCN-ValueNR - }, - measResultCell MeasQuantityResults OPTIONAL, - candidateRS-IndexListSSB CandidateRS-IndexInfoListSSB OPTIONAL, - candidateRS-IndexListCSI-RS CandidateRS-IndexInfoListCSI-RS OPTIONAL, - ... -} - -CandidateRS-IndexInfoListSSB ::= SEQUENCE (SIZE (1..maxNrofIndexesToReport)) OF CandidateRS-IndexInfoSSB - -CandidateRS-IndexInfoSSB ::= SEQUENCE { - ssb-Index SSB-Index, - measResultSSB MeasQuantityResults OPTIONAL, - ... -} - -CandidateRS-IndexInfoListCSI-RS ::= SEQUENCE (SIZE (1..maxNrofIndexesToReport)) OF CandidateRS-IndexInfoCSI-RS - -CandidateRS-IndexInfoCSI-RS ::= SEQUENCE { - csi-RS-Index CSI-RS-Index, - measResultCSI-RS MeasQuantityResults OPTIONAL, - ... -} - --- TAG-CANDIDATE-CELL-INFO-LIST-STOP -- TAG_NR-MULTIPLICITY-AND-CONSTRAINTS-START maxMeasFreqsMN INTEGER ::= 32 -- Maximum number of MN-configured measurement frequencies --- WS modification: already defined in NR-RRC-Definitions --- maxCellPrep INTEGER ::= 32 Maximum number of cells prepared for handover +maxMeasFreqsSN INTEGER ::= 32 -- Maximum number of SN-configured measurement frequencies +maxMeasIdentitiesMN INTEGER ::= 62 -- Maximum number of measurement identities that a UE can be configured with +maxCellPrep INTEGER ::= 32 -- Maximum number of cells prepared for handover -- TAG_NR-MULTIPLICITY-AND-CONSTRAINTS-STOP -- TAG_NR-INTER-NODE-DEFINITIONS-END-START diff --git a/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn b/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn index e57f82598b..96502b461a 100644 --- a/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn +++ b/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn @@ -1,4 +1,4 @@ --- 3GPP TS 38.331 V15.1.0 (2018-03) +-- 3GPP TS 38.331 V15.2.0 (2018-06) NR-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::= @@ -58,33 +58,13 @@ UL-DCCH-MessageType ::= CHOICE { -- TAG-UL-DCCH-MESSAGE-STOP -- TAG-MIB-START -MIB ::= SEQUENCE { - -- The 6 most significant bit (MSB) of the 10 bit System Frame Number. The 4 LSB of the SFN are conveyed in the PBCH transport block - -- as well but outside the MIB. +MIB ::= SEQUENCE { systemFrameNumber BIT STRING (SIZE (6)), - - -- Subcarrier spacing for SIB1, Msg.2/4 for initial access and broadcast SI-messages. - -- If the UE acquires this MIB on a carrier frequency <6GHz, the values 15 and 30 kHz are applicable. - -- If the UE acquires this MIB on a carrier frequency >6GHz, the values 60 and 120 kHz are applicable. subCarrierSpacingCommon ENUMERATED {scs15or60, scs30or120}, - - -- The frequency domain offset between SSB and the overall resource block grid in number of subcarriers. (See 38.211, section 7.4.3.1) - -- Note: For frequencies <6 GHz a fith, this field may comprise only the 4 least significant bits of the ssb-SubcarrierOffset. - -- The codepoint "FFS_RAN1" indicates that this cell does not provide SIB1 and that there is hence no common CORESET. ssb-SubcarrierOffset INTEGER (0..15), - - -- Position of (first) DL DM-RS. Corresponds to L1 parameter 'DL-DMRS-typeA-pos' (see 38.211, section 7.4.1.1.1) dmrs-TypeA-Position ENUMERATED {pos2, pos3}, - - -- Determines a bandwidth for PDCCH/SIB, a common ControlResourceSet (CORESET) a common search space and necessary PDCCH parameters. - -- Corresponds to L1 parameter 'RMSI-PDCCH-Config' (see FFS_Specification, section FFS_Section) pdcch-ConfigSIB1 INTEGER (0..255), - - -- Indicates that UE shall not camp on this cell cellBarred ENUMERATED {barred, notBarred}, - - -- Controls cell reselection to intra-frequency cells when the highest ranked cell is barred, or treated as barred by the UE, - -- as specified in TS 38.304. intraFreqReselection ENUMERATED {allowed, notAllowed}, spare BIT STRING (SIZE (1)) } @@ -94,13 +74,13 @@ MIB ::= SEQUENCE { MeasurementReport ::= SEQUENCE { criticalExtensions CHOICE { - measurementReport MeasurementReport-IEs, - criticalExtensionsFuture SEQUENCE {} + measurementReport MeasurementReport-IEs, + criticalExtensionsFuture SEQUENCE {} } } -MeasurementReport-IEs ::= SEQUENCE { - measResults MeasResults, +MeasurementReport-IEs ::= SEQUENCE { + measResults MeasResults, lateNonCriticalExtension OCTET STRING OPTIONAL, nonCriticalExtension SEQUENCE{} OPTIONAL @@ -118,14 +98,8 @@ RRCReconfiguration ::= SEQUENCE { } RRCReconfiguration-IEs ::= SEQUENCE { - -- Configuration of Radio Bearers (DRBs, SRBs) including SDAP/PDCP. - -- In EN-DC this field may only be present if the RRCReconfiguration - -- is transmitted over SRB3. radioBearerConfig RadioBearerConfig OPTIONAL, -- Need M - - -- Configuration of secondary cell group (EN-DC): secondaryCellGroup OCTET STRING (CONTAINING CellGroupConfig) OPTIONAL, -- Need M - measConfig MeasConfig OPTIONAL, -- Need M lateNonCriticalExtension OCTET STRING OPTIONAL, @@ -154,47 +128,34 @@ RRCReconfigurationComplete-IEs ::= SEQUENCE { SIB1 ::= SEQUENCE { -- FFS / TODO: Add other parameters. - - -- Frequency offset for the SSB of -5kHz (M=-1) or +5kHz (M=1). When the field is absent, the UE applies no offset (M=0). - -- The offset is only applicable for the frequency range 0-2.65GHz. Corresponds to parameter 'M' (see 38.101, section FFS_Section) - frequencyOffsetSSB ENUMERATED {khz-5, khz5} OPTIONAL, -- Need R - - -- Time domain positions of the transmitted SS-blocks in an SS-Burst-Set (see 38.213, section 4.1) + frequencyOffsetSSB ENUMERATED {khz-5, khz5} OPTIONAL, -- Need R ssb-PositionsInBurst SEQUENCE { - -- Indicates the presence of the up to 8 SSBs in one group inOneGroup BIT STRING (SIZE (8)), - -- For above 6 GHz: indicates which groups of SSBs is present - groupPresence BIT STRING (SIZE (8)) OPTIONAL -- Cond above6GHzOnly + groupPresence BIT STRING (SIZE (8)) OPTIONAL -- Cond above6GHzOnly }, - - -- The SSB periodicity in msec for the rate matching purpose (see 38.211, section [7.4.3.1]) ssb-PeriodicityServingCell ENUMERATED {ms5, ms10, ms20, ms40, ms80, ms160, spare1, spare2}, - - -- TX power that the NW used for SSB transmission. The UE uses it to estimate the RA preamble TX power. - -- (see 38.213, section 7.4) ss-PBCH-BlockPower INTEGER (-60..50), - uplinkConfigCommon UplinkConfigCommon OPTIONAL, - -- FFS: How to indicate the FrequencyInfoUL for the SUL + uplinkConfigCommon UplinkConfigCommon OPTIONAL, supplementaryUplink SEQUENCE { - uplinkConfigCommon UplinkConfigCommon OPTIONAL + uplinkConfigCommon UplinkConfigCommon OPTIONAL -- FFS: Add additional (selection) criteria determining when/whether the UE shall use the SUL frequency - } OPTIONAL, -- Cond SUL + } OPTIONAL, -- Cond SUL - tdd-UL-DL-Configuration TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD - tdd-UL-DL-configurationCommon2 TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD + tdd-UL-DL-Configuration TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD + tdd-UL-DL-configurationCommon2 TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD - pdcch-ConfigCommon PDCCH-ConfigCommon OPTIONAL, - pucch-ConfigCommon PUCCH-ConfigCommon OPTIONAL, + pdcch-ConfigCommon PDCCH-ConfigCommon OPTIONAL, + pucch-ConfigCommon PUCCH-ConfigCommon OPTIONAL, - lateNonCriticalExtension OCTET STRING OPTIONAL, - nonCriticalExtension SEQUENCE{} OPTIONAL + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL } -- TAG-SIB1-STOP -- TAG-SETUP-RELEASE-START --- WS modiifcation: asn2wrs does not support this syntax; replace all occurrences +-- WS modification: asn2wrs does not support this syntax; replace all occurrences -- SetupRelease { ElementTypeParam } ::= CHOICE { -- release NULL, -- setup ElementTypeParam @@ -218,34 +179,13 @@ ARFCN-ValueNR ::= INTEGER (0..3279165) -- TAG-ARFCN-VALUE-NR-STOP -- TAG-BANDWIDTH-PART-START +BWP ::= SEQUENCE { + locationAndBandwidth INTEGER (0..37949), + subcarrierSpacing SubcarrierSpacing, + cyclicPrefix ENUMERATED { extended } OPTIONAL -- Need R +} --- Generic parameters used in Uplink- and Downlink bandwidth parts -BWP ::= SEQUENCE { - -- Frequency domain location and bandwidth of this bandwidth part defined commonly in a table (FFS_Section). The location is given as - -- distance (in number of PRBs) to point A (absoluteFrequencyPointA in FrequencyInfoDL). - -- Corresponds to L1 parameter 'DL-BWP-loc'. (see 38.211, section FFS_Section). - -- In case of TDD, a BWP-pair (UL BWP and DL BWP with the same bwp-Id) must have the same location (see 38.211, section REF) - locationAndBandwidth INTEGER (0..37949), - -- Subcarrier spacing to be used in this BWP for all channels and - -- reference signals unless explicitly configured elsewhere. - -- Corresponds to subcarrier spacing according to 38.211, Table 4.2-1. - -- The value kHz15 corresponds to µ=0, kHz30 to µ=1, and so on. Only the values 15 or 30 kHz (<6GHz), 60 or 120 kHz (>6GHz) are - -- applicable. - subcarrierSpacing SubcarrierSpacing, - -- Indicates whether to use the extended cyclic prefix for this bandwidth part. If not set, the UE uses the normal cyclic prefix. - -- Normal CP is supported for all numerologies and slot formats. Extended CP is supported only for 60 kHz subcarrier spacing. - -- (see 38.211, section 4.2.2) - cyclicPrefix ENUMERATED { extended } OPTIONAL -- Need R -} - -BWP-Uplink ::= SEQUENCE { - -- An identifier for this bandwidth part. Other parts of the RRC configuration use the BWP-Id to associate themselves with a particular - -- bandwidth part. The BWP ID=0 is always associated with the initial BWP and may hence not be used here (in other bandwidth parts). - -- The NW may trigger the UE to swtich UL or DL BWP using a DCI field. The four code points in that DCI field map to the RRC-configured - -- BWP-ID as follows: For up to 3 configured BWPs (in addition to the initial BWP) the DCI code point is equivalent to the BWP ID - -- (initial = 0, first dedicated = 1, ...). If the NW configures 4 dedicated bandwidth parts, they are identified by DCI code - -- points 0 to 3. In this case it is not possible to switch to the initial BWP using the DCI field. - -- Corresponds to L1 parameter 'UL-BWP-index'. (see 38.211, 38.213, section 12) +BWP-Uplink ::= SEQUENCE { bwp-Id BWP-Id, bwp-Common BWP-UplinkCommon OPTIONAL, -- Need M bwp-Dedicated BWP-UplinkDedicated OPTIONAL, -- Need M @@ -254,66 +194,43 @@ BWP-Uplink ::= SEQUENCE { BWP-UplinkCommon ::= SEQUENCE { genericParameters BWP, - -- Configuration of cell specific random access parameters which the UE uses for contention based and contention free random access - -- as well as for contention based beam failure recovery. - rach-ConfigCommon CHOICE {release NULL, setup RACH-ConfigCommon } OPTIONAL, -- Need M - -- Cell specific parameters for the PUSCH - pusch-ConfigCommon CHOICE {release NULL, setup PUSCH-ConfigCommon } OPTIONAL, -- Need M - - -- Cell specific parameters for the PUCCH - pucch-ConfigCommon CHOICE {release NULL, setup PUCCH-ConfigCommon } OPTIONAL, -- Need M + rach-ConfigCommon CHOICE { release NULL, setup RACH-ConfigCommon } OPTIONAL, -- Need M + pusch-ConfigCommon CHOICE { release NULL, setup PUSCH-ConfigCommon } OPTIONAL, -- Need M + pucch-ConfigCommon CHOICE { release NULL, setup PUCCH-ConfigCommon } OPTIONAL, -- Need M ... } -BWP-UplinkDedicated ::= SEQUENCE { - -- PUCCH configuration for one BWP of the regular UL or SUL of a serving cell. If the UE is configured with SUL, the network - -- configures PUCCH only on the BWPs of one of the uplinks (UL or SUL). - pucch-Config CHOICE {release NULL, setup PUCCH-Config } OPTIONAL, -- Need M - -- PUSCH configuration for one BWP of the regular UL or SUL of a serving cell. If the UE is configured with SUL and - -- if it has a PUSCH-Config for both UL and SUL, a carrier indicator field in DCI indicates for which of the two to use an UL grant. - -- See also L1 parameter 'dynamicPUSCHSUL' (see 38.213, section FFS_Section) - pusch-Config CHOICE {release NULL, setup PUSCH-Config } OPTIONAL, -- Need M - -- A Configured-Grant of typ1 or type2. It may be configured for Ul or SUL but in case of type1 [FFS also type2] not for both at a time. - configuredGrantConfig CHOICE {release NULL, setup ConfiguredGrantConfig } OPTIONAL, -- Need M - -- Uplink sounding reference signal configuration - srs-Config CHOICE {release NULL, setup SRS-Config } OPTIONAL, -- Need M - -- Determines how the UE performs Beam Failure Recovery upon detection of a Beam Failure (see RadioLinkMonitoringConfig) - beamFailureRecoveryConfig CHOICE {release NULL, setup BeamFailureRecoveryConfig } OPTIONAL, -- Need M +BWP-UplinkDedicated ::= SEQUENCE { + pucch-Config CHOICE { release NULL, setup PUCCH-Config } OPTIONAL, -- Need M + pusch-Config CHOICE { release NULL, setup PUSCH-Config } OPTIONAL, -- Cond SetupOnly + configuredGrantConfig CHOICE { release NULL, setup ConfiguredGrantConfig } OPTIONAL, -- Need M + srs-Config CHOICE { release NULL, setup SRS-Config } OPTIONAL, -- Need M + beamFailureRecoveryConfig CHOICE { release NULL, setup BeamFailureRecoveryConfig } OPTIONAL, -- Cond SpCellOnly ... } - BWP-Downlink ::= SEQUENCE { - -- An identifier for this bandwidth part. Other parts of the RRC configuration use the BWP-Id to associate themselves with a particular - -- bandwidth part. The BWP ID=0 is always associated with the initial BWP and may hence not be used here. (in other bandwidth parts). - -- The NW may trigger the UE to swtich UL or DL BWP using a DCI field. The four code points in that DCI field map to the RRC-configured - -- BWP-ID as follows: For up to 3 configured BWPs (in addition to the initial BWP) the DCI code point is equivalent to the BWP ID - -- (initial = 0, first dedicated = 1, ...). If the NW configures 4 dedicated bandwidth parts, they are identified by DCI code - -- points 0 to 3. In this case it is not possible to switch to the initial BWP using the DCI field. - -- Corresponds to L1 parameter 'DL-BWP-index'. (see 38.211, 38.213, section 12) bwp-Id BWP-Id, bwp-Common BWP-DownlinkCommon OPTIONAL, -- Need M bwp-Dedicated BWP-DownlinkDedicated OPTIONAL, -- Need M ... } - BWP-DownlinkCommon ::= SEQUENCE { genericParameters BWP, - pdcch-ConfigCommon CHOICE {release NULL, setup PDCCH-ConfigCommon } OPTIONAL, -- Need M - pdsch-ConfigCommon CHOICE {release NULL, setup PDSCH-ConfigCommon } OPTIONAL, -- Need M + pdcch-ConfigCommon CHOICE { release NULL, setup PDCCH-ConfigCommon } OPTIONAL, -- Need M + pdsch-ConfigCommon CHOICE { release NULL, setup PDSCH-ConfigCommon } OPTIONAL, -- Need M ... } BWP-DownlinkDedicated ::= SEQUENCE { - pdcch-Config CHOICE {release NULL, setup PDCCH-Config } OPTIONAL, -- Need M - pdsch-Config CHOICE {release NULL, setup PDSCH-Config } OPTIONAL, -- Need M - sps-Config CHOICE {release NULL, setup SPS-Config } OPTIONAL, -- Need M - radioLinkMonitoringConfig CHOICE {release NULL, setup RadioLinkMonitoringConfig } OPTIONAL, -- Need M + pdcch-Config CHOICE { release NULL, setup PDCCH-Config } OPTIONAL, -- Need M + pdsch-Config CHOICE { release NULL, setup PDSCH-Config } OPTIONAL, -- Need M + sps-Config CHOICE { release NULL, setup SPS-Config } OPTIONAL, -- Need M + radioLinkMonitoringConfig CHOICE { release NULL, setup RadioLinkMonitoringConfig } OPTIONAL, -- Need M ... } - -- TAG-BANDWIDTH-PART-STOP -- TAG-BWP-ID-START @@ -323,23 +240,15 @@ BWP-Id ::= INTEGER (0..maxNrofBWPs) -- TAG-BEAM-FAILURE-RECOVERY-CONFIG-START BeamFailureRecoveryConfig ::= SEQUENCE { - rootSequenceIndex-BFR INTEGER (0..137) OPTIONAL, -- Need M - -- Configuration of contention free random access occasions for BFR - rach-ConfigBFR RACH-ConfigGeneric OPTIONAL, -- Need M - -- L1-RSRP threshold used for determining whether a candidate beam may be used by the UE to attempt contention free - -- Random Access to recover from beam failure. The signalled threshold is applied directly for SSB, a threshold for - -- CSI-RS is determined by linearly scaling singalled value based on Pc_ss corresponding to the CSI-RS resource. - -- (see FFS_Specification, FFS_Section) - candidateBeamThreshold RSRP-Range OPTIONAL, -- Need M - -- A list of reference signals (CSI-RS and/or SSB) identifying the candidate beams for recover and the associated RA parameters - candidateBeamRSList SEQUENCE (SIZE(1..maxNrofCandidateBeams)) OF PRACH-ResourceDedicatedBFR OPTIONAL, -- Need M - -- Explicitly signalled PRACH Mask Index for RA Resource selection in TS 36.321. The mask is valid for all SSB resources - ra-ssb-OccasionMaskIndex INTEGER (0..15) OPTIONAL, -- Need M - -- Control Resource Set that the UE uses to receive the random access response for beam failure recovery. - -- If the field is absent the UE uses the initial CORESET (ControlResourceSetId = 0) - recoveryControlResourceSetId ControlResourceSetId OPTIONAL , -- Need S - -- Search space to use for BFR RAR. If the field is absent, the UE uses the initial Serach Space (SearchSpaceId = 0). - recoverySearchSpaceId SearchSpaceId OPTIONAL, -- Need S + rootSequenceIndex-BFR INTEGER (0..137) OPTIONAL, -- Need M + rach-ConfigBFR RACH-ConfigGeneric OPTIONAL, -- Need M + rsrp-ThresholdSSB RSRP-Range OPTIONAL, -- Need M + candidateBeamRSList SEQUENCE (SIZE(1..maxNrofCandidateBeams)) OF PRACH-ResourceDedicatedBFR OPTIONAL, -- Need M + ssb-perRACH-Occasion ENUMERATED {oneEighth, oneFourth, oneHalf, one, two, four, eight, sixteen} OPTIONAL, -- Need M + ra-ssb-OccasionMaskIndex INTEGER (0..15) OPTIONAL, -- Need M + recoverySearchSpaceId SearchSpaceId OPTIONAL, -- Cond CF-BFR + ra-Prioritization RA-Prioritization OPTIONAL, -- Need R + beamFailureRecoveryTimer ENUMERATED {ms10, ms20, ms40, ms60, ms80, ms100, ms150, ms200} OPTIONAL, -- Need M ... } @@ -349,21 +258,14 @@ PRACH-ResourceDedicatedBFR ::= CHOICE { } BFR-SSB-Resource ::= SEQUENCE { - -- The ID of an SSB transmitted by this serving cell. It determines a candidate beam for beam failure recovery (BFR) ssb SSB-Index, - -- The preamble index that the UE shall use when performing BFR upon selecting the candidate beams identified by this SSB. ra-PreambleIndex INTEGER (0..63), ... } BFR-CSIRS-Resource ::= SEQUENCE { - -- The ID of a NZP-CSI-RS-Resource configured in the CSI-MeasConfig of this serving cell. This reference signal determines a candidate beam - -- for beam failure recovery (BFR). csi-RS NZP-CSI-RS-ResourceId, - -- RA occasions that the UE shall use when performing BFR upon selecting the candidate beam identified by this CSI-RS. If the field is absent - -- the UE uses the RA occasion associated with the SSB that is QCLed with this CSI-RS. - -- The RA preamble index to use in the RA occasions associated with this CSI-RS. If the field is absent, the UE uses the preamble index - -- associated with the SSB that is QCLed with this CSI-RS. + ra-OccasionList SEQUENCE (SIZE(1..maxRA-OccasionsPerCSIRS)) OF INTEGER (0..maxRA-Occasions-1) OPTIONAL, -- Need R ra-PreambleIndex INTEGER (0..63) OPTIONAL, -- Need R ... } @@ -375,86 +277,27 @@ BFR-CSIRS-Resource ::= SEQUENCE { CellGroupConfig ::= SEQUENCE { cellGroupId CellGroupId, - -- Logical Channel configuration and association with radio bearers: - rlc-BearerToAddModList SEQUENCE (SIZE(1..maxLC-ID)) OF RLC-Bearer-Config OPTIONAL, -- Need N + rlc-BearerToAddModList SEQUENCE (SIZE(1..maxLC-ID)) OF RLC-BearerConfig OPTIONAL, -- Need N rlc-BearerToReleaseList SEQUENCE (SIZE(1..maxLC-ID)) OF LogicalChannelIdentity OPTIONAL, -- Need N - -- Parameters applicable for the entire cell group: mac-CellGroupConfig MAC-CellGroupConfig OPTIONAL, -- Need M + physicalCellGroupConfig PhysicalCellGroupConfig OPTIONAL, -- Need M - -- Serving Cell specific parameters (SpCell and SCells) spCellConfig SpCellConfig OPTIONAL, -- Need M sCellToAddModList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellConfig OPTIONAL, -- Need N - -- List of seconary serving cells to be released (not applicable for SpCells) sCellToReleaseList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellIndex OPTIONAL, -- Need N ... } --- The ID of a cell group. 0 identifies the master cell group. Other values identify secondary cell groups. --- In this version of the specification only values 0 and 1 are supported. --- FFS: This should be moved to be own IE section -CellGroupId ::= INTEGER (0.. maxSecondaryCellGroups) - - -RLC-Bearer-Config ::= SEQUENCE { - -- ID used commonly for the MAC logical channel and for the RLC bearer. - logicalChannelIdentity LogicalChannelIdentity, - - -- Associates the RLC Bearer with an SRB or a DRB. The UE shall deliver DL RLC SDUs received via the RLC entity of this - -- RLC bearer to the PDCP entity of the servedRadioBearer. Furthermore, the UE shall advertise and deliver uplink PDCP PDUs of the - -- uplink PDCP entity of the servedRadioBearer to the uplink RLC entity of this RLC bearer unless the uplink scheduling - -- restrictions ('moreThanOneRLC' in PDCP-Config and the restrictions in LogicalChannelConfig) forbid it to do so. - servedRadioBearer CHOICE { - srb-Identity SRB-Identity, - drb-Identity DRB-Identity - } OPTIONAL, -- Cond LCH-SetupOnly - - reestablishRLC ENUMERATED {true} OPTIONAL, -- Need N - rlc-Config RLC-Config OPTIONAL, -- Cond LCH-Setup - - mac-LogicalChannelConfig LogicalChannelConfig OPTIONAL, -- Cond LCH-Setup - ... -} - -LogicalChannelIdentity ::= INTEGER (1..maxLC-ID) - --- Cell-Group specific L1 parameters -PhysicalCellGroupConfig ::= SEQUENCE { - -- Enables spatial bundling of HARQ ACKs. It is configured per cell group (i.e. for all the cells within the cell group) for PUCCH - -- reporting of HARQ-ACK. It is only applicable when more than 4 layers are possible to schedule. - -- Corresponds to L1 parameter 'HARQ-ACK-spatial-bundling' (see 38.213, section FFS_Section) - -- Absence indicates that spatial bundling is disabled. - harq-ACK-SpatialBundlingPUCCH ENUMERATED {true} OPTIONAL, -- Need R - - -- Enables spatial bundling of HARQ ACKs. It is configured per cell group (i.e. for all the cells within the cell group) for PUSCH - -- reporting of HARQ-ACK. It is only applicable when more than 4 layers are possible to schedule. - -- Corresponds to L1 parameter 'HARQ-ACK-spatial-bundling' (see 38.213, section FFS_Section) - -- Absence indicates that spatial bundling is disabled. - harq-ACK-SpatialBundlingPUSCH ENUMERATED {true} OPTIONAL, -- Need R - -- The maximum transmit power to be used by the UE in this NR cell group. - p-NR P-Max OPTIONAL, -- Need R - -- The PDSCH HARQ-ACK codebook is either semi-static of dynamic. This is applicable to both CA and none CA operation. - -- Corresponds to L1 parameter 'HARQ-ACK-codebook' (see 38.213, section FFS_Section) - pdsch-HARQ-ACK-Codebook ENUMERATED {semiStatic, dynamic}, - -- RNTI used for SRS TPC commands on DCI. Corresponds to L1 parameter 'TPC-SRS-RNTI' (see 38.213, section 10) - tpc-SRS-RNTI RNTI-Value OPTIONAL, -- Need R - -- RNTI used for PUCCH TPC commands on DCI. Corresponds to L1 parameter 'TPC-PUCCH-RNTI' (see 38.213, section 10). - tpc-PUCCH-RNTI RNTI-Value OPTIONAL, -- Need R - -- RNTI used for PUSCH TPC commands on DCI. Corresponds to L1 parameter 'TPC-PUSCH-RNTI' (see 38.213, section 10) - tpc-PUSCH-RNTI RNTI-Value OPTIONAL,-- Need R - ... -} -- Serving cell specific MAC and PHY parameters for a SpCell: SpCellConfig ::= SEQUENCE { - -- Serving cell ID of a PSCell (the PCell of the Master Cell Group uses ID = 0) servCellIndex ServCellIndex OPTIONAL, -- Cond SCG - -- Parameters for the synchronous reconfiguration to the target SpCell: reconfigurationWithSync ReconfigurationWithSync OPTIONAL, -- Cond ReconfWithSync - rlf-TimersAndConstants CHOICE {release NULL, setup RLF-TimersAndConstants } OPTIONAL, -- Need M - rlmInSyncOutOfSyncThreshold INTEGER (0..1) OPTIONAL, -- Need M + rlf-TimersAndConstants CHOICE { release NULL, setup RLF-TimersAndConstants } OPTIONAL, -- Need M + rlmInSyncOutOfSyncThreshold ENUMERATED {n1} OPTIONAL, -- Need S spCellConfigDedicated ServingCellConfig OPTIONAL, -- Need M ... } @@ -465,7 +308,7 @@ ReconfigurationWithSync ::= SEQUENCE { t304 ENUMERATED {ms50, ms100, ms150, ms200, ms500, ms1000, ms2000, ms10000}, rach-ConfigDedicated CHOICE { uplink RACH-ConfigDedicated, - supplementaryUplink RACH-ConfigDedicated + supplementaryUplink RACH-ConfigDedicated } OPTIONAL, -- Need N ... } @@ -478,24 +321,22 @@ SCellConfig ::= SEQUENCE { } -- TAG-CELL-GROUP-CONFIG-STOP +-- TAG-CELLGROUPID-START + +CellGroupId ::= INTEGER (0.. maxSecondaryCellGroups) + +-- TAG-CELLGROUPID-STOP -- TAG-CODEBOOKCONFIG-START CodebookConfig ::= SEQUENCE { - -- CodebookType including possibly sub-types and the corresponding parameters for each. Corresponds to L1 parameter 'CodebookType' - -- (see 38.214, section 5.2.2.2) codebookType CHOICE { type1 SEQUENCE { subType CHOICE { typeI-SinglePanel SEQUENCE { nrOfAntennaPorts CHOICE { two SEQUENCE { - -- Codebook subset restriction for 2TX codebook - -- Corresponds to L1 parameter ' TypeI-SinglePanel-2Tx-CodebookSubsetRestriction' (see 38.214 section 5.2.2.2.1) twoTX-CodebookSubsetRestriction BIT STRING (SIZE (6)) }, moreThanTwo SEQUENCE { - -- Number of antenna ports in first (n1) and second (n2) dimension and codebook subset restriction - -- Corresponds to L1 parameters 'CodebookConfig-N1', 'CodebookConfig-N2' - -- 'TypeI-SinglePanel-CodebookSubsetRestriction ' (see 38.214 section 5.2.2.2.1) n1-n2 CHOICE { two-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (8)), two-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (64)), @@ -511,77 +352,55 @@ CodebookConfig ::= SEQUENCE { eight-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (256)), sixteen-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (64)) }, - -- i2 codebook subset restriction for Type I Single-panel codebook used when reportQuantity is CRI/Ri/i1/CQI - -- Corresponds to L1 parameter 'TypeI-SinglePanel-CodebookSubsetRestriction-i2' (see 38.214 section 5.2.2.2.1) typeI-SinglePanel-codebookSubsetRestriction-i2 BIT STRING (SIZE (16)) OPTIONAL } }, - -- Restriction for RI for TypeI-SinglePanel-RI-Restriction - -- Corresponds to L1 parameter 'TypeI-SinglePanel-RI-Restriction' (see 38.214, section 5.2.2.2.1) typeI-SinglePanel-ri-Restriction BIT STRING (SIZE (8)) }, typeI-MultiPanel SEQUENCE { - -- Codebook subset restriction for Type I Multi-panel codebook - -- Corresponds to L1 parameter 'TypeI-MultiPanel-CodebookSubsetRestriction' (see 38.214, section 5.2.2.2.2) ng-n1-n2 CHOICE { two-two-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (8)), - two-four-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (32)), - four-two-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (32)), - two-two-two-TypeI-MultiPanel-Restriction BIT STRING (SIZE (128)), - two-eight-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (64)), - four-four-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (64)), - two-four-two-TypeI-MultiPanel-Restriction BIT STRING (SIZE (256)), - four-two-two-TypeI-MultiPanel-Restriction BIT STRING (SIZE (256)) + two-four-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (16)), + four-two-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (8)), + two-two-two-TypeI-MultiPanel-Restriction BIT STRING (SIZE (64)), + two-eight-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (32)), + four-four-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (16)), + two-four-two-TypeI-MultiPanel-Restriction BIT STRING (SIZE (128)), + four-two-two-TypeI-MultiPanel-Restriction BIT STRING (SIZE (64)) }, - -- Restriction for RI for TypeI-MultiPanel-RI-Restriction - -- Corresponds to L1 parameter 'TypeI-MultiPanel-RI-Restriction' (see 38.214, section 5.2.2.2.2) ri-Restriction BIT STRING (SIZE (4)) } }, - -- CodebookMode as specified in 38.214 section 5.2.2.2.2 codebookMode INTEGER (1..2) }, type2 SEQUENCE { subType CHOICE { typeII SEQUENCE { - -- Number of antenna ports in first (n1) and second (n2) dimension and codebook subset restriction - -- Corresponds to L1 parameters 'CodebookConfig-N1', 'CodebookConfig-N2' - -- The CHOICE name indicates the value of n1 and n2, the CHOICE contents is the codebook subset restriction bitmap - -- Corresponds to L1 parameter ' TypeII-CodebookSubsetRestriction' (see 38.214 section 5.2.2.2.3) - -- Number of bits for codebook subset restriction is ceil(log2(nchoosek(O1*O2,4)))+8*n1*n2 where nchoosek(a,b) = a!/(b!(a-b)!) n1-n2-codebookSubsetRestriction CHOICE { two-one BIT STRING (SIZE (16)), - two-two BIT STRING (SIZE (139)), + two-two BIT STRING (SIZE (43)), four-one BIT STRING (SIZE (32)), three-two BIT STRING (SIZE (59)), - six-one BIT STRING (SIZE (49)), + six-one BIT STRING (SIZE (48)), four-two BIT STRING (SIZE (75)), - eight-one BIT STRING (SIZE (65)), + eight-one BIT STRING (SIZE (64)), four-three BIT STRING (SIZE (107)), six-two BIT STRING (SIZE (107)), - twelve-one BIT STRING (SIZE (129)), + twelve-one BIT STRING (SIZE (96)), four-four BIT STRING (SIZE (139)), eight-two BIT STRING (SIZE (139)), - sixteen-one BIT STRING (SIZE (129)) + sixteen-one BIT STRING (SIZE (128)) }, - -- Restriction for RI for TypeII-RI-Restriction - -- Corresponds to L1 parameter 'TypeII-RI-Restriction' (see 38.214, section 5.2.2.2.3) typeII-RI-Restriction BIT STRING (SIZE (2)) }, typeII-PortSelection SEQUENCE { - -- The size of the port selection codebook (parameter d) portSelectionSamplingSize ENUMERATED {n1, n2, n3, n4} OPTIONAL, -- Cond TypeII-PortSelection - -- Restriction for RI for TypeII-PortSelection-RI-Restriction - -- Corresponds to L1 parameter 'TypeII-PortSelection-RI-Restriction' (see 38.214, section 5.2.2.4) typeII-PortSelectionRI-Restriction BIT STRING (SIZE (2)) } }, - -- The size of the PSK alphabet, QPSK or 8-PSK phaseAlphabetSize ENUMERATED {n4, n8}, - -- If subband amplitude reporting is activated (true) subbandAmplitude BOOLEAN, - -- Number of beams, L, used for linear combination numberOfBeams ENUMERATED {two, three, four} } } @@ -591,99 +410,41 @@ CodebookConfig ::= SEQUENCE { -- TAG-CONFIGUREDGRANTCONFIG-START ConfiguredGrantConfig ::= SEQUENCE { - - -- Frequency hopping as agreed in RAN1-AH18776 - frequencyHopping ENUMERATED {mode1, mode2}, - -- DMRS configuration, as agreed in RAN1-AH18776 - cg-DMRS-Configuration DMRS-UplinkConfig, - - -- Indicates the MCS table the UE shall use for PUSCH without transform precoding, as agreed in RAN1-AH18776 - mcs-Table ENUMERATED {qam64, qam256}, - -- Indicates the MCS table the UE shall use for PUSCH with transform precoding, as agreed in RAN1-AH18776 - -- When the field is absent the UE applies the value 64QAM - mcs-TableTransformPrecoder ENUMERATED {qam256} OPTIONAL, -- Need S - -- Selection between and configuration of dynamic and semi-static beta-offset, as agreed in RAN1-AH18776 - -- Note: For Type 1 UL data transmission without grant, "uci-on-PUSCH" should be set to semiStatic - uci-OnPUSCH CHOICE {release NULL, setup CG-UCI-OnPUSCH }, - -- Configuration of resource allocation type 0 and resource allocation type 1, as agreed in RAN1-AH18776 - -- Note: For Type 1 UL data transmission without grant, "resourceAllocation" should be resourceAllocationType0 or resourceAllocationType1 - resourceAllocation ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch }, - -- Selection between config 1 and config 2 for RBG size for PUSCH. When the field is absent the UE applies the value config1. - -- Note: rbg-Size is used when the transformPrecoder parameter is disabled. - rbg-Size ENUMERATED {config2} OPTIONAL, -- Need S - - -- Closed control loop to apply. Corresponds to L1 parameter 'PUSCH-closed-loop-index' (see 38.213, section FFS_Section) + frequencyHopping ENUMERATED {mode1, mode2} OPTIONAL, -- Need S, + cg-DMRS-Configuration DMRS-UplinkConfig, + mcs-Table ENUMERATED {qam256, spare1} OPTIONAL, -- Need S + mcs-TableTransformPrecoder ENUMERATED {qam256, spare1} OPTIONAL, -- Need S + uci-OnPUSCH CHOICE { release NULL, setup CG-UCI-OnPUSCH }, + resourceAllocation ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch }, + rbg-Size ENUMERATED {config2} OPTIONAL, -- Need S powerControlLoopToUse ENUMERATED {n0, n1}, - -- Index of the P0-PUSCH-AlphaSet to be used for this configuration p0-PUSCH-Alpha P0-PUSCH-AlphaSetId, - -- Enable transformer precoder for type1 and type2. Absence indicates that it is disabled. - -- Corresponds to L1 parameter 'UL-TWG-tp' (see 38.214, section 6.1.3) - transformPrecoder ENUMERATED {enabled} OPTIONAL, -- Need R - -- The number of HARQ processes configured. It applies for both Type 1 and Type 2 - -- Corresponds to L1 parameter 'UL-TWG-numbHARQproc' (see 38.321, section 5.8.2) + transformPrecoder ENUMERATED {enabled} OPTIONAL, -- Need S nrofHARQ-Processes INTEGER(1..16), - -- The number or repetitions of K: repK ENUMERATED {n1, n2, n4, n8}, - -- If repetitions is used, this field indicates the redundancy version (RV) sequence to use. - -- Corresponds to L1 parameter 'UL-TWG-RV-rep' (see 38.321, section 5.8.2) - repK-RV ENUMERATED {s1-0231, s2-0303, s3-0000} OPTIONAL, -- Cond RepK - -- Periodicity for UL transmission without UL grant for type 1 and type 2 - -- Corresponds to L1 parameter 'UL-TWG-periodicity' (see 38.321, section 5.8.2) - - -- The following periodicities are supported depending on the configured subcarrier spacing [symbols]: - -- 15kHz: 2, 7, n*14, where n={1, 2, 4, 5, 8, 10, 16, 20, 32, 40, 64, 80, 128, 160, 320, 640} - -- 30kHz: 2, 7, n*14, where n={1, 2, 4, 5, 8, 10, 16, 20, 32, 40, 64, 80, 128, 160, 256, 320, 640, 1280} - -- 60kHz with normal CP: 2, 7, n*14, where n={1, 2, 4, 5, 8, 10, 16, 20, 32, 40, 64, 80, 128, 160, 256, 320, 512, 640, 1280, 2560} - -- 60kHz with ECP: 2, 6, n*12, where n={1, 2, 4, 5, 8, 10, 16, 20, 32, 40, 64, 80, 128, 160, 256, 320, 512, 640, 1280, 2560} - -- 120kHz: 2, 7, n*14, where n={1, 2, 4, 5, 8, 10, 16, 20, 32, 40, 64, 80, 128, 160, 256, 320, 512, 640, 1024, 1280, 2560, 5120} - -- (see 38.214, Table 6.1.2.3-1) + repK-RV ENUMERATED {s1-0231, s2-0303, s3-0000} OPTIONAL, -- Cond RepK periodicity ENUMERATED { sym2, sym7, sym1x14, sym2x14, sym4x14, sym5x14, sym8x14, sym10x14, sym16x14, sym20x14, sym32x14, sym40x14, sym64x14, sym80x14, sym128x14, sym160x14, sym256x14, sym320x14, sym512x14, sym640x14, sym1024x14, sym1280x14, sym2560x14, sym5120x14, - sym6, sym1x12, sym2x12, sym4x12, sym5x12, sym8x12, sym10x12, sym16x12, sym20x12, sym32x12, sym40x12, sym64x12, sym80x12, sym128x12, sym160x12, sym256x12, sym320x12, sym512x12, sym640x12, sym1280x12, sym2560x12 }, - - -- If configured, the UE uses the configured grant timer (see 38.321, section 5.8.2) with this initial timer value. - -- Supported values are as follows in units of symbols: - -- For normal CP: 2, 7, {1, 2, 4, 5, 8, 10, 20, 32, 40, 64, 80, 128, 160, 256, 512, 640 } x 14 - -- For extended CP: 2, 6, {1, 2, 4, 8, 20, 40, 80, 128, 160, 256, 320, 512, 640 } x 12 - configuredGrantTimer ENUMERATED { - sym2, sym7, sym1x14, sym2x14, sym4x14, sym5x14, sym8x14, sym10x14, sym16x14, sym20x14, sym32x14, - sym40x14, sym64x14, sym80x14, sym128x14, sym160x14, sym256x14, sym512x14, sym640x14, - - sym6, sym1x12, sym2x12, sym4x12, sym5x12, sym8x12, sym10x12, sym16x12, sym20x12, sym32x12, - sym40x12, sym64x12, sym80x12, sym128x12, sym256x12, sym320x12, sym512x12, sym640x12 - } OPTIONAL, -- Need R - -- Selection between "configured grant" transmission with fully RRC-configured UL grant (Type1) - -- or with UL grant configured by DCI addressed to CS-RNTI (Type2). - rrc-ConfiguredUplinkGrant SEQUENCE { - -- Offset related to SFN=0 - timeDomainOffset INTEGER (0..5119), - -- Corresponding to the DCI field of time domain resource assignment, and the maximum bit width is 4. - --(see 38.214, section 6.1.2 and 38.212, section 7.3.1) - timeDomainAllocation INTEGER (0..15), -- RAN1 indicated just "Mapping-type,Index-start-len" - -- Corresponding to the DCI field of freq domain resource assignment. - -- (see 38.214, section 6.1.2, and 38.212, section 7.3.1) - frequencyDomainAllocation BIT STRING (SIZE(18)), - -- UE-specific DMRS configuration: corresponding to the DCI field of antenna ports, and the maximum bitwidth is 5. - -- (see 38.214, section 6.1.2, and 38.212, section 7.3.1) - antennaPort INTEGER (0..31), - dmrs-SeqInitialization INTEGER (0..1) OPTIONAL, -- Cond NoTransformPrecoder - precodingAndNumberOfLayers INTEGER (0..63), - srs-ResourceIndicator INTEGER (0..15), - -- The modulation order, target code rate and TB size (see 38.214, section 6.1.2) - mcsAndTBS INTEGER (0..31), - -- Enables intra-slot frequency hopping with the given frequency hopping offset - -- Corresponds to L1 parameter 'UL-TWG-hopping' (see 38.214, section FFS_Section) - - frequencyHoppingOffset INTEGER (1.. maxNrofPhysicalResourceBlocks-1), - pathlossReferenceIndex INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1), + configuredGrantTimer INTEGER (1..64) OPTIONAL, -- Need R + rrc-ConfiguredUplinkGrant SEQUENCE { + timeDomainOffset INTEGER (0..5119), + timeDomainAllocation INTEGER (0..15), + frequencyDomainAllocation BIT STRING (SIZE(18)), + antennaPort INTEGER (0..31), + dmrs-SeqInitialization INTEGER (0..1) OPTIONAL, -- Cond NoTransformPrecoder + precodingAndNumberOfLayers INTEGER (0..63), + srs-ResourceIndicator INTEGER (0..15), + mcsAndTBS INTEGER (0..31), + frequencyHoppingOffset INTEGER (1.. maxNrofPhysicalResourceBlocks-1) OPTIONAL, -- Need M + pathlossReferenceIndex INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1), ... - } OPTIONAL -- Cond Type1 + } OPTIONAL -- Need R } CG-UCI-OnPUSCH ::= CHOICE { @@ -695,54 +456,24 @@ CG-UCI-OnPUSCH ::= CHOICE { -- TAG-CONTROLRESOURCESET-START ControlResourceSet ::= SEQUENCE { - -- Corresponds to L1 parameter 'CORESET-ID' - -- Value 0 identifies the common CORESET configured in MIB and in ServingCellConfigCommon - -- Values 1..maxNrofControlResourceSets-1 identify CORESETs configured by dedicated signalling - -- The controlResourceSetId is unique among the BWPs of a ServingCell. controlResourceSetId ControlResourceSetId, - - -- Frequency domain resources for the CORESET. Each bit corresponds a group of 6 RBs, with grouping starting from PRB 0, which is fully - -- contained in the bandwidth part within which the CORESET is configured. - -- The most significant bit corresponds to the group of lowest frequency which is fully contained in the bandwidth part within which the - -- CORESET is configured, each next subsequent lower significance bit corresponds to the next lowest frequency group fully contained within - -- the bandwidth part within which the CORESET is configured, if any. - -- Bits corresponding to a group not fully contained within the bandwidth part within which the CORESET is configured are set to zero. - -- Corresponds to L1 parameter 'CORESET-freq-dom'(see 38.211, section 7.3.2.2) frequencyDomainResources BIT STRING (SIZE (45)), - -- Contiguous time duration of the CORESET in number of symbols - -- Corresponds to L1 parameter 'CORESET-time-duration' (see 38.211, section 7.3.2.2FFS_Section) duration INTEGER (1..maxCoReSetDuration), - -- Mapping of Control Channel Elements (CCE) to Resource Element Groups (REG). - -- Corresponds to L1 parameter 'CORESET-CCE-REG-mapping-type' (see 38.211Section sections 7.3.2.2 and 7.4.1.3.2) - cce-REG-MappingType CHOICE { + cce-REG-MappingType CHOICE { interleaved SEQUENCE { - -- Resource Element Groups (REGs) can be bundled to create REG bundles. This parameter defines the size of such bundles. - -- Corresponds to L1 parameter 'CORESET-REG-bundle-size' (see 38.211, section FFS_Section) reg-BundleSize ENUMERATED {n2, n3, n6}, - -- Corresponds to L1 parameter 'CORESET-interleaver-size' (see 38.211, 38.213, section FFS_Section) interleaverSize ENUMERATED {n2, n3, n6}, - -- Corresponds to L1 parameter 'CORESET-shift-index' (see 38.211, section 7.3.2.2) - shiftIndex INTEGER(0..maxNrofPhysicalResourceBlocks-1) + shiftIndex INTEGER(0..maxNrofPhysicalResourceBlocks-1) OPTIONAL -- Need S }, nonInterleaved NULL }, - -- Precoder granularity in frequency domain. - -- Corresponds to L1 parameter 'CORESET-precoder-granuality' (see 38.211, sections 7.3.2.2 and 7.4.1.3.2) precoderGranularity ENUMERATED {sameAsREG-bundle, allContiguousRBs}, - - -- A subset of the TCI states defined in TCI-States used for providing QCL relationships between the DL RS(s) in one RS Set - -- (TCI-State) and the PDCCH DMRS ports. Corresponds to L1 parameter 'TCI-StatesPDCCH' (see 38.214, section FFS_Section) - tci-StatesPDCCH SEQUENCE(SIZE (1..maxNrofTCI-StatesPDCCH)) OF TCI-StateId OPTIONAL, -- Need R - - -- If at least spatial QCL is configured/indicated, this field indicates if TCI field is present or not present in DL-related DCI. - -- When the field is absent the UE considers the TCI to be absent/disabled. - -- Corresponds to L1 parameter 'TCI-PresentInDCI' (see 38,213, section 5.1.5) - tci-PresentInDCI ENUMERATED {enabled} OPTIONAL, -- Need S - - -- PDCCH DMRS scrambling initalization. Corresponds to L1 parameter 'PDCCH-DMRS-Scrambling-ID' (see 38.214, section 5.1) - -- When the field is absent the UE applies the value '0'. - pdcch-DMRS-ScramblingID BIT STRING (SIZE (16)) OPTIONAL -- Need S + tci-StatesPDCCH-ToAddList SEQUENCE(SIZE (1..maxNrofTCI-StatesPDCCH)) OF TCI-StateId OPTIONAL, -- Need N + tci-StatesPDCCH-ToReleaseList SEQUENCE(SIZE (1..maxNrofTCI-StatesPDCCH)) OF TCI-StateId OPTIONAL, -- Need N +tci-PresentInDCI ENUMERATED {enabled} OPTIONAL, -- Need S + pdcch-DMRS-ScramblingID INTEGER (0..65535) OPTIONAL, -- Need S + ... } -- TAG-CONTROLRESOURCESET-STOP @@ -775,238 +506,123 @@ CSI-AperiodicTriggerState ::= SEQUENCE { } CSI-AssociatedReportConfigInfo ::= SEQUENCE { - -- The reportConfigId of one of the CSI-ReportConfigToAddMod configured in CSI-MeasConfig reportConfigId CSI-ReportConfigId, - resourcesForChannel CHOICE { - nzp-CSI-RS SEQUENCE { - -- NZP-CSI-RS-ResourceSet for channel measurements. Entry number in nzp-CSI-RS-ResourceSetList in the CSI-ResourceConfig - -- indicated by resourcesForChannelMeasurement in the CSI-ReportConfig indicated by reportConfigId above - -- (1 corresponds to the first entry, 2 to thesecond entry, and so on). - resourceSet INTEGER (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig), - - -- List of references to TCI-States for providing the QCL source and QCL type for for each NZP-CSI-RS-Resource - -- listed in nzp-CSI-RS-Resources of the NZP-CSI-RS-ResourceSet indicated by nzp-CSI-RS-ResourcesforChannel. - -- First entry in qcl-info-forChannel corresponds to first entry in nzp-CSI-RS-Resources of that NZP-CSI-RS-ResourceSet, - -- second entry in qcl-info-forChannel corresponds to second entry in nzp-CSI-RS-Resources, - -- and so on. Corresponds to L1 parameter 'QCL-Info-aPeriodicReportingTrigger' (see 38.214, section 5.2.1.5.1) - qcl-info SEQUENCE (SIZE(1..maxNrofAP-CSI-RS-ResourcesPerSet)) OF TCI-StateId + nzp-CSI-RS SEQUENCE { + resourceSet INTEGER (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig), + qcl-info SEQUENCE (SIZE(1..maxNrofAP-CSI-RS-ResourcesPerSet)) OF TCI-StateId OPTIONAL -- Cond Aperiodic }, - -- CSI-SSB-ResourceSet for channel measurements. Entry number in csi-SSB-ResourceSetList in the CSI-ResourceConfig indicated by - -- resourcesForChannelMeasurement in the CSI-ReportConfig indicated by reportConfigId above (1 corresponds to the first entry, 2 to - -- the second entry, and so on). csi-SSB-ResourceSet INTEGER (1..maxNrofCSI-SSB-ResourceSetsPerConfig) }, - - -- CSI-IM-ResourceSet for interference measurement. Entry number in csi-IM-ResourceSetList in the CSI-ResourceConfig indicated by - -- csi-IM-ResourcesForInterference in the CSI-ReportConfig indicated by reportConfigId above (1 corresponds to the first entry, 2 to the second - -- entry, and so on). - -- The indicated CSI-IM-ResourceSet should have exactly the same number of resources like the NZP-CSI-RS-ResourceSet indicated in - -- nzp-CSI-RS-ResourcesforChannel. - -- This field can only be present if the CSI-ReportConfig identified by reportConfigId includes csi-IM-ResourcesForInterference. - csi-IM-ResourcesforInteference INTEGER(1..maxNrofCSI-IM-ResourceSetsPerConfig) OPTIONAL, --Cond CSI-IM-forInterference - - - -- NZP-CSI-RS-ResourceSet for interference measurement. Entry number in nzp-CSI-RS-ResourceSetList in the CSI-ResourceConfig indicated by - -- nzp-CSI-RS-ResourcesForInterference in the CSI-ReportConfig indicated by reportConfigId above (1 corresponds to the first entry, - -- 2 to the second entry, and so on). - -- The indicated NZP-CSI-RS-ResourceSet should have exactly the same number of resources like the NZP-CSI-RS-ResourceSet indicated in - -- nzp-CSI-RS-ResourcesforChannel. - -- This field can only be present if the CSI-ReportConfig identified by reportConfigId includes nzp-CSI-RS-ResourcesForInterference. - nzp-CSI-RS-ResourcesforInterference INTEGER (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig) OPTIONAL, --Cond LinkedNZP-CSI-RS-forInterference + csi-IM-ResourcesforInteference INTEGER(1..maxNrofCSI-IM-ResourceSetsPerConfig) OPTIONAL, -- Cond CSI-IM-forInterference + nzp-CSI-RS-ResourcesforInterference INTEGER (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig) OPTIONAL, -- Cond NZP-CSI-RS-forInterference ... } -- TAG-CSI-APERIODICTRIGGERSTATELIST-STOP -- TAG-CSI-FREQUENCYOCCUPATION-START -CSI-FrequencyOccupation ::= SEQUENCE { - -- PRB where this CSI resource starts in relation to PRB 0 of the associated BWP. - -- Only multiples of 4 are allowed (0, 4, ...) - startingRB INTEGER (0..maxNrofPhysicalResourceBlocks-1), - -- Number of PRBs across which this CSI resource spans. Only multiples of 4 are allowed. The smallest configurable - -- number is the minimum of 24 and the width of the associated BWP. - nrofRBs INTEGER (24..maxNrofPhysicalResourceBlocks), +CSI-FrequencyOccupation ::= SEQUENCE { + startingRB INTEGER (0..maxNrofPhysicalResourceBlocks-1), + nrofRBs INTEGER (24..maxNrofPhysicalResourceBlocksPlus1), ... } -- TAG-CSI-FREQUENCYOCCUPATION-STOP -- TAG-CSI-IM-RESOURCE-START -CSI-IM-Resource ::= SEQUENCE { - csi-IM-ResourceId CSI-IM-ResourceId, - - -- The resource element pattern (Pattern0 (2,2) or Pattern1 (4,1)) with corresponding parameters. - -- Corresponds to L1 parameter 'CSI-IM-RE-pattern' (see 38.214, section 5.2.2.3.4) - csi-IM-ResourceElementPattern CHOICE { - pattern0 SEQUENCE { - -- OFDM subcarrier occupancy of the CSI-IM resource for Pattern0 - -- Corresponds to L1 parameter 'CSI-IM-ResourceMapping' (see 38.214, section 5.2.2.3.4) - subcarrierLocation-p0 ENUMERATED { s0, s2, s4, s6, s8, s10 }, - -- OFDM symbol location of the CSI-IM resource for Pattern0 - -- Corresponds to L1 parameter 'CSI-IM-ResourceMapping' (see 38.214, section 5.2.2.3.4) - symbolLocation-p0 INTEGER (0..12) + +CSI-IM-Resource ::= SEQUENCE { + csi-IM-ResourceId CSI-IM-ResourceId, + csi-IM-ResourceElementPattern CHOICE { + pattern0 SEQUENCE { + subcarrierLocation-p0 ENUMERATED { s0, s2, s4, s6, s8, s10 }, + symbolLocation-p0 INTEGER (0..12) }, - pattern1 SEQUENCE { - -- OFDM subcarrier occupancy of the CSI-IM resource for Pattern1 - -- Corresponds to L1 parameter 'CSI-IM-ResourceMapping' (see 38.214, section 5.2.2.3.4) - subcarrierLocation-p1 ENUMERATED { s0, s4, s8 }, - -- OFDM symbol location of the CSI-IM resource for Pattern1 - -- Corresponds to L1 parameter 'CSI-IM-ResourceMapping' (see 38.214, section 5.2.2.3.4) - symbolLocation-p1 INTEGER (0..13) + pattern1 SEQUENCE { + subcarrierLocation-p1 ENUMERATED { s0, s4, s8 }, + symbolLocation-p1 INTEGER (0..13) } - } OPTIONAL, --Need M - - -- Frequency-occupancy of CSI-IM. Corresponds to L1 parameter 'CSI-IM-FreqBand' (see 38.214, section 5.2.2.3.2) - freqBand CSI-FrequencyOccupation OPTIONAL, -- Need M - - -- Periodicity and slot offset for periodic/semi-persistent CSI-IM. Corresponds to L1 parameter 'CSI-IM-timeConfig' - periodicityAndOffset CSI-ResourcePeriodicityAndOffset OPTIONAL, --Cond PeriodicOrSemiPersistent + } OPTIONAL, -- Need M + freqBand CSI-FrequencyOccupation OPTIONAL, -- Need M + periodicityAndOffset CSI-ResourcePeriodicityAndOffset OPTIONAL, -- Cond PeriodicOrSemiPersistent ... } -- TAG-CSI-IM-RESOURCE-STOP -- TAG-CSI-IM-RESOURCEID-START -CSI-IM-ResourceId ::= INTEGER (0..maxNrofCSI-IM-Resources-1) + +CSI-IM-ResourceId ::= INTEGER (0..maxNrofCSI-IM-Resources-1) -- TAG-CSI-IM-RESOURCEID-STOP -- TAG-CSI-IM-RESOURCESET-START -CSI-IM-ResourceSet ::= SEQUENCE { - csi-IM-ResourceSetId CSI-IM-ResourceSetId, - -- CSI-IM-Resources associated with this CSI-IM-ResourceSet - -- Corresponds to L1 parameter 'CSI-IM-ResourceConfigList' (see 38.214, section 5.2) - csi-IM-Resources SEQUENCE (SIZE(1..maxNrofCSI-IM-ResourcesPerSet)) OF CSI-IM-ResourceId, +CSI-IM-ResourceSet ::= SEQUENCE { + csi-IM-ResourceSetId CSI-IM-ResourceSetId, + csi-IM-Resources SEQUENCE (SIZE(1..maxNrofCSI-IM-ResourcesPerSet)) OF CSI-IM-ResourceId, ... } -- TAG-CSI-IM-RESOURCESET-STOP -- TAG-CSI-IM-RESOURCESETID-START -CSI-IM-ResourceSetId ::= INTEGER (0..maxNrofCSI-IM-ResourceSets-1) +CSI-IM-ResourceSetId ::= INTEGER (0..maxNrofCSI-IM-ResourceSets-1) -- TAG-CSI-IM-RESOURCESETID-STOP -- TAG-CSI-MEAS-CONFIG-START CSI-MeasConfig ::= SEQUENCE { - -- Pool of NZP-CSI-RS-Resource which can be referred to from NZP-CSI-RS-ResourceSet nzp-CSI-RS-ResourceToAddModList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-Resources)) OF NZP-CSI-RS-Resource OPTIONAL, -- Need N nzp-CSI-RS-ResourceToReleaseList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-Resources)) OF NZP-CSI-RS-ResourceId OPTIONAL, -- Need N - - -- Pool of NZP-CSI-RS-ResourceSet which can be referred to from CSI-ResourceConfig or from MAC CEs nzp-CSI-RS-ResourceSetToAddModList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourceSets)) OF NZP-CSI-RS-ResourceSet OPTIONAL, -- Need N nzp-CSI-RS-ResourceSetToReleaseList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourceSets)) OF NZP-CSI-RS-ResourceSetId OPTIONAL, -- Need N - - -- Pool of CSI-IM-Resource which can be referred to from CSI-IM-ResourceSet csi-IM-ResourceToAddModList SEQUENCE (SIZE (1..maxNrofCSI-IM-Resources)) OF CSI-IM-Resource OPTIONAL, -- Need N csi-IM-ResourceToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-IM-Resources)) OF CSI-IM-ResourceId OPTIONAL, -- Need N - - -- Pool of CSI-IM-ResourceSet which can be referred to from CSI-ResourceConfig or from MAC CEs csi-IM-ResourceSetToAddModList SEQUENCE (SIZE (1..maxNrofCSI-IM-ResourceSets)) OF CSI-IM-ResourceSet OPTIONAL, -- Need N csi-IM-ResourceSetToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-IM-ResourceSets)) OF CSI-IM-ResourceSetId OPTIONAL, -- Need N - - -- Pool of CSI-SSB-ResourceSet which can be referred to from CSI-ResourceConfig csi-SSB-ResourceSetToAddModList SEQUENCE (SIZE (1..maxNrofCSI-SSB-ResourceSets)) OF CSI-SSB-ResourceSet OPTIONAL, -- Need N csi-SSB-ResourceSetToAddReleaseList SEQUENCE (SIZE (1..maxNrofCSI-SSB-ResourceSets)) OF CSI-SSB-ResourceSetId OPTIONAL, -- Need N - - -- Configured CSI resource settings as specified in TS 38.214 section 5.2.1.2 csi-ResourceConfigToAddModList SEQUENCE (SIZE (1..maxNrofCSI-ResourceConfigurations)) OF CSI-ResourceConfig OPTIONAL, -- Need N csi-ResourceConfigToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-ResourceConfigurations)) OF CSI-ResourceConfigId OPTIONAL, -- Need N - - -- Configured CSI report settings as specified in TS 38.214 section 5.2.1.1 csi-ReportConfigToAddModList SEQUENCE (SIZE (1..maxNrofCSI-ReportConfigurations)) OF CSI-ReportConfig OPTIONAL, -- Need N csi-ReportConfigToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-ReportConfigurations)) OF CSI-ReportConfigId OPTIONAL, -- Need N - - -- Size of CSI request field in DCI (bits). Corresponds to L1 parameter 'ReportTriggerSize' (see 38.214, section 5.2) - reportTriggerSize INTEGER (0..6) OPTIONAL, - - -- Contains trigger states for dynamically selecting one or more aperiodic and semi-persistent reporting configurations - -- and/or triggering one or more aperiodic CSI-RS resource sets for channel and/or interference measurement. - -- FFS: How to address the MAC-CE configuration - aperiodicTriggerStateList CHOICE {release NULL, setup CSI-AperiodicTriggerStateList } OPTIONAL, -- Need M - semiPersistentOnPUSCH-TriggerStateList CHOICE {release NULL, setup CSI-SemiPersistentOnPUSCH-TriggerStateList } OPTIONAL, -- Need M + reportTriggerSize INTEGER (0..6) OPTIONAL, + aperiodicTriggerStateList CHOICE { release NULL, setup CSI-AperiodicTriggerStateList } OPTIONAL, -- Need M + semiPersistentOnPUSCH-TriggerStateList CHOICE { release NULL, setup CSI-SemiPersistentOnPUSCH-TriggerStateList } OPTIONAL, -- Need M ... } -maxNrofNZP-CSI-RS-ResourceSets INTEGER ::= 64 -maxNrofNZP-CSI-RS-ResourceSets-1 INTEGER ::= 63 - -maxNrofCSI-SSB-ResourceSets INTEGER ::= 64 -maxNrofCSI-SSB-ResourceSets-1 INTEGER ::= 63 - -maxNrofCSI-IM-ResourceSets INTEGER ::= 64 -maxNrofCSI-IM-ResourceSets-1 INTEGER ::= 63 - -- TAG-CSI-MEAS-CONFIG-STOP -- TAG-CSI-REPORTCONFIG-START --- Configuration of a CSI-Report sent on L1 (e.g. PUCCH) (see 38.214, section 5.2.1) -CSI-ReportConfig ::= SEQUENCE { - reportConfigId CSI-ReportConfigId, - - -- Indicates in which serving cell the CSI-ResourceConfigToAddMod(s) below are to be found. - -- If the field is absent, the resources are on the same serving cell as this report configuration. - carrier ServCellIndex OPTIONAL, -- Need S - -- Resources for channel measurement. csi-ResourceConfigId of a CSI-ResourceConfig included in the configuration of the serving cell - -- indicated with the field "carrier" above. This CSI-ReportConfig is associated with the DL BWP indicated by bwp-Id in that CSI-ResourceConfig. +CSI-ReportConfig ::= SEQUENCE { + reportConfigId CSI-ReportConfigId, + carrier ServCellIndex OPTIONAL, -- Need S resourcesForChannelMeasurement CSI-ResourceConfigId, - - -- CSI IM resources for interference measurement. csi-ResourceConfigId of a CSI-ResourceConfig included in the configuration of the serving cell - -- indicated with the field "carrier" above. The bwp-Id in that CSI-ResourceConfigToAddMod is the same value like the bwp-Id in the - -- CSI-ResourceConfig indicated by resourcesForChannelMeasurement. - csi-IM-ResourcesForInterference CSI-ResourceConfigId OPTIONAL, -- Need R - - -- NZP CSI RS resources for interference measurement. csi-ResourceConfigId of a CSI-ResourceConfigToAddMod included in the configuration of the - -- serving cell indicated with the field "carrier" above. The bwp-Id in that CSI-ResourceConfigToAddMod is the same value like the bwp-Id in the - -- CSI-ResourceConfigToAddMod indicated by resourcesForChannelMeasurement. - nzp-CSI-RS-ResourcesForInterference CSI-ResourceConfigId OPTIONAL, -- Need R - - -- Time domain behavior of reporting configuration + csi-IM-ResourcesForInterference CSI-ResourceConfigId OPTIONAL, -- Need R + nzp-CSI-RS-ResourcesForInterference CSI-ResourceConfigId OPTIONAL, -- Need R reportConfigType CHOICE { periodic SEQUENCE { - -- Periodicity and slot offset. Corresponds to L1 parameter 'ReportPeriodicity'and 'ReportSlotOffset' - -- (see 38.214, section section 5.2.1.4). reportSlotConfig CSI-ReportPeriodicityAndOffset, - -- Indicates which PUCCH resource to use for reporting on PUCCH. pucch-CSI-ResourceList SEQUENCE (SIZE (1..maxNrofBWPs)) OF PUCCH-CSI-Resource }, semiPersistentOnPUCCH SEQUENCE { - -- Periodicity and slot offset. Corresponds to L1 parameter 'ReportPeriodicity' and 'ReportSlotOffset' - -- (see 38.214, section section 5.2.1.4). reportSlotConfig CSI-ReportPeriodicityAndOffset, - -- Indicates which PUCCH resource to use for reporting on PUCCH. pucch-CSI-ResourceList SEQUENCE (SIZE (1..maxNrofBWPs)) OF PUCCH-CSI-Resource }, semiPersistentOnPUSCH SEQUENCE { - -- Periodicity. Corresponds to L1 parameter 'Reportperiodicity-spCSI'. (see 38.214, section 5.2.1.1?FFS_Section) reportSlotConfig ENUMERATED {sl5, sl10, sl20, sl40, sl80, sl160, sl320}, - -- Timing offset Y for aperiodic reporting using PUSCH. This field lists the allowed offset values. - -- A particular value is indicated in DCI. The first report is transmitted in slot n+Y, second report in n+Y+P, - -- where P is the configured periodicity. - reportSlotOffsetList SEQUENCE (SIZE (1..4)) OF INTEGER (0..7), - -- RNTI for SP CSI-RNTI, Corresponds to L1 parameter 'SPCSI-RNTI' (see 38.214, section 5.2.1.5.2) - -- FFS: RAN1 models different RNTIs as different Search Spaces with independent configurations. Align the configuration - -- of this one (e.g. group with monitoring periodicity, PDCCH candidate configuration, DCI-Payload size...)? - csi-RNTI RNTI-Value, - -- Index of the p0-alpha set determining the power control for this CSI report transmission. - -- Corresponds to L1 parameter 'SPCSI-p0alpha' (see 38.214, section FFS_Section) + reportSlotOffsetList SEQUENCE (SIZE (1.. maxNrofUL-Allocations)) OF INTEGER(0..32), p0alpha P0-PUSCH-AlphaSetId }, aperiodic SEQUENCE { - -- Timing offset Y for aperiodic reporting using PUSCH. This field lists the allowed offset values. A particular value is indicated in DCI. - -- (see 38.214, section 5.2.3) - -- FFS_Value: Range wasn’t final in RAN1 table. - -- FFS_FIXME: How are the DCI codepoints mapped to the allowed offsets? - reportSlotOffsetList SEQUENCE (SIZE (1..16)) OF INTEGER (0..7) + reportSlotOffsetList SEQUENCE (SIZE (1..maxNrofUL-Allocations)) OF INTEGER(0..32) } }, - -- The CSI related quanities to report. Corresponds to L1 parameter 'ReportQuantity' (see 38.214, section REF) reportQuantity CHOICE { none NULL, cri-RI-PMI-CQI NULL, cri-RI-i1 NULL, cri-RI-i1-CQI SEQUENCE { - -- PRB bundling size to assume for CQI calcuation when reportQuantity is CRI/RI/i1/CQI - -- Corresponds to L1 parameter 'PDSCH-bundle-size-for-CSI' (see 38.214, section 5.2.1.4) pdsch-BundleSizeForCSI ENUMERATED {n2, n4} OPTIONAL }, cri-RI-CQI NULL, @@ -1014,17 +630,9 @@ CSI-ReportConfig ::= SEQUENCE { ssb-Index-RSRP NULL, cri-RI-LI-PMI-CQI NULL }, - -- Reporting configuration in the frequency domain. (see 38.214, section 5.2.1.4) reportFreqConfiguration SEQUENCE { - -- Indicates whether the UE shall report a single (wideband) or multiple (subband) CQI. (see 38.214, section 5.2.1.4) - cqi-FormatIndicator ENUMERATED { widebandCQI, subbandCQI }, - -- Indicates whether the UE shall report a single (wideband) or multiple (subband) PMI. (see 38.214, section 5.2.1.4) - pmi-FormatIndicator ENUMERATED { widebandPMI, subbandPMI }, - -- Indicates a contiguous or non-contigous subset of subbands in the bandwidth part which CSI shall be reported - -- for. Each bit in the bit-string represents one subband. The right-most bit in the bit string represents the - -- lowest subband in the BWP. (see 38.214, section 5.2.1.4) - -- The number of subbands is determined according to 38.214 section 5.2.1.4. It is absent if there are less than 24 PRBs (no sub band) - -- and present otherwise, the number of sub bands can be from 3 (24 PRBs, sub band size 8) to 18 (72 PRBs, sub band size 4). + cqi-FormatIndicator ENUMERATED { widebandCQI, subbandCQI } OPTIONAL, -- Need R + pmi-FormatIndicator ENUMERATED { widebandPMI, subbandPMI } OPTIONAL, -- Need R csi-ReportingBand CHOICE { subbands3 BIT STRING(SIZE(3)), subbands4 BIT STRING(SIZE(4)), @@ -1045,58 +653,24 @@ CSI-ReportConfig ::= SEQUENCE { ... } OPTIONAL -- Need S - }, - -- Time domain measurement restriction for the channel (signal) measurements. - -- Corresponds to L1 parameter 'MeasRestrictionConfig-time-channel' (see 38.214, section 5.2.1.1) + } OPTIONAL, -- Need R timeRestrictionForChannelMeasurements ENUMERATED {configured, notConfigured}, - -- Time domain measurement restriction for interference measurements. - -- Corresponds to L1 parameter 'MeasRestrictionConfig-time-interference' (see 38.214, section 5.2.1.1) timeRestrictionForInterferenceMeasurements ENUMERATED {configured, notConfigured}, - -- Codebook configuration for Type-1 or Type-II including codebook subset restriction - codebookConfig CodebookConfig, - -- Maximum number of CQIs per CSI report (cf. 1 for 1-CW, 2 for 2-CW) - nrofCQIsPerReport ENUMERATED {n1, n2}, - -- Turning on/off group beam based reporting (see 38.214, section 5.2.1.4) + codebookConfig CodebookConfig OPTIONAL, -- Need R + nrofCQIsPerReport ENUMERATED {n1, n2} OPTIONAL, -- Need R groupBasedBeamReporting CHOICE { enabled NULL, disabled SEQUENCE { - -- The number (N) of measured RS resources to be reported per report setting in a non-group-based report. - -- N <= N_max, where N_max is either 2 or 4 depending on UE capability. - -- FFS: The signaling mechanism for the gNB to select a subset of N beams for the UE to measure and report. - -- FFS: Note: this parameter may not be needed for certain resource and/or report settings - -- FFS_ASN1: Change groupBasedBeamReporting into a CHOICE and include this field into the "no" option? - -- (see 38.214, section FFS_Section) - -- When the field is absent the UE applies the value 1 - nrofReportedRS ENUMERATED {n1, n2, n3, n4} OPTIONAL -- Need S + nrofReportedRS ENUMERATED {n1, n2, n3, n4} OPTIONAL -- Need S } }, - - -- Which CQI table to use for CQI calculation. Corresponds to L1 parameter 'CQI-table' (see 38.214, section 5.2.2.1) - cqi-Table ENUMERATED {table1, table2, spare2, spare1} OPTIONAL, - -- Indicates one out of two possible BWP-dependent values for the subband size as indicated in 38.214 table 5.2.1.4-2 - -- Corresponds to L1 parameter 'SubbandSize' (see 38.214, section 5.2.1.4) + cqi-Table ENUMERATED {table1, table2, spare2, spare1} OPTIONAL, -- Need R subbandSize ENUMERATED {value1, value2}, - -- BLER target that the UE shall be assume in its CQI calculation. - -- Corresponds to L1 parameter 'BLER-Target' (see 38.214, section 5.2.2.1) - -- FFS_Values (now filled with spares) - bler-Target ENUMERATED {zerodot1, spare3, space2, spare1} OPTIONAL, - -- Port indication for RI/CQI calculation. For each CSI-RS resource in the linked ResourceConfig for channel measurement, - -- a port indication for each rank R, indicating which R ports to use. Applicable only for non-PMI feedback. - -- Corresponds to L1 parameter 'Non-PMI-PortIndication' (see 38.214, section FFS_Section) - -- The first entry in non-PMI-PortIndication corresponds to the NZP-CSI-RS-Resource indicated by the first entry in - -- nzp-CSI-RS-Resources in the NZP-CSI-RS-ResourceSet indicated in the first entry of nzp-CSI-RS-ResourceSetList of the - -- CSI-ResourceConfig whose CSI-ResourceConfigId is indicated in a CSI-MeasId together with the above CSI-ReportConfigId, - -- the second entry in non-PMI-PortIndication corresponds to the NZP-CSI-RS-Resource indicated by the second entry in - -- nzp-CSI-RS-Resources in the NZP-CSI-RS-ResourceSet indicated in the first entry of nzp-CSI-RS-ResourceSetList of the - -- same CSI-ResourceConfig, and so on until the NZP-CSI-RS-Resource indicated by the last entry in nzp-CSI-RS-Resources - -- in the in the NZP-CSI-RS-ResourceSet indicated in the first entry of nzp-CSI-RS-ResourceSetList of the - -- same CSI-ResourceConfig, then the next entry corresponds to the NZP-CSI-RS-Resource indicated by the first entry - -- in nzp-CSI-RS-Resources in the NZP-CSI-RS-ResourceSet indicated in the second entry of nzp-CSI-RS-ResourceSetList of the - -- same CSI-ResourceConfig and so on. - non-PMI-PortIndication SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourcesPerConfig)) OF PortIndexFor8Ranks OPTIONAL, ... -} - -CSI-ReportPeriodicityAndOffset ::= CHOICE { + non-PMI-PortIndication SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourcesPerConfig)) OF PortIndexFor8Ranks OPTIONAL, -- Need R + ... +} + +CSI-ReportPeriodicityAndOffset ::= CHOICE { slots4 INTEGER(0..3), slots5 INTEGER(0..4), slots8 INTEGER(0..7), @@ -1109,137 +683,150 @@ CSI-ReportPeriodicityAndOffset ::= CHOICE { slots320 INTEGER(0..319) } -PUCCH-CSI-Resource ::= CHOICE { +PUCCH-CSI-Resource ::= SEQUENCE { uplinkBandwidthPartId BWP-Id, - -- PUCCH resource for the associated uplink BWP. Only PUCCH-Resource of format 2, 3 and 4 is supported. - pucch-Resource PUCCH-Resource -} - --- The PortIndexFor8Ranks allows to indicate port indexes for 1 to 8 ranks using a port index ranges from 0 to 31, or from 0 to 15, or from 0 --- to 7, or from 0 to 3, or from 0 to 1, or with 0 only. - -PortIndexFor8Ranks ::= CHOICE { - portIndex8 SEQUENCE{ - rank1-8 PortIndex8, - rank2-8 SEQUENCE(SIZE(1..2)) OF PortIndex8, - rank3-8 SEQUENCE(SIZE(1..3)) OF PortIndex8, - rank4-8 SEQUENCE(SIZE(1..4)) OF PortIndex8, - rank5-8 SEQUENCE(SIZE(1..5)) OF PortIndex8, - rank6-8 SEQUENCE(SIZE(1..6)) OF PortIndex8, - rank7-8 SEQUENCE(SIZE(1..7)) OF PortIndex8, - rank8-8 SEQUENCE(SIZE(1..8)) OF PortIndex8 + pucch-Resource PUCCH-ResourceId +} + +PortIndexFor8Ranks ::= CHOICE { + portIndex8 SEQUENCE{ + rank1-8 PortIndex8 OPTIONAL, -- Need R + rank2-8 SEQUENCE(SIZE(2)) OF PortIndex8 OPTIONAL, -- Need R + rank3-8 SEQUENCE(SIZE(3)) OF PortIndex8 OPTIONAL, -- Need R + rank4-8 SEQUENCE(SIZE(4)) OF PortIndex8 OPTIONAL, -- Need R + rank5-8 SEQUENCE(SIZE(5)) OF PortIndex8 OPTIONAL, -- Need R + rank6-8 SEQUENCE(SIZE(6)) OF PortIndex8 OPTIONAL, -- Need R + rank7-8 SEQUENCE(SIZE(7)) OF PortIndex8 OPTIONAL, -- Need R + rank8-8 SEQUENCE(SIZE(8)) OF PortIndex8 OPTIONAL -- Need R }, - portIndex4 SEQUENCE{ - rank1-4 PortIndex4, - rank2-4 SEQUENCE(SIZE(1..2)) OF PortIndex4, - rank3-4 SEQUENCE(SIZE(1..3)) OF PortIndex4, - rank4-4 SEQUENCE(SIZE(1..4)) OF PortIndex4 + portIndex4 SEQUENCE{ + rank1-4 PortIndex4 OPTIONAL, -- Need R + rank2-4 SEQUENCE(SIZE(2)) OF PortIndex4 OPTIONAL, -- Need R + rank3-4 SEQUENCE(SIZE(3)) OF PortIndex4 OPTIONAL, -- Need R + rank4-4 SEQUENCE(SIZE(4)) OF PortIndex4 OPTIONAL -- Need R }, - portIndex2 SEQUENCE{ - rank1-2 PortIndex2, - rank2-2 SEQUENCE(SIZE(1..2)) OF PortIndex2 + portIndex2 SEQUENCE{ + rank1-2 PortIndex2 OPTIONAL, -- Need R + rank2-2 SEQUENCE(SIZE(2)) OF PortIndex2 OPTIONAL -- Need R }, - portIndex1 NULL + portIndex1 NULL } -PortIndex8::= INTEGER (0..7) -PortIndex4::= INTEGER (0..3) -PortIndex2::= INTEGER (0..1) +PortIndex8::= INTEGER (0..7) +PortIndex4::= INTEGER (0..3) +PortIndex2::= INTEGER (0..1) -maxNrofNZP-CSI-RS-ResourcesPerConfig INTEGER ::= 128 -- TAG-CSI-REPORTCONFIG-STOP -- TAG-CSI-REPORTCONFIGID-START -CSI-ReportConfigId ::= INTEGER (0..maxNrofCSI-ReportConfigurations-1) + +CSI-ReportConfigId ::= INTEGER (0..maxNrofCSI-ReportConfigurations-1) -- TAG-CSI-REPORTCONFIGID-STOP -- TAG-CSI-RESOURCECONFIG-START --- One CSI resource configuration comprising of one or more resource sets -CSI-ResourceConfig ::= SEQUENCE { - - -- Used in CSI-ReportConfig to refer to an instance of CSI-ResourceConfig +CSI-ResourceConfig ::= SEQUENCE { csi-ResourceConfigId CSI-ResourceConfigId, - - -- Contains up to maxNrofNZP-CSI-RS-ResourceSetsPerConfig resource sets if ResourceConfigType is 'aperiodic' and 1 otherwise. - -- Corresponds to L1 parameter 'ResourceSetConfigList' (see 38.214, section 5.2.1.3.1) csi-RS-ResourceSetList CHOICE { nzp-CSI-RS-SSB SEQUENCE { nzp-CSI-RS-ResourceSetList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig)) OF NZP-CSI-RS-ResourceSetId OPTIONAL, - -- List of SSB resources used for beam measurement and reporting in a resource set - -- Corresponds to L1 parameter 'resource-config-SS-list' (see 38,214, section FFS_Section) csi-SSB-ResourceSetList SEQUENCE (SIZE (1..maxNrofCSI-SSB-ResourceSetsPerConfig)) OF CSI-SSB-ResourceSetId OPTIONAL }, csi-IM-ResourceSetList SEQUENCE (SIZE (1..maxNrofCSI-IM-ResourceSetsPerConfig)) OF CSI-IM-ResourceSetId }, - - -- The DL BWP which the CSI-RS associated with this CSI-ResourceConfig are located in. - -- Corresponds to L1 parameter 'BWP-Info' (see 38.214, section 5.2.1.2 bwp-Id BWP-Id, - - -- Time domain behavior of resource configuration. Corresponds to L1 parameter 'ResourceConfigType' (see 38.214, section 5.2.2.3.5) resourceType ENUMERATED { aperiodic, semiPersistent, periodic }, ... } -- TAG-CSI-RESOURCECONFIGTOADDMOD-STOP -- TAG-CSI-RESOURCECONFIGID-START -CSI-ResourceConfigId ::= INTEGER (0..maxNrofCSI-ResourceConfigurations-1) + +CSI-ResourceConfigId ::= INTEGER (0..maxNrofCSI-ResourceConfigurations-1) -- TAG-CSI-RESOURCECONFIGID-STOP -- TAG-CSI-RESOURCEPERIODICITYANDOFFSET-START CSI-ResourcePeriodicityAndOffset ::= CHOICE { - slots4 INTEGER (0..3), - slots5 INTEGER (0..4), - slots8 INTEGER (0..7), - slots10 INTEGER (0..9), - slots16 INTEGER (0..15), - slots20 INTEGER (0..19), - slots32 INTEGER (0..31), - slots40 INTEGER (0..39), - slots64 INTEGER (0..63), - slots80 INTEGER (0..79), - slots160 INTEGER (0..159), - slots320 INTEGER (0..319), - slots640 INTEGER (0..639) + slots4 INTEGER (0..3), + slots5 INTEGER (0..4), + slots8 INTEGER (0..7), + slots10 INTEGER (0..9), + slots16 INTEGER (0..15), + slots20 INTEGER (0..19), + slots32 INTEGER (0..31), + slots40 INTEGER (0..39), + slots64 INTEGER (0..63), + slots80 INTEGER (0..79), + slots160 INTEGER (0..159), + slots320 INTEGER (0..319), + slots640 INTEGER (0..639) } -- TAG-CSI-RESIYRCEPERIODICITYANDOFFSET-STOP +-- TAG-CSI-RS-RESOURCECONFIGMOBILITY-START + +CSI-RS-ResourceConfigMobility ::= SEQUENCE { + subcarrierSpacing SubcarrierSpacing, + csi-RS-CellList-Mobility SEQUENCE (SIZE (1..maxNrofCSI-RS-CellsRRM)) OF CSI-RS-CellMobility, + ... +} + +CSI-RS-CellMobility ::= SEQUENCE { + cellId PhysCellId, + csi-rs-MeasurementBW SEQUENCE { + nrofPRBs ENUMERATED { size24, size48, size96, size192, size264}, + startPRB INTEGER(0..2169) + }, + density ENUMERATED {d1,d3} OPTIONAL, + csi-rs-ResourceList-Mobility SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesRRM)) OF CSI-RS-Resource-Mobility +} + +CSI-RS-Resource-Mobility ::= SEQUENCE { + csi-RS-Index CSI-RS-Index, + slotConfig CHOICE { + ms4 INTEGER (0..31), + ms5 INTEGER (0..39), + ms10 INTEGER (0..79), + ms20 INTEGER (0..159), + ms40 INTEGER (0..319) + }, + associatedSSB SEQUENCE { + ssb-Index SSB-Index, + isQuasiColocated BOOLEAN + } OPTIONAL, -- Need R + frequencyDomainAllocation CHOICE { + row1 BIT STRING (SIZE (4)), + row2 BIT STRING (SIZE (12)) + }, + firstOFDMSymbolInTimeDomain INTEGER (0..13), + sequenceGenerationConfig INTEGER (0..1023), + ... +} + +CSI-RS-Index ::= INTEGER (0..maxNrofCSI-RS-ResourcesRRM-1) + +-- TAG-CSI-RS-RESOURCECONFIGMOBILITY-STOP -- TAG-CSI-RS-RESOURCEMAPPING-START -CSI-RS-ResourceMapping ::= SEQUENCE { - -- Frequency domain allocation within a physical resource block in accordance with 38.211, section 7.4.1.5.3 including table 7.4.1.5.2-1. - -- The number of bits that may be set to one depend on the chosen row in that table. For the choice "other", the row can be determined from - -- the parmeters below and from the number of bits set to 1 in frequencyDomainAllocation. +CSI-RS-ResourceMapping ::= SEQUENCE { frequencyDomainAllocation CHOICE { row1 BIT STRING (SIZE (4)), row2 BIT STRING (SIZE (12)), row4 BIT STRING (SIZE (3)), other BIT STRING (SIZE (6)) }, - -- Number of ports (see 38.214, section 5.2.2.3.1) nrofPorts ENUMERATED {p1,p2,p4,p8,p12,p16,p24,p32}, - -- Time domain allocation within a physical resource block. The field indicates the first OFDM symbol in the PRB used for CSI-RS. - -- Parameter l0 in 38.211, section 7.4.1.5.3. Value 2 is supported only when DL-DMRS-typeA-pos equals 3. firstOFDMSymbolInTimeDomain INTEGER (0..13), - -- Time domain allocation within a physical resource block. Parameter l1 in 38.211, section 7.4.1.5.3. - firstOFDMSymbolInTimeDomain2 INTEGER (0..13) OPTIONAL, -- Need R - -- CDM type (see 38.214, section 5.2.2.3.1) - cdm-Type ENUMERATED {noCDM, fd-CDM2, cdm4-FD2-TD2, cdm8-FD2-TD4}, - -- Density of CSI-RS resource measured in RE/port/PRB. Corresponds to L1 parameter 'CSI-RS-Density' (see 38.211, section 7.4.1.5.3) - -- Values 0.5 (dot5), 1 (one) and 3 (three) are allowed for X=1, - -- values 0.5 (dot5) and 1 (one) are allowed for X=2, 16, 24 and 32, - -- value 1 (one) is allowed for X=4, 8, 12. - -- For density = 1/2, includes 1 bit indication for RB level comb offset indicating whether odd or even RBs are occupied by CSI-RS - density CHOICE { - dot5 ENUMERATED {evenPRBs, oddPRBs}, - one NULL, - three NULL, - spare NULL + firstOFDMSymbolInTimeDomain2 INTEGER (2..12) OPTIONAL, -- Need R + cdm-Type ENUMERATED {noCDM, fd-CDM2, cdm4-FD2-TD2, cdm8-FD2-TD4}, + density CHOICE { + dot5 ENUMERATED {evenPRBs, oddPRBs}, + one NULL, + three NULL, + spare NULL }, - -- Wideband or partial band CSI-RS. Corresponds to L1 parameter 'CSI-RS-FreqBand' (see 38.214, section 5.2.2.3.1) - freqBand CSI-FrequencyOccupation, + freqBand CSI-FrequencyOccupation, ... } @@ -1247,137 +834,86 @@ CSI-RS-ResourceMapping ::= SEQUENCE { -- TAG-CSI-SEMIPERSISTENTONPUSCHTRIGGERSTATELIST-START CSI-SemiPersistentOnPUSCH-TriggerStateList ::= SEQUENCE(SIZE (1..maxNrOfSemiPersistentPUSCH-Triggers)) OF CSI-SemiPersistentOnPUSCH-TriggerState + CSI-SemiPersistentOnPUSCH-TriggerState ::= SEQUENCE { associatedReportConfigInfo CSI-ReportConfigId, ... } -maxNrOfSemiPersistentPUSCH-Triggers INTEGER ::= 64 -- Maximum number of triggers for semi persistent reporting on PUSCH -- TAG-CSI-SEMIPERSISTENTONPUSCHTRIGGERSTATELIST-STOP -- TAG-CSI-SSB-RESOURCESETID-START -CSI-SSB-ResourceSetId ::= INTEGER (0..maxNrofCSI-SSB-ResourceSets-1) +CSI-SSB-ResourceSetId ::= INTEGER (0..maxNrofCSI-SSB-ResourceSets-1) -- TAG-CSI-SSB-RESOURCESETID-STOP -- TAG-CSI-SSB-RESOURCESET-START -CSI-SSB-ResourceSet ::= SEQUENCE { - csi-SSB-ResourceSetId CSI-SSB-ResourceSetId, - csi-SSB-ResourceList SEQUENCE (SIZE(1..maxNrofCSI-SSB-ResourcePerSet)) OF SSB-Index, +CSI-SSB-ResourceSet ::= SEQUENCE { + csi-SSB-ResourceSetId CSI-SSB-ResourceSetId, + csi-SSB-ResourceList SEQUENCE (SIZE(1..maxNrofCSI-SSB-ResourcePerSet)) OF SSB-Index, ... } -- TAG-CSI-SSB-RESOURCESET-STOP -- TAG-DMRS-DOWNLINKCONFIG-START -DMRS-DownlinkConfig ::= SEQUENCE { - -- Selection of the DMRS type to be used for DL (see 38.211, section 7.4.1.1.1). - -- If the field is absent, the UE uses DMRS type 1. - dmrs-Type ENUMERATED {type2} OPTIONAL, -- Need R - -- Position for additional DM-RS in DL, see Table 7.4.1.1.2-4 in 38.211. - -- The four values represent the cases of 1+0, 1+1, 1+1+1. 1+1+1+1 non-adjacent OFDM symbols for DL. - -- If the field is absent, the UE applies the value pos2. - dmrs-AdditionalPosition ENUMERATED {pos0, pos1, pos3} OPTIONAL, -- Need R - -- DM-RS groups that are QCL:ed, i.e. group 1 (see 38.214, section 5.1) - dmrs-group1 BIT STRING (SIZE (12)) OPTIONAL, -- Need R - -- DM-RS groups that are QCL:ed, i.e. group 2 (see 38.214, section 5.1) - dmrs-group2 BIT STRING (SIZE (12)) OPTIONAL, -- Need R - -- The maximum number of OFDM symbols for DL front loaded DMRS. 'len1' corresponds to value 1. 'len2 corresponds to value 2. - -- If the field is absent, the UE applies value len1. - -- Corresponds to L1 parameter 'DL-DMRS-max-len' (see 38.214, section 5.1) - maxLength ENUMERATED {len2} OPTIONAL, -- Need R - -- DL DMRS scrambling initalization - -- Corresponds to L1 parameter 'n_SCID 0' (see 38.211, section 7.4.1) - -- When the field is absent the UE applies the value Physical cell ID (physCellId) configured for this serving cell." - scramblingID0 INTEGER (0..65535) OPTIONAL, -- Need S - -- DL DMRS scrambling initalization. Corresponds to L1 parameter 'n_SCID 1' (see 38.211, section 7.4.1) - -- When the field is absent the UE applies the value (physCellId) configured for this serving cell. - scramblingID1 INTEGER (0..65535) OPTIONAL, -- Need S - - -- Configures downlink PTRS. If absent of released, the UE assumes that downlink PTRS are not present. See 38.214 section 5.1.6.3 - phaseTrackingRS CHOICE {release NULL, setup PTRS-DownlinkConfig } OPTIONAL, -- Need M - +DMRS-DownlinkConfig ::= SEQUENCE { + dmrs-Type ENUMERATED {type2} OPTIONAL, -- Need S + dmrs-AdditionalPosition ENUMERATED {pos0, pos1, pos3} OPTIONAL, -- Need R + maxLength ENUMERATED {len2} OPTIONAL, -- Need S + scramblingID0 INTEGER (0..65535) OPTIONAL, -- Need S + scramblingID1 INTEGER (0..65535) OPTIONAL, -- Need S + phaseTrackingRS CHOICE { release NULL, setup PTRS-DownlinkConfig } OPTIONAL, -- Need M ... } -- TAG-DMRS-DOWNLINKCONFIG-STOP -- TAG-DMRS-UPLINKCONFIG-START -DMRS-UplinkConfig ::= SEQUENCE { - -- Selection of the DMRS type to be used for UL (see section 38.211, section 6.4.1.1.3) - -- If the field is absent, the UE uses DMRS type 1. - dmrs-Type ENUMERATED {type2} OPTIONAL, -- Need R - -- Position for additional DM-RS in UL. Corresponds to L1 parameter 'UL-DMRS-add-pos' (see Table 7.4.1.1.2-4 in 38.211) - -- The four values represent the cases of 1+0, 1+1, 1+1+1. 1+1+1+1 non-adjacent OFDM symbols for UL. - -- If the field is absent, the UE applies the value pos2. - dmrs-AdditionalPosition ENUMERATED {pos0, pos1, pos3} OPTIONAL, -- Need R - -- Configures uplink PTRS (see 38.211, section x.x.x.x) FFS_Ref - phaseTrackingRS CHOICE {release NULL, setup PTRS-UplinkConfig } OPTIONAL, -- Need M - -- The maximum number of OFDM symbols for UL front loaded DMRS. 'len1' corresponds to value 1. 'len2 corresponds to value 2. - -- If the field is absent, the UE applies value len1. - -- Corresponds to L1 parameter 'UL-DMRS-max-len' (see 38.214, section 6.4.1.1.2) - maxLength ENUMERATED {len2} OPTIONAL, -- Need R - - transformPrecoding CHOICE { - -- DMRS related parameters for Cyclic Prefix OFDM - disabled SEQUENCE { - -- UL DMRS scrambling initalization for CP-OFDM - -- Corresponds to L1 parameter 'n_SCID 0' (see 38.214, section 6.4.1.1.2) - -- When the field is absent the UE applies the value Physical cell ID (physCellId) - scramblingID0 INTEGER (0..65535) OPTIONAL, -- Need S - -- UL DMRS scrambling initalization for CP-OFDM. - -- Corresponds to L1 parameter 'n_SCID 1' (see 38.214, section 6.4.1.1.2) - -- When the field is absent the UE applies the value Physical cell ID (physCellId) - scramblingID1 INTEGER (0..65535) OPTIONAL -- Need S +DMRS-UplinkConfig ::= SEQUENCE { + dmrs-Type ENUMERATED {type2} OPTIONAL, -- Need S + dmrs-AdditionalPosition ENUMERATED {pos0, pos1, pos3} OPTIONAL, -- Need R + phaseTrackingRS CHOICE { release NULL, setup PTRS-UplinkConfig } OPTIONAL, -- Need M + maxLength ENUMERATED {len2} OPTIONAL, -- Need S - }, - -- DMRS related parameters for DFT-s-OFDM (Transform Precoding) - enabled SEQUENCE { - -- Parameter: N_ID^(PUSCH) for DFT-s-OFDM DMRS. If the value is absent or released, the UE uses the Physical cell ID. - -- Corresponds to L1 parameter 'nPUSCH-Identity-Transform precoding' (see 38.211, section FFS_Section) - nPUSCH-Identity INTEGER(0..1007) OPTIONAL, -- Need S - -- Sequence-group hopping for PUSCH can be disabled for a certain UE despite being enabled on a cell basis. For DFT-s-OFDM DMRS - -- If the field is released, the UE considers group hopping to be enabled. - -- Corresponds to L1 parameter 'Disable-sequence-group-hopping-Transform-precoding' (see 38.211, section FFS_Section) - disableSequenceGroupHopping ENUMERATED {disabled} OPTIONAL, -- Need S - -- Determines if sequence hopping is enabled or not. For DFT-s-OFDM DMRS. - -- If the field is released, the UE considers sequence hopping to be disabled. - -- Corresponds to L1 parameter 'Sequence-hopping-enabled-Transform-precoding' (see 38.211, section FFS_Section) - sequenceHoppingEnabled ENUMERATED {enabled} OPTIONAL -- Need S - } - }, + transformPrecodingDisabled SEQUENCE { + scramblingID0 INTEGER (0..65535) OPTIONAL, -- Need S + scramblingID1 INTEGER (0..65535) OPTIONAL, -- Need S + ... + } OPTIONAL, -- Need R + transformPrecodingEnabled SEQUENCE { + nPUSCH-Identity INTEGER(0..1007) OPTIONAL, -- Need S + disableSequenceGroupHopping ENUMERATED {disabled} OPTIONAL, -- Need S + sequenceHoppingEnabled ENUMERATED {enabled} OPTIONAL, -- Need S + ... + } OPTIONAL, -- Need R ... } -- TAG-DMRS-UPLINKCONFIG-STOP --- TAG-DOWNLINKPREEMPTION-START - --- Configuration of downlink preemption indication on PDCCH. -DownlinkPreemption ::= SEQUENCE { - -- RNTI used for indication pre-emption in DL. - -- Corresponds to L1 parameter 'INT-RNTI', where ”INT” stands for ”interruption” (see 38.213, section 10) - int-RNTI RNTI-Value, +-- TAG-DOWNLINK-CONFIG-COMMON-START - -- Set selection for DL-preemption indication. Corresponds to L1 parameter 'int-TF-unit' (see 38.213, section 10.1) - -- The set determines how the UE interprets the DL preemption DCI payload. - timeFrequencySet ENUMERATED {set0, set1}, +DownlinkConfigCommon ::= SEQUENCE { + frequencyInfoDL FrequencyInfoDL OPTIONAL, -- Cond InterFreqHOAndServCellAdd + initialDownlinkBWP BWP-DownlinkCommon OPTIONAL, -- Cond ServCellAdd + ... +} - -- Total length of the DCI payload scrambled with INT-RNTI. The value must be an integer multiple of 14 bit. - -- Corresponds to L1 parameter 'INT-DCI-payload-length' (see 38.213, section 11.2) - dci-PayloadSize INTEGER (0..maxINT-DCI-PayloadSize), +-- TAG-DOWNLINK-CONFIG-COMMON-STOP +-- TAG-DOWNLINKPREEMPTION-START - -- Indicates (per serving cell) the position of the 14 bit INT values inside the DCI payload. - -- Corresponds to L1 parameter 'INT-cell-to-INT' and 'cell-to-INT' (see 38.213, section 11.2) - int-ConfigurationPerServingCell SEQUENCE (SIZE (1..maxNrofServingCells)) OF INT-ConfigurationPerServingCell, +DownlinkPreemption ::= SEQUENCE { + int-RNTI RNTI-Value, + timeFrequencySet ENUMERATED {set0, set1}, + dci-PayloadSize INTEGER (0..maxINT-DCI-PayloadSize), + int-ConfigurationPerServingCell SEQUENCE (SIZE (1..maxNrofServingCells)) OF INT-ConfigurationPerServingCell, ... } -INT-ConfigurationPerServingCell ::= SEQUENCE { - servingCellId ServCellIndex, - -- Starting position (in number of bit) of the 14 bit INT value applicable for this serving cell (servingCellId) within the DCI - -- payload. Must be multiples of 14 (bit). Corresponds to L1 parameter 'INT-values' (see 38.213, section 11.2) - positionInDCI INTEGER (0..maxINT-DCI-PayloadSize-1) +INT-ConfigurationPerServingCell ::= SEQUENCE { + servingCellId ServCellIndex, + positionInDCI INTEGER (0..maxINT-DCI-PayloadSize-1) } -- TAG-DOWNLINKPREEMPTION-STOP @@ -1388,36 +924,28 @@ DRB-Identity ::= INTEGER (1..32) -- TAG-DRB-IDENTITY-STOP -- TAG-EUTRA-MBSFN-SUBFRAMECONFIGLIST-START -EUTRA-MBSFN-SubframeConfigList ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF EUTRA-MBSFN-SubframeConfig +EUTRA-MBSFN-SubframeConfigList ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF EUTRA-MBSFN-SubframeConfig -EUTRA-MBSFN-SubframeConfig ::= SEQUENCE { - -- Field as defined in MBSFN-SubframeConfig in 36.331 +EUTRA-MBSFN-SubframeConfig ::= SEQUENCE { radioframeAllocationPeriod ENUMERATED {n1, n2, n4, n8, n16, n32}, - -- Field as defined in MBSFN-SubframeConfig in 36.331 radioframeAllocationOffset INTEGER (0..7), - -- Field as defined in MBSFN-SubframeConfig in 36.331 subframeAllocation CHOICE { - -- Field as defined in MBSFN-SubframeConfig in 36.331 oneFrame BIT STRING (SIZE(6)), - -- Field as defined in MBSFN-SubframeConfig in 36.331 fourFrames BIT STRING (SIZE(24)) }, subframeAllocation-v1430 CHOICE { - -- Field as defined in MBSFN-SubframeConfig in 36.331 oneFrame-v1430 BIT STRING (SIZE(2)), - -- Field as defined in MBSFN-SubframeConfig in 36.331 fourFrames-v1430 BIT STRING (SIZE(8)) } OPTIONAL, -- Need R ... } -- TAG-EUTRA-MBSFN-SUBFRAMECONFIGLIST-STOP +-- TAG-FILTERCOEFFICIENT-START -FilterCoefficient ::= ENUMERATED { - fc0, fc1, fc2, fc3, fc4, fc5, - fc6, fc7, fc8, fc9, fc11, fc13, - fc15, fc17, fc19, spare1, ...} +FilterCoefficient ::= ENUMERATED { fc0, fc1, fc2, fc3, fc4, fc5, fc6, fc7, fc8, fc9, fc11, fc13, fc15, fc17, fc19, spare1, ...} +-- TAG-FILTERCOEFFICIENT-STOP -- TAG-FREQBANDINDICATORNR-START FreqBandIndicatorNR ::= INTEGER (1..1024) @@ -1426,25 +954,10 @@ FreqBandIndicatorNR ::= INTEGER (1..1024) -- TAG-FREQUENCY-INFO-DL-START FrequencyInfoDL ::= SEQUENCE { - -- Frequency of the SSB to be used for this serving cell. The frequency provided in this field identifies the position of - -- resource element RE=#0 (subcarrier #0) of resource block RB#10 of the SS block. The cell-defining SSB of an SpCell is always on - -- the sync raster. Frequencies are considered to be on the sync raster if they are also identifiable with a GSCN value (see 38.101). - absoluteFrequencySSB ARFCN-ValueNR, - -- The frequency domain offset between SSB and the overall resource block grid in number of subcarriers. - -- Absence of the field indicates that no offset is applied (offset = 0). For FR2 only values up to 11 are applicable. - -- Corresponds to L1 parameter kssb (See 38.211, section 7.4.3.1) - ssb-SubcarrierOffset INTEGER (1..23) OPTIONAL, -- Need S - -- List of one or multiple frequency bands to which this carrier(s) belongs. Multiple values are only supported in - -- system information but not when the FrequencyInfoDL is provided in dedicated signalling (HO or S(p)Cell addition). + absoluteFrequencySSB ARFCN-ValueNR OPTIONAL, -- Cond SpCellAdd frequencyBandList MultiFrequencyBandListNR, - -- Absolute frequency position of the reference resource block (Common RB 0). Its lowest subcarrier is also known as Point A. - -- Note that the lower edge of the actual carrier is not defined by this field but rather in the scs-SpecificCarrierList. - -- Corresponds to L1 parameter 'offset-ref-low-scs-ref-PRB' (see 38.211, section FFS_Section) - absoluteFrequencyPointA ARFCN-ValueNR, - - -- A set of carriers for different subcarrier spacings (numerologies). Defined in relation to Point A. - -- Corresponds to L1 parameter 'offset-pointA-set' (see 38.211, section FFS_Section) - scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier, + absoluteFrequencyPointA ARFCN-ValueNR, + scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier, ... } @@ -1452,85 +965,70 @@ FrequencyInfoDL ::= SEQUENCE { -- TAG-FREQUENCY-INFO-UL-START FrequencyInfoUL ::= SEQUENCE { - -- List of one or multiple frequency bands to which this carrier(s) belongs. Multiple values are only supported in - -- system information but not when the FrequencyInfoDL is provided in dedicated signalling (HO or S(p)Cell addition). frequencyBandList MultiFrequencyBandListNR OPTIONAL, -- Cond FDD-OrSUL - -- Absolute frequency of the reference resource block (Common RB 0). Its lowest subcarrier is also known as Point A. - -- Corresponds to L1 parameter 'offset-ref-low-scs-ref-PRB' (see 38.211, section FFS_Section) - absoluteFrequencyPointA ARFCN-ValueNR OPTIONAL, -- Cond FDD-OrSUL - -- A set of virtual carriers for different subcarrier spacings (numerologies). Defined in relation to Point A. - -- Note that the lower edge of the actual carrier is not defined by this field but rather in the scs-SpecificCarrierList. - -- Corresponds to L1 parameter 'offset-pointA-set' (see 38.211, section FFS_Section) - scs-SpecificCarriers SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier, - - -- The additional spectrum emission requirements to be applied by the UE on this uplink. - -- If the field is absent, the UE applies the value FFS_RAN4. (see FFS_section, section FFS_Section) + absoluteFrequencyPointA ARFCN-ValueNR OPTIONAL, -- Cond FDD-OrSUL + scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier, additionalSpectrumEmission AdditionalSpectrumEmission OPTIONAL, -- Need S - -- FFS_Definition. Corresponds to parameter FFS_RAN4. (see FFS_Spec, section FFS_Section) - -- If the field is absent, the UE applies the value FFS_RAN4. p-Max P-Max OPTIONAL, -- Need S - -- Enable the NR UL transmission with a 7.5KHz shift to the LTE raster. If the field is absent, the frequency shift is disabled. frequencyShift7p5khz ENUMERATED {true} OPTIONAL, -- Cond FDD-OrSUL-Optional ... } -- TAG-FREQUENCY-INFO-UL-STOP --- TAG-GSCN-VALUE-NR-START -GSCN-ValueNR ::= INTEGER (1..28557) - - --- TAG-GSCN-VALUE-NR-STOP - -Hysteresis ::= INTEGER (0..30) +Hysteresis ::= INTEGER (0..30) -- TAG-LOGICAL-CHANNEL-CONFIG-START -LogicalChannelConfig ::= SEQUENCE { - ul-SpecificParameters SEQUENCE { - priority INTEGER (1..16), - prioritisedBitRate ENUMERATED {kBps0, kBps8, kBps16, kBps32, kBps64, kBps128, kBps256, kBps512, +LogicalChannelConfig ::= SEQUENCE { + ul-SpecificParameters SEQUENCE { + priority INTEGER (1..16), + prioritisedBitRate ENUMERATED {kBps0, kBps8, kBps16, kBps32, kBps64, kBps128, kBps256, kBps512, kBps1024, kBps2048, kBps4096, kBps8192, kBps16384, kBps32768, kBps65536, infinity}, - bucketSizeDuration ENUMERATED {ms50, ms100, ms150, ms300, ms500, ms1000, spare2, spare1}, - - allowedServingCells SEQUENCE (SIZE (1..maxNrofServingCells-1)) OF ServCellIndex OPTIONAL, -- Need R - allowedSCS-List SEQUENCE (SIZE (1..maxSCSs)) OF SubcarrierSpacing OPTIONAL, -- Need R - maxPUSCH-Duration ENUMERATED { ms0p02, ms0p04, ms0p0625, ms0p125, ms0p25, ms0p5, spare2, spare1 } OPTIONAL, -- Need R - configuredGrantType1Allowed ENUMERATED {true} OPTIONAL, -- Need R - - logicalChannelGroup INTEGER (0..maxLCG-ID) OPTIONAL, -- Need R - schedulingRequestID SchedulingRequestId OPTIONAL, -- Need R - logicalChannelSR-Mask BOOLEAN, - logicalChannelSR-DelayTimerApplied BOOLEAN - } OPTIONAL, -- Cond UL + bucketSizeDuration ENUMERATED {ms5, ms10, ms20, ms50, ms100, ms150, ms300, ms500, ms1000, + spare7, spare6, spare5, spare4, spare3,spare2, spare1}, + + allowedServingCells SEQUENCE (SIZE (1..maxNrofServingCells-1)) OF ServCellIndex OPTIONAL, -- Need R + allowedSCS-List SEQUENCE (SIZE (1..maxSCSs)) OF SubcarrierSpacing OPTIONAL, -- Need R + maxPUSCH-Duration ENUMERATED { ms0p02, ms0p04, ms0p0625, ms0p125, ms0p25, ms0p5, spare2, spare1 } + OPTIONAL, -- Need R + configuredGrantType1Allowed ENUMERATED {true} OPTIONAL, -- Need R + + logicalChannelGroup INTEGER (0..maxLCG-ID) OPTIONAL, -- Need R + schedulingRequestID SchedulingRequestId OPTIONAL, -- Need R + logicalChannelSR-Mask BOOLEAN, + logicalChannelSR-DelayTimerApplied BOOLEAN, + ... + } OPTIONAL, -- Cond UL - -- other parameters ... } -- TAG-LOGICAL-CHANNEL-CONFIG-STOP +-- TAG-LOGICALCHANNELIDENTITY-START + +LogicalChannelIdentity ::= INTEGER (1..maxLC-ID) + +-- TAG-LOGICALCHANNELIDENTITY-STOP -- TAG-MAC-CELL-GROUP-CONFIG-START MAC-CellGroupConfig ::= SEQUENCE { - drx-Config CHOICE {release NULL, setup DRX-Config } OPTIONAL, -- Need M - - schedulingRequestConfig SchedulingRequestConfig OPTIONAL, -- Need M - bsr-Config BSR-Config OPTIONAL, -- Need M - tag-Config TAG-Config OPTIONAL, -- Need M - phr-Config CHOICE {release NULL, setup PHR-Config } OPTIONAL, -- Need M - -- FFS : configurable per SCell? - skipUplinkTxDynamic BOOLEAN, - -- RNTI value for downlink SPS (see SPS-config) and uplink configured scheduling (see ConfiguredSchedulingConfig). - cs-RNTI CHOICE {release NULL, setup RNTI-Value } OPTIONAL -- Need M + drx-Config CHOICE { release NULL, setup DRX-Config } OPTIONAL, -- Need M + schedulingRequestConfig SchedulingRequestConfig OPTIONAL, -- Need M + bsr-Config BSR-Config OPTIONAL, -- Need M + tag-Config TAG-Config OPTIONAL, -- Need M + phr-Config CHOICE { release NULL, setup PHR-Config } OPTIONAL, -- Need M + skipUplinkTxDynamic BOOLEAN, + ... } DRX-Config ::= SEQUENCE { drx-onDurationTimer CHOICE { subMilliSeconds INTEGER (1..31), milliSeconds ENUMERATED { - ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, - ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200, - ms1600, spare9, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 } + ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, + ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200, + ms1600, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 } }, drx-InactivityTimer ENUMERATED { ms0, ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, ms80, @@ -1546,27 +1044,27 @@ DRX-Config ::= SEQUENCE { sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128, sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 }, - drx-LongCycleStartOffset CHOICE { - ms10 INTEGER(0..9), - ms20 INTEGER(0..19), - ms32 INTEGER(0..31), - ms40 INTEGER(0..39), - ms60 INTEGER(0..59), - ms64 INTEGER(0..63), - ms70 INTEGER(0..69), - ms80 INTEGER(0..79), - ms128 INTEGER(0..127), - ms160 INTEGER(0..159), - ms256 INTEGER(0..255), - ms320 INTEGER(0..319), - ms512 INTEGER(0..511), - ms640 INTEGER(0..639), - ms1024 INTEGER(0..1023), - ms1280 INTEGER(0..1279), - ms2048 INTEGER(0..2047), - ms2560 INTEGER(0..2559), - ms5120 INTEGER(0..5119), - ms10240 INTEGER(0..10239) + drx-LongCycleStartOffset CHOICE { + ms10 INTEGER(0..9), + ms20 INTEGER(0..19), + ms32 INTEGER(0..31), + ms40 INTEGER(0..39), + ms60 INTEGER(0..59), + ms64 INTEGER(0..63), + ms70 INTEGER(0..69), + ms80 INTEGER(0..79), + ms128 INTEGER(0..127), + ms160 INTEGER(0..159), + ms256 INTEGER(0..255), + ms320 INTEGER(0..319), + ms512 INTEGER(0..511), + ms640 INTEGER(0..639), + ms1024 INTEGER(0..1023), + ms1280 INTEGER(0..1279), + ms2048 INTEGER(0..2047), + ms2560 INTEGER(0..2559), + ms5120 INTEGER(0..5119), + ms10240 INTEGER(0..10239) }, -- FFS need for finer offset granulary -- FFS need for shorter values for long and short cycles @@ -1576,7 +1074,7 @@ DRX-Config ::= SEQUENCE { ms35, ms40, ms64, ms80, ms128, ms160, ms256, ms320, ms512, ms640, spare9, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 }, drx-ShortCycleTimer INTEGER (1..16) - } OPTIONAL, -- Need R + } OPTIONAL, -- Need R drx-SlotOffset INTEGER (0..31) } @@ -1586,65 +1084,59 @@ PHR-Config ::= SEQUENCE { phr-ProhibitTimer ENUMERATED {sf0, sf10, sf20, sf50, sf100,sf200, sf500, sf1000}, phr-Tx-PowerFactorChange ENUMERATED {dB1, dB3, dB6, infinity}, multiplePHR BOOLEAN, - phr-Type2PCell BOOLEAN, + phr-Type2SpCell BOOLEAN, phr-Type2OtherCell BOOLEAN, - phr-ModeOtherCG ENUMERATED {real, virtual} - + phr-ModeOtherCG ENUMERATED {real, virtual}, + ... } -TAG-Config ::= SEQUENCE { - tag-ToReleaseList SEQUENCE (SIZE (1..maxNrofTAGs)) OF TAG-Id OPTIONAL, -- Need N - tag-ToAddModList SEQUENCE (SIZE (1..maxNrofTAGs)) OF TAG-ToAddMod OPTIONAL -- Need N +TAG-Config ::= SEQUENCE { + tag-ToReleaseList SEQUENCE (SIZE (1..maxNrofTAGs)) OF TAG-Id OPTIONAL, -- Need N + tag-ToAddModList SEQUENCE (SIZE (1..maxNrofTAGs)) OF TAG OPTIONAL -- Need N } -TAG-ToAddMod ::= SEQUENCE { - tag-Id TAG-Id, - timeAlignmentTimer TimeAlignmentTimer, +TAG ::= SEQUENCE { + tag-Id TAG-Id, + timeAlignmentTimer TimeAlignmentTimer, ... } -TAG-Id ::= INTEGER (0..maxNrofTAGs-1) +TAG-Id ::= INTEGER (0..maxNrofTAGs-1) -TimeAlignmentTimer ::= ENUMERATED {ms500, ms750, ms1280, ms1920, ms2560, ms5120, ms10240, infinity} +TimeAlignmentTimer ::= ENUMERATED {ms500, ms750, ms1280, ms1920, ms2560, ms5120, ms10240, infinity} -BSR-Config ::= SEQUENCE { - periodicBSR-Timer ENUMERATED { - sf1, sf5, sf10, sf16, sf20, sf32, sf40, sf64, sf80, sf128, sf160, sf320, sf640, sf1280, sf2560, infinity}, - retxBSR-Timer ENUMERATED { sf10, sf20, sf40, sf80, sf160, sf320, sf640, sf1280, sf2560, sf5120, sf10240, spare5, spare4, - spare3, spare2, spare1}, - logicalChannelSR-DelayTimer ENUMERATED { sf20, sf40, sf64, sf128, sf512, sf1024, sf2560, spare1} OPTIONAL -- Need R +BSR-Config ::= SEQUENCE { + periodicBSR-Timer ENUMERATED { sf1, sf5, sf10, sf16, sf20, sf32, sf40, sf64, + sf80, sf128, sf160, sf320, sf640, sf1280, sf2560, infinity }, + retxBSR-Timer ENUMERATED { sf10, sf20, sf40, sf80, sf160, sf320, sf640, sf1280, sf2560, + sf5120, sf10240, spare5, spare4, spare3, spare2, spare1}, + logicalChannelSR-DelayTimer ENUMERATED { sf20, sf40, sf64, sf128, sf512, sf1024, sf2560, spare1} OPTIONAL, -- Need R + ... } - - -- TAG-MAC-CELL-GROUP-CONFIG-STOP -- TAG-MEAS-CONFIG-START -MeasConfig ::= SEQUENCE { - -- Measurement objects - measObjectToRemoveList MeasObjectToRemoveList OPTIONAL, -- Need N - measObjectToAddModList MeasObjectToAddModList OPTIONAL, -- Need N +MeasConfig ::= SEQUENCE { + measObjectToRemoveList MeasObjectToRemoveList OPTIONAL, -- Need N + measObjectToAddModList MeasObjectToAddModList OPTIONAL, -- Need N - -- Reporting configurations - reportConfigToRemoveList ReportConfigToRemoveList OPTIONAL, -- Need N - reportConfigToAddModList ReportConfigToAddModList OPTIONAL, -- Need N + reportConfigToRemoveList ReportConfigToRemoveList OPTIONAL, -- Need N + reportConfigToAddModList ReportConfigToAddModList OPTIONAL, -- Need N - -- Measurement identities - measIdToRemoveList MeasIdToRemoveList OPTIONAL, -- Need N - measIdToAddModList MeasIdToAddModList OPTIONAL, -- Need N + measIdToRemoveList MeasIdToRemoveList OPTIONAL, -- Need N + measIdToAddModList MeasIdToAddModList OPTIONAL, -- Need N - -- Other parameters - --s-Measure config - s-MeasureConfig CHOICE { - ssb-RSRP RSRP-Range, - csi-RSRP RSRP-Range + s-MeasureConfig CHOICE { + ssb-RSRP RSRP-Range, + csi-RSRP RSRP-Range } OPTIONAL, -- Need M quantityConfig QuantityConfig OPTIONAL, -- Need M - --Placehold for measGapConfig - measGapConfig MeasGapConfig OPTIONAL, -- Need M + measGapConfig MeasGapConfig OPTIONAL, -- Need M + measGapSharingConfig MeasGapSharingConfig OPTIONAL, -- Need M ... } @@ -1657,20 +1149,30 @@ ReportConfigToRemoveList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportC -- TAG-MEAS-CONFIG-STOP --TAG-MEAS-GAP-CONFIG-START -MeasGapConfig ::= SEQUENCE { - gapFR2 CHOICE {release NULL, setup GapConfig } OPTIONAL, - ... +MeasGapConfig ::= SEQUENCE { + gapFR2 CHOICE { release NULL, setup GapConfig } OPTIONAL, -- Need M + ... } -GapConfig ::= SEQUENCE { - gapOffset INTEGER (0..159), - mgl ENUMERATED {ms1dot5, ms3, ms3dot5, ms4, ms5dot5, ms6}, - mgrp ENUMERATED {ms20, ms40, ms80, ms160}, - mgta ENUMERATED {ms0, ms0dot25, ms0dot5}, - ... +GapConfig ::= SEQUENCE { + gapOffset INTEGER (0..159), + mgl ENUMERATED {ms1dot5, ms3, ms3dot5, ms4, ms5dot5, ms6}, + mgrp ENUMERATED {ms20, ms40, ms80, ms160}, + mgta ENUMERATED {ms0, ms0dot25, ms0dot5}, + ... } -- TAG-MEAS-GAP-CONFIG-STOP +--TAG-MEAS-GAP-SHARING-CONFIG-START + +MeasGapSharingConfig ::= SEQUENCE { + gapSharingFR2 CHOICE { release NULL, setup MeasGapSharingScheme } OPTIONAL, -- Need M + ... +} + +MeasGapSharingScheme ::= ENUMERATED { scheme00, scheme01, scheme10, scheme11 } + +--TAG-MEAS-GAP-SHARING-CONFIG-STOP -- TAG-MEAS-ID-START MeasId ::= INTEGER (1..maxNrofMeasId) @@ -1689,229 +1191,84 @@ MeasIdToAddMod ::= SEQUENCE { -- TAG-MEAS-ID-TO-ADD-MOD-LIST-STOP -- TAG-MEAS-OBJECT-ID-START -MeasObjectId ::= INTEGER (1..maxNrofObjectId) +MeasObjectId ::= INTEGER (1..maxNrofObjectId) -- TAG-MEAS-OBJECT-ID-STOP -- TAG-MEAS-OBJECT-NR-START -MeasObjectNR ::= SEQUENCE { - ssbFrequency ARFCN-ValueNR OPTIONAL, - refFreqCSI-RS ARFCN-ValueNR OPTIONAL, +MeasObjectNR ::= SEQUENCE { + ssbFrequency ARFCN-ValueNR OPTIONAL, -- Cond SSBorAssociatedSSB + ssbSubcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond SSBorAssociatedSSB + smtc1 SSB-MTC OPTIONAL, -- Cond SSBorAssociatedSSB + smtc2 SSB-MTC2 OPTIONAL, -- Cond IntraFreqConnected - --RS configuration (e.g. SMTC window, CSI-RS resource, etc.) - referenceSignalConfig ReferenceSignalConfig, + refFreqCSI-RS ARFCN-ValueNR OPTIONAL, + referenceSignalConfig ReferenceSignalConfig, - --Consolidation of L1 measurements per RS index - absThreshSS-BlocksConsolidation ThresholdNR OPTIONAL, -- Need R - absThreshCSI-RS-Consolidation ThresholdNR OPTIONAL, -- Need R + absThreshSS-BlocksConsolidation ThresholdNR OPTIONAL, -- Need R + absThreshCSI-RS-Consolidation ThresholdNR OPTIONAL, -- Need R - --Config for cell measurement derivation - nrofSS-BlocksToAverage INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL, -- Need R - nrofCSI-RS-ResourcesToAverage INTEGER (2..maxNrofCSI-RS-ResourcesToAverage) OPTIONAL, -- Need R + nrofSS-BlocksToAverage INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL, -- Need R + nrofCSI-RS-ResourcesToAverage INTEGER (2..maxNrofCSI-RS-ResourcesToAverage) OPTIONAL, -- Need R - -- Filter coefficients applicable to this measurement object - quantityConfigIndex INTEGER (1..maxNrofQuantityConfig), + quantityConfigIndex INTEGER (1..maxNrofQuantityConfig), - --Frequency-specific offsets - offsetFreq Q-OffsetRangeList, + offsetMO Q-OffsetRangeList, - -- Cell list - cellsToRemoveList PCI-List OPTIONAL, -- Need N - cellsToAddModList CellsToAddModList OPTIONAL, -- Need N + cellsToRemoveList PCI-List OPTIONAL, -- Need N + cellsToAddModList CellsToAddModList OPTIONAL, -- Need N - -- Black list - blackCellsToRemoveList PCI-RangeIndexList OPTIONAL, -- Need N - blackCellsToAddModList BlackCellsToAddModList OPTIONAL, -- Need N + blackCellsToRemoveList PCI-RangeIndexList OPTIONAL, -- Need N + blackCellsToAddModList SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeElement OPTIONAL, -- Need N - -- White list - whiteCellsToRemoveList PCI-RangeIndexList OPTIONAL, -- Need N - whiteCellsToAddModList WhiteCellsToAddModList OPTIONAL, -- Need N + whiteCellsToRemoveList PCI-RangeIndexList OPTIONAL, -- Need N + whiteCellsToAddModList SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeElement OPTIONAL, -- Need N ... } -ReferenceSignalConfig::= SEQUENCE { - - - -- SSB configuration for mobility (nominal SSBs, timing configuration) - ssb-ConfigMobility SSB-ConfigMobility OPTIONAL, -- Need M - -- CSI-RS resources to be used for CSI-RS based RRM measurements - csi-rs-ResourceConfigMobility CHOICE {release NULL, setup CSI-RS-ResourceConfigMobility } OPTIONAL-- Need M - +ReferenceSignalConfig::= SEQUENCE { + ssb-ConfigMobility SSB-ConfigMobility OPTIONAL, -- Need M + csi-rs-ResourceConfigMobility CHOICE { release NULL, setup CSI-RS-ResourceConfigMobility } OPTIONAL -- Need M } --- A measurement timing configuration -SSB-ConfigMobility::= SEQUENCE { - --Only the values 15, 30 or 60 kHz (<6GHz), 60 or 120 kHz (>6GHz) are applicable - subcarrierSpacing SubcarrierSpacing, - -- The set of SS blocks to be measured within the SMTC measurement duration. - -- Corresponds to L1 parameter 'SSB-measured' (see FFS_Spec, section FFS_Section) - -- When the field is absent the UE measures on all SS-blocks - -- FFS_CHECK: Is this IE placed correctly. - ssb-ToMeasure CHOICE {release NULL, setup SSB-ToMeasure } OPTIONAL, -- Need M - - -- Indicates whether the UE can utilize serving cell timing to derive the index of SS block transmitted by neighbour cell: +SSB-ConfigMobility ::= SEQUENCE { + ssb-ToMeasure CHOICE { release NULL, setup SSB-ToMeasure } OPTIONAL, -- Need M useServingCellTimingForSync BOOLEAN, - - -- Primary measurement timing configuration. Applicable for intra- and inter-frequency measurements. - smtc1 SEQUENCE { - -- Periodicity and offset of the measurement window in which to receive SS/PBCH blocks. - -- Periodicity and offset are given in number of subframes. - -- FFS_FIXME: This does not match the L1 parameter table! They seem to intend an index to a hidden table in L1 specs. - -- (see 38.213, section REF): - periodicityAndOffset CHOICE { - sf5 INTEGER (0..4), - sf10 INTEGER (0..9), - sf20 INTEGER (0..19), - sf40 INTEGER (0..39), - sf80 INTEGER (0..79), - sf160 INTEGER (0..159) - }, - -- Duration of the measurement window in which to receive SS/PBCH blocks. It is given in number of subframes - -- (see 38.213, section 4.1) - duration ENUMERATED { sf1, sf2, sf3, sf4, sf5 } - }, - - -- Secondary measurement timing confguration for explicitly signalled PCIs. It uses the offset and duration from smtc1. - -- It is supported only for intra-frequency measurements in RRC CONNECTED. - smtc2 SEQUENCE { - -- PCIs that are known to follow this SMTC. - pci-List SEQUENCE (SIZE (1..maxNrofPCIsPerSMTC)) OF PhysCellId OPTIONAL, -- Need M - -- Periodicity for the given PCIs. Timing offset and Duration as provided in smtc1. - periodicity ENUMERATED {sf5, sf10, sf20, sf40, sf80, sf160, spare2, spare1} - } OPTIONAL,-- Cond IntraFreqConnected - ss-RSSI-Measurement SEQUENCE { - measurementSlots CHOICE { - kHz15 BIT STRING (SIZE(1)), - kHz30 BIT STRING (SIZE(2)), - kHz60 BIT STRING (SIZE(4)), - kHz120 BIT STRING (SIZE(8)) - }, - endSymbol INTEGER(0..13) - } OPTIONAL -} - -CSI-RS-ResourceConfigMobility ::= SEQUENCE { - -- MO specific values - isServingCellMO BOOLEAN, - -- Subcarrier spacing of CSI-RS. - -- Only the values 15, 30 or 60 kHz (<6GHz), 60 or 120 kHz (>6GHz) are applicable. - -- Corresponds to L1 parameter 'Numerology' (see 38.211, section FFS_Section) - subcarrierSpacing SubcarrierSpacing, - -- List of cells - csi-RS-CellList-Mobility SEQUENCE (SIZE (1..maxNrofCSI-RS-CellsRRM)) OF CSI-RS-CellMobility - -} - -CSI-RS-CellMobility ::= SEQUENCE { - cellId PhysCellId, - - csi-rs-MeasurementBW SEQUENCE { - -- Allowed size of the measurement BW in PRBs - -- Corresponds to L1 parameter 'CSI-RS-measurementBW-size' (see FFS_Spec, section FFS_Section) - nrofPRBs ENUMERATED { size24, size48, size96, size192, size264}, - -- Starting PRB index of the measurement bandwidth - -- Corresponds to L1 parameter 'CSI-RS-measurement-BW-start' (see FFS_Spec, section FFS_Section) - -- FFS_Value: Upper edge of value range unclear in RAN1 - startPRB INTEGER(0..2169) - }, - - -- Frequency domain density for the 1-port CSI-RS for L3 mobility - -- Corresponds to L1 parameter 'Density' (see FFS_Spec, section FFS_Section) - density ENUMERATED {d1,d3} OPTIONAL, - - --- List of resources - csi-rs-ResourceList-Mobility SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesRRM)) OF CSI-RS-Resource-Mobility -} - - -CSI-RS-Resource-Mobility ::= SEQUENCE { - csi-RS-Index CSI-RS-Index, - -- Contains periodicity and slot offset for periodic/semi-persistent CSI-RS (see 38.211, section x.x.x.x)FFS_Ref - slotConfig CHOICE { - ms4 INTEGER (0..31), - ms5 INTEGER (0..39), - ms10 INTEGER (0..79), - ms20 INTEGER (0..159), - ms40 INTEGER (0..319) - }, - -- Each CSI-RS resource may be associated with one SSB. If such SSB is indicated, the NW also indicates whether the UE may assume - -- quasi-colocation of this SSB with this CSI-RS reosurce. - -- Corresponds to L1 parameter 'Associated-SSB' (see FFS_Spec, section FFS_Section) - - associatedSSB SEQUENCE { - ssb-Index SSB-Index, - -- The CSI-RS resource is either QCL’ed not QCL’ed with the associated SSB in spatial parameters - -- Corresponds to L1 parameter 'QCLed-SSB' (see FFS_Spec, section FFS_Section) - isQuasiColocated BOOLEAN - } OPTIONAL, -- Cond AssociatedSSB - - - -- Frequency domain allocation within a physical resource block in accordance with 38.211, section 7.4.1.5.3 including table 7.4.1.5.2-1. - -- The number of bits that may be set to one depend on the chosen row in that table. For the choice "other", the row can be determined from - -- the parmeters below and from the number of bits set to 1 in frequencyDomainAllocation. - frequencyDomainAllocation CHOICE { - row1 BIT STRING (SIZE (4)), - row2 BIT STRING (SIZE (12)) - }, - - - -- Time domain allocation within a physical resource block. The field indicates the first OFDM symbol in the PRB used for CSI-RS. - -- Parameter l0 in 38.211, section 7.4.1.5.3. Value 2 is supported only when DL-DMRS-typeA-pos equals 3. - firstOFDMSymbolInTimeDomain INTEGER (0..13), - -- Scrambling ID for CSI-RS(see 38.211, section 7.4.1.5.2) - sequenceGenerationConfig INTEGER (0..1023), + ss-RSSI-Measurement SS-RSSI-Measurement OPTIONAL, -- Need M ... } -CSI-RS-Index ::= INTEGER (0..maxNrofCSI-RS-ResourcesRRM-1) -Q-OffsetRangeList ::= SEQUENCE { - rsrpOffsetSSB Q-OffsetRange DEFAULT dB0, - rsrqOffsetSSB Q-OffsetRange DEFAULT dB0, - sinrOffsetSSB Q-OffsetRange DEFAULT dB0, - rsrpOffsetCSI-RS Q-OffsetRange DEFAULT dB0, - rsrqOffsetCSI-RS Q-OffsetRange DEFAULT dB0, - sinrOffsetCSI-RS Q-OffsetRange DEFAULT dB0 +Q-OffsetRangeList ::= SEQUENCE { + rsrpOffsetSSB Q-OffsetRange DEFAULT dB0, + rsrqOffsetSSB Q-OffsetRange DEFAULT dB0, + sinrOffsetSSB Q-OffsetRange DEFAULT dB0, + rsrpOffsetCSI-RS Q-OffsetRange DEFAULT dB0, + rsrqOffsetCSI-RS Q-OffsetRange DEFAULT dB0, + sinrOffsetCSI-RS Q-OffsetRange DEFAULT dB0 } -SSB-ToMeasure ::= CHOICE { - -- bitmap for sub 3 GHz +SSB-ToMeasure ::= CHOICE { shortBitmap BIT STRING (SIZE (4)), - -- bitmap for 3-6 GHz mediumBitmap BIT STRING (SIZE (8)), - -- bitmap for above 6 GHz longBitmap BIT STRING (SIZE (64)) } - -ThresholdNR ::= SEQUENCE{ - thresholdRSRP RSRP-Range OPTIONAL, +ThresholdNR ::= SEQUENCE{ + thresholdRSRP RSRP-Range OPTIONAL, thresholdRSRQ RSRQ-Range OPTIONAL, thresholdSINR SINR-Range OPTIONAL } -CellsToAddModList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CellsToAddMod - -CellsToAddMod ::= SEQUENCE { - physCellId PhysCellId, - cellIndividualOffset Q-OffsetRangeList -} - -BlackCellsToAddModList ::= SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF BlackCellsToAddMod +CellsToAddModList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CellsToAddMod -BlackCellsToAddMod ::= SEQUENCE { - pci-RangeIndex PCI-RangeIndex, - pci-Range PCI-Range +CellsToAddMod ::= SEQUENCE { + physCellId PhysCellId, + cellIndividualOffset Q-OffsetRangeList } -WhiteCellsToAddModList ::= SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF WhiteCellsToAddMod -WhiteCellsToAddMod ::= SEQUENCE { - pci-RangeIndex PCI-RangeIndex, - pci-Range PCI-Range -} -- TAG-MEAS-OBJECT-NR-STOP -- TAG-MEAS-OBJECT-TO-ADD-MOD-LIST-START @@ -1931,7 +1288,7 @@ MeasObjectToAddMod ::= SEQUENCE { MeasResults ::= SEQUENCE { measId MeasId, - measResultServingFreqList MeasResultServFreqList, + measResultServingMOList MeasResultServMOList, measResultNeighCells CHOICE { measResultListNR MeasResultListNR, ... @@ -1939,12 +1296,12 @@ MeasResults ::= SEQUENCE { ... } -MeasResultServFreqList ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF MeasResultServFreq +MeasResultServMOList ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF MeasResultServMO -MeasResultServFreq ::= SEQUENCE { - servFreqId ServCellIndex, +MeasResultServMO ::= SEQUENCE { + servCellId ServCellIndex, measResultServingCell MeasResultNR, - measResultBestNeighCell MeasResultNR, + measResultBestNeighCell MeasResultNR OPTIONAL, ... } @@ -1953,7 +1310,6 @@ MeasResultListNR ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultNR MeasResultNR ::= SEQUENCE { physCellId PhysCellId OPTIONAL, --FFS: Details of cgi info - cgi-Info ENUMERATED {ffsTypeAndValue} OPTIONAL, measResult SEQUENCE { cellResults SEQUENCE{ resultsSSB-Cell MeasQuantityResults OPTIONAL, @@ -1968,10 +1324,10 @@ MeasResultNR ::= SEQUENCE { } -MeasQuantityResults ::= SEQUENCE { - rsrp RSRP-Range OPTIONAL, - rsrq RSRQ-Range OPTIONAL, - sinr SINR-Range OPTIONAL +MeasQuantityResults ::= SEQUENCE { + rsrp RSRP-Range OPTIONAL, + rsrq RSRQ-Range OPTIONAL, + sinr SINR-Range OPTIONAL } ResultsPerSSB-IndexList::= SEQUENCE (SIZE (1..maxNrofSSBs)) OF ResultsPerSSB-Index @@ -1992,26 +1348,18 @@ ResultsPerCSI-RS-Index ::= SEQUENCE { -- TAG-MEAS-RESULT-SCG-FAILURE-START MeasResultSCG-Failure ::= SEQUENCE { - measResultServFreqList MeasResultServFreqList2NR, - measResultNeighCells MeasResultList2NR, + measResultPerMOList MeasResultList2NR, ... } -MeasResultServFreqList2NR ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF MeasResultServFreq2NR -MeasResultServFreq2NR ::= SEQUENCE { - ssbFrequency ARFCN-ValueNR OPTIONAL, - refFreqCSI-RS ARFCN-ValueNR OPTIONAL, - measResultServingCell MeasResultNR, - measResultBestNeighCell MeasResultNR OPTIONAL -} - -MeasResultList2NR ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2NR +MeasResultList2NR ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2NR -MeasResult2NR ::= SEQUENCE { - ssbFrequency ARFCN-ValueNR OPTIONAL, - refFreqCSI-RS ARFCN-ValueNR OPTIONAL, - measResultListNR MeasResultListNR +MeasResult2NR ::= SEQUENCE { + ssbFrequency ARFCN-ValueNR OPTIONAL, + refFreqCSI-RS ARFCN-ValueNR OPTIONAL, + measResultServingCell MeasResultNR OPTIONAL, + measResultNeighCellListNR MeasResultListNR } -- TAG-MEAS-RESULT-SCG-FAILURE-STOP @@ -2019,7 +1367,7 @@ MeasResult2NR ::= SEQUENCE { MeasResultCellListSFTD ::= SEQUENCE (SIZE (1..maxCellSFTD)) OF MeasResultCellSFTD -MeasResultCellSFTD ::= SEQUENCE { +MeasResultCellSFTD ::= SEQUENCE { physCellId PhysCellId, sfn-OffsetResult INTEGER (0..1023), frameBoundaryOffsetResult INTEGER (-30720..30719), @@ -2029,73 +1377,47 @@ MeasResultCellSFTD ::= SEQUENCE { -- TAG-MEASRESULT-CELL-LIST-SFTD-STOP -- TAG-MULTIFREQUENCYBANDLISTNR-START -MultiFrequencyBandListNR ::= SEQUENCE (SIZE (1..maxNrofMultiBands)) OF FreqBandIndicatorNR +MultiFrequencyBandListNR ::= SEQUENCE (SIZE (1..maxNrofMultiBands)) OF FreqBandIndicatorNR -- TAG-MULTIFREQUENCYBANDLISTNR-STOP --- TAG-NZP-CSI-RS-RESOURCESET-START -NZP-CSI-RS-ResourceSet ::= SEQUENCE { - nzp-CSI-ResourceSetId NZP-CSI-RS-ResourceSetId, +-- TAG-NZP-CSI-RS-RESOURCE-START - -- NZP-CSI-RS-Resources assocaited with this NZP-CSI-RS resource set. - -- Corresponds to L1 parameter 'CSI-RS-ResourceConfigList' (see 38.214, section 5.2) - -- For CSI, there are at most 8 NZP CSI RS resources per resource set - nzp-CSI-RS-Resources SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourcesPerSet)) OF NZP-CSI-RS-ResourceId, +NZP-CSI-RS-Resource ::= SEQUENCE { + nzp-CSI-RS-ResourceId NZP-CSI-RS-ResourceId, + resourceMapping CSI-RS-ResourceMapping, + powerControlOffset INTEGER(-8..15), + powerControlOffsetSS ENUMERATED {db-3, db0, db3, db6} OPTIONAL, -- Need R + scramblingID ScramblingId, + periodicityAndOffset CSI-ResourcePeriodicityAndOffset OPTIONAL, -- Cond PeriodicOrSemiPersistent + qcl-InfoPeriodicCSI-RS TCI-StateId OPTIONAL, -- Cond Periodic + ... +} - -- Indicates whether repetition is on/off. If set to set to 'OFF', the UE may not assume that the - -- NZP-CSI-RS resources within the resource set are transmitted with the same downlink spatial domain transmission filter - -- and with same NrofPorts in every symbol. - -- Corresponds to L1 parameter 'CSI-RS-ResourceRep' (see 38.214, sections 5.2.2.3.1 and 5.1.6.1.2) - -- Can only be configured for CSI-RS resource sets which are associated with CSI-ReportConfig with report of L1 RSRP or “no report” - repetition ENUMERATED { on, off } OPTIONAL, +-- TAG-NZP-CSI-RS-RESOURCE-STOP +-- TAG-NZP-CSI-RS-RESOURCEID-START - -- Offset X between the slot containing the DCI that triggers a set of aperiodic NZP CSI-RS resources and the slot in which the - -- CSI-RS resource set is transmitted. When the field is absent the UE applies the value 0. - -- Corresponds to L1 parameter 'Aperiodic-NZP-CSI-RS-TriggeringOffset' (see 38,214, section FFS_Section) - aperiodicTriggeringOffset INTEGER(0..4) OPTIONAL, -- Need S +NZP-CSI-RS-ResourceId ::= INTEGER (0..maxNrofNZP-CSI-RS-Resources-1) - -- Indicates that the antenna port for all NZP-CSI-RS resources in the CSI-RS resource set is same. - -- Corresponds to L1 parameter 'TRS-Info' (see 38.214, section 5.2.2.3.1) - trs-Info ENUMERATED {true} OPTIONAL, +-- TAG-NZP-CSI-RS-RESOURCEID-STOP +-- TAG-NZP-CSI-RS-RESOURCESET-START +NZP-CSI-RS-ResourceSet ::= SEQUENCE { + nzp-CSI-ResourceSetId NZP-CSI-RS-ResourceSetId, + nzp-CSI-RS-Resources SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourcesPerSet)) OF NZP-CSI-RS-ResourceId, + repetition ENUMERATED { on, off } OPTIONAL, + aperiodicTriggeringOffset INTEGER(0..4) OPTIONAL, -- Need S + trs-Info ENUMERATED {true} OPTIONAL, -- Need R ... } -- TAG-NZP-CSI-RS-RESOURCESET-STOP -- TAG-NZP-CSI-RS-RESOURCESETID-START -NZP-CSI-RS-ResourceSetId ::= INTEGER (0..maxNrofNZP-CSI-RS-ResourceSets-1) - --- TAG-NZP-CSI-RS-RESOURCESETID-STOP --- TAG-NZP-CSI-RS-RESOURCE-START -NZP-CSI-RS-Resource ::= SEQUENCE { - nzp-CSI-RS-ResourceId NZP-CSI-RS-ResourceId, - - -- OFDM symbol location(s) in a slot and subcarrier occupancy in a PRB of the CSI-RS resource - resourceMapping CSI-RS-ResourceMapping, - -- Power offset of NZP CSI-RS RE to PDSCH RE. Value in dB. Corresponds to L1 parameter Pc (see 38.214, sections 5.2.2.3.1 and 4.1) - powerControlOffset INTEGER(-8..15), - -- Power offset of NZP CSI-RS RE to SS RE. Value in dB. Corresponds to L1 parameter 'Pc_SS' (see 38.214, section 5.2.2.3.1) - powerControlOffsetSS ENUMERATED{db-3, db0, db3, db6} OPTIONAL, - -- Scrambling ID (see 38.214, section 5.2.2.3.1) - scramblingID ScramblingId, - -- Periodicity and slot offset sl1 corresponds to a periodicity of 1 slot, sl2 to a periodicity of two slots, and so on. - -- The corresponding offset is also given in number of slots. Corresponds to L1 parameter 'CSI-RS-timeConfig' (see 38.214, section 5.2.2.3.1) - periodicityAndOffset CSI-ResourcePeriodicityAndOffset OPTIONAL, --Cond PeriodicOrSemiPersistent +NZP-CSI-RS-ResourceSetId ::= INTEGER (0..maxNrofNZP-CSI-RS-ResourceSets-1) - -- For a target periodic CSI-RS, contains a reference to one TCI-State in TCI-States for providing the QCL source and - -- QCL type. For periodic CSI-RS, the source can be SSB or another periodic-CSI-RS. - -- Corresponds to L1 parameter 'QCL-Info-PeriodicCSI-RS' (see 38.214, section 5.2.2.3.1) - qcl-InfoPeriodicCSI-RS TCI-StateId OPTIONAL, --Cond Periodic - ... -} - --- TAG-NZP-CSI-RS-RESOURCE-STOP --- TAG-NZP-CSI-RS-RESOURCEID-START -NZP-CSI-RS-ResourceId ::= INTEGER (0..maxNrofNZP-CSI-RS-Resources-1) - --- TAG-NZP-CSI-RS-RESOURCEID-STOP +-- TAG-NZP-CSI-RS-RESOURCESETID-STOP -- TAG-P-MAX-START -P-Max ::= INTEGER (-30..33) +P-Max ::= INTEGER (-30..33) -- TAG-P-MAX-STOP -- TAG-PCI-LIST-START @@ -2105,96 +1427,69 @@ PCI-List ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF PhysCellId -- TAG-PCI-LIST-STOP -- TAG-PCI-RANGE-START -PCI-Range ::= SEQUENCE { - start PhysCellId, - range ENUMERATED { - n4, n8, n12, n16, n24, n32, n48, n64, n84, - n96, n128, n168, n252, n504, n1008, - spare1} OPTIONAL -- Need Nss +PCI-Range ::= SEQUENCE { + start PhysCellId, + range ENUMERATED { n4, n8, n12, n16, n24, n32, n48, n64, n84, + n96, n128, n168, n252, n504, n1008, spare1} OPTIONAL -- Need S } -- TAG-PCI-RANGE-STOP --- TAG-PCI-RANGE-INDEX-START +-- TAG-PCI-RANGEELEMENT-START -PCI-RangeIndex ::= INTEGER (1..maxNrofPCI-Ranges) +PCI-RangeElement ::= SEQUENCE { + pci-RangeIndex PCI-RangeIndex, + pci-Range PCI-Range +} + +-- TAG-PCI-RANGEELEMENT-STOP +-- TAG-PCI-RANGE-INDEX-START +PCI-RangeIndex ::= INTEGER (1..maxNrofPCI-Ranges) -- TAG-PCI-RANGE-INDEX-STOP -- TAG-PCI-RANGE-INDEX-LIST-START -PCI-RangeIndexList ::= SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeIndex +PCI-RangeIndexList ::= SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeIndex -- TAG-PCI-Range-INDEX-LIST-STOP -- TAG-PDCCH-CONFIG-START -PDCCH-Config ::= SEQUENCE { - -- List of UE specifically configured Control Resource Sets (CORESETs) to be used by the UE. - -- The network configures at most 3 CORESETs per BWP per cell (including the initial CORESET). - controlResourceSetToAddModList SEQUENCE(SIZE (1..3)) OF ControlResourceSet OPTIONAL, - controlResourceSetToReleaseList SEQUENCE(SIZE (1..3)) OF ControlResourceSetId OPTIONAL, - - -- List of UE specifically configured Control Resource Sets (CORESETs). - -- The network configures at most 10 Search Spaces per BWP per cell (including the initial Search Space). - searchSpacesToAddModList SEQUENCE(SIZE (1..10)) OF SearchSpace OPTIONAL, - searchSpacesToReleaseList SEQUENCE(SIZE (1..10)) OF SearchSpaceId OPTIONAL, - - -- Configuration of downlink preemtption indications to be monitored in this cell. - -- Corresponds to L1 parameter 'Preemp-DL' (see 38.214, section 11.2) - -- FFS_RAN1: LS R1-1801281 indicates this is "Per Cell (but association with each configured BWP is needed)" => Unclear, keep on BWP for now. - downlinkPreemption CHOICE {release NULL, setup DownlinkPreemption } OPTIONAL, -- Need M - - -- Configuration of Slot-Format-Indicators to be monitored in this cell - - -- FFS_RAN1 discusses still whether this SFI payload configuration is BWP- or Cell-Specific. - slotFormatIndicator CHOICE {release NULL, setup SlotFormatIndicator } OPTIONAL, -- Need M - -- Enable and configure reception of group TPC commands for PUSCH - tpc-PUSCH CHOICE {release NULL, setup PUSCH-TPC-CommandConfig } OPTIONAL, -- Need M - - -- Enable and configure reception of group TPC commands fpr PUCCH - tpc-PUCCH CHOICE {release NULL, setup PUCCH-TPC-CommandConfig } OPTIONAL, -- Cond PUCCH-CellOnly - +PDCCH-Config ::= SEQUENCE { + controlResourceSetToAddModList SEQUENCE(SIZE (1..3)) OF ControlResourceSet OPTIONAL, -- Need N + controlResourceSetToReleaseList SEQUENCE(SIZE (1..3)) OF ControlResourceSetId OPTIONAL, -- Need N + searchSpacesToAddModList SEQUENCE(SIZE (1..10)) OF SearchSpace OPTIONAL, -- Need N + searchSpacesToReleaseList SEQUENCE(SIZE (1..10)) OF SearchSpaceId OPTIONAL, -- Need N + downlinkPreemption CHOICE { release NULL, setup DownlinkPreemption } OPTIONAL, -- Need M + tpc-PUSCH CHOICE { release NULL, setup PUSCH-TPC-CommandConfig } OPTIONAL, -- Need M + tpc-PUCCH CHOICE { release NULL, setup PUCCH-TPC-CommandConfig } OPTIONAL, -- Cond PUCCH-CellOnly + tpc-SRS CHOICE { release NULL, setup SRS-TPC-CommandConfig} OPTIONAL, -- Need M ... } -- TAG-PDCCH-CONFIG-STOP -- TAG-PDCCH-CONFIGCOMMON-START -PDCCH-ConfigCommon ::= SEQUENCE { - - -- A list of common control resource sets. Only CORESETs with ControlResourceSetId = 0 or 1 are allowed. The CORESET#0 - -- corresponds to the CORESET configured in MIB (see pdcch-ConfigSIB1) and is used to provide that information to the UE - -- by dedicated signalling during handover and (P)SCell addition. The CORESET#1 may be configured an used for RAR - -- (see ra-ControlResourceSet). - commonControlResourcesSets SEQUENCE (SIZE(1..2)) OF ControlResourceSet OPTIONAL, -- Need R - - -- A list of additional common search spaces. - commonSearchSpaces SEQUENCE (SIZE(1..4)) OF SearchSpace OPTIONAL, -- Need R - - -- ID of the search space for SIB1 message. - - -- Corresponds to L1 parameter 'rmsi-SearchSpace' (see 38.213, section 10) - searchSpaceSIB1 SearchSpaceId OPTIONAL, -- Need R - -- ID of the Search space for other system information, i.e., SIB2 and beyond. - -- Corresponds to L1 parameter 'osi-SearchSpace' (see 38.213, section 10) - -- If the field is absent, the monitoring occasions are derived as described in 38.213, section 10.1 and section 13. - searchSpaceOtherSystemInformation SearchSpaceId OPTIONAL, -- Need R +PDCCH-ConfigCommon ::= SEQUENCE { + controlResourceSetZero INTEGER (0..15) OPTIONAL, -- Cond InitialBWP-Only + commonControlResourceSet ControlResourceSet OPTIONAL, -- Need R + searchSpaceZero INTEGER (0..15) OPTIONAL, -- Cond InitialBWP-Only + commonSearchSpace SEQUENCE (SIZE(1..4)) OF SearchSpace OPTIONAL, -- Need R + searchSpaceSIB1 SearchSpaceId OPTIONAL, -- Need R + searchSpaceOtherSystemInformation SearchSpaceId OPTIONAL, -- Need R + pagingSearchSpace SearchSpaceId OPTIONAL, -- Need R + ra-SearchSpace SearchSpaceId OPTIONAL, -- Need R + ... +} - -- ID of the Search space for paging. Corresponds to L1 parameter 'paging-SearchSpace' (see 38.213, section 10) - -- If the field is absent, the monitoring occasions are derived as described in 38.213, section 10.1 and section 13. - pagingSearchSpace SearchSpaceId OPTIONAL, -- Need R +-- TAG-PDCCH-CONFIGCOMMON-STOP +-- TAG-PDCCH-SERVINGCELLCONFIG-START - -- CORESET configured for random access. When the field is absent the UE uses the CORESET according to pdcch-ConfigSIB1 - -- which is associated with ControlResourceSetId = 0. - -- Corresponds to L1 parameter 'rach-coreset-configuration' (see 38.211?, section FFS_Section) - ra-ControlResourceSet ControlResourceSetId OPTIONAL, -- Need S - -- ID of the Search space for random access procedure. Corresponds to L1 parameter 'ra-SearchSpace' (see 38.214?, section FFS_Section) - -- If the field is absent, the monitoring occasions are derived as described in 38.213, section 10.1 and section 13. - ra-SearchSpace SearchSpaceId OPTIONAL, -- Need R +PDCCH-ServingCellConfig ::= SEQUENCE { + slotFormatIndicator CHOICE { release NULL, setup SlotFormatIndicator } OPTIONAL, -- Need M ... - } --- TAG-PDCCH-CONFIGCOMMON-STOP +-- TAG-PDCCH-SERVINGCELLCONFIG-STOP -- TAG-PDCP-CONFIG-START PDCP-Config ::= SEQUENCE { @@ -2217,29 +1512,28 @@ PDCP-Config ::= SEQUENCE { profile0x0103 BOOLEAN, profile0x0104 BOOLEAN }, - drb-ContinueROHC BOOLEAN + drb-ContinueROHC ENUMERATED { true } OPTIONAL -- Need R }, uplinkOnlyROHC SEQUENCE { maxCID INTEGER (1..16383) DEFAULT 15, profiles SEQUENCE { profile0x0006 BOOLEAN }, - drb-ContinueROHC BOOLEAN + drb-ContinueROHC ENUMERATED { true } OPTIONAL -- Need R }, ... }, integrityProtection ENUMERATED { enabled } OPTIONAL, -- Cond ConnectedTo5GC statusReportRequired ENUMERATED { true } OPTIONAL, -- Cond Rlc-AM - outOfOrderDelivery BOOLEAN + outOfOrderDelivery ENUMERATED { true } OPTIONAL -- Need R } OPTIONAL, -- Cond DRB - -- FFS / TODO: Handle more than two secondary cell groups moreThanOneRLC SEQUENCE { primaryPath SEQUENCE { cellGroup CellGroupId OPTIONAL, -- Need R logicalChannel LogicalChannelIdentity OPTIONAL -- Need R }, ul-DataSplitThreshold UL-DataSplitThreshold OPTIONAL, -- Cond SplitBearer - pdcp-Duplication ENUMERATED { true } OPTIONAL -- Need R + pdcp-Duplication BOOLEAN OPTIONAL -- Need R } OPTIONAL, -- Cond MoreThanOneRLC t-Reordering ENUMERATED { @@ -2262,111 +1556,53 @@ UL-DataSplitThreshold ::= ENUMERATED { -- TAG-PDSCH-CONFIG-START PDSCH-Config ::= SEQUENCE { - -- Identifer used to initalite data scrambling (c_init) for both PDSCH. - -- Corresponds to L1 parameter 'Data-scrambling-Identity' (see 38,214, section FFS_Section) - -- FFS:_Replace by tye ScramblingId used in other places? - dataScramblingIdentityPDSCH INTEGER (0..1007) OPTIONAL, - - -- DMRS configuration for PDSCH transmissions using PDSCH mapping type A (chosen dynamically via PDSCH-TimeDomainResourceAllocation). - dmrs-DownlinkForPDSCH-MappingTypeA CHOICE {release NULL, setup DMRS-DownlinkConfig } OPTIONAL, -- Need M - -- DMRS configuration for PDSCH transmissions using PDSCH mapping type B (chosen dynamically via PDSCH-TimeDomainResourceAllocation). - dmrs-DownlinkForPDSCH-MappingTypeB CHOICE {release NULL, setup DMRS-DownlinkConfig } OPTIONAL, -- Need M - - - -- A list of Transmission Configuration Indicator (TCI) states for dynamically indicating (over DCI) a transmission configuration - -- which includes QCL-relationships between the DL RSs in one RS set and the PDSCH DMRS ports - -- (see 38.214, section 5.1.4) - tci-StatesToAddModList SEQUENCE (SIZE(1..maxNrofTCI-States)) OF TCI-State OPTIONAL, -- Need N - tci-StatesToReleaseList SEQUENCE (SIZE(1..maxNrofTCI-States)) OF TCI-StateId OPTIONAL, -- Need N - - -- Interleaving unit configurable between 2 and 4 PRBs - -- Corresponds to L1 parameter 'VRB-to-PRB-interleaver' (see 38.211, section 6.3.1.6) - vrb-ToPRB-Interleaver ENUMERATED {n2, n4}, - - -- Configuration of resource allocation type 0 and resource allocation type 1 for non-fallback DCI - -- Corresponds to L1 parameter 'Resouce-allocation-config' (see 38.214, section 5.1.2) - resourceAllocation ENUMERATED { resourceAllocationType0, -resourceAllocationType1, -dynamicSwitch}, - - -- List of time-domain configurations for timing of DL assignment to DL data. If configured, the values provided herein - -- override the values received in corresponding PDSCH-ConfigCommon. - pdsch-AllocationList SEQUENCE (SIZE(1..maxNrofDL-Allocations)) OF PDSCH-TimeDomainResourceAllocation OPTIONAL, -- Need R - -- Number of repetitions for data. Corresponds to L1 parameter 'aggregation-factor-DL' (see 38.214, section FFS_Section) - -- When the field is absent the UE applies the value 1 - pdsch-AggregationFactor ENUMERATED { n2, n4, n8 } OPTIONAL, -- Need S - - -- Resources patterns which the UE should rate match PDSCH around. The UE rate matches around the union of all resources - -- indicated in the nexted bitmaps. Corresponds to L1 parameter 'Resource-set-BWP' (see 38.214, section 5.1.2.2.3) - -- FFS: RAN1 indicates that there should be a set of patterns per cell and one per BWP => Having both seems unnecessary. - - rateMatchPatternToAddModList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern OPTIONAL, -- Need N - rateMatchPatternToReleaseList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL, -- Need N - - -- The IDs of a first group of RateMatchPatterns defined in the rateMatchPatternToAddModList. - -- Corresponds to L1 parameter 'Resource-set-group-1'. (see 38.214, section FFS_Section) - rateMatchPatternGroup1 SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL, -- Need R - -- The IDs of a second group of RateMatchPatterns defined in the rateMatchPatternToAddModList - -- Corresponds to L1 parameter 'Resource-set-group-2'. (see 38.214, section FFS_Section) - rateMatchPatternGroup2 SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL, -- Need R - - - -- Selection between config 1 and config 2 for RBG size for PDSCH. Corresponds to L1 parameter 'RBG-size-PDSCH' (see 38.214, section 5.1.2.2.1) - rbg-Size ENUMERATED {config1, config2}, + dataScramblingIdentityPDSCH INTEGER (0..1023) OPTIONAL, + dmrs-DownlinkForPDSCH-MappingTypeA CHOICE { release NULL, setup DMRS-DownlinkConfig } OPTIONAL, -- Need M + dmrs-DownlinkForPDSCH-MappingTypeB CHOICE { release NULL, setup DMRS-DownlinkConfig } OPTIONAL, -- Need M - -- Indicates which MCS table the UE shall use for PDSCH. Corresponds to L1 parameter 'MCS-Table-PDSCH' (see 38.214, section 5.1.3.1). - mcs-Table ENUMERATED {qam64, qam256}, - - -- Maximum number of code words that a single DCI may schedule. This changes the number of MCS/RV/NDI bits in the DCI message from 1 to 2. - maxNrofCodeWordsScheduledByDCI ENUMERATED {n1, n2} OPTIONAL, -- Need R + tci-StatesToAddModList SEQUENCE (SIZE(1..maxNrofTCI-States)) OF TCI-State OPTIONAL, -- Need N + tci-StatesToReleaseList SEQUENCE (SIZE(1..maxNrofTCI-States)) OF TCI-StateId OPTIONAL, -- Need N + vrb-ToPRB-Interleaver ENUMERATED {n2, n4} OPTIONAL, -- Need S + resourceAllocation ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch}, + pdsch-TimeDomainAllocationList CHOICE { release NULL, setup PDSCH-TimeDomainResourceAllocationList } OPTIONAL, -- Need M + pdsch-AggregationFactor ENUMERATED { n2, n4, n8 } OPTIONAL, -- Need S + rateMatchPatternToAddModList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern OPTIONAL, -- Need N + rateMatchPatternToReleaseList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL, -- Need N + rateMatchPatternGroup1 RateMatchPatternGroup OPTIONAL, -- Need R + rateMatchPatternGroup2 RateMatchPatternGroup OPTIONAL, -- Need R + rbg-Size ENUMERATED {config1, config2}, + mcs-Table ENUMERATED {qam256, spare1} OPTIONAL, -- Need S + maxNrofCodeWordsScheduledByDCI ENUMERATED {n1, n2} OPTIONAL, -- Need R - -- Indicates the PRB bundle type and bundle size(s). If "dynamic" is chosen, the actual BundleSizeSet to use is indicated via DCI. - -- If a bundleSize(Set) value is absent, the UE applies the value n2. Corresponds to L1 parameter 'PRB_bundling' - -- (see 38.214, section 5.1.2.3) - prb-BundlingType CHOICE { - static SEQUENCE { - bundleSize ENUMERATED { n4, wideband } OPTIONAL -- Need S + prb-BundlingType CHOICE { + staticBundling SEQUENCE { + bundleSize ENUMERATED { n4, wideband } OPTIONAL -- Need S }, - dynamic SEQUENCE { - bundleSizeSet1 ENUMERATED { n4, wideband, n2-wideband, n4-wideband } OPTIONAL, -- Need S - bundleSizeSet2 ENUMERATED { n4, wideband } OPTIONAL -- Need S + dynamicBundling SEQUENCE { + bundleSizeSet1 ENUMERATED { n4, wideband, n2-wideband, n4-wideband } OPTIONAL, -- Need S + bundleSizeSet2 ENUMERATED { n4, wideband } OPTIONAL -- Need S } }, - - -- A list of Zero-Power (ZP) CSI-RS resources used for PDSCH rate-matching. - -- Corresponds to L1 parameter 'ZP-CSI-RS-ResourceConfigList' (see 38.214, section FFS_Section) - zp-CSI-RS-ResourceToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Resources)) OF ZP-CSI-RS-Resource OPTIONAL, -- Need N - zp-CSI-RS-ResourceToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Resources)) OF ZP-CSI-RS-ResourceId OPTIONAL, -- Need M - - -- A list of sets. Each set contains a set-ID and the IDs of one or more ZP-CSI-RS-Resources (the actual resources are defined in the - -- zp-CSI-RS-ResourceToAddModList). The network triggers a set by indicating its set-ID (ZP-CSI-RS-ResourceSetId) in the DCI payload. - -- The resources referenced in these sets are confgiured with resourceType 'aperiodic'. - -- Corresponds to L1 parameter ' ZP-CSI-RS-ResourceSetConfigList' (see 38.214, section FFS_Section) - aperiodic-ZP-CSI-RS-ResourceSetsToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Sets)) OF ZP-CSI-RS-ResourceSet OPTIONAL, -- Need N - aperiodic-ZP-CSI-RS-ResourceSetsToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Sets)) OF ZP-CSI-RS-ResourceSetId OPTIONAL, -- Need N - - -- A list of sets. Each set contains a set-ID and the IDs of one or more ZP-CSI-RS-Resources (the actual resources are defined in the - -- zp-CSI-RS-ResourceToAddModList). The network triggers a set by indicating its set-ID (ZP-CSI-RS-ResourceSetId) in the MAC CE. - -- The resources referenced in these sets are confgiured with resourceType 'semi-persistent'. - -- Corresponds to L1 parameter 'SP-ZP-CSI-RS-Resource-List' (see 38.214, section 5.1.4_Section) - sp-ZP-CSI-RS-ResourceSetsToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Sets)) OF ZP-CSI-RS-ResourceSet OPTIONAL, -- Need N - sp-ZP-CSI-RS-ResourceSetsToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Sets)) OF ZP-CSI-RS-ResourceSetId OPTIONAL, -- Need N - + zp-CSI-RS-ResourceToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Resources)) OF ZP-CSI-RS-Resource OPTIONAL, -- Need N + zp-CSI-RS-ResourceToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Resources)) OF ZP-CSI-RS-ResourceId OPTIONAL, -- Need N + aperiodic-ZP-CSI-RS-ResourceSetsToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSet OPTIONAL, -- Need N + aperiodic-ZP-CSI-RS-ResourceSetsToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSetId OPTIONAL, + -- Need N + sp-ZP-CSI-RS-ResourceSetsToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSet OPTIONAL, -- Need N + sp-ZP-CSI-RS-ResourceSetsToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSetId OPTIONAL, -- Need N + p-ZP-CSI-RS-ResourceSet CHOICE { release NULL, setup ZP-CSI-RS-ResourceSet } OPTIONAL, -- Need M ... } - - - +RateMatchPatternGroup ::= SEQUENCE (SIZE (1..maxNrofRateMatchPatternsPerGroup)) OF CHOICE { cellLevel RateMatchPatternId, + bwpLevel RateMatchPatternId +} -- TAG-PDSCH-CONFIG-STOP -- TAG-PDSCH-CONFIGCOMMON-START PDSCH-ConfigCommon ::= SEQUENCE { - - -- List of time-domain configurations for timing of DL assignment to DL data - pdsch-AllocationList SEQUENCE (SIZE(1..maxNrofDL-Allocations)) OF PDSCH-TimeDomainResourceAllocation OPTIONAL, -- Need R - + pdsch-TimeDomainAllocationList PDSCH-TimeDomainResourceAllocationList OPTIONAL, -- Need R ... } @@ -2374,74 +1610,65 @@ PDSCH-ConfigCommon ::= SEQUENCE { -- TAG-PDSCH-SERVINGCELLCONFIG-START PDSCH-ServingCellConfig ::= SEQUENCE { - -- Enables and configures code-block-group (CBG) based transmission (see 38.213, section 9.1.1) - codeBlockGroupTransmission CHOICE {release NULL, setup PDSCH-CodeBlockGroupTransmission } OPTIONAL, -- Need M - -- Accounts for overhead from CSI-RS, CORESET, etc. If the field is absent, the UE applies value xOh0. - -- Corresponds to L1 parameter 'Xoh-PDSCH' (see 38.214, section 5.1.3.2) + codeBlockGroupTransmission CHOICE { release NULL, setup PDSCH-CodeBlockGroupTransmission } OPTIONAL, -- Need M xOverhead ENUMERATED { xOh6, xOh12, xOh18 } OPTIONAL, -- Need S - -- The number of HARQ processes to be used on the PDSCH of a serving cell. n2 corresponds to 2 HARQ processes, n4 to 4 HARQ processes - -- and so on. If the field is absent, the UE uses 8 HARQ processes. - -- Corresponds to L1 parameter 'number-HARQ-process-PDSCH' (see 38.214, section REF) nrofHARQ-ProcessesForPDSCH ENUMERATED {n2, n4, n6, n10, n12, n16} OPTIONAL, -- Need S - -- The ID of the serving cell (of the same cell group) to use for PUCCH. - -- If the field is absent, the UE sends the HARQ feedback on the PUCCH of the SpCell of this cell group. pucch-Cell ServCellIndex OPTIONAL , -- Cond SCellAddOnly ... } -PDSCH-CodeBlockGroupTransmission ::= SEQUENCE { - -- Maximum number of code-block-groups (CBGs) per TB. In case of multiple CW the maximum CBG is 4 (see 38.213, section 9.1.1) +PDSCH-CodeBlockGroupTransmission ::= SEQUENCE { maxCodeBlockGroupsPerTransportBlock ENUMERATED {n2, n4, n6, n8}, - -- Indicates whether CBGFI for CBG based (re)transmission in DL is enabled (true). (see 38.212, section 7.3.1.2.2) codeBlockGroupFlushIndicator BOOLEAN, ... } -- TAG-PDSCH-SERVINGCELLCONFIG-STOP --- TAG-PDSCH-TIMEDOMAINRESOURCEALLOCATION-START +-- TAG-PDSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-START -PDSCH-TimeDomainResourceAllocation ::= SEQUENCE { - -- Corresponds to L1 parameter 'K0' (see 38.214, section FFS_Section) - -- When the field is absent the UE applies the value 0 - k0 INTEGER (1..3) OPTIONAL, -- Need S - -- PDSCH mapping type. Corresponds to L1 parameter 'Mapping-type' (see 38.214, section FFS_Section) - mappingType ENUMERATED {typeA, typeB}, - -- An index into a table/equation in RAN1 specs capturing valid combinations of start symbol and length (jointly encoded) - -- Corresponds to L1 parameter 'Index-start-len' (see 38.214, section FFS_Section) - startSymbolAndLength BIT STRING (SIZE (7)) + +PDSCH-TimeDomainResourceAllocationList ::= SEQUENCE (SIZE(1..maxNrofDL-Allocations)) OF PDSCH-TimeDomainResourceAllocation + +PDSCH-TimeDomainResourceAllocation ::= SEQUENCE { + k0 INTEGER(0..32) OPTIONAL, -- Need S + mappingType ENUMERATED {typeA, typeB}, + startSymbolAndLength INTEGER (0..127) } --- TAG-PDSCH-TIMEDOMAINRESOURCEALLOCATION-STOP +-- TAG-PDSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-STOP -- TAG-PHYS-CELL-ID-START PhysCellId ::= INTEGER (0..1007) -- TAG-PHYS-CELL-ID-STOP +-- TAG-PHYSICALCELLGROUPCONFIG-START + +PhysicalCellGroupConfig ::= SEQUENCE { + harq-ACK-SpatialBundlingPUCCH ENUMERATED {true} OPTIONAL, -- Need S + harq-ACK-SpatialBundlingPUSCH ENUMERATED {true} OPTIONAL, -- Need S + p-NR P-Max OPTIONAL, -- Need R + pdsch-HARQ-ACK-Codebook ENUMERATED {semiStatic, dynamic}, + tpc-SRS-RNTI RNTI-Value OPTIONAL, -- Need R + tpc-PUCCH-RNTI RNTI-Value OPTIONAL, -- Need R + tpc-PUSCH-RNTI RNTI-Value OPTIONAL, -- Need R + sp-CSI-RNTI RNTI-Value OPTIONAL, -- Cond SP-CSI-Report + cs-RNTI CHOICE { release NULL, setup RNTI-Value } OPTIONAL, -- Need R + ... +} + +-- TAG-PHYSICALCELLGROUPCONFIG-STOP -- TAG-PRB-ID-START -PRB-Id ::= INTEGER (0..maxNrofPhysicalResourceBlocks-1) +PRB-Id ::= INTEGER (0..maxNrofPhysicalResourceBlocks-1) -- TAG-PRB-ID-STOP -- TAG-PTRS-DOWNLINKCONFIG-START -PTRS-DownlinkConfig ::= SEQUENCE { - -- Presence and frequency density of DL PT-RS as a function of Scheduled BW - -- If the field is absent, the UE uses K_PT-RS = 2. - -- Corresponds to L1 parameter 'DL-PTRS-frequency-density-table' (see 38.214, section 5.1) - frequencyDensity SEQUENCE (SIZE (2)) OF INTEGER (1..276) OPTIONAL, -- Need S - -- Presence and time density of DL PT-RS as a function of MCS. The value 29 is only applicable for MCS Table 5.1.3.1-1 (38.214) - -- If the field is absent, the UE uses L_PT-RS = 1. - -- Corresponds to L1 parameter 'DL-PTRS-time-density-table' (see 38.214, section 5.1) - timeDensity SEQUENCE (SIZE (3)) OF INTEGER (0..29) OPTIONAL, -- Need S - -- EPRE ratio between PTRS and PDSCH. Value 0 correspond to the codepoint ”00” in table 4.1-2. Value 1 corresponds to codepoint ”01” - -- If the field is not provided, the UE applies value 0. Corresponds to L1 parameter 'DL-PTRS-EPRE-ratio' (see 38.214, section 4.1) - epre-RatioPort1 INTEGER (0..3) OPTIONAL, -- Need S - -- EPRE ratio between PTRS and PDSCH. Value 0 correspond to the codepoint ”00” in table 4.1-2. Value 1 corresponds to codepoint ”01”. - -- If the field is not provided, the UE applies value 0. Corresponds to L1 parameter 'DL-PTRS-EPRE-ratio' (see 38.214, section 4.1) - epre-RatioPort2 SEQUENCE (SIZE (1..2)) OF INTEGER (0..3) OPTIONAL, -- Cond TwoPorts - -- Indicates the subcarrier offset for DL PTRS. If the field is absent, the UE applies the value offset00. - -- Corresponds to L1 parameter 'DL-PTRS-RE-offset' (see 38.214, section 5.1.6.3) - resourceElementOffset ENUMERATED { offset01, offset10, offset11 } OPTIONAL, -- Need S +PTRS-DownlinkConfig ::= SEQUENCE { + frequencyDensity SEQUENCE (SIZE (2)) OF INTEGER (1..276) OPTIONAL, -- Need S + timeDensity SEQUENCE (SIZE (3)) OF INTEGER (0..29) OPTIONAL, -- Need S + epre-Ratio INTEGER (0..3) OPTIONAL, -- Need S + resourceElementOffset ENUMERATED { offset01, offset10, offset11 } OPTIONAL, -- Need S ... } @@ -2449,39 +1676,19 @@ PTRS-DownlinkConfig ::= SEQUENCE { -- TAG-PTRS-UPLINKCONFIG-START PTRS-UplinkConfig ::= SEQUENCE { - modeSpecificParameters CHOICE { - -- Configuration of UL PTRS for CP-OFDM cp-OFDM SEQUENCE { - -- Presence and frequency density of UL PT-RS for CP-OFDM waveform as a function of scheduled BW - -- If the field is absent, the UE uses K_PT-RS = 2. - -- Corresponds to L1 parameter 'UL-PTRS-frequency-density-table' (see 38.214, section 6.1) - frequencyDensity SEQUENCE (SIZE (2)) OF INTEGER (1..276) OPTIONAL, -- Need S - -- Presence and time density of UL PT-RS for CP-OFDM waveform as a function of MCS - -- If the field is absent, the UE uses L_PT-RS = 1. - -- Corresponds to L1 parameter 'UL-PTRS-time-density-table' (see 38.214, section 6.1) - timeDensity SEQUENCE (SIZE (3)) OF INTEGER (0..29) OPTIONAL, -- Need S - -- The maximum number of UL PTRS ports for CP-OFDM. - -- Corresponds to L1 parameter 'UL-PTRS-ports' (see 38.214, section 6.2.3.1) - maxNrofPorts ENUMERATED {n1, n2}, - -- Indicates the subcarrier offset for UL PTRS for CP-OFDM. - -- Corresponds to L1 parameter 'UL-PTRS-RE-offset' (see 38.214, section 6.1) - resourceElementOffset ENUMERATED {offset01, offset10, offset11 } OPTIONAL, -- Need S - -- UL PTRS power boosting factor per PTRS port. Corresponds to L1 parameter 'UL-PTRS-power' (see 38.214, section 6.1, table 6.2.3-5) + frequencyDensity SEQUENCE (SIZE (2)) OF INTEGER (1..276) OPTIONAL, -- Need S + timeDensity SEQUENCE (SIZE (3)) OF INTEGER (0..29) OPTIONAL, -- Need S + maxNrofPorts ENUMERATED {n1, n2}, + resourceElementOffset ENUMERATED {offset01, offset10, offset11 } OPTIONAL, -- Need S ptrs-Power ENUMERATED {p00, p01, p10, p11} }, - -- Configuration of UL PTRS for DFT-S-OFDM. dft-S-OFDM SEQUENCE { - -- Sample density of PT-RS for DFT-s-OFDM, pre-DFT, indicating a set of thresholds T={NRBn,n=0,1,2,3,4}, - -- that indicates dependency between presence of PT-RS and scheduled BW and the values of X and K the UE should - -- use depending on the scheduled BW according to the table in 38.214 FFS_Section. - -- Corresponds to L1 parameter 'UL-PTRS-pre-DFT-density' (see 38.214, section 6.1, 6.2.3-3) sampleDensity SEQUENCE (SIZE (5)) OF INTEGER (1..276), - -- Time density (OFDM symbol level) of PT-RS for DFT-s-OFDM. If the value is absent, the UE applies value d1. - -- Corresponds to L1 parameter 'UL-PTRS-time-density-transform-precoding' (see 38.214, section 6.1) - timeDensity ENUMERATED {d2} OPTIONAL -- Need S + timeDensityTransformPrecoding ENUMERATED {d2} OPTIONAL -- Need S } - } OPTIONAL, -- Cond M + } OPTIONAL, -- Need M ... } @@ -2489,37 +1696,23 @@ PTRS-UplinkConfig ::= SEQUENCE { -- TAG-PUCCH-CONFIG-START PUCCH-Config ::= SEQUENCE { - -- Lists for adding and releasing PUCCH resource sets (see 38.213, section 9.2) resourceSetToAddModList SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets)) OF PUCCH-ResourceSet OPTIONAL, -- Need N resourceSetToReleaseList SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets)) OF PUCCH-ResourceSetId OPTIONAL, -- Need N - -- Lists for adding and releasing PUCCH resources applicable for the UL BWP and serving cell in which the PUCCH-Config - -- is defined. The resources defined herein are referred to from other parts of the configuration to determine which - -- resource the UE shall use for which report. - resourceToAddModList SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-Resource OPTIONAL, -- Need N - resourceToReleaseList SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-ResourceId OPTIONAL, -- Need N + resourceToAddModList SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-Resource OPTIONAL, -- Need N + resourceToReleaseList SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-ResourceId OPTIONAL, -- Need N - -- Parameters that are common for all PUCCH resources of format 1 - format1 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M - -- Parameters that are common for all PUCCH resources of format 2 - format2 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M - -- Parameters that are common for all PUCCH resources of format 3 - format3 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M - -- Parameters that are common for all PUCCH resources of format 4 - format4 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M + format1 CHOICE { release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M + format2 CHOICE { release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M + format3 CHOICE { release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M + format4 CHOICE { release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M - schedulingRequestResourceToAddModList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceConfig OPTIONAL, -- Need M - schedulingRequestResourceToReleaseList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceId OPTIONAL, -- Need M + schedulingRequestResourceToAddModList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceConfig OPTIONAL, -- Need N + schedulingRequestResourceToReleaseList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceId OPTIONAL, -- Need N multi-CSI-PUCCH-ResourceList SEQUENCE (SIZE (1..2)) OF PUCCH-ResourceId OPTIONAL,-- Need M + dl-DataToUL-ACK SEQUENCE (SIZE (1..8)) OF INTEGER (0..15) OPTIONAL, -- Need M - -- List of timiing for given PDSCH to the DL ACK. In this version of the specification only the values [0..8] are applicable. - -- Corresponds to L1 parameter 'Slot-timing-value-K1' (see 38.213, section FFS_Section) - dl-DataToUL-ACK SEQUENCE (SIZE (8)) OF INTEGER (0..15) OPTIONAL, -- Need M - - -- Configuration of the spatial relation between a reference RS and PUCCH. Reference RS can be SSB/CSI-RS/SRS. - -- If the list has more than one element, MAC-CE selects a single element (see 38.321, section FFS_Section). - -- Corresponds to L1 parameter 'PUCCH-SpatialRelationInfo' (see 38.213, section FFS_Section) spatialRelationInfoToAddModList SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfo OPTIONAL, -- Need N spatialRelationInfoToReleaseList SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfoId OPTIONAL, -- Need N @@ -2528,107 +1721,66 @@ PUCCH-Config ::= SEQUENCE { } PUCCH-FormatConfig ::= SEQUENCE { - -- Enabling inter-slot frequency hopping when PUCCH Format 1, 3 or 4 is repetead over multiple slots. - -- The field is not applicable for format 2. interslotFrequencyHopping ENUMERATED {enabled} OPTIONAL, -- Need R - -- Enabling 2 DMRS symbols per hop of a PUCCH Format 3 or 4 if both hops are more than X symbols when FH is enabled (X=4). - -- Enabling 4 DMRS sybmols for a PUCCH Format 3 or 4 with more than 2X+1 symbols when FH is disabled (X=4). - -- Corresponds to L1 parameter 'PUCCH-F3-F4-additional-DMRS' (see 38.213, section 9.2.1) - -- The field is not applicable for format 1 and 2. additionalDMRS ENUMERATED {true} OPTIONAL, -- Need R - -- Max coding rate to determine how to feedback UCI on PUCCH for format 2, 3 or 4 - -- Corresponds to L1 parameter 'PUCCH-F2-maximum-coderate', 'PUCCH-F3-maximum-coderate' and 'PUCCH-F4-maximum-coderate' - -- (see 38.213, section 9.2.5) - -- The field is not applicable for format 1. maxCodeRate PUCCH-MaxCodeRate OPTIONAL, -- Need R - -- Number of slots with the same PUCCH F1, F3 or F4. When the field is absent the UE applies the value n1. - -- Corresponds to L1 parameter 'PUCCH-F1-number-of-slots', 'PUCCH-F3-number-of-slots' and 'PUCCH-F4-number-of-slots' - -- (see 38.213, section 9.2.6) - -- The field is not applicable for format 2. - nrofSlots ENUMERATED {n2,n4,n8} OPTIONAL, -- Need S - -- Enabling pi/2 BPSK for UCI symbols instead of QPSK for PUCCH. - -- Corresponds to L1 parameter 'PUCCH-PF3-PF4-pi/2PBSK' (see 38.213, section 9.2.5) - -- The field is not applicable for format 1 and 2. - pi2PBSK ENUMERATED {enabled} OPTIONAL, -- Need R - -- Enabling simultaneous transmission of CSI and HARQ-ACK feedback with or without SR with PUCCH Format 2, 3 or 4 - -- Corresponds to L1 parameter 'PUCCH-F2-Simultaneous-HARQ-ACK-CSI', 'PUCCH-F3-Simultaneous-HARQ-ACK-CSI' and - -- 'PUCCH-F4-Simultaneous-HARQ-ACK-CSI' (see 38.213, section 9.2.5) - -- When the field is absent the UE applies the value OFF - -- The field is not applicable for format 1. + nrofSlots ENUMERATED {n2,n4,n8} OPTIONAL, -- Need S + pi2BPSK ENUMERATED {enabled} OPTIONAL, -- Need R simultaneousHARQ-ACK-CSI ENUMERATED {true} OPTIONAL -- Need R } -PUCCH-MaxCodeRate ::= ENUMERATED {zeroDot08, zeroDot15, zeroDot25, zeroDot35, zeroDot45, zeroDot60, zeroDot80} +PUCCH-MaxCodeRate ::= ENUMERATED {zeroDot08, zeroDot15, zeroDot25, zeroDot35, zeroDot45, zeroDot60, zeroDot80} -PUCCH-SpatialRelationInfo ::= SEQUENCE { - pucch-SpatialRelationInfoId PUCCH-SpatialRelationInfoId, - referenceSignal CHOICE { - ssb-Index SSB-Index, +PUCCH-SpatialRelationInfo ::= SEQUENCE { + pucch-SpatialRelationInfoId PUCCH-SpatialRelationInfoId, + servingCellId ServCellIndex OPTIONAL, -- Need S + referenceSignal CHOICE { + ssb-Index SSB-Index, csi-RS-Index NZP-CSI-RS-ResourceId, - srs SRS-ResourceId + srs SEQUENCE { + resource SRS-ResourceId, + uplinkBWP BWP-Id + } }, - pucch-PathlossReferenceRS-Id PUCCH-PathlossReferenceRS-Id, - p0-PUCCH-Id P0-PUCCH-Id, - closedLoopIndex ENUMERATED { i0, i1 } + pucch-PathlossReferenceRS-Id PUCCH-PathlossReferenceRS-Id, + p0-PUCCH-Id P0-PUCCH-Id, + closedLoopIndex ENUMERATED { i0, i1 } } -PUCCH-SpatialRelationInfoId ::= INTEGER (1..maxNrofSpatialRelationInfos) +PUCCH-SpatialRelationInfoId ::= INTEGER (1..maxNrofSpatialRelationInfos) -- A set with one or more PUCCH resources -PUCCH-ResourceSet ::= SEQUENCE { - pucch-ResourceSetId PUCCH-ResourceSetId, - - -- PUCCH resources of format0 and format1 are only allowed in the first PUCCH reosurce set, - -- i.e., in a PUCCH-ResourceSet with pucch-ResourceSetId = 0. This set may contain between 8 and 32 resources. - -- PUCCH resources of format2, format3 and format4 are only allowed in a PUCCH-ReosurceSet with pucch-ResourceSetId > 0. If present, these sets must contain 8 resources each. - -- The UE chooses a PUCCH-Resource from this list based on the 3-bit PUCCH resource indicator field in DCI as - -- speciied in 38.213, FFS_section. - -- Note that this list contains only a list of resource IDs. The actual resources are configured in PUCCH-Config. - resources SEQUENCE (SIZE (8..maxNrofPUCCH-ResourcesPerSet)) OF PUCCH-ResourceId, - - -- Maximum number of payload bits minus 1 that the UE may transmit using this PUCCH resource set. In a PUCCH occurrence, the UE - -- chooses the first of its PUCCH-ResourceSet which supports the number of bits that the UE wants to transmit. - -- The field is not present in the first set (Set0) since the maximum Size of Set0 is specified to be 3 bit. - -- The field is not present in the last configured set since the UE derives its maximum payload size as specified in 38.213. - -- This field can take integer values that are multiples of 4. Corresponds to L1 parameter 'N_2' or 'N_3' (see 38.213, section 9.2) - maxPayloadMinus1 INTEGER (4..256) OPTIONAL -- Need R -} - -PUCCH-ResourceSetId ::= INTEGER (0..maxNrofPUCCH-ResourceSets-1) - -PUCCH-Resource ::= SEQUENCE { - pucch-ResourceId PUCCH-ResourceId, - - startingPRB PRB-Id, - -- Corresponds to the L1 parameter 'PUCCH-frequency-hopping' (see 38.213, section 9.2) - intraSlotFrequencyHopping ENUMERATED { enabled } OPTIONAL, -- Need R - -- Index of starting PRB for second hop of PUCCH in case of FH. This value is appliable for intra-slot frequency hopping. - -- Corresponds to L1 parameter 'PUCCH-2nd-hop-PRB' (see 38.213, section 9.2) - secondHopPRB PRB-Id OPTIONAL, -- Need R - - -- Selection of the PUCCH format and format-specific parameters - format CHOICE { - format0 PUCCH-format0, -- Cond InFirstSetOnly - format1 PUCCH-format1, -- Cond InFirstSetOnly - format2 PUCCH-format2, -- Cond NotInFirstSet - format3 PUCCH-format3, -- Cond NotInFirstSet - format4 PUCCH-format4 -- Cond NotInFirstSet +PUCCH-ResourceSet ::= SEQUENCE { + pucch-ResourceSetId PUCCH-ResourceSetId, + resourceList SEQUENCE (SIZE (1..maxNrofPUCCH-ResourcesPerSet)) OF PUCCH-ResourceId, + maxPayloadMinus1 INTEGER (4..256) OPTIONAL -- Need R +} + +PUCCH-ResourceSetId ::= INTEGER (0..maxNrofPUCCH-ResourceSets-1) + +PUCCH-Resource ::= SEQUENCE { + pucch-ResourceId PUCCH-ResourceId, + startingPRB PRB-Id, + intraSlotFrequencyHopping ENUMERATED { enabled } OPTIONAL, -- Need R + secondHopPRB PRB-Id OPTIONAL, -- Need R + format CHOICE { + format0 PUCCH-format0, -- Cond InFirstSetOnly + format1 PUCCH-format1, -- Cond InFirstSetOnly + format2 PUCCH-format2, -- Cond NotInFirstSet + format3 PUCCH-format3, -- Cond NotInFirstSet + format4 PUCCH-format4 -- Cond NotInFirstSet } } -PUCCH-ResourceId ::= INTEGER (0..maxNrofPUCCH-Resources-1) +PUCCH-ResourceId ::= INTEGER (0..maxNrofPUCCH-Resources-1) --- A PUCCH Format 0 resource configuration (see 38.213, section 9.2) --- Corresponds to L1 parameter 'PUCCH-format0' (see 38.213, section 9.2.1) PUCCH-format0 ::= SEQUENCE { initialCyclicShift INTEGER(0..11), nrofSymbols INTEGER (1..2), startingSymbolIndex INTEGER(0..13) } --- A PUCCH Format 1 resource configuration (see 38.213, section 9.2) --- Corresponds to L1 parameter 'PUCCH-format1' (see 38.213, section 9.2.1) PUCCH-format1 ::= SEQUENCE { initialCyclicShift INTEGER(0..11), nrofSymbols INTEGER (4..14), @@ -2636,25 +1788,18 @@ PUCCH-format1 ::= SEQUENCE { timeDomainOCC INTEGER(0..6) } --- A PUCCH Format 2 resource configuration (see 38.213, section 9.2) --- Corresponds to L1 parameter 'PUCCH-format2onfig' (see 38.213, section 9.2.1) PUCCH-format2 ::= SEQUENCE { nrofPRBs INTEGER (1..16), nrofSymbols INTEGER (1..2), startingSymbolIndex INTEGER(0..13) } --- A PUCCH Format 3 resource configuration(see 38.213, section 9.2) --- Corresponds to L1 parameter 'PUCCH-format3' (see 38.213, section 9.2.1) PUCCH-format3 ::= SEQUENCE { - -- The supported values are 1,2,3,4,5,6,8,9,10,12,15 and 16 nrofPRBs INTEGER (1..16), nrofSymbols INTEGER (4..14), startingSymbolIndex INTEGER(0..10) } --- A PUCCH Format 4 resource configuration (see 38.213, section 9.2) --- Corresponds to L1 parameter 'PUCCH-format4' (see 38.213, section 9.2.1) PUCCH-format4 ::= SEQUENCE { nrofSymbols INTEGER (4..14), occ-Length ENUMERATED {n2,n4}, @@ -2665,69 +1810,40 @@ PUCCH-format4 ::= SEQUENCE { -- TAG-PUCCH-CONFIG-STOP -- TAG-PUCCH-CONFIGCOMMON-START -PUCCH-ConfigCommon ::= SEQUENCE { - -- An entry into a 16-row table where each row configures a set of cell-specific PUCCH resources/parameters. The UE uses - -- those PUCCH resources during initial access on the initial uplink BWP. Once the network provides a dedicated PUCCH-Config - -- for that bandwidth part the UE applies that one instead of the one provided in this field. - -- Corresponds to L1 parameter 'PUCCH-resource-common' (see 38.213, section 9.2) - pucch-ResourceCommon BIT STRING (SIZE (4)) OPTIONAL, -- Need R - - -- Configuration of group- and sequence hopping for all the PUCCH formats 0, 1, 3 and 4. "neither" implies neither group - -- or sequence hopping is enabled. "enable" enables group hopping and disables sequence hopping. "disable"” disables group - -- hopping and enables sequence hopping. Corresponds to L1 parameter 'PUCCH-GroupHopping' (see 38.211, section 6.4.1.3) - pucch-GroupHopping ENUMERATED { neither, enable, disable }, - -- Cell-Specific scrambling ID for group hoppping and sequence hopping if enabled. - -- Corresponds to L1 parameter 'HoppingID' (see 38.211, section 6.3.2.2) - hoppingId BIT STRING (SIZE (10)) OPTIONAL, -- Need R - - -- Power control parameter P0 for PUCCH transmissions. Value in dBm. Only even values (step size 2) allowed. - -- Corresponds to L1 parameter 'p0-nominal-pucch' (see 38.213, section 7.2) - p0-nominal INTEGER (-202..24) OPTIONAL, -- Need R - +PUCCH-ConfigCommon ::= SEQUENCE { + pucch-ResourceCommon INTEGER (0..15) OPTIONAL, -- Need R + pucch-GroupHopping ENUMERATED { neither, enable, disable }, + hoppingId INTEGER (0..1024) OPTIONAL, -- Need R + p0-nominal INTEGER (-202..24) OPTIONAL, -- Need R ... } -- TAG-PUCCH-CONFIGCOMMON-STOP +-- TAG-PUCCH-PATHLOSSREFERENCERS-ID-START + +PUCCH-PathlossReferenceRS-Id ::= INTEGER (0..maxNrofPUCCH-PathlossReferenceRSs-1) + +-- TAG-PUCCH-PATHLOSSREFERENCERS-ID-STOP -- TAG-PUCCH-POWERCONTROL-START PUCCH-PowerControl ::= SEQUENCE { - - -- deltaF for PUCCH format 0 with 1dB step size (see 38.213, section 7.2) - deltaF-PUCCH-f0 INTEGER (-16..15) OPTIONAL, -- Need R - -- deltaF for PUCCH format 1 with 1dB step size (see 38.213, section 7.2) - deltaF-PUCCH-f1 INTEGER (-16..15) OPTIONAL, -- Need R - -- deltaF for PUCCH format 2 with 1dB step size (see 38.213, section 7.2) - deltaF-PUCCH-f2 INTEGER (-16..15) OPTIONAL, -- Need R - -- deltaF for PUCCH format 3 with 1dB step size (see 38.213, section 7.2) - deltaF-PUCCH-f3 INTEGER (-16..15) OPTIONAL, -- Need R - -- deltaF for PUCCH format 4 with 1dB step size (see 38.213, section 7.2) - deltaF-PUCCH-f4 INTEGER (-16..15) OPTIONAL, -- Need R - - -- A set with dedicated P0 values for PUCCH, i.e., {P01, P02,... }. Corresponds to L1 parameter 'p0-pucch-set' (see 38.213, section 7.2) - p0-Set SEQUENCE (SIZE (1..maxNrofPUCCH-P0-PerSet)) OF P0-PUCCH OPTIONAL, -- Need M - - -- A set of Reference Signals (e.g. a CSI-RS config or a SSblock) to be used for PUCCH pathloss estimation. - -- Up to maxNrofPUCCH-PathlossReference-RSs may be configured - -- FFS_CHECK: Is it possible not to configure it at all? What does the UE use then? Any SSB? - -- Corresponds to L1 parameter 'pucch-pathlossReference-rs-config' (see 38.213, section 7.2) + deltaF-PUCCH-f0 INTEGER (-16..15) OPTIONAL, -- Need R + deltaF-PUCCH-f1 INTEGER (-16..15) OPTIONAL, -- Need R + deltaF-PUCCH-f2 INTEGER (-16..15) OPTIONAL, -- Need R + deltaF-PUCCH-f3 INTEGER (-16..15) OPTIONAL, -- Need R + deltaF-PUCCH-f4 INTEGER (-16..15) OPTIONAL, -- Need R + p0-Set SEQUENCE (SIZE (1..maxNrofPUCCH-P0-PerSet)) OF P0-PUCCH OPTIONAL, -- Need M pathlossReferenceRSs SEQUENCE (SIZE (1..maxNrofPUCCH-PathlossReferenceRSs)) OF PUCCH-PathlossReferenceRS OPTIONAL, -- Need M - -- Number of PUCCH power control adjustment states maintained by the UE (i.e., g(i)). If the field is present (n2) the UE maintains - -- two power control states (i.e., g(i,0) and g(i,1)). Otherwise, it applies one (i.e., g(i,0)). - -- Corresponds to L1 parameter 'num-pucch-pcadjustment-states' (see 38.213, section 7.2) - twoPUCCH-PC-AdjustmentStates ENUMERATED {twoStates} OPTIONAL, -- Need R + twoPUCCH-PC-AdjustmentStates ENUMERATED {twoStates} OPTIONAL, -- Need S ... } --- P0 value for PUCCH. Corresponds to L1 parameter 'p0-pucch' (see 3,213, section 7.2) P0-PUCCH ::= SEQUENCE { p0-PUCCH-Id P0-PUCCH-Id, - -- P0 value for PUCCH with 1dB step size. p0-PUCCH-Value INTEGER (-16..15) } P0-PUCCH-Id ::= INTEGER (1..8) --- A reference signal (RS) configured as pathloss reference signal for PUCCH power control --- Corresponds to L1 parameter 'pucch-pathlossReference-rs' (see 38.213, section 7.2) PUCCH-PathlossReferenceRS ::= SEQUENCE { pucch-PathlossReferenceRS-Id PUCCH-PathlossReferenceRS-Id, referenceSignal CHOICE { @@ -2736,19 +1852,12 @@ PUCCH-PathlossReferenceRS ::= SEQUENCE { } } --- ID for a referemce signal (RS) configured as PUCCH pathloss reference --- Corresponds to L1 parameter 'pucch-pathlossreference-index' (see 38.213, section 7.2) --- FFS_CHECK: Is this ID used anywhere except inside the PUCCH-PathlossReference-RS itself? If not, remove. -PUCCH-PathlossReferenceRS-Id ::= INTEGER (0..maxNrofPUCCH-PathlossReferenceRSs-1) - -- TAG-PUCCH-POWERCONTROL-STOP -- TAG-PUCCH-TPC-COMMANDCONFIG-START PUCCH-TPC-CommandConfig ::= SEQUENCE { - -- An index determining the position of the first bit of TPC command (applicable to the SpCell) inside the DCI format 2-2 payload. - tpc-IndexPCell INTEGER (1..15) OPTIONAL, -- Cond PUCCH-SCell - -- An index determining the position of the first bit of TPC command (applicable to the PUCCH-SCell) inside the DCI format 2-2 payload. - tpc-IndexPUCCH-SCell INTEGER (1..15) OPTIONAL, -- Cond PUCCH-SCellOnly + tpc-IndexPCell INTEGER (1..15) OPTIONAL, -- Cond PDCCH-OfSpcell + tpc-IndexPUCCH-SCell INTEGER (1..15) OPTIONAL, -- Cond PDCCH-ofSpCellOrPUCCH-Scell ... } @@ -2756,273 +1865,155 @@ PUCCH-TPC-CommandConfig ::= SEQUENCE { -- TAG-PUSCH-CONFIG-START PUSCH-Config ::= SEQUENCE { - -- Identifer used to initalite data scrambling (c_init) for both PUSCH. - -- Corresponds to L1 parameter 'Data-scrambling-Identity' (see 38,214, section FFS_Section) - dataScramblingIdentityPUSCH INTEGER (0..1007) OPTIONAL, -- Need M - -- Whether UE uses codebook based or non-codebook based transmission. Corresponds to L1 parameter 'ulTxConfig' (see 38.214, section 6.1.1) - txConfig ENUMERATED {codebook, nonCodebook}, - - -- DMRS configuration for PUSCH transmissions using PUSCH mapping type A (chosen dynamically via PUSCH-TimeDomainResourceAllocation). - dmrs-UplinkForPUSCH-MappingTypeA CHOICE {release NULL, setup DMRS-UplinkConfig } OPTIONAL, -- Need M - -- DMRS configuration for PUSCH transmissions using PUSCH mapping type B (chosen dynamically via PUSCH-TimeDomainResourceAllocation) - dmrs-UplinkForPUSCH-MappingTypeB CHOICE {release NULL, setup DMRS-UplinkConfig } OPTIONAL, -- Need M + dataScramblingIdentityPUSCH INTEGER (0..1023) OPTIONAL, -- Need M + txConfig ENUMERATED {codebook, nonCodebook} OPTIONAL, -- Need S + dmrs-UplinkForPUSCH-MappingTypeA CHOICE { release NULL, setup DMRS-UplinkConfig } OPTIONAL, -- Need M + dmrs-UplinkForPUSCH-MappingTypeB CHOICE { release NULL, setup DMRS-UplinkConfig } OPTIONAL, -- Need M pusch-PowerControl PUSCH-PowerControl OPTIONAL, -- Need M - -- Configured one of two supported frequency hopping mode. If not configured frequency hopping is not configured - -- Corresponds to L1 parameter 'Frequency-hopping-PUSCH' (see 38.214, section 6) - -- When the field is absent the UE applies the value Not configured frequencyHopping ENUMERATED {mode1, mode2} OPTIONAL, -- Need S - -- Set of frequency hopping offsets used when frequency hopping is enabled for granted transmission (not msg3) and type 2 - -- Corresponds to L1 parameter 'Frequency-hopping-offsets-set' (see 38.214, section 6.3) - frequencyHoppingOffsetLists SEQUENCE (SIZE (1..4)) OF INTEGER (1.. maxNrofPhysicalResourceBlocks-1) OPTIONAL, -- Need M - -- Configuration of resource allocation type 0 and resource allocation type 1 for non-fallback DCI - -- Corresponds to L1 parameter 'Resouce-allocation-config' (see 38.214, section 6.1.2) + frequencyHoppingOffsetLists SEQUENCE (SIZE (1..4)) OF INTEGER (1.. maxNrofPhysicalResourceBlocks-1) OPTIONAL, -- Need M resourceAllocation ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch}, - - -- List of time domain allocations for timing of UL assignment to UL data. If configured, the values provided herein - -- override the values received in corresponding PUSCH-ConfigCommon. - pusch-AllocationList SEQUENCE (SIZE(1..maxNrofUL-Allocations)) OF PUSCH-TimeDomainResourceAllocation OPTIONAL, -- Need R, - -- Number of repetitions for data. Corresponds to L1 parameter 'aggregation-factor-UL' (see 38.214, section FFS_Section) - -- When the field is absent the UE applies the value 1. - pusch-AggregationFactor ENUMERATED { n2, n4, n8 } OPTIONAL, -- Need S - - -- Indicates which MCS table the UE shall use for PUSCH without transform precoder - -- Corresponds to L1 parameter 'MCS-Table-PUSCH' (see 38.214, section 6.1.4) - -- When the field is absent the UE applies the value 64QAM - mcs-Table ENUMERATED {qam256} OPTIONAL, -- Need S - -- Indicates which MCS table the UE shall use for PUSCH with transform precoding - -- Corresponds to L1 parameter 'MCS-Table-PUSCH-transform-precoding' (see 38.214, section 6.1.4) - -- When the field is absent the UE applies the value 64QAM - mcs-TableTransformPrecoder ENUMERATED { qam256} OPTIONAL, -- Need S - -- The UE specific selection of transformer precoder for PUSCH. When the field is absent the UE applies the value msg3-tp. - -- Corresponds to L1 parameter 'PUSCH-tp' (see 38.211, section 6.3.1.4) - transformPrecoder ENUMERATED {enabled, disabled} OPTIONAL, -- Need S - -- Subset of PMIs addressed by TPMI, where PMIs are those supported by UEs with maximum coherence capabilities - -- Corresponds to L1 parameter 'ULCodebookSubset' (see 38.211, section 6.3.1.5) - codebookSubset ENUMERATED {fullyAndPartialAndNonCoherent, partialAndNonCoherent, nonCoherent}, - -- Subset of PMIs addressed by TRIs from 1 to ULmaxRank. Corresponds to L1 parameter 'ULmaxRank' (see 38.211, section 6.3.1.5) - maxRank INTEGER (1..4), - - -- Selection between config 1 and config 2 for RBG size for PUSCH. When the field is absent the UE applies the value config1. - -- Corresponds to L1 parameter 'RBG-size-PUSCH' (see 38.214, section 6.1.2.2.1) + pusch-TimeDomainAllocationList CHOICE { release NULL, setup PUSCH-TimeDomainResourceAllocationList } OPTIONAL, -- Need M + pusch-AggregationFactor ENUMERATED { n2, n4, n8 } OPTIONAL, -- Need S + mcs-Table ENUMERATED {qam256, spare1} OPTIONAL, -- Need S + mcs-TableTransformPrecoder ENUMERATED {qam256, spare1} OPTIONAL, -- Need S + transformPrecoder ENUMERATED {enabled, disabled} OPTIONAL, -- Need S + codebookSubset ENUMERATED {fullyAndPartialAndNonCoherent, partialAndNonCoherent, + nonCoherent} OPTIONAL, -- Cond codebookBased + maxRank INTEGER (1..4) OPTIONAL, -- Cond codebookBased rbg-Size ENUMERATED { config2} OPTIONAL, -- Need S - - -- Selection between and configuration of dynamic and semi-static beta-offset. - -- If the field is absent or released, the UE applies the value 'semiStatic' and the BetaOffsets according to - -- FFS [BetaOffsets and/or section 9.x.x). - -- Corresponds to L1 parameter 'UCI-on-PUSCH' (see 38.213, section 9.3) - uci-OnPUSCH CHOICE {release NULL, setup UCI-OnPUSCH} OPTIONAL, -- Need M - -- Interleaving unit configurable between 2 and 4 PRBs - -- Corresponds to L1 parameter 'VRB-to-PRB-interleaver' (see 38.211, section 6.3.1.6) - vrb-ToPRB-Interleaver ENUMERATED {n2, n4}, + uci-OnPUSCH CHOICE { release NULL, setup UCI-OnPUSCH} OPTIONAL, -- Need M + tp-pi2BPSK ENUMERATED {enabled} OPTIONAL, -- Need S ... } UCI-OnPUSCH ::= SEQUENCE { betaOffsets CHOICE { - dynamic SEQUENCE (SIZE (4)) OF BetaOffsets, - semiStatic BetaOffsets + dynamic SEQUENCE (SIZE (4)) OF BetaOffsets, + semiStatic BetaOffsets } OPTIONAL, -- Need M - -- Indicates a scaling factor to limit the number of resource elements assigned to UCI on PUSCH. - -- Value f0p5 corresponds to 0.5, value f0p65 corresponds to 0.65, and so on. - -- Corresponds to L1 parameter 'uci-on-pusch-scaling' (see 38.212, section 6.3) - scaling ENUMERATED { f0p5, f0p65, f0p8, f1 } + scaling ENUMERATED { f0p5, f0p65, f0p8, f1 } } -- TAG-PUSCH-CONFIG-STOP -- TAG-PUSCH-CONFIGCOMMON-START PUSCH-ConfigCommon ::= SEQUENCE { - -- Sequence-group hopping can be enabled or disabled by means of this cell-specific parameter. - -- Corresponds to L1 parameter 'Group-hopping-enabled-Transform-precoding' (see 38.211, section FFS_Section) - -- This field is Cell specific - groupHoppingEnabledTransformPrecoding ENUMERATED {enabled} OPTIONAL, -- Need R - - -- List of time domain allocations for timing of UL assignment to UL data - pusch-AllocationList SEQUENCE (SIZE(1..maxNrofUL-Allocations)) OF PUSCH-TimeDomainResourceAllocation OPTIONAL, -- Need R - - -- ------------------------ - -- Power control parameters - - -- Power offset between msg3 and RACH preamble transmission in steps of 1dB. - -- Corresponds to L1 parameter 'Delta-preamble-msg3' (see 38.213, section 7.1) - msg3-DeltaPreamble INTEGER (-1..6) OPTIONAL, -- Need R - - -- P0 value for PUSCH with grant (except msg3). Value in dBm. Only even values (step size 2) allowed. - -- Corresponds to L1 parameter 'p0-nominal-pusch-withgrant' (see 38.213, section 7.1) - -- This field is cell specific - p0-NominalWithGrant INTEGER (-202..24) OPTIONAL, -- Need R + groupHoppingEnabledTransformPrecoding ENUMERATED {enabled} OPTIONAL, -- Need R + pusch-TimeDomainAllocationList PUSCH-TimeDomainResourceAllocationList OPTIONAL, -- Need R + msg3-DeltaPreamble INTEGER (-1..6) OPTIONAL, -- Need R + p0-NominalWithGrant INTEGER (-202..24) OPTIONAL, -- Need R ... } -- TAG-PUSCH-CONFIGCOMMON-STOP -- TAG-PUSCH-POWERCONTROL-START -PUSCH-PowerControl ::= SEQUENCE { - - -- If enabled, UE applies TPC commands via accumulation. If not enabled, UE applies the TPC command without accumulation. - -- If absent, TPC accumulation is enabled. Corresponds to L1 parameter 'Accumulation-enabled' (see 38.213, section 7.1) - tpc-Accumulation ENUMERATED { disabled } OPTIONAL, -- Need R - - -- Dedicated alpha value for msg3 PUSCH. Corresponds to L1 parameter 'alpha-ue-pusch-msg3' (see 38.213, section 7.1) - -- When the field is absent the UE applies the value 1. - msg3-Alpha Alpha OPTIONAL, -- Need S - - -- P0 value for UL grant-free/SPS based PUSCH. Value in dBm. Only even values (step size 2) allowed. - -- Corresponds to L1 parameter 'p0-nominal-pusch-withoutgrant' (see 38.213, section 7.1) - p0-NominalWithoutGrant INTEGER (-202..24) OPTIONAL, -- Need M, - -- configuration {p0-pusch,alpha} sets for PUSCH (except msg3), i.e., { {p0,alpha,index1}, {p0,alpha,index2},...}. - -- Corresponds to L1 parameter 'p0-push-alpha-setconfig' (see 38,213, section 7.1) - p0-AlphaSets SEQUENCE (SIZE (1..maxNrofP0-PUSCH-AlphaSets)) OF P0-PUSCH-AlphaSet OPTIONAL, -- Need M, - - -- A set of Reference Signals (e.g. a CSI-RS config or a SSblock) to be used for PUSCH path loss estimation. - -- Up to maxNrofPUSCH-PathlossReferenceRSs may be configured when 'PUSCH beam indication' is present (FFS: in DCI???). - -- Otherwise, there may be only one entry. - -- Corresponds to L1 parameter 'pusch-pathlossReference-rs-config' (see 38.213, section 7.1) - pathlossReferenceRSToAddModList SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSs)) OF PUSCH-PathlossReferenceRS - OPTIONAL, -- Need N - pathlossReferenceRSToReleaseList SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSs)) OF PUSCH-PathlossReferenceRS-Id - OPTIONAL, -- Need N - - -- Number of PUSCH power control adjustment states maintained by the UE (i.e., fc(i)). If the field is present (n2) the UE maintains - -- two power control states (i.e., fc(i,1) and fc(i,2)). Otherwise, it applies one (i.e., fc(i,1)). - -- Corresponds to L1 parameter 'num-pusch-pcadjustment-states' (see 38.213, section 7.1) - twoPUSCH-PC-AdjustmentStates ENUMERATED {twoStates} OPTIONAL, -- Need S - - -- Indicates whether to apply dela MCS. When the field is absent, the UE applies Ks = 0 in delta_TFC formula for PUSCH. - -- Corresponds to L1 parameter 'deltaMCS-Enabled' (see 38.213, section 7.1) - deltaMCS ENUMERATED {enabled} OPTIONAL, -- Need S - - -- A list of SRI-PUSCH-PowerControl elements among which one is selected by the SRI field in DCI. - -- Corresponds to L1 parameter 'SRI-PUSCHPowerControl-mapping' (see 38.213, section 7.1) - sri-PUSCH-MappingToAddModList SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF SRI-PUSCH-PowerControl OPTIONAL, -- Need M - sri-PUSCH-MappingToReleaseList SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF SRI-PUSCH-PowerControlId OPTIONAL -- Need M +PUSCH-PowerControl ::= SEQUENCE { + tpc-Accumulation ENUMERATED { disabled } OPTIONAL, -- Need S + msg3-Alpha Alpha OPTIONAL, -- Need S + p0-NominalWithoutGrant INTEGER (-202..24) OPTIONAL, -- Need M, + p0-AlphaSets SEQUENCE (SIZE (1..maxNrofP0-PUSCH-AlphaSets)) OF P0-PUSCH-AlphaSet OPTIONAL, -- Need M, + pathlossReferenceRSToAddModList SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSs)) OF PUSCH-PathlossReferenceRS + OPTIONAL, -- Need N + pathlossReferenceRSToReleaseList SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSs)) OF PUSCH-PathlossReferenceRS-Id + OPTIONAL, -- Need N + twoPUSCH-PC-AdjustmentStates ENUMERATED {twoStates} OPTIONAL, -- Need S + deltaMCS ENUMERATED {enabled} OPTIONAL, -- Need S + sri-PUSCH-MappingToAddModList SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF SRI-PUSCH-PowerControl OPTIONAL, -- Need N + sri-PUSCH-MappingToReleaseList SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF SRI-PUSCH-PowerControlId OPTIONAL -- Need N } -- A set of p0-pusch and alpha used for PUSCH with grant. 'PUSCH beam indication' (if present) gives the index of the set to -- be used for a particular PUSCH transmission. --- FFS_CHECK: Is the ”PUSCH beam indication” in DCI which schedules the PUSCH? If so, clarify in field description +-- FFS_CHECK: Is the �PUSCH beam indication� in DCI which schedules the PUSCH? If so, clarify in field description -- Corresponds to L1 parameter 'p0-pusch-alpha-set' (see 38.213, section 7.1) -P0-PUSCH-AlphaSet ::= SEQUENCE { - p0-PUSCH-AlphaSetId P0-PUSCH-AlphaSetId, - -- P0 value for PUSCH with grant (except msg3) in steps of 1dB. Corresponds to L1 parameter 'p0-pusch' (see 38,213, section 7.1) - p0 INTEGER (-16..15) OPTIONAL, - -- alpha value for PUSCH with grant (except msg3) (see 38.213, section 7.1) - -- When the field is absent the UE applies the value 1 - alpha Alpha OPTIONAL -- Need S +P0-PUSCH-AlphaSet ::= SEQUENCE { + p0-PUSCH-AlphaSetId P0-PUSCH-AlphaSetId, + p0 INTEGER (-16..15) OPTIONAL, + alpha Alpha OPTIONAL -- Need S } -- ID for a P0-PUSCH-AlphaSet. Corresponds to L1 parameter 'p0alphasetindex' (see 38.213, section 7.1) -P0-PUSCH-AlphaSetId ::= INTEGER (0..maxNrofP0-PUSCH-AlphaSets-1) +P0-PUSCH-AlphaSetId ::= INTEGER (0..maxNrofP0-PUSCH-AlphaSets-1) -- A reference signal (RS) configured as pathloss reference signal for PUSCH power control -- Corresponds to L1 parameter 'pusch-pathlossReference-rs' (see 38.213, section 7.1) -PUSCH-PathlossReferenceRS ::= SEQUENCE { - pusch-PathlossReferenceRS-Id PUSCH-PathlossReferenceRS-Id, - referenceSignal CHOICE { - ssb-Index SSB-Index, - csi-RS-Index NZP-CSI-RS-ResourceId +PUSCH-PathlossReferenceRS ::= SEQUENCE { + pusch-PathlossReferenceRS-Id PUSCH-PathlossReferenceRS-Id, + referenceSignal CHOICE { + ssb-Index SSB-Index, + csi-RS-Index NZP-CSI-RS-ResourceId } } -- ID for a referemce signal (RS) configured as PUSCH pathloss reference -- Corresponds to L1 parameter 'pathlossreference-index' (see 38.213, section 7.1) -- FFS_CHECK: Is this ID used anywhere except inside the PUSCH-PathlossReference-RS itself? -PUSCH-PathlossReferenceRS-Id ::= INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1) +PUSCH-PathlossReferenceRS-Id ::= INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1) -- A set of PUSCH power control parameters associated with one SRS-ResourceIndex (SRI) -SRI-PUSCH-PowerControl ::= SEQUENCE { - -- The ID of this SRI-PUSCH-PowerControl configuration. It is used as the codepoint (payload) in the SRI DCI field. - sri-PUSCH-PowerControlId SRI-PUSCH-PowerControlId, - -- The ID of PUSCH-PathlossReferenceRS as configured in the pathlossReferenceRSToAddModList in PUSCH-PowerControl. - sri-PUSCH-PathlossReferenceRS-Id PUSCH-PathlossReferenceRS-Id, - -- The ID of a P0-PUSCH-AlphaSet as configured in p0-AlphaSets in PUSCH-PowerControl. - sri-P0-PUSCH-AlphaSetId P0-PUSCH-AlphaSetId, - -- The index of the closed power control loop associated with this SRI-PUSCH-PowerControl - sri-PUSCH-ClosedLoopIndex ENUMERATED { i0, i1 } +SRI-PUSCH-PowerControl ::= SEQUENCE { + sri-PUSCH-PowerControlId SRI-PUSCH-PowerControlId, + sri-PUSCH-PathlossReferenceRS-Id PUSCH-PathlossReferenceRS-Id, + sri-P0-PUSCH-AlphaSetId P0-PUSCH-AlphaSetId, + sri-PUSCH-ClosedLoopIndex ENUMERATED { i0, i1 } } -SRI-PUSCH-PowerControlId ::= INTEGER (0..maxNrofSRI-PUSCH-Mappings-1) +SRI-PUSCH-PowerControlId ::= INTEGER (0..maxNrofSRI-PUSCH-Mappings-1) -- A set of beta-offset values -BetaOffsets ::= SEQUENCE { - -- Up to 2 bits HARQ-ACK. Corresponds to L1 parameter 'betaOffset-ACK-Index-1' (see 38.213, section 9.3) - -- When the field is absent the UE applies the value 11 - betaOffsetACK-Index1 INTEGER(0..31) OPTIONAL, -- Need S - -- Up to 11 bits HARQ-ACK. Corresponds to L1 parameter 'betaOffset-ACK-Index-2' (see 38.213, section 9.3) - -- When the field is absent the UE applies the value 11 - betaOffsetACK-Index2 INTEGER(0..31) OPTIONAL, -- Need S - -- Above 11 bits HARQ-ACK. Corresponds to L1 parameter 'betaOffset-ACK-Index-3' (see 38.213, section 9.3) - -- When the field is absent the UE applies the value 11 - betaOffsetACK-Index3 INTEGER(0..31) OPTIONAL, -- Need S - -- Up to 11 bits of CSI part 1 bits. Corresponds to L1 parameter 'betaOffset-CSI-part-1-Index-1' (see 38.213, section 9.3) - -- When the field is absent the UE applies the value 13 - betaOffsetCSI-Part1-Index1 INTEGER(0..31) OPTIONAL, -- Need S - -- Above 11 bits of CSI part 1 bits. Corresponds to L1 parameter 'betaOffset-CSI-part-1-Index-2' (see 38.213, section 9.3) - -- When the field is absent the UE applies the value 13 - betaOffsetCSI-Part1-Index2 INTEGER(0..31) OPTIONAL, -- Need S - -- Up to 11 bits of CSI part 2 bits. Corresponds to L1 parameter 'betaOffset-CSI-part-2-Index-1' (see 38.213, section 9.3) - -- When the field is absent the UE applies the value 13 - betaOffsetCSI-Part2-Index1 INTEGER(0..31) OPTIONAL, -- Need S - -- Above 11 bits of CSI part 2 bits. Corresponds to L1 parameter 'betaOffset-CSI-part-2-Index-2' (see 38.213, section 9.3) - -- When the field is absent the UE applies the value 13 - betaOffsetCSI-Part2-Index2 INTEGER(0..31) OPTIONAL -- Need S +BetaOffsets ::= SEQUENCE { + betaOffsetACK-Index1 INTEGER(0..31) OPTIONAL, -- Need S + betaOffsetACK-Index2 INTEGER(0..31) OPTIONAL, -- Need S + betaOffsetACK-Index3 INTEGER(0..31) OPTIONAL, -- Need S + betaOffsetCSI-Part1-Index1 INTEGER(0..31) OPTIONAL, -- Need S + betaOffsetCSI-Part1-Index2 INTEGER(0..31) OPTIONAL, -- Need S + betaOffsetCSI-Part2-Index1 INTEGER(0..31) OPTIONAL, -- Need S + betaOffsetCSI-Part2-Index2 INTEGER(0..31) OPTIONAL -- Need S } -- TAG-PUSCH-POWERCONTROL-STOP -- TAG-PUSCH-SERVINGCELLCONFIG-START PUSCH-ServingCellConfig ::= SEQUENCE { - -- Enables and configures code-block-group (CBG) based transmission (see 38.214, section FFS_Section) - codeBlockGroupTransmission CHOICE {release NULL, setup PUSCH-CodeBlockGroupGransmission } OPTIONAL, -- Need M - -- Enables LBRM (Limited buffer rate-matching). When the field is absent the UE applies FBRM (Full buffer rate-matchingLBRM). - -- Corresponds to L1 parameter 'LBRM-FBRM-selection' (see 38.212, section 5.4.2) + codeBlockGroupTransmission CHOICE { release NULL, setup PUSCH-CodeBlockGroupTransmission } OPTIONAL, -- Need M rateMatching ENUMERATED {limitedBufferRM} OPTIONAL, -- Need S - -- Accounts for overhead from CSI-RS, CORESET, etc. If the field is absent, the UE applies the value 'xoh0'. - -- Corresponds to L1 parameter 'Xoh-PUSCH' (see 38.214, section 5.1.3.2) xOverhead ENUMERATED {xoh6, xoh12, xoh18} OPTIONAL, -- Need S ... } -PUSCH-CodeBlockGroupGransmission ::= SEQUENCE { - -- Maximum number of code-block-groups (CBGs) per TB (see 38.xxx, section x.x.x, FFS_Ref) - -- For 2 codewords, only the values { n2, n4 } are valid. +PUSCH-CodeBlockGroupTransmission ::= SEQUENCE { maxCodeBlockGroupsPerTransportBlock ENUMERATED {n2, n4, n6, n8}, ... } -- TAG-PUSCH-SERVINGCELLCONFIG-STOP --- TAG-PUSCH-TIMEDOMAINRESOURCEALLOCATION-START +-- TAG-PUSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-START + +PUSCH-TimeDomainResourceAllocationList ::= SEQUENCE (SIZE(1..maxNrofUL-Allocations)) OF PUSCH-TimeDomainResourceAllocation PUSCH-TimeDomainResourceAllocation ::= SEQUENCE { - -- Corresponds to L1 parameter 'K2' (see 38.214, section FFS_Section) - -- When the field is absent the UE applies the value 01 when PUSCH SCS is 15/30KHz; 2 when PUSCH SCS is 60KHz and 3 when PUSCH SCS is 120KHz. - k2 INTEGER (0..7) OPTIONAL, -- Need S - -- Mapping type. Corresponds to L1 parameter 'Mapping-type' (see 38.214, section FFS_Section) - mappingType ENUMERATED {typeA, typeB}, - -- An index into a table/equation in RAN1 specs capturing valid combinations of start symbol and length (jointly encoded) - -- Corresponds to L1 parameter 'Index-start-len' (see 38.214, section FFS_Section) - startSymbolAndLength BIT STRING (SIZE (7)) + k2 INTEGER(0..32) OPTIONAL, -- Need S + mappingType ENUMERATED {typeA, typeB}, + startSymbolAndLength INTEGER (0..127) } --- TAG-PUSCH-TIMEDOMAINRESOURCEALLOCATION-STOP +-- TAG-PUSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-STOP -- TAG-PUSCH-TPC-COMMANDCONFIG-START PUSCH-TPC-CommandConfig ::= SEQUENCE { - -- An index determining the position of the first bit of TPC command inside the DCI format 2-2 payload. tpc-Index INTEGER (1..15) OPTIONAL, -- Cond SUL - -- An index determining the position of the first bit of TPC command inside the DCI format 2-2 payload. tpc-IndexSUL INTEGER (1..15) OPTIONAL, -- Cond SUL-Only - -- The serving cell to which the acquired power control commands are applicable. If the value is absent, the UE applies the - -- TPC commands to the serving cell on which the command has been received. targetCell ServCellIndex OPTIONAL, -- Need S ... } -- TAG-PUSCH-TPC-COMMANDCONFIG-STOP -Q-OffsetRange ::= ENUMERATED { +Q-OffsetRange ::= ENUMERATED { dB-24, dB-22, dB-20, dB-18, dB-16, dB-14, dB-12, dB-10, dB-8, dB-6, dB-5, dB-4, dB-3, dB-2, dB-1, dB0, dB1, dB2, dB3, dB4, dB5, @@ -3032,45 +2023,33 @@ Q-OffsetRange ::= ENUMERATED { -- TAG-QUANTITY-CONFIG-START -QuantityConfig ::= SEQUENCE { - quantityConfigNR-List QuantityConfigNR-List OPTIONAL, -- Need M +QuantityConfig ::= SEQUENCE { + quantityConfigNR-List SEQUENCE (SIZE (1..maxNrofQuantityConfig)) OF QuantityConfigNR OPTIONAL, -- Need M ... } -QuantityConfigNR-List::= SEQUENCE (SIZE (1..maxNrofQuantityConfig)) OF QuantityConfigNR - -QuantityConfigNR::= SEQUENCE { - quantityConfigCell QuantityConfigRS, - quantityConfigRS-Index QuantityConfigRS OPTIONAL -- Need M +QuantityConfigNR::= SEQUENCE { + quantityConfigCell QuantityConfigRS, + quantityConfigRS-Index QuantityConfigRS OPTIONAL -- Need M } -QuantityConfigRS ::= SEQUENCE { - -- SS Block based L3 filter configurations: - ssb-FilterConfig FilterConfig, - - -- CSI-RS basedL3 filter configurations: - cs-RS-FilterConfig FilterConfig +QuantityConfigRS ::= SEQUENCE { + ssb-FilterConfig FilterConfig, + cs-RS-FilterConfig FilterConfig } -FilterConfig ::= SEQUENCE { - filterCoefficientRSRP FilterCoefficient DEFAULT fc4, - filterCoefficientRSRQ FilterCoefficient DEFAULT fc4, - filterCoefficientRS-SINR FilterCoefficient DEFAULT fc4 +FilterConfig ::= SEQUENCE { + filterCoefficientRSRP FilterCoefficient DEFAULT fc4, + filterCoefficientRSRQ FilterCoefficient DEFAULT fc4, + filterCoefficientRS-SINR FilterCoefficient DEFAULT fc4 } -- TAG-QUANTITY-CONFIG-STOP -- TAG-RACH-CONFIG-COMMON-START RACH-ConfigCommon ::= SEQUENCE { - -- Generic RACH parameters rach-ConfigGeneric RACH-ConfigGeneric, - - -- Total number of preambles used for contention based and contention free random access, excluding - -- preambles used for other purposes (e.g. for SI request). If the field is absent, the UE may use all 64 preambles for RA. totalNumberOfRA-Preambles INTEGER (1..63) OPTIONAL, -- Need S - - -- Number of SSBs per RACH occasion (L1 parameter 'SSB-per-rach-occasion') and the number of Contention Based preambles per SSB - -- (L1 parameter 'CB-preambles-per-SSB'). By multiplying the two values, the UE determines the total number of CB preambles. ssb-perRACH-OccasionAndCB-PreamblesPerSSB CHOICE { oneEighth ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64}, oneFourth ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64}, @@ -3083,44 +2062,20 @@ RACH-ConfigCommon ::= SEQUENCE { } OPTIONAL, -- Need M groupBconfigured SEQUENCE { - -- Transport Blocks size threshold in bit below which the UE shall use a contention based RA premable - -- of group A. (see 38.321, section 5.1.2) - ra-Msg3SizeGroupA ENUMERATED {b56, b144, b208, b256, b282, b480, b640, b800, b1000, spare7, spare6, spare5, - spare4, spare3, spare2, spare1}, - -- Threshold for preamble selection. Value in dB. Value minusinfinity corresponds to –infinity. - -- Value dB0 corresponds to 0 dB, dB5 corresponds to 5 dB and so on. (see FFS_Spec, section FFS_Section) + ra-Msg3SizeGroupA ENUMERATED { b56, b144, b208, b256, b282, b480, b640, + b800, b1000, spare7, spare6, spare5, spare4, spare3, spare2, spare1}, messagePowerOffsetGroupB ENUMERATED { minusinfinity, dB0, dB5, dB8, dB10, dB12, dB15, dB18}, - -- The number of CB preambles per SSB in group A. This determines implicitly the number of CB preambles per SSB available in group B. - -- (see 38.321, section 5.1.1) numberOfRA-PreamblesGroupA INTEGER (1..64) } OPTIONAL, -- Need R - - -- The initial value for the contention resolution timer (see 38.321, section 5.1.5) ra-ContentionResolutionTimer ENUMERATED { sf8, sf16, sf24, sf32, sf40, sf48, sf56, sf64}, - - -- UE may select the SS block and corresponding PRACH resource for path-loss estimation and (re)transmission - -- based on SS blocks that satisfy the threshold (see 38.213, section REF) rsrp-ThresholdSSB RSRP-Range OPTIONAL, -- Need R - -- UE may select the SS block and corresponding PRACH resource for path-loss estimation and (re)transmission on the SUL carrier - -- based on SS blocks that satisfy the threshold - -- Corresponds to L1 parameter 'SUL-RSRP-Threshold' (see FFS_Spec, section FFS_Section) - rsrp-ThresholdSSB-SUL RSRP-Range OPTIONAL, -- Need R - - -- PRACH root sequence index. Corresponds to L1 parameter 'PRACHRootSequenceIndex' (see 38.211, section 6.3.3.1). - -- The value range depends on whether L=839 or L=139 + rsrp-ThresholdSSB-SUL RSRP-Range OPTIONAL, -- Cond SUL prach-RootSequenceIndex CHOICE { l839 INTEGER (0..837), l139 INTEGER (0..137) }, - - -- Subcarrier spacing of PRACH. Only the values 15 or 30 kHz (<6GHz), 60 or 120 kHz (>6GHz) are applicable. - -- Corresponds to L1 parameter 'prach-Msg1SubcarrierSpacing' (see 38.211, section FFS_Section) - msg1-SubcarrierSpacing SubcarrierSpacing, - - -- Configuration of an unrestricted set or one of two types of restricted sets, see 38.211 6.3.3.1 + msg1-SubcarrierSpacing SubcarrierSpacing OPTIONAL, --Need S restrictedSetConfig ENUMERATED {unrestrictedSet, restrictedSetTypeA, restrictedSetTypeB}, - -- Indicates to a UE whether transform precoding is enabled for Msg3 transmission. - -- Corresponds to L1 parameter 'msg3-tp' (see 38.213, section 8.1) msg3-transformPrecoding ENUMERATED {enabled} OPTIONAL, -- Need R ... } @@ -3128,28 +2083,16 @@ RACH-ConfigCommon ::= SEQUENCE { -- TAG-RACH-CONFIG-COMMON-STOP -- TAG-RACH-CONFIG-GENERIC-START -RACH-ConfigGeneric ::= SEQUENCE { - -- PRACH configuration index. Corresponds to L1 parameter 'PRACHConfigurationIndex' (see 38.211, section 6.3.3.2) - prach-ConfigurationIndex INTEGER (0..255), - -- The number of PRACH transmission occasions FDMed in one time instance. - -- Corresponds to L1 parameter 'prach-FDM' (see 38.211, section FFS_Section) - msg1-FDM ENUMERATED {one, two, four, eight}, - -- Offset of lowest PRACH transmission occasion in frequency domain with respective to PRB 0. - -- The value is configured so that the corresponding RACH resource is entirely within the bandwidth of the UL BWP. - -- Corresponds to L1 parameter 'prach-frequency-start' (see 38,211, section FFS_Section) - msg1-FrequencyStart INTEGER (0..maxNrofPhysicalResourceBlocks-1), - -- N-CS configuration, see Table 6.3.3.1-3 in 38.211 - zeroCorrelationZoneConfig INTEGER(0..15), - -- The target power level at the network receiver side (see 38.213, section 7.4, 38.321, section 5.1.2, 5.1.3) - -- Only multiples of 2 dBm may be chosen (e.g. -200, -198, ...). - -- FFS-Value: Actual values to be updated based on input from RAN4 (see LS in R2-1800004 and R4-1803466). - preambleReceivedTargetPower INTEGER (-200..-74), - -- Max number of RA preamble transmission perfomed before declaring a failure (see 38.321, section 5.1.4, 5.1.5) - preambleTransMax ENUMERATED {n3, n4, n5, n6, n7, n8, n10, n20, n50, n100, n200}, - -- Power ramping steps for PRACH (see 38.321,5.1.3) - powerRampingStep ENUMERATED {dB0, dB2, dB4, dB6}, - -- Msg2 (RAR) window length in number of slots. The network configures a value lower than or euqal to 10 ms (see 38.321, section 5.1.4) - ra-ResponseWindow ENUMERATED {sl1, sl2, sl4, sl8, sl10, sl20, sl40, sl80} +RACH-ConfigGeneric ::= SEQUENCE { + prach-ConfigurationIndex INTEGER (0..255), + msg1-FDM ENUMERATED {one, two, four, eight}, + msg1-FrequencyStart INTEGER (0..maxNrofPhysicalResourceBlocks-1), + zeroCorrelationZoneConfig INTEGER(0..15), + preambleReceivedTargetPower INTEGER (-202..-60), + preambleTransMax ENUMERATED {n3, n4, n5, n6, n7, n8, n10, n20, n50, n100, n200}, + powerRampingStep ENUMERATED {dB0, dB2, dB4, dB6}, + ra-ResponseWindow ENUMERATED {sl1, sl2, sl4, sl8, sl10, sl20, sl40, sl80}, + ... } -- TAG-RACH-CONFIG-GENERIC-STOP @@ -3158,61 +2101,69 @@ RACH-ConfigGeneric ::= SEQUENCE { -- FFS_Standlone: resources for msg1-based on-demand SI request RACH-ConfigDedicated ::= SEQUENCE { - -- Resources for contention free random access to a given target cell - cfra-Resources CFRA-Resources, + cfra CFRA OPTIONAL, -- Need N + ra-Prioritization RA-Prioritization OPTIONAL, -- Need N ... } -CFRA-Resources ::= CHOICE { - ssb SEQUENCE { - ssb-ResourceList SEQUENCE (SIZE(1..maxRA-SSB-Resources)) OF CFRA-SSB-Resource, - -- Explicitly signalled PRACH Mask Index for RA Resource selection in TS 36.321. The mask is valid for all SSB - -- resources signalled in ssb-ResourceList - ra-ssb-OccasionMaskIndex INTEGER (0..15) +CFRA ::= SEQUENCE { + occasions SEQUENCE { + rach-ConfigGeneric RACH-ConfigGeneric, + ssb-perRACH-Occasion ENUMERATED {oneEighth, oneFourth, oneHalf, one, two, four, eight, sixteen} OPTIONAL -- Cond SSB-CFRA + } OPTIONAL, -- Need S + resources CHOICE { + ssb SEQUENCE { + ssb-ResourceList SEQUENCE (SIZE(1..maxRA-SSB-Resources)) OF CFRA-SSB-Resource, + ra-ssb-OccasionMaskIndex INTEGER (0..15) + }, + csirs SEQUENCE { + csirs-ResourceList SEQUENCE (SIZE(1..maxRA-CSIRS-Resources)) OF CFRA-CSIRS-Resource, + rsrp-ThresholdCSI-RS RSRP-Range + } }, - csirs SEQUENCE { - csirs-ResourceList SEQUENCE (SIZE(1..maxRA-CSIRS-Resources)) OF CFRA-CSIRS-Resource, - cfra-csirs-DedicatedRACH-Threshold RSRP-Range - } + ... } CFRA-SSB-Resource ::= SEQUENCE { - -- The ID of an SSB transmitted by this serving cell. ssb SSB-Index, - -- The preamble index that the UE shall use when performing CF-RA upon selecting the candidate beams identified by this SSB. ra-PreambleIndex INTEGER (0..63), ... } CFRA-CSIRS-Resource ::= SEQUENCE { - -- The ID of a CSI-RS resource defined in the measurement object associated with this serving cell. csi-RS CSI-RS-Index, - -- RA occasions that the UE shall use when performing CF-RA upon selecting the candidate beam identified by this CSI-RS. ra-OccasionList SEQUENCE (SIZE(1..maxRA-OccasionsPerCSIRS)) OF INTEGER (0..maxRA-Occasions-1), - -- The RA preamble index to use in the RA occasions assoicated with this CSI-RS. ra-PreambleIndex INTEGER (0..63), ... } -- TAG-RACH-CONFIG-DEDICATED-STOP +-- TAG-RA-PRIORITIZATION-START + +RA-Prioritization ::= SEQUENCE { + powerRampingStepHighPriority ENUMERATED {dB0, dB2, dB4, dB6}, + scalingFactorBI ENUMERATED {zero, dot25, dot5, dot75} OPTIONAL, -- Need R + ... +} + +-- TAG-RA-PRIORITIZATION-STOP -- TAG-RADIO-BEARER-CONFIG-START RadioBearerConfig ::= SEQUENCE { - srb-ToAddModList SRB-ToAddModList OPTIONAL, -- Need N - srb3-ToRelease ENUMERATED{true} OPTIONAL, -- Need N - drb-ToAddModList DRB-ToAddModList OPTIONAL, -- Need N - drb-ToReleaseList DRB-ToReleaseList OPTIONAL, -- Need N - securityConfig SecurityConfig OPTIONAL, -- Cond M + srb-ToAddModList SRB-ToAddModList OPTIONAL, -- Need N + srb3-ToRelease ENUMERATED{true} OPTIONAL, -- Need N + drb-ToAddModList DRB-ToAddModList OPTIONAL, -- Need N + drb-ToReleaseList DRB-ToReleaseList OPTIONAL, -- Need N + securityConfig SecurityConfig OPTIONAL, -- Need M ... } SRB-ToAddModList ::= SEQUENCE (SIZE (1..2)) OF SRB-ToAddMod SRB-ToAddMod ::= SEQUENCE { srb-Identity SRB-Identity, - -- may only be set if the cell groups of all linked logical channels are reset or released - reestablishPDCP ENUMERATED{true} OPTIONAL, -- Need N - discardOnPDCP ENUMERATED{true} OPTIONAL, -- Need N - pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP + reestablishPDCP ENUMERATED{true} OPTIONAL, -- Need N + discardOnPDCP ENUMERATED{true} OPTIONAL, -- Need N + pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP ... } @@ -3220,137 +2171,94 @@ SRB-ToAddMod ::= SEQUENCE { DRB-ToAddModList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod DRB-ToAddMod ::= SEQUENCE { cnAssociation CHOICE { - -- The EPS bearer ID determines the EPS bearer when NR connects to EPC using EN-DC - eps-BearerIdentity INTEGER (0..15), -- EPS-DRB-Setup - -- The SDAP configuration determines how to map QoS flows to DRBs when NR connects to the 5GC - sdap-Config SDAP-Config -- 5GC + eps-BearerIdentity INTEGER (0..15), -- EPS-DRB-Setup + sdap-Config SDAP-Config -- 5GC } OPTIONAL, -- Cond DRBSetup drb-Identity DRB-Identity, - - -- may only be set if the cell groups of all linked logical channels are reset or released - reestablishPDCP ENUMERATED{true} OPTIONAL, -- Need N - recoverPDCP ENUMERATED{true} OPTIONAL, -- Need N - pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP + reestablishPDCP ENUMERATED{true} OPTIONAL, -- Need N + recoverPDCP ENUMERATED{true} OPTIONAL, -- Need N + pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP ... } - DRB-ToReleaseList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity - SecurityConfig ::= SEQUENCE { - securityAlgorithmConfig SecurityAlgorithmConfig OPTIONAL, -- Cond RBTermChange - keyToUse ENUMERATED{keNB, s-KgNB} OPTIONAL, -- Cond RBTermChange + securityAlgorithmConfig SecurityAlgorithmConfig OPTIONAL, -- Cond RBTermChange + keyToUse ENUMERATED{keNB, s-KgNB} OPTIONAL, -- Cond RBTermChange ... } -- TAG-RADIO-BEARER-CONFIG-STOP -- TAG-RADIOLINKMONITORINGCONFIG-START -RadioLinkMonitoringConfig ::= SEQUENCE { - -- A list of reference signals for detecting beam failure and/or cell level radio link failure (RLF). - -- The network configures at most two detectionResources per BWP for the purpose "beamFailure" or "both". - -- If no RSs are provided for the purpose of beam failure detection, the UE performs beam monitoring based on the activated TCI-State - -- for PDCCH. However, if the activated TCI state refers to an aperiodic or semi-persistent CSI-RS, the gNB configures the failure - -- detection resources explicitly (FFS_RAN1: TBC by RAN1). - -- If no RSs are provided in this list at all (neither for Cell- nor for Beam-RLM), the UE performs also Cell-RLM based - -- on the activated TCI-State of PDCCH (FFS_RAN1: TBC by RAN1). - -- When the network reconfigures this field, the UE resets on-going RLF timers and counters. - failureDetectionResources SEQUENCE (SIZE(1..maxNrofFailureDetectionResources)) OF RadioLinkMonitoringRS OPTIONAL, -- Need M - -- This field determines after how many beam failure events the UE triggers beam failure recovery (see 38.321, section 5.17). - -- Value n1 corresponds to 1 beam failure instance, n2 corresponds to 2 beam failure instances and so on. - -- When the network reconfigures this field, the UE resets on-going RLF timers and counters. - -- If the field is absent, the UE does not trigger beam failure recovery. +RadioLinkMonitoringConfig ::= SEQUENCE { + failureDetectionResourcesToAddModList SEQUENCE (SIZE(1..maxNrofFailureDetectionResources)) OF RadioLinkMonitoringRS OPTIONAL, -- Need N + failureDetectionResourcesToReleaseList SEQUENCE (SIZE(1..maxNrofFailureDetectionResources)) OF RadioLinkMonitoringRS-Id OPTIONAL,-- Need N beamFailureInstanceMaxCount ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10} OPTIONAL, -- Need S - -- Timer for beam failure detection (see 38.321, section FFS_Section). See also the BeamFailureRecoveryConfig IE. - -- Value in number of "periods of Beam Failure Detection" Reference Signal. Value pbfd1 corresponds to 1 period of Beam Failure - -- Detection Reference Signal, value pbfd2 corresponds to 2 periods of Beam Failure Detection Reference Signal and so on. - -- When the network reconfigures this field, the UE resets on-going RLF timers and counters. beamFailureDetectionTimer ENUMERATED {pbfd1, pbfd2, pbfd3, pbfd4, pbfd5, pbfd6, pbfd8, pbfd10} OPTIONAL, -- Need R ... } -RadioLinkMonitoringRS ::= SEQUENCE { - -- Determines whether the UE shall monitor the associated reference signal for the purpose of cell- and/or beam failure detection. - purpose ENUMERATED {beamFailure, rlf, both}, - -- A reference signal that the UE shall use for radio link monitoring. The network provides an ssb-Index only if - -- the purpose is set to rlf. - detectionResource CHOICE { - ssb-Index SSB-Index, - csi-RS-Index NZP-CSI-RS-ResourceId +RadioLinkMonitoringRS ::= SEQUENCE { + radioLinkMonitoringRS-Id RadioLinkMonitoringRS-Id, + purpose ENUMERATED {beamFailure, rlf, both}, + detectionResource CHOICE { + ssb-Index SSB-Index, + csi-RS-Index NZP-CSI-RS-ResourceId }, ... } -- TAG-RADIOLINKMONITORINGCONFIG-STOP +-- TAG-RADIOLINKMONITORINGRSID-START + +RadioLinkMonitoringRS-Id ::= INTEGER (0..maxNrofFailureDetectionResources-1) + +-- TAG-RADIOLINKMONITORINGRSID-STOP -- TAG-RATEMATCHPATTERN-START -RateMatchPattern ::= SEQUENCE { - rateMatchPatternId RateMatchPatternId, - - patternType CHOICE { - bitmaps SEQUENCE { - -- A resource block level bitmap in the frequency domain. It indicates the PRBs to which the symbolsInResourceBlock bitmap applies. - -- Corresponds to L1 parameter 'rate-match-PDSCH-bitmap1' (see 38.214, section FFS_Section) - -- FFS_ASN1: Consider multiple options with different number of bits (for narrower carriers) - resourceBlocks BIT STRING (SIZE (275)), - - -- A symbol level bitmap in time domain. It indicates (FFS: with a bit set to true) the symbols which the UE shall rate match around. - -- This pattern recurs (in time domain) with the configured periodicityAndOffset. - -- Corresponds to L1 parameter 'rate-match-PDSCH-bitmap2' (see 38.214, section FFS_Section) - -- FFS: Why not split it into two BIT STRINGs of 14 bit each? - symbolsInResourceBlock CHOICE { - oneSlot BIT STRING (SIZE (14)), - twoSlots BIT STRING (SIZE (28)) - }, - -- A time domain repetition pattern. at which the symbolsInResourceBlock - -- pattern recurs. This slot pattern repeats itself continuously. Absence of this field indicates the value n1, i.e., the - -- symbolsInResourceBlock recurs every 14 symbols. - -- Corresponds to L1 parameter 'rate-match-PDSCH-bitmap3' (see 38.214, section FFS_Section) - periodicityAndPattern CHOICE { - n2 BIT STRING (SIZE (2)), - n4 BIT STRING (SIZE (4)), - n5 BIT STRING (SIZE (5)), - n8 BIT STRING (SIZE (8)), - n10 BIT STRING (SIZE (10)), - n20 BIT STRING (SIZE (20)), - n40 BIT STRING (SIZE (40)) +RateMatchPattern ::= SEQUENCE { + rateMatchPatternId RateMatchPatternId, + + patternType CHOICE { + bitmaps SEQUENCE { + resourceBlocks BIT STRING (SIZE (275)), + symbolsInResourceBlock CHOICE { + oneSlot BIT STRING (SIZE (14)), + twoSlots BIT STRING (SIZE (28)) + }, + periodicityAndPattern CHOICE { + n2 BIT STRING (SIZE (2)), + n4 BIT STRING (SIZE (4)), + n5 BIT STRING (SIZE (5)), + n8 BIT STRING (SIZE (8)), + n10 BIT STRING (SIZE (10)), + n20 BIT STRING (SIZE (20)), + n40 BIT STRING (SIZE (40)) } OPTIONAL, -- Need S ... }, - -- This ControlResourceSet us used as a PDSCH rate matching pattern, i.e., PDSCH reception rate matches around it. - controlResourceSet ControlResourceSetId + controlResourceSet ControlResourceSetId }, - -- The SubcarrierSpacing for this resource pattern. If the field is absent, the UE applies the SCS of the associcated BWP. - -- The value kHz15 corresponds to µ=0, kHz30 to µ=1, and so on. Only the values 15 or 30 kHz (<6GHz), 60 or 120 kHz (>6GHz) are - -- applicable. Corresponds to L1 parameter 'resource-pattern-scs' (see 38.214, section FFS_Section) - subcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond CellLevel - -- FFS_Description, FFS_Section - mode ENUMERATED { dynamic, semiStatic }, + subcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond CellLevel + mode ENUMERATED { dynamic, semiStatic }, ... } -- TAG-RATEMATCHPATTERN-STOP -- TAG-RATEMATCHPATTERNID-START -RateMatchPatternId ::= INTEGER (0..maxNrofRateMatchPatterns-1) +RateMatchPatternId ::= INTEGER (0..maxNrofRateMatchPatterns-1) -- TAG-RATEMATCHPATTERNID-STOP -- TAG-RATEMATCHPATTERNLTE-CRS-START -RateMatchPatternLTE-CRS ::= SEQUENCE { - -- Center of the LTE carrier. Corresponds to L1 parameter 'center-subcarrier-location' (see 38.214, section 5.1.4) - carrierFreqDL INTEGER (0..16383), - -- BW of the LTE carrier in numbewr of PRBs. Corresponds to L1 parameter 'BW' (see 38.214, section 5.1.4) - carrierBandwidthDL ENUMERATED {n6, n15, n25, n50, n75, n100, spare2, spare1}, - -- LTE MBSFN subframe configuration. Corresponds to L1 parameter 'MBSFN-subframconfig' (see 38.214, section 5.1.4) - -- FFS_ASN1: Import the LTE MBSFN-SubframeConfigList - mbsfn-SubframeConfigList EUTRA-MBSFN-SubframeConfigList OPTIONAL, -- Need M - -- Number of LTE CRS antenna port to rate-match around. - -- Corresponds to L1 parameter 'rate-match-resources-numb-LTE-CRS-antenna-port' (see 38.214, section 5.1.4) - nrofCRS-Ports ENUMERATED {n1, n2, n4}, - -- Shifting value v-shift in LTE to rate match around LTE CRS - -- Corresponds to L1 parameter 'rate-match-resources-LTE-CRS-v-shift' (see 38.214, section 5.1.4) - v-Shift ENUMERATED {n0, n1, n2, n3, n4, n5} +RateMatchPatternLTE-CRS ::= SEQUENCE { + carrierFreqDL INTEGER (0..16383), + carrierBandwidthDL ENUMERATED {n6, n15, n25, n50, n75, n100, spare2, spare1}, + mbsfn-SubframeConfigList EUTRA-MBSFN-SubframeConfigList OPTIONAL, -- Need M + nrofCRS-Ports ENUMERATED {n1, n2, n4}, + v-Shift ENUMERATED {n0, n1, n2, n3, n4, n5} } -- TAG-RATEMATCHPATTERNLTE-CRS-STOP @@ -3366,14 +2274,13 @@ ReportConfigNR ::= SEQUENCE { periodical PeriodicalReportConfig, eventTriggered EventTriggerConfig, -- reportCGI is to be completed before the end of Rel-15. - reportCGI ENUMERATED {ffsTypeAndValue}, ... } } -- FFS / TODO: Consider separating trgger configuration (trigger, periodic, ...) from report configuration. -- Current structure allows easier definiton of new events and new report types e.g. CGI, etc. -EventTriggerConfig::= SEQUENCE { +EventTriggerConfig ::= SEQUENCE { eventId CHOICE { eventA1 SEQUENCE { a1-Threshold MeasTriggerQuantity, @@ -3421,20 +2328,16 @@ EventTriggerConfig::= SEQUENCE { rsType NR-RS-Type, - -- Common reporting config (at least to periodical and eventTriggered) reportInterval ReportInterval, reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, - -- Cell reporting configuration reportQuantityCell MeasReportQuantity, maxReportCells INTEGER (1..maxCellReport), - -- RS index reporting configuration - reportQuantityRsIndexes MeasReportQuantity OPTIONAL, -- Need M - maxNrofRSIndexesToReport INTEGER (1..maxNrofIndexesToReport) OPTIONAL, -- Need M + reportQuantityRsIndexes MeasReportQuantity OPTIONAL, -- Need R + maxNrofRSIndexesToReport INTEGER (1..maxNrofIndexesToReport) OPTIONAL, -- Need R includeBeamMeasurements BOOLEAN, - -- If configured the UE includes the best neighbour cells per serving frequency - reportAddNeighMeas ENUMERATED {setup} OPTIONAL, -- Need R + reportAddNeighMeas ENUMERATED {setup} OPTIONAL, -- Need R ... } @@ -3442,24 +2345,21 @@ EventTriggerConfig::= SEQUENCE { PeriodicalReportConfig ::= SEQUENCE { rsType NR-RS-Type, - -- Common reporting config (at least to periodical and eventTriggered) reportInterval ReportInterval, reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, - -- Cell reporting configuration reportQuantityCell MeasReportQuantity, maxReportCells INTEGER (1..maxCellReport), - -- RS index reporting configuration reportQuantityRsIndexes MeasReportQuantity OPTIONAL, -- Need R - maxNrofRsIndexesToReport INTEGER (1..maxNrofIndexesToReport) OPTIONAL, -- Need R + maxNrofRsIndexesToReport INTEGER (1..maxNrofIndexesToReport) OPTIONAL, -- Need R includeBeamMeasurements BOOLEAN, useWhiteCellList BOOLEAN, ... } -NR-RS-Type ::= ENUMERATED {ssb, csi-rs} +NR-RS-Type ::= ENUMERATED {ssb, csi-rs} MeasTriggerQuantity ::= CHOICE { rsrp RSRP-Range, @@ -3486,7 +2386,7 @@ MeasReportQuantity ::= SEQUENCE { ReportConfigToAddModList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod -ReportConfigToAddMod ::= SEQUENCE { +ReportConfigToAddMod ::= SEQUENCE { reportConfigId ReportConfigId, reportConfig CHOICE { reportConfigNR ReportConfigNR, @@ -3496,9 +2396,26 @@ ReportConfigToAddMod ::= SEQUENCE { -- TAG- REPORT-CONFIG-TO-ADD-MOD-LIST-STOP -ReportInterval ::= ENUMERATED {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, ms20480, ms40960, min1, - min6, min12, min30 } +ReportInterval ::= ENUMERATED { ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, ms20480, ms40960, + min1, min6, min12, min30 } + +-- TAG-RLC-BEARERCONFIG-START +RLC-BearerConfig ::= SEQUENCE { + logicalChannelIdentity LogicalChannelIdentity, + servedRadioBearer CHOICE { + srb-Identity SRB-Identity, + drb-Identity DRB-Identity + } OPTIONAL, -- Cond LCH-SetupOnly + + reestablishRLC ENUMERATED {true} OPTIONAL, -- Need R + rlc-Config RLC-Config OPTIONAL, -- Cond LCH-Setup + + mac-LogicalChannelConfig LogicalChannelConfig OPTIONAL, -- Cond LCH-Setup + ... +} + +-- TAG-RLC-BEARERCONFIG-STOP -- TAG-RLC-CONFIG-START RLC-Config ::= CHOICE { @@ -3520,7 +2437,7 @@ RLC-Config ::= CHOICE { } UL-AM-RLC ::= SEQUENCE { - sn-FieldLength SN-FieldLengthAM, + sn-FieldLength SN-FieldLengthAM OPTIONAL, -- Cond Reestab t-PollRetransmit T-PollRetransmit, pollPDU PollPDU, pollByte PollByte, @@ -3528,17 +2445,17 @@ UL-AM-RLC ::= SEQUENCE { } DL-AM-RLC ::= SEQUENCE { - sn-FieldLength SN-FieldLengthAM, + sn-FieldLength SN-FieldLengthAM OPTIONAL, -- Cond Reestab t-Reassembly T-Reassembly, t-StatusProhibit T-StatusProhibit } UL-UM-RLC ::= SEQUENCE { - sn-FieldLength SN-FieldLengthUM + sn-FieldLength SN-FieldLengthUM OPTIONAL -- Cond Reestab } DL-UM-RLC ::= SEQUENCE { - sn-FieldLength SN-FieldLengthUM, + sn-FieldLength SN-FieldLengthUM OPTIONAL, -- Cond Reestab t-Reassembly T-Reassembly } @@ -3613,7 +2530,7 @@ RNTI-Value ::= INTEGER (0..65535) -- TAG-RNTI-VALUE-STOP -- TAG-RSRP-RANGE-START -RSRP-Range ::= INTEGER(0..124) +RSRP-Range ::= INTEGER(0..127) -- TAG-RSRP-RANGE-STOP -- TAG-RSRQ-RANGE-START @@ -3623,71 +2540,60 @@ RSRQ-Range ::= INTEGER(0..127) -- TAG-RSRQ-RANGE-STOP -- TAG-SCELL-INDEX-START --- The value range is shared across the Cell Groups SCellIndex ::= INTEGER (1..31) -- TAG-SCELL-INDEX-STOP -- TAG-SCHEDULING-REQUEST-CONFIG-START SchedulingRequestConfig ::= SEQUENCE { - schedulingRequestToAddModList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestToAddMod OPTIONAL, -- Need N - schedulingRequestToReleaseList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestId OPTIONAL -- Need N + schedulingRequestToAddModList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestToAddMod OPTIONAL, -- Need N + schedulingRequestToReleaseList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestId OPTIONAL -- Need N } SchedulingRequestToAddMod ::= SEQUENCE { - sr-ConfigIndex SchedulingRequestId, + schedulingRequestId SchedulingRequestId, - sr-ProhibitTimer ENUMERATED {ms1, ms2, ms4, ms8, ms16, ms32, ms64, ms128} OPTIONAL, -- Need S + sr-ProhibitTimer ENUMERATED {ms1, ms2, ms4, ms8, ms16, ms32, ms64, ms128} OPTIONAL, -- Need S sr-TransMax ENUMERATED { n4, n8, n16, n32, n64, spare3, spare2, spare1} } -SchedulingRequestId ::= INTEGER (0..7) --- FFS_TODO: provide resources for each SchedulingRequestID in ServingCellConfig (TBD whether directly, in PUCCH-Config, in each BWP) -- TAG-SCHEDULING-REQUEST-CONFIG-STOP +-- TAG-SCHEDULINGREQUESTID-START + +SchedulingRequestId ::= INTEGER (0..7) + +-- TAG-SCHEDULINGREQUESTID-STOP -- TAG-SCHEDULING-REQUEST-RESOURCE-CONFIG-START -SchedulingRequestResourceConfig ::= SEQUENCE { - schedulingRequestResourceId SchedulingRequestResourceId, - -- The ID of the SchedulingRequestConfig that uses this scheduling request resource. - schedulingRequestID SchedulingRequestId, - -- SR periodicity and offset in number of slots. Corresponds to L1 parameter 'SR-periodicity' and 'SR-offset' (see 38.213, section 9.2.2) - -- The following periodicities may be configured depending on the chosen subcarrier spacing: - -- SCS = 15 kHz: 2sym, 7sym, 1sl, 2sl, 4sl, 5sl, 8sl, 10sl, 16sl, 20sl, 40sl, 80sl - -- SCS = 30 kHz: 2sym, 7sym, 1sl, 2sl, 4sl, 8sl, 10sl, 16sl, 20sl, 40sl, 80sl, 160sl - -- SCS = 60 kHz: 2sym, 7sym/6sym, 1sl, 2sl, 4sl, 8sl, 16sl, 20sl, 40sl, 80sl, 160sl, 320sl - -- SCS = 120 kHz: 2sym, 7sym, 1sl, 2sl, 4sl, 8sl, 16sl, 40sl, 80sl, 160sl, 320sl, sl640 - -- sym6or7 corresponds to 6 symbols if extended cyclic prefix and a SCS of 60 kHz are configured, otherwise it corresponds to 7 symbols. - -- For periodicities sym2, sym7 and sl1 the UE assumes an offset of 0 slots. - periodicityAndOffset CHOICE { - sym2 NULL, - sym6or7 NULL, - sl1 NULL, -- Recurs in every slot - sl2 INTEGER (0..1), - sl4 INTEGER (0..3), - sl5 INTEGER (0..4), - sl8 INTEGER (0..7), - sl10 INTEGER (0..9), - sl16 INTEGER (0..15), - sl20 INTEGER (0..19), - sl40 INTEGER (0..39), - sl80 INTEGER (0..79), - sl160 INTEGER (0..159), - sl320 INTEGER (0..319), - sl640 INTEGER (0..639) - } OPTIONAL, -- Need M - -- ID of the PUCCH resource in which the UE shall send the scheduling request. The - -- actual PUCCH-Resource is configured in PUCCH-Config of the same UL BWP and serving cell as this SchedulingRequestResourceConfig. - -- The network configures a PUCCH-Resource of PUCCH-format0 or PUCCH-format1 - -- (other formats not supported). Corresponds to L1 parameter 'SR-resource' (see 38.213, section 9.2.2) - resource PUCCH-ResourceId OPTIONAL -- Need M +SchedulingRequestResourceConfig ::= SEQUENCE { + schedulingRequestResourceId SchedulingRequestResourceId, + schedulingRequestID SchedulingRequestId, + periodicityAndOffset CHOICE { + sym2 NULL, + sym6or7 NULL, + sl1 NULL, -- Recurs in every slot + sl2 INTEGER (0..1), + sl4 INTEGER (0..3), + sl5 INTEGER (0..4), + sl8 INTEGER (0..7), + sl10 INTEGER (0..9), + sl16 INTEGER (0..15), + sl20 INTEGER (0..19), + sl40 INTEGER (0..39), + sl80 INTEGER (0..79), + sl160 INTEGER (0..159), + sl320 INTEGER (0..319), + sl640 INTEGER (0..639) + } OPTIONAL, -- Need M + resource PUCCH-ResourceId OPTIONAL -- Need M } -- TAG-SCHEDULING-REQUEST-RESOURCE-CONFIG-STOP -- TAG-SCHEDULINGREQUESTRESOURCEID-START -SchedulingRequestResourceId ::= INTEGER (1..maxNrofSR-Resources) +SchedulingRequestResourceId ::= INTEGER (1..maxNrofSR-Resources) -- TAG-SCHEDULINGREQUESTRESOURCEID-STOP -- TAG-SCRAMBLING-ID-START @@ -3697,20 +2603,9 @@ ScramblingId ::= INTEGER (0..1023) -- TAG-SCRAMBLING-ID-STOP -- TAG-SCS-SPECIFIC-CARRIER-START -SCS-SpecificCarrier ::= SEQUENCE { - -- Offset in frequency domain between Point A (lowest subcarrier of common RB 0) and the lowest usable subcarrier on this carrier - -- in number of PRBs (using the subcarrierSpacing defined for this carrier). The maximum value corresponds to 275*8-1. - -- Corresponds to L1 parameter 'offset-pointA-low-scs' (see 38.211, section FFS_Section) - offsetToCarrier INTEGER (0..2199), - -- Subcarrier spacing of this carrier. It is used to convert the offsetToCarrier into an actual frequency. - -- Only the values 15 or 30 kHz (<6GHz), 60 or 120 kHz (>6GHz) are applicable. - -- Corresponds to L1 parameter 'ref-scs' (see 38.211, section FFS_Section) +SCS-SpecificCarrier ::= SEQUENCE { + offsetToCarrier INTEGER (0..2199), subcarrierSpacing SubcarrierSpacing, - -- Corresponds to L1 parameter k0 (see 38.211, section 5.3.1). n-6 corresponds to value -6, n0 corresponds to value 0 and n6 corresponds - -- to value +6. - k0 ENUMERATED {n-6, n0, n6}, - -- Width of this carrier in number of PRBs (using the subcarrierSpacing defined for this carrier) - -- Corresponds to L1 parameter 'BW' (see 38.211, section FFS_Section) carrierBandwidth INTEGER (1..maxNrofPhysicalResourceBlocks), ... } @@ -3720,38 +2615,24 @@ SCS-SpecificCarrier ::= SEQUENCE { SDAP-Config ::= SEQUENCE { pdu-Session PDU-SessionID, - - -- FFS: separate configuration for UL and DL sdap-HeaderDL ENUMERATED {present, absent}, sdap-HeaderUL ENUMERATED {present, absent}, defaultDRB BOOLEAN, - - -- A list of QoS-Flow-IDs that the UE shall map to the DRB of this SDAP-Config. mappedQoS-FlowsToAdd SEQUENCE (SIZE (1..maxNrofQFIs)) OF QFI OPTIONAL, -- Need N - -- A list of QoS-Flow-IDs that the UE shall no longer map to the DRB of this SDAP-Config. mappedQoS-FlowsToRelease SEQUENCE (SIZE (1..maxNrofQFIs)) OF QFI OPTIONAL, -- Need N ... } QFI ::= INTEGER (0..maxQFI) -PDU-SessionID ::= INTEGER (0..255) +PDU-SessionID ::= INTEGER (0..255) -- TAG-SDAP-CONFIG-STOP -- TAG-SEARCHSPACE-START SearchSpace ::= SEQUENCE { - -- Identity of the search space. SearchSpaceId = 0 identifies the SearchSpace configured via PBCH (MIB) or ServingCellConfigCommon. - -- The searchSpaceId is unique among the BWPs of a Serving Cell. searchSpaceId SearchSpaceId, - - -- The CORESET applicable for this SearchSpace. - -- Value 0 identifies the common CORESET configured in MIB and in ServingCellConfigCommon - -- Values 1..maxNrofControlResourceSets-1 identify CORESETs configured by dedicated signalling controlResourceSetId ControlResourceSetId OPTIONAL, -- Cond SetupOnly - - -- Slots for PDCCH Monitoring configured as periodicity and offset. Corresponds to L1 parameters 'Montoring-periodicity-PDCCH-slot' and - -- 'Montoring-offset-PDCCH-slot' (see 38.213, section 10) monitoringSlotPeriodicityAndOffset CHOICE { sl1 NULL, sl2 INTEGER (0..1), @@ -3760,18 +2641,17 @@ SearchSpace ::= SEQUENCE { sl8 INTEGER (0..7), sl10 INTEGER (0..9), sl16 INTEGER (0..15), - sl20 INTEGER (0..19) + sl20 INTEGER (0..19), + sl40 INTEGER (0..39), + sl80 INTEGER (0..79), + sl160 INTEGER (0..159), + sl320 INTEGER (0..319), + sl640 INTEGER (0..639), + sl1280 INTEGER (0..1279), + sl2560 INTEGER (0..2559) } OPTIONAL, -- Cond Setup - - -- Symbols for PDCCH monitoring in the slots configured for PDCCH monitoring (see monitoringSlotPeriodicityAndOffset). - -- The most significant (left) bit represents the first OFDM in a slot. The least significant (right) bit represents the last symbol. - -- Corresponds to L1 parameter 'Montoring-symbols-PDCCH-within-slot' (see 38.213, section 10) - monitoringSymbolsWithinSlot BIT STRING (SIZE (14)) OPTIONAL, -- Cond Setup - - -- Number of PDCCH candidates per aggregation level. Corresponds to L1 parameter 'Aggregation-level-1' to 'Aggregation-level-8'. - -- The number of candidates and aggregation levels configured here applies to all formats unless a particular value is specified or - -- a format-specific value is provided (see inside searchSpaceType). - -- (see 38.213, section 10) + duration INTEGER (2..2559) OPTIONAL, -- Need R + monitoringSymbolsWithinSlot BIT STRING (SIZE (14)) OPTIONAL, -- Cond Setup nrofCandidates SEQUENCE { aggregationLevel1 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8}, aggregationLevel2 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8}, @@ -3779,63 +2659,44 @@ SearchSpace ::= SEQUENCE { aggregationLevel8 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8}, aggregationLevel16 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8} } OPTIONAL, -- Cond Setup - - -- Indicates whether this is a common search space (present) or a UE specific search space as well as DCI formats to monitor for. searchSpaceType CHOICE { - -- Configures this search space as common search space (CSS) and DCI formats to monitor. common SEQUENCE { - -- If configured, the UE monitors the DCI formats 0_0 and 1_0 with CRC scrambled by C-RNTI, CS-RNTI (if configured), - -- SP-CSI-RNTI (if configured), RA-RNTI, TC-RNTI, P-RNTI, SI-RNTI - dci-Format0-0-AndFormat1-0 SEQUENCE { + dci-Format0-0-AndFormat1-0 SEQUENCE { ... } OPTIONAL, -- Need R - -- If configured, UE monitors the DCI format format 2_0 with CRC scrambled by SFI-RNTI - dci-Format2-0 SEQUENCE { - -- The number of PDCCH candidates specifically for format 2-0 for the configured aggregation level. - -- If an aggregation level is absent, the UE does not search for any candidates with that aggregation level. - -- Corresponds to L1 parameters 'SFI-Num-PDCCH-cand' and 'SFI-Aggregation-Level' (see 38.213, section 11.1.1). - nrofCandidates-SFI SEQUENCE { - aggregationLevel1 ENUMERATED {n1, n2} OPTIONAL, -- Need R - aggregationLevel2 ENUMERATED {n1, n2} OPTIONAL, -- Need R - aggregationLevel4 ENUMERATED {n1, n2} OPTIONAL, -- Need R - aggregationLevel8 ENUMERATED {n1, n2} OPTIONAL, -- Need R - aggregationLevel16 ENUMERATED {n1, n2} OPTIONAL -- Need R + dci-Format2-0 SEQUENCE { + nrofCandidates-SFI SEQUENCE { + aggregationLevel1 ENUMERATED {n1, n2} OPTIONAL, -- Need R + aggregationLevel2 ENUMERATED {n1, n2} OPTIONAL, -- Need R + aggregationLevel4 ENUMERATED {n1, n2} OPTIONAL, -- Need R + aggregationLevel8 ENUMERATED {n1, n2} OPTIONAL, -- Need R + aggregationLevel16 ENUMERATED {n1, n2} OPTIONAL -- Need R }, ... } OPTIONAL, -- Need R - -- If configured, UE monitors the DCI format format 2_1 with CRC scrambled by INT-RNTI - dci-Format2-1 SEQUENCE { + dci-Format2-1 SEQUENCE { ... } OPTIONAL, -- Need R - -- If configured, UE monitors the DCI format 2_2 with CRC scrambled by TPC-PUSCH-RNTI or TPC-PUCCH-RNTI - dci-Format2-2 SEQUENCE { + dci-Format2-2 SEQUENCE { ... } OPTIONAL, -- Need R - -- If configured, UE monitors the DCI format 2_3 with CRC scrambled by TPC-SRS-RNTI - dci-Format2-3 SEQUENCE { - -- Monitoring periodicity of SRS PDCCH in number of slots for DCI format 2-3. - -- Corresponds to L1 parameter 'SRS-monitoring-periodicity' (see 38.212, 38.213, section 7.3.1, 11.3) - monitoringPeriodicity ENUMERATED {n1, n2, n4, n5, n8, n10, n16, n20 } OPTIONAL, -- Cond Setup - - -- The number of PDCCH candidates for DCI format 2-3 for the configured aggregation level. - -- Corresponds to L1 parameter 'SRS-Num-PDCCH-cand' (see 38.212, 38.213, section 7.3.1, 11.3) - nrofPDCCH-Candidates ENUMERATED {n1, n2}, + dci-Format2-3 SEQUENCE { + monitoringPeriodicity ENUMERATED {n1, n2, n4, n5, n8, n10, n16, n20 } OPTIONAL, -- Cond Setup + nrofPDCCH-Candidates ENUMERATED {n1, n2}, ... } OPTIONAL -- Need R }, - -- Configures this search space as UE specific search space (USS). The UE monitors the DCI format with CRC scrambled - -- by C-RNTI, CS-RNTI (if configured), TC-RNTI (if a certain condition is met), and SP-CSI-RNTI (if configured) ue-Specific SEQUENCE { - -- Indicates whether the UE monitors in this USS for DCI formats 0-0 and 1-0 or for formats 0-1 and 1-1. - dci-Formats ENUMERATED {formats0-0-And-1-0, formats0-1-And-1-1}, + dci-Formats ENUMERATED {formats0-0-And-1-0, formats0-1-And-1-1}, ... } } OPTIONAL -- Cond Setup } + -- TAG-SEARCHSPACE-STOP -- TAG-SEARCHSPACEID-START -SearchSpaceId ::= INTEGER (0..maxNrofSearchSpaces-1) +SearchSpaceId ::= INTEGER (0..maxNrofSearchSpaces-1) -- TAG-SEARCHSPACEID-STOP -- TAG-SECURITY-ALGORITHM-CONFIG-START @@ -3847,12 +2708,12 @@ SecurityAlgorithmConfig ::= SEQUENCE { } IntegrityProtAlgorithm ::= ENUMERATED { - nia0, nia1, nia2, nia3, spare4, spare3, - spare2, spare1, ...} + nia0, nia1, nia2, nia3, spare4, spare3, + spare2, spare1, ...} CipheringAlgorithm ::= ENUMERATED { - nea0, nea1, nea2, nea3, spare4, spare3, - spare2, spare1, ...} + nea0, nea1, nea2, nea3, spare4, spare3, + spare2, spare1, ...} -- TAG-SECURITY-ALGORITHM-CONFIG-STOP -- TAG-SERV-CELL-INDEX-START @@ -3862,239 +2723,125 @@ ServCellIndex ::= INTEGER (0..maxNrofServingCells-1) -- TAG-SERV-CELL-INDEX-STOP -- TAG-SERVING-CELL-CONFIG-START -ServingCellConfig ::= SEQUENCE { - -- L1 parameters: +ServingCellConfig ::= SEQUENCE { + tdd-UL-DL-ConfigurationDedicated TDD-UL-DL-ConfigDedicated OPTIONAL, -- Cond TDD - tdd-UL-DL-ConfigurationDedicated TDD-UL-DL-ConfigDedicated OPTIONAL, -- Cond TDD - - -- The dedicated (UE-specific) configuration for the initial downlink bandwidth-part. initialDownlinkBWP BWP-DownlinkDedicated OPTIONAL, -- Cond ServCellAdd - - -- List of additional downlink bandwidth parts to be released. (see 38.211, 38.213, section 12). downlinkBWP-ToReleaseList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id OPTIONAL, -- Need N - -- List of additional downlink bandwidth parts to be added or modified. (see 38.211, 38.213, section 12). downlinkBWP-ToAddModList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Downlink OPTIONAL, -- Need N - - -- If configured for an SpCell, this field contains the ID of the DL BWP to be activated upon performing the reconfiguration - -- in which it is received. If the field is absent, the RRC reconfiguration does not impose a BWP switch (corresponds to L1 - -- parameter 'active-BWP-DL-Pcell'). - -- If configured for an SCell, this field contains the ID of the downlink bandwidth part to be used upon MAC-activation of an SCell. - -- If not provided, the UE uses the default BWP. - -- The initial bandwidth part is referred to by BWP-Id = 0. - firstActiveDownlinkBWP-Id BWP-Id OPTIONAL, -- Need R - - -- The duration in ms after which the UE falls back to the default Bandwidth Part. (see 38.321, section 5.15) - -- The value 0.5 ms is only applicable for carriers >6 GHz. - -- When the network releases the timer configuration, the UE stops the timer without swithching to the default BWP. - bwp-InactivityTimer ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40,ms50, ms60, ms80, - ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare10, spare9, - spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 } OPTIONAL, -- Need R - - -- Corresponds to L1 parameter 'default-DL-BWP'. The initial bandwidth part is referred to by BWP-Id = 0. - -- ID of the downlink bandwidth part to be used upon expiry of txxx. - -- This field is UE specific. When the field is absent the UE uses the the initial BWP as default BWP. - -- (see 38.211, 38.213, section 12 and 38.321, section 5.15) - defaultDownlinkBWP-Id BWP-Id OPTIONAL, -- Need M + firstActiveDownlinkBWP-Id BWP-Id OPTIONAL, -- Cond SyncAndCellAdd + bwp-InactivityTimer ENUMERATED { ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, + ms40,ms50, ms60, ms80, ms100, ms200, ms300, ms500, + ms750, ms1280, ms1920, ms2560, spare10, spare9, spare8, + spare7, spare6, spare5, spare4, spare3, spare2, spare1 } OPTIONAL, -- Need R + defaultDownlinkBWP-Id BWP-Id OPTIONAL, -- Need S uplinkConfig UplinkConfig OPTIONAL, -- Cond ServCellAdd-UL supplementaryUplink UplinkConfig OPTIONAL, -- Cond ServCellAdd-SUL - - -- PDSCH releated parameters that are not BWP-specific. - pdsch-ServingCellConfig CHOICE {release NULL, setup PDSCH-ServingCellConfig } OPTIONAL, -- Need M - csi-MeasConfig CHOICE {release NULL, setup CSI-MeasConfig } OPTIONAL, -- Need M - - -- Includes parameters for configuration of carrier based SRS switching - -- Corresponds to L1 parameter 'SRS-CarrierSwitching' (see 38,214, section FFS_Section) - carrierSwitching CHOICE {release NULL, setup SRS-CarrierSwitching } OPTIONAL, -- Need M - -- MAC parameters: - sCellDeactivationTimer ENUMERATED {ms20, ms40, ms80, ms160, ms200, ms240, ms320, ms400, ms480, ms520, ms640, - ms720, ms840, ms1280, spare2,spare1} OPTIONAL, -- Cond ServingCellWithoutPUCCH - - -- Indicates whether this SCell is cross-carrier scheduled by another serving cell. + pdcch-ServingCellConfig CHOICE { release NULL, setup PDCCH-ServingCellConfig } OPTIONAL, -- Need M + pdsch-ServingCellConfig CHOICE { release NULL, setup PDSCH-ServingCellConfig } OPTIONAL, -- Need M + csi-MeasConfig CHOICE { release NULL, setup CSI-MeasConfig } OPTIONAL, -- Need M + sCellDeactivationTimer ENUMERATED { ms20, ms40, ms80, ms160, ms200, ms240, + ms320, ms400, ms480, ms520, ms640, ms720, + ms840, ms1280, spare2,spare1} OPTIONAL, -- Cond ServingCellWithoutPUCCH crossCarrierSchedulingConfig CrossCarrierSchedulingConfig OPTIONAL, -- Need M - - -- Timing Advance Group ID, as specified in TS 38.321 [3], which this cell belongs to. tag-Id TAG-Id, - -- Enables the "UE beam lock function (UBF)", which disable changes to the UE beamforming configuration when in NR_RRC_CONNECTED. - -- FFS: Parameter added preliminary based on RAN4 LS in R4-1711823. Decide where to place it (maybe ServingCellConfigCommon or - -- in a BeamManagement IE??) ue-BeamLockFunction ENUMERATED {enabled} OPTIONAL, -- Need R - - -- Indicates whether UE shall apply as pathloss reference either the downlink of PCell or of SCell that corresponds with this uplink - -- (see 38.213, section 7) - pathlossReferenceLinking ENUMERATED {pCell, sCell} OPTIONAL -- Cond SCellOnly + pathlossReferenceLinking ENUMERATED {pCell, sCell} OPTIONAL, -- Cond SCellOnly + servingCellMO MeasObjectId OPTIONAL, -- Cond MeasObject + ... } UplinkConfig ::= SEQUENCE { - -- Configuration of UL BWPs (including BWP-specific parameters: - - -- The dedicated (UE-specific) configuration for the initial uplink bandwidth-part. initialUplinkBWP BWP-UplinkDedicated OPTIONAL, -- Cond ServCellAdd - - -- The additional bandwidth parts for uplink. In case of TDD uplink- and downlink BWP with the same bandwidthPartId are considered - -- as a BWP pair and must have the same center frequency. uplinkBWP-ToReleaseList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id OPTIONAL, -- Need N uplinkBWP-ToAddModList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Uplink OPTIONAL, -- Need N + firstActiveUplinkBWP-Id BWP-Id OPTIONAL, -- Cond SyncAndCellAdd - -- If configured for an SpCell, this field contains the ID of the DL BWP to be activated upon performing the reconfiguration - -- in which it is received. If the field is absent, the RRC reconfiguration does not impose a BWP switch (corresponds to - -- L1 parameter 'active-BWP-UL-Pcell'). - -- If configured for an SCell, this field contains the ID of the uplink bandwidth part to be used upon MAC-activation of an SCell. - -- If not provided, the UE uses the FFS: default BWP. - -- The initial bandwidth part is referred to by BandiwdthPartId = 0. - firstActiveUplinkBWP-Id BWP-Id OPTIONAL, -- Need R - - -- Configuration that is common across the UL BWPs: - - -- PUSCH related parameters that are not BWP-specific. - pusch-ServingCellConfig CHOICE {release NULL, setup PUSCH-ServingCellConfig } OPTIONAL, -- Need M + pusch-ServingCellConfig CHOICE { release NULL, setup PUSCH-ServingCellConfig } OPTIONAL, -- Need M + carrierSwitching CHOICE { release NULL, setup SRS-CarrierSwitching } OPTIONAL, -- Need M ... } -- TAG-SERVING-CELL-CONFIG-STOP -- TAG-SERVING-CELL-CONFIG-COMMON-START -ServingCellConfigCommon ::= SEQUENCE { +ServingCellConfigCommon ::= SEQUENCE { physCellId PhysCellId OPTIONAL, -- Cond HOAndServCellAdd, - frequencyInfoDL FrequencyInfoDL OPTIONAL, -- Cond InterFreqHOAndServCellAdd - -- The initial downlink BWP configuration for a SpCell (PCell of MCG or SCG). - initialDownlinkBWP BWP-DownlinkCommon OPTIONAL, -- Cond ServCellAdd + downlinkConfigCommon DownlinkConfigCommon OPTIONAL, -- Cond InterFreqHOAndServCellAdd uplinkConfigCommon UplinkConfigCommon OPTIONAL, -- Cond ServCellAdd-UL supplementaryUplinkConfig UplinkConfigCommon OPTIONAL, -- Cond ServCellAdd-SUL - - - -- Indicates the time domain positions of the transmitted SS-blocks in an SS-burst. The first/ leftmost bit corresponds to SS/PBCH - -- block index 0, the second bit corresponds to SS/PBCH block index 1, and so on. Value 0 in the bitmap indicates that the - -- corresponding SS/PBCH block is not transmitted while value 1 indicates that the corresponding SS/PBCH block is transmitted. - -- Corresponds to L1 parameter 'SSB-Transmitted' (see 38.213, section 4.1) + n-TimingAdvanceOffset ENUMERATED { n0, n25600, n39936 } OPTIONAL,-- Need S ssb-PositionsInBurst CHOICE { - -- bitmap for sub 3 GHz shortBitmap BIT STRING (SIZE (4)), - -- bitmap for 3-6 GHz mediumBitmap BIT STRING (SIZE (8)), - -- bitmap for above 6 GHz longBitmap BIT STRING (SIZE (64)) - } OPTIONAL, -- Need R, - -- The SSB periodicity in msec for the rate matching purpose. If the field is absent, the UE applies the value ms5. - -- (see 38.211, section [7.4.3.1]) - ssb-periodicityServingCell ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, spare2, spare1 } OPTIONAL, -- Need S - -- Position of (first) DL DM-RS (see 38.211, section 7.4.1.1.1) + } OPTIONAL, -- Cond AbsFreqSSB + ssb-periodicityServingCell ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, spare2, spare1 } OPTIONAL, -- Need S dmrs-TypeA-Position ENUMERATED {pos2, pos3}, - - -- Parameters to determine an LTE CRS pattern that the UE shall rate match around. - lte-CRS-ToMatchAround CHOICE {release NULL, setup RateMatchPatternLTE-CRS } OPTIONAL, -- Need M - - -- Resources patterns which the UE should rate match PDSCH around. The UE rate matches around the union of all resources - -- indicated in the nested bitmaps. Rate match patterns defined here on cell level apply only to PDSCH of the same numerology. - -- Corresponds to L1 parameter 'Resource-set-cekk' (see 38.214, section 5.1.2.2.3) - rateMatchPatternToAddModList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern OPTIONAL, -- Need N - rateMatchPatternToReleaseList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL, -- Need N - - -- Subcarrier spacing of SSB. Used only for non-initial access (e.g. SCells, PCell of SCG). - -- If the field is absent the UE shall assume the default value of the band. - -- Only the values 15 or 30 kHz (<6GHz), 120 or 240 kHz (>6GHz) are applicable. - subcarrierSpacing SubcarrierSpacing OPTIONAL, -- Need S - -- A cell-specific TDD UL/DL configuration. Corresponds to L1 parameter 'UL-DL-configuration-common' (see 38.213, section 11.1) - tdd-UL-DL-ConfigurationCommon TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD - -- A second cell-specific TDD UL/DL configuration. When tdd-UL-DL-ConfigurationCommon2 is configured, the cell specific DL/UL - -- pattern is a concatenation of the pattern specified in tdd-UL-DL-ConfigurationCommon and the pattern specified in - -- tdd-UL-DL-ConfigurationCommon2. Corresponds to L1 parameter 'UL-DL-configuration-common-Set2' (see 38.211, section 11.1) - tdd-UL-DL-ConfigurationCommon2 TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD - -- TX power that the NW used for SSB transmission. The UE uses it to estimate the RA preamble TX power. - -- (see 38.213, section 7.4) + lte-CRS-ToMatchAround CHOICE { release NULL, setup RateMatchPatternLTE-CRS } OPTIONAL, -- Need M + rateMatchPatternToAddModList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern OPTIONAL, -- Need N + rateMatchPatternToReleaseList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL, -- Need N + subcarrierSpacing SubcarrierSpacing OPTIONAL, -- Need S + tdd-UL-DL-ConfigurationCommon TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD ss-PBCH-BlockPower INTEGER (-60..50), ... } -UplinkConfigCommon ::= SEQUENCE { - -- Absolute uplink frequency configuration and subcarrier specific virtual carriers. - frequencyInfoUL FrequencyInfoUL OPTIONAL, -- Cond InterFreqHOAndServCellAdd - -- The initial uplink BWP configuration for a SpCell (PCell of MCG or SCG). Corresponds to L1 parameter 'initial-UL-BWP'. - -- (see 38.331, section FFS_Section). - initialUplinkBWP BWP-UplinkCommon OPTIONAL -- Cond ServCellAdd -} -- TAG-SERVING-CELL-CONFIG-COMMON-STOP -- TAG-SINR-RANGE-START -SINR-Range ::= INTEGER(0..127) +SINR-Range ::= INTEGER (0..127) -- TAG-SINR-RANGE-STOP -- TAG-SLOTFORMATCOMBINATIONSPERCELL-START --- The SlotFormatCombinations applicable for one serving cell. Corresponds to L1 parameter 'cell-to-SFI' (see 38.213, section 11.1.1) -SlotFormatCombinationsPerCell ::= SEQUENCE { - -- The ID of the serving cell for which the slotFormatCombinations are applicable - servingCellId ServCellIndex, - - -- Reference subcarrier spacing for this Slot Format Combination. Corresponds to L1 parameter 'SFI-scs' (see 38.213, section FFS_Section) - subcarrierSpacing SubcarrierSpacing, - -- Reference subcarrier spacing for a Slot Format Combination on an FDD or SUL cell. - -- Corresponds to L1 parameter 'SFI-scs2' (see 38.213, section FFS_Section). - -- For FDD, subcarrierSpacing (SFI-scs) is the reference SCS for DL BWP and subcarrierSpacing2 (SFI-scs2) is the reference SCS for UL BWP. - -- For SUL, subcarrierSpacing (SFI-scs) is the reference SCS for non-SUL carrier and subcarrierSpacing2 (SFI-scs2) is the reference - -- SCS for SUL carrier. - subcarrierSpacing2 SubcarrierSpacing OPTIONAL, -- Need R - - -- A list with SlotFormatCombinations. Each SlotFormatCombination comprises of one or more SlotFormats (see 38.211, section 4.3.2) - -- FFS_CHECK: RAN1 indicates that the combinations could be of two different types... but they don't specify the second - slotFormatCombinations SEQUENCE (SIZE (1..maxNrofSlotFormatCombinationsPerSet)) OF SlotFormatCombination OPTIONAL, - - -- The (starting) position (bit) of the slotFormatCombinationId (SFI-Index) for this serving cell (servingCellId) within the DCI payload. - -- Corresponds to L1 parameter 'SFI-values' (see 38.213, section FFS_Section) - positionInDCI INTEGER(0..maxSFI-DCI-PayloadSize-1) OPTIONAL, +SlotFormatCombinationsPerCell ::= SEQUENCE { + servingCellId ServCellIndex, + subcarrierSpacing SubcarrierSpacing, + subcarrierSpacing2 SubcarrierSpacing OPTIONAL, -- Need R + slotFormatCombinations SEQUENCE (SIZE (1..maxNrofSlotFormatCombinationsPerSet)) OF SlotFormatCombination OPTIONAL, + positionInDCI INTEGER(0..maxSFI-DCI-PayloadSize-1) OPTIONAL, ... } -SlotFormatCombination ::= SEQUENCE { - -- This ID is used in the DCI payload to dynamically select this SlotFormatCombination. - -- Corresponds to L1 parameter 'SFI-index' (see 38.213, section FFS_Section) - slotFormatCombinationId SlotFormatCombinationId, - -- Slot formats that occur in consecutive slots in time domain order as listed here. The the slot formats are - -- defined in 38.211, table 4.3.2-3 and numbered with 0..255. - slotFormats SEQUENCE (SIZE (1..maxNrofSlotFormatsPerCombination)) OF INTEGER (0..255) +SlotFormatCombination ::= SEQUENCE { + slotFormatCombinationId SlotFormatCombinationId, + slotFormats SEQUENCE (SIZE (1..maxNrofSlotFormatsPerCombination)) OF INTEGER (0..255) } --- SFI index that is assoicated with a certian slot-format-combination --- Corresponds to L1 parameter 'SFI-index' (see 38.213, section FFS_Section) -SlotFormatCombinationId ::= INTEGER (0..maxNrofSlotFormatCombinationsPerSet-1) +SlotFormatCombinationId ::= INTEGER (0..maxNrofSlotFormatCombinationsPerSet-1) -- TAG-SLOTFORMATCOMBINATIONSPERCELL-STOP -- TAG-SLOTFORMATINDICATOR-START SlotFormatIndicator ::= SEQUENCE { - -- RNTI used for SFI on the given cell - -- Corresponds to L1 parameter 'SFI-RNTI' (see 38.213, section 11.1.1) sfi-RNTI RNTI-Value, - - -- Total length of the DCI payload scrambled with SFI-RNTI. - -- Corresponds to L1 parameter 'SFI-DCI-payload-length' (see 38.213, section 11.1.1) dci-PayloadSize INTEGER (1..maxSFI-DCI-PayloadSize), - - -- A list of SlotFormatCombinations for the UE's serving cells. - -- Corresponds to L1 parameter 'SFI-cell-to-SFI' (see 38.213, section 11.1.1) slotFormatCombToAddModList SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF SlotFormatCombinationsPerCell OPTIONAL, -- Need N slotFormatCombToReleaseList SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF ServCellIndex OPTIONAL, -- Need N ... } -- TAG-SLOTFORMATINDICATOR-STOP +-- TAG-SS-RSSI-MEASUREMENT-START + +SS-RSSI-Measurement ::= SEQUENCE { + measurementSlots BIT STRING (SIZE(1..80)), + endSymbol INTEGER(0..3) +} + +-- TAG-SS-RSSI-MEASUREMENT-STOP -- TAG-SPS-CONFIG-START --- Downlink SPS may be configured on the PCell as well as on SCells. But it shall not be configured for more than --- one serving cell of a cell group at once. SPS-Config ::= SEQUENCE { - -- Periodicity for DL SPS - -- Corresponds to L1 parameter 'semiPersistSchedIntervalDL' (see 38.214 and 38.321, section FFS_Section) - -- FFS-Value: Support also shorter periodicities for DL? periodicity ENUMERATED {ms10, ms20, ms32, ms40, ms64, ms80, ms128, ms160, ms320, ms640, spare6, spare5, spare4, spare3, spare2, spare1}, - -- Number of configured HARQ processes for SPS DL. Corresponds to L1 parameter 'numberOfConfSPS-Processes' (see 38.214, section FFS_Section) nrofHARQ-Processes INTEGER (1..8), - -- HARQ resource for PUCCH for DL SPS. The network configures the resource either as format0 or format1. (see 38.214, section FFS_Section) - n1PUCCH-AN PUCCH-Resource OPTIONAL -- Need M + n1PUCCH-AN PUCCH-ResourceId OPTIONAL -- Need M } -- TAG-SPS-CONFIG-STOP @@ -4106,74 +2853,44 @@ SRB-Identity ::= INTEGER (1..3) -- TAG-SRS-CONFIG-START SRS-Config ::= SEQUENCE { - srs-ResourceSetToReleaseList SEQUENCE (SIZE(0..maxNrofSRS-ResourceSets)) OF SRS-ResourceSetId OPTIONAL, -- Need N - srs-ResourceSetToAddModList SEQUENCE (SIZE(0..maxNrofSRS-ResourceSets)) OF SRS-ResourceSet OPTIONAL, -- Need N + srs-ResourceSetToReleaseList SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets)) OF SRS-ResourceSetId OPTIONAL, -- Need N + srs-ResourceSetToAddModList SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets)) OF SRS-ResourceSet OPTIONAL, -- Need N srs-ResourceToReleaseList SEQUENCE (SIZE(1..maxNrofSRS-Resources)) OF SRS-ResourceId OPTIONAL, -- Need N srs-ResourceToAddModList SEQUENCE (SIZE(1..maxNrofSRS-Resources)) OF SRS-Resource OPTIONAL, -- Need N - - -- If absent, UE applies TPC commands via accumulation. If disabled, UE applies the TPC command without accumulation - -- (this applies to SRS when a separate closed loop is configured for SRS) - -- Corresponds to L1 parameter 'Accumulation-enabled-srs' (see 38,213, section 7.3) - tpc-Accumulation ENUMERATED {disabled} OPTIONAL, -- Need S + tpc-Accumulation ENUMERATED {disabled} OPTIONAL, -- Need S ... } SRS-ResourceSet ::= SEQUENCE { - -- The ID of this resource set. It is unique in the context of the BWP in which the parent SRS-Config is defined. srs-ResourceSetId SRS-ResourceSetId, - -- The IDs of the SRS-Reosurces used in this SRS-ResourceSet srs-ResourceIdList SEQUENCE (SIZE(1..maxNrofSRS-ResourcesPerSet)) OF SRS-ResourceId OPTIONAL, -- Cond Setup resourceType CHOICE { aperiodic SEQUENCE { - -- The DCI "code point" upon which the UE shall transmit SRS according to this SRS resource set configuration. - -- Corresponds to L1 parameter 'AperiodicSRS-ResourceTrigger' (see 38.214, section 6.1.1.2) - aperiodicSRS-ResourceTrigger INTEGER (0..maxNrofSRS-TriggerStates-1), - -- ID of CSI-RS resource associated with this SRS resource set. (see 38.214, section 6.1.1.2) - csi-RS NZP-CSI-RS-ResourceId, - -- An offset in number of slots between the triggering DCI and the actual transmission of this SRS-ResourceSet. - -- If the field is absent the UE applies no offset (value 0) - slotOffset INTEGER (1..8) OPTIONAL, -- Need S + aperiodicSRS-ResourceTrigger INTEGER (1..maxNrofSRS-TriggerStates-1), + csi-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook + slotOffset INTEGER (1..32) OPTIONAL, -- Need S ... }, semi-persistent SEQUENCE { - -- ID of CSI-RS resource associated with this SRS resource set in non-codebook based operation. - -- Corresponds to L1 parameter 'SRS-AssocCSIRS' (see 38.214, section 6.2.1) - associatedCSI-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond nonCodebook + associatedCSI-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook ... }, periodic SEQUENCE { - -- ID of CSI-RS resource associated with this SRS resource set in non-codebook based operation. - -- Corresponds to L1 parameter 'SRS-AssocCSIRS' (see 38.214, section 6.2.1) - associatedCSI-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond nonCodebook + associatedCSI-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook ... } }, - -- Indicates if the SRS resource set is used for beam management vs. used for either codebook based or non-codebook based transmission. - -- Corresponds to L1 parameter 'SRS-SetUse' (see 38.214, section 6.2.1) - -- FFS_CHECK: Isn't codebook/noncodebook already known from the ulTxConfig in the SRS-Config? If so, isn't the only distinction - -- in the set between BeamManagement, AtennaSwitching and "Other”? Or what happens if SRS-Config=Codebook but a Set=NonCodebook? usage ENUMERATED {beamManagement, codebook, nonCodebook, antennaSwitching}, - - -- alpha value for SRS power control. Corresponds to L1 parameter 'alpha-srs' (see 38.213, section 7.3) - -- When the field is absent the UE applies the value 1 - alpha Alpha OPTIONAL, -- Need S - -- P0 value for SRS power control. The value is in dBm. Only even values (step size 2) are allowed. - -- Corresponds to L1 parameter 'p0-srs' (see 38.213, section 7.3) - p0 INTEGER (-202..24) OPTIONAL, -- Cond Setup - -- A reference signal (e.g. a CSI-RS config or a SSblock) to be used for SRS path loss estimation. - -- Corresponds to L1 parameter 'srs-pathlossReference-rs-config' (see 38.213, section 7.3) + alpha Alpha OPTIONAL, -- Need S + p0 INTEGER (-202..24) OPTIONAL, -- Cond Setup pathlossReferenceRS CHOICE { ssb-Index SSB-Index, csi-RS-Index NZP-CSI-RS-ResourceId - } OPTIONAL, -- Need M - -- Indicates whether hsrs,c(i) = fc(i,1) or hsrs,c(i) = fc(i,2) (if twoPUSCH-PC-AdjustmentStates are configured) - -- or serarate close loop is configured for SRS. This parameter is applicable only for Uls on which UE also transmits PUSCH. - -- If absent or release, the UE applies the value sameAs-Fci1 - -- Corresponds to L1 parameter 'srs-pcadjustment-state-config' (see 38.213, section 7.3) - srs-PowerControlAdjustmentStates ENUMERATED { sameAsFci2, separateClosedLoop} OPTIONAL, -- Need S + } OPTIONAL, -- Need M + srs-PowerControlAdjustmentStates ENUMERATED { sameAsFci2, separateClosedLoop} OPTIONAL, -- Need S ... } @@ -4182,88 +2899,61 @@ SRS-ResourceSetId ::= INTEGER (0..maxNrofSRS-ResourceSets-1) SRS-Resource ::= SEQUENCE { srs-ResourceId SRS-ResourceId, nrofSRS-Ports ENUMERATED {port1, ports2, ports4}, - -- The PTRS port index for this SRS resource for non-codebook based UL MIMO. This is only applicable when the corresponding - -- PTRS-UplinkConfig is set to CP-OFDM. The ptrs-PortIndex configured here must be smaller than or equal to the maxNnrofPorts - -- configured in the PTRS-UplinkConfig. - -- Corresponds to L1 parameter 'UL-PTRS-SRS-mapping-non-CB' (see 38.214, section 6.1) - ptrs-PortIndex ENUMERATED {n0, n1 } OPTIONAL, -- Need R - -- Comb value (2 or 4) and comb offset (0..combValue-1). Corresponds to L1 parameter 'SRS-TransmissionComb' (see 38.214, section 6.2.1) + ptrs-PortIndex ENUMERATED {n0, n1 } OPTIONAL, -- Need R transmissionComb CHOICE { n2 SEQUENCE { combOffset-n2 INTEGER (0..1), - -- Cyclic shift configuration. Corresponds to L1 parameter 'SRS-CyclicShiftConfig' (see 38.214, section 6.2.1) cyclicShift-n2 INTEGER (0..7) }, n4 SEQUENCE { combOffset-n4 INTEGER (0..3), - -- Cyclic shift configuration. Corresponds to L1 parameter 'SRS-CyclicShiftConfig' (see 38.214, section 6.2.1) cyclicShift-n4 INTEGER (0..11) } }, - -- OFDM symbol location of the SRS resource within a slot including number of OFDM symbols (N = 1, 2 or 4 per SRS resource), - -- startPosition (SRSSymbolStartPosition = 0..5; "0" refers to the last symbol, "1" refers to the second last symbol) and - -- RepetitionFactor (r = 1, 2 or 4). - -- Corresponds to L1 parameter 'SRS-ResourceMapping' (see 38.214, section 6.2.1 and 38.211, section 6.4.1.4). - -- FFS: Apparently, RAN1 considers replacing these three fields by a table in RAN1 specs and a corresponding index in ASN.1?! resourceMapping SEQUENCE { startPosition INTEGER (0..5), nrofSymbols ENUMERATED {n1, n2, n4}, repetitionFactor ENUMERATED {n1, n2, n4} }, - -- Parameter(s) defining frequency domain position and configurable shift to align SRS allocation to 4 PRB grid. - -- Corresponds to L1 parameter 'SRS-FreqDomainPosition' (see 38.214, section 6.2.1) freqDomainPosition INTEGER (0..67), freqDomainShift INTEGER (0..268), - -- Includes parameters capturing SRS frequency hopping - -- Corresponds to L1 parameter 'SRS-FreqHopping' (see 38.214, section 6.2.1) freqHopping SEQUENCE { c-SRS INTEGER (0..63), b-SRS INTEGER (0..3), b-hop INTEGER (0..3) }, - -- Parameter(s) for configuring group or sequence hopping - -- Corresponds to L1 parameter 'SRS-GroupSequenceHopping' (see 38.211, section FFS_Section) groupOrSequenceHopping ENUMERATED { neither, groupHopping, sequenceHopping }, - -- Time domain behavior of SRS resource configuration. - -- Corresponds to L1 parameter 'SRS-ResourceConfigType' (see 38.214, section 6.2.1). - -- For codebook based uplink transmission, the network configures SRS resources in the same resource set with the same - -- time domain behavior on periodic, aperiodic and semi-persistent SRS. - -- FFS: Add configuration parameters for the different SRS resource types? resourceType CHOICE { aperiodic SEQUENCE { ... }, semi-persistent SEQUENCE { - -- Periodicity and slot offset for for this SRS resource. All values in "number of slots". - -- sl1 corresponds to a periodicity of 1 slot, value sl2 corresponds to a periodicity of 2 slots, and so on. - -- For each periodicity the corresponding offset is given in number of slots. For periodicity sl1 the offset is 0 slots. - -- Corresponds to L1 parameter 'SRS-SlotConfig' (see 38.214, section 6.2.1) periodicityAndOffset-sp SRS-PeriodicityAndOffset, ... }, periodic SEQUENCE { - -- Periodicity and slot offset for for this SRS resource. All values in "number of slots" - -- sl1 corresponds to a periodicity of 1 slot, value sl2 corresponds to a periodicity of 2 slots, and so on. - -- For each periodicity the corresponding offset is given in number of slots. For periodicity sl1 the offset is 0 slots. - -- Corresponds to L1 parameter 'SRS-SlotConfig' (see 38.214, section 6.2.1) periodicityAndOffset-p SRS-PeriodicityAndOffset, ... } }, - -- Sequence ID used to initialize psedo random group and sequence hopping. - -- Corresponds to L1 parameter 'SRS-SequenceId' (see 38.214, section 6.2.1) sequenceId BIT STRING (SIZE (10)), - - -- Configuration of the spatial relation between a reference RS and the target SRS. Reference RS can be SSB/CSI-RS/SRS - -- Corresponds to L1 parameter 'SRS-SpatialRelationInfo' (see 38.214, section 6.2.1) - spatialRelationInfo CHOICE { - ssb-Index SSB-Index, - csi-RS-Index NZP-CSI-RS-ResourceId, - srs SRS-ResourceId - } OPTIONAL, -- Need R + spatialRelationInfo SRS-SpatialRelationInfo OPTIONAL, -- Need R ... } +SRS-SpatialRelationInfo ::= SEQUENCE { + servingCellId ServCellIndex OPTIONAL, -- Need S + referenceSignal CHOICE { + ssb-Index SSB-Index, + csi-RS-Index NZP-CSI-RS-ResourceId, + srs SEQUENCE { + resourceId SRS-ResourceId, + uplinkBWP BWP-Id + } + } +} + + SRS-ResourceId ::= INTEGER (0..maxNrofSRS-Resources-1) SRS-PeriodicityAndOffset ::= CHOICE { @@ -4288,162 +2978,124 @@ SRS-PeriodicityAndOffset ::= CHOICE { -- TAG-SRS-CONFIG-STOP -- TAG-SRS-CARRIERSWITCHING-START -SRS-CarrierSwitching ::= SEQUENCE { - - -- Indicates the serving cell whose UL transmission may be interrupted during SRS transmission on a PUSCH-less cell. - -- During SRS transmission on a PUSCH-less cell, the UE may temporarily suspend the UL transmission on a serving cell with PUSCH - -- in the same CG to allow the PUSCH-less cell to transmit SRS. (see 38.214, section 6.2.1.3) - srs-SwitchFromServCellIndex INTEGER (0..31) OPTIONAL, -- Cond Setup - - -- Network configures the UE with either typeA-SRS-TPC-PDCCH-Group or typeB-SRS-TPC-PDCCH-Group, if any. +SRS-CarrierSwitching ::= SEQUENCE { + srs-SwitchFromServCellIndex INTEGER (0..31) OPTIONAL, -- Cond Setup + srs-SwitchFromCarrier ENUMERATED {sUL, nUL}, srs-TPC-PDCCH-Group CHOICE { - -- Type A trigger configuration for SRS transmission on a PUSCH-less SCell. - -- Corresponds to L1 parameter 'typeA-SRS-TPC-PDCCH-Group' (see 38.212, 38.213, section 7.3.1, 11.3) typeA SEQUENCE (SIZE (1..32)) OF SRS-TPC-PDCCH-Config, - -- Type B trigger configuration for SRS transmission on a PUSCH-less SCell. - -- Corresponds to L1 parameter 'typeB-SRS-TPC-PDCCH-Config' (see 38.212, 38.213, section 7.3.1, 11.3) typeB SRS-TPC-PDCCH-Config } OPTIONAL, -- Cond Setup - - -- Maps a specific cell to a given SFI value within the DCI message - -- Corresponds to L1 parameter 'SRS-cell-to-SFI' (see 38.212, 38.213, section 7.3.1, 11.3) - srs-CellToSFI SEQUENCE (SIZE (1..maxNrofServingCells)) OF SlotFormatCombinationsPerCell OPTIONAL, -- Cond Setup - - -- A set of serving cells for monitoring PDCCH conveying SRS DCI format with CRC scrambled by TPC-SRS-RNTI - -- Corresponds to L1 parameter 'SRS-monitoring-cells' (see 38.212, 38.213, section 7.3.1, 11.3) - monitoringCells SEQUENCE (SIZE (1..maxNrofServingCells)) OF ServCellIndex OPTIONAL, -- Cond Setup + monitoringCells SEQUENCE (SIZE (1..maxNrofServingCells)) OF ServCellIndex OPTIONAL, -- Cond Setup ... } -- One trigger configuration for SRS-Carrier Switching. (see 38.212, 38.213, section 7.3.1, 11.3) -SRS-TPC-PDCCH-Config ::= SEQUENCE { - -- The starting bit position of a block within the group DCI with SRS request fields (optional) and TPC commands - -- for a PUSCH-less SCell. (see 38.212, 38.213, section 7.3.1, 11.3) - startingBitOfFormat2-3 INTEGER (1..31) OPTIONAL, -- Cond Setup - -- The type of a field within the group DCI with SRS request fields (optional) for a PUSCH-less SCell, - -- which indicates how many bits in the field are for SRS request (0 or 1/2). - -- Note that for Type A, there is a common SRS request field for all SCells in the set, but each SCell has its - -- own TPC command bits. See TS 38.212. Network configures this field with the same value for all PUSCH-less SCells. - -- (see 38.212, 38.213, section 7.3.1, 11.3) - fieldTypeFormat2-3 INTEGER (0..1) OPTIONAL, -- Cond Setup - -- A list of paris of [cc-SetIndex; cc-IndexInOneCC-Set] (see 38.212, 38.213, section 7.3.1, 11.3) - -- FFS: Improve description. What is a "CC"? Where is a CC-Set defined? ... - srs-CC-SetIndexlist SEQUENCE (SIZE(1..4)) OF SRS-CC-SetIndex OPTIONAL -- Cond Setup +SRS-TPC-PDCCH-Config ::= SEQUENCE { + srs-CC-SetIndexlist SEQUENCE (SIZE(1..4)) OF SRS-CC-SetIndex OPTIONAL -- Cond Setup } -SRS-CC-SetIndex ::= SEQUENCE { - -- Indicates the CC set index for Type A associated (see 38.212, 38.213, section 7.3.1, 11.3) - cc-SetIndex INTEGER (0..3) OPTIONAL, -- Cond Setup - -- Indicates the CC index in one CC set for Type A (see 38.212, 38.213, section 7.3.1, 11.3) - cc-IndexInOneCC-Set INTEGER (0..7) OPTIONAL -- Cond Setup +SRS-CC-SetIndex ::= SEQUENCE { + cc-SetIndex INTEGER (0..3) OPTIONAL, -- Cond Setup + cc-IndexInOneCC-Set INTEGER (0..7) OPTIONAL -- Cond Setup } -- TAG-SRS-CARRIERSWITCHING-STOP +-- TAG-SRS-TPC-COMMANDCONFIG-START + +SRS-TPC-CommandConfig ::= SEQUENCE { + startingBitOfFormat2-3 INTEGER (1..31) OPTIONAL, -- Cond Setup + fieldTypeFormat2-3 INTEGER (0..1) OPTIONAL, -- Cond Setup + ... +} + +-- TAG-SRS-TPC-COMMANDCONFIG-STOP -- TAG-SSB-INDEX-START -SSB-Index ::= INTEGER (0..63) +SSB-Index ::= INTEGER (0..63) -- TAG-SSB-INDEX-STOP --- TAG-SUBCARRIER-SPACING-START +-- TAG-SSB-MTC-START + +SSB-MTC ::= SEQUENCE { + periodicityAndOffset CHOICE { + sf5 INTEGER (0..4), + sf10 INTEGER (0..9), + sf20 INTEGER (0..19), + sf40 INTEGER (0..39), + sf80 INTEGER (0..79), + sf160 INTEGER (0..159) + }, + duration ENUMERATED { sf1, sf2, sf3, sf4, sf5 } +} + +SSB-MTC2 ::= SEQUENCE { + pci-List SEQUENCE (SIZE (1..maxNrofPCIsPerSMTC)) OF PhysCellId OPTIONAL, -- Need M + periodicity ENUMERATED {sf5, sf10, sf20, sf40, sf80, spare3, spare2, spare1} +} --- The subcarrier spacing supported in NR. Restrictions applicable for certain frequencies, channels or signals are clarified --- in the fields that use this IE. -SubcarrierSpacing ::= ENUMERATED {kHz15, kHz30, kHz60, kHz120, kHz240, spare3, spare2, spare1} +-- TAG-SSB-MTC-STOP +-- TAG-SUBCARRIER-SPACING-START +SubcarrierSpacing ::= ENUMERATED {kHz15, kHz30, kHz60, kHz120, kHz240, spare3, spare2, spare1} -- TAG-SUBCARRIER-SPACING-STOP -- TAG-TCI-STATE-START -TCI-State ::= SEQUENCE { - tci-StateId TCI-StateId, - qcl-Type1 QCL-Info, - qcl-Type2 QCL-Info OPTIONAL, -- Need R - nrofPTRS-Ports ENUMERATED {n1, n2} OPTIONAL, -- Need R +TCI-State ::= SEQUENCE { + tci-StateId TCI-StateId, + qcl-Type1 QCL-Info, + qcl-Type2 QCL-Info OPTIONAL, -- Need R ... } -QCL-Info ::= SEQUENCE { - - -- The carrier which the RS is located in. If the field is absent, it applies to the serving cell in which the TCI-State is configured - cell ServCellIndex OPTIONAL, -- Need R - - -- The DL BWP which the RS is located in. - bwp-Id BWP-Id OPTIONAL, -- Cond CSI-RS-Indicated - -- Cond NZP-CSI-RS-Indicated: mandatory if csi-rs or csi-RS-for-tracking is included, absent otherwise - referenceSignal CHOICE { - csi-rs NZP-CSI-RS-ResourceId, - ssb SSB-Index, - -- A set of CSI-RS resources for tracking - csi-RS-for-tracking NZP-CSI-RS-ResourceSetId +QCL-Info ::= SEQUENCE { + cell ServCellIndex OPTIONAL, -- Need R + bwp-Id BWP-Id OPTIONAL, -- Cond CSI-RS-Indicated + referenceSignal CHOICE { + csi-rs NZP-CSI-RS-ResourceId, + ssb SSB-Index }, - qcl-Type ENUMERATED {typeA, typeB, typeC, typeD}, + qcl-Type ENUMERATED {typeA, typeB, typeC, typeD}, ... } -- TAG-TCI-STATE-STOP -- TAG-TCI-STATEID-START -TCI-StateId ::= INTEGER (0..maxNrofTCI-States-1) +TCI-StateId ::= INTEGER (0..maxNrofTCI-States-1) -- TAG-TCI-STATEID-STOP -- TAG-TDD-UL-DL-CONFIG-START TDD-UL-DL-ConfigCommon ::= SEQUENCE { - -- Reference SCS used to determine the time domain boundaries in the UL-DL pattern which must be common across all subcarrier specific - -- virtual carriers, i.e., independent of the actual subcarrier spacing using for data transmission. - -- Only the values 15 or 30 kHz (<6GHz), 60 or 120 kHz (>6GHz) are applicable. - -- Corresponds to L1 parameter 'reference-SCS' (see 38.211, section FFS_Section) - referenceSubcarrierSpacing SubcarrierSpacing OPTIONAL, - -- Periodicity of the DL-UL pattern. Corresponds to L1 parameter 'DL-UL-transmission-periodicity' (see 38.211, section FFS_Section) - dl-UL-TransmissionPeriodicity ENUMERATED {ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, ms5, ms10} OPTIONAL, - - -- Number of consecutive full DL slots at the beginning of each DL-UL pattern. - -- Corresponds to L1 parameter 'number-of-DL-slots' (see 38.211, Table 4.3.2-1) - nrofDownlinkSlots INTEGER (0..maxNrofSlots) OPTIONAL, - - -- Number of consecutive DL symbols in the beginning of the slot following the last full DL slot (as derived from nrofDownlinkSlots). - -- If the field is absent or released, there is no partial-downlink slot. - -- Corresponds to L1 parameter 'number-of-DL-symbols-common' (see 38.211, section FFS_Section). - nrofDownlinkSymbols INTEGER (0..maxNrofSymbols-1) OPTIONAL, -- Need R - - -- Number of consecutive full UL slots at the end of each DL-UL pattern. - -- Corresponds to L1 parameter 'number-of-UL-slots' (see 38.211, Table 4.3.2-1) - nrofUplinkSlots INTEGER (0..maxNrofSlots) OPTIONAL, + referenceSubcarrierSpacing SubcarrierSpacing, + pattern1 TDD-UL-DL-Pattern, + pattern2 TDD-UL-DL-Pattern OPTIONAL, -- Need R + ... +} - -- Number of consecutive UL symbols in the end of the slot preceding the first full UL slot (as derived from nrofUplinkSlots). - -- If the field is absent or released, there is no partial-uplink slot. - -- Corresponds to L1 parameter 'number-of-UL-symbols-common' (see 38.211, section FFS_Section) - nrofUplinkSymbols INTEGER (0..maxNrofSymbols-1) OPTIONAL -- Need R +TDD-UL-DL-Pattern ::= SEQUENCE { + dl-UL-TransmissionPeriodicity ENUMERATED {ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, ms5, ms10}, + nrofDownlinkSlots INTEGER (0..maxNrofSlots), + nrofDownlinkSymbols INTEGER (0..maxNrofSymbols-1), + nrofUplinkSlots INTEGER (0..maxNrofSlots), + nrofUplinkSymbols INTEGER (0..maxNrofSymbols-1), + ... } TDD-UL-DL-ConfigDedicated ::= SEQUENCE { - -- The slotSpecificConfiguration allows overriding UL/DL allocations provided in tdd-UL-DL-configurationCommon. - -- FFS_ASN1: Consider making this an AddMod/Release list - -- FFS_ASN1: Replace absolute numbers by variables... once RAN1 confirms. - -- FFS_CHECK: This list will grow very large if used for many slots. - slotSpecificConfigurationsToAddModList SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotConfig OPTIONAL, -- Need N - slotSpecificConfigurationsToreleaseList SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotIndex OPTIONAL -- Need N + slotSpecificConfigurationsToAddModList SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotConfig OPTIONAL, -- Need N + slotSpecificConfigurationsToreleaseList SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotIndex OPTIONAL, -- Need N + ... } TDD-UL-DL-SlotConfig ::= SEQUENCE { - -- Identifies a slot within a dl-UL-TransmissionPeriodicity (given in tdd-UL-DL-configurationCommon) slotIndex TDD-UL-DL-SlotIndex, - - -- The direction (downlink or uplink) for the symbols in this slot. "allDownlink" indicates that all symbols in this slot are used - -- for downlink; "allUplink" indicates that all symbols in this slot are used for uplink; "explicit" indicates explicitly how many symbols - -- in the beginning and end of this slot are allocated to downlink and uplink, respectively. symbols CHOICE { allDownlink NULL, allUplink NULL, explicit SEQUENCE { - -- Number of consecutive DL symbols in the beginning of the slot identified by slotIndex. - -- If the field is absent the UE assumes that there are no leading DL symbols. - -- Corresponds to L1 parameter 'number-of-DL-symbols-dedicated' (see 38.211, section FFS_Section) nrofDownlinkSymbols INTEGER (1..maxNrofSymbols-1) OPTIONAL, -- Need S - - -- Number of consecutive UL symbols in the end of the slot identified by slotIndex. - -- If the field is absent the UE assumes that there are no trailing UL symbols. - -- Corresponds to L1 parameter 'number-of-UL-symbols-dedicated' (see 38.211, section FFS_Section) nrofUplinkSymbols INTEGER (1..maxNrofSymbols-1) OPTIONAL -- Need S } } @@ -4458,33 +3110,32 @@ TimeToTrigger ::= ENUMERATED { ms320, ms480, ms512, ms640, ms1024, ms1280, ms2560, ms5120} --- TAG-ZP-CSI-RS-RESOURCE-START +-- TAG-UPLINK-CONFIG-COMMON-START -ZP-CSI-RS-Resource ::= SEQUENCE { - -- ZP CSI-RS resource configuration ID - -- Corresponds to L1 parameter 'ZP-CSI-RS-ResourceConfigId' (see 38.214, section 5.1.4.2) - zp-CSI-RS-ResourceId ZP-CSI-RS-ResourceId, - -- OFDM symbol and subcarrier occupancy of the ZP-CSI-RS resource within a slot - resourceMapping CSI-RS-ResourceMapping, - -- Periodicity and slot offset for periodic/semi-persistent ZP-CSI-RS - -- Corresponds to L1 parameter 'ZP-CSI-RS-timeConfig' (see 38.214, section 5.1.4.2) - periodicityAndOffset CSI-ResourcePeriodicityAndOffset OPTIONAL, --Cond PeriodicOrSemiPersistent +UplinkConfigCommon ::= SEQUENCE { + frequencyInfoUL FrequencyInfoUL OPTIONAL, -- Cond InterFreqHOAndServCellAddAndSIB1 + initialUplinkBWP BWP-UplinkCommon OPTIONAL, -- Cond ServCellAddAndSIB1 + timeAlignmentTimerCommon TimeAlignmentTimer +} +-- TAG-UPLINK-CONFIG-COMMON-STOP +-- TAG-ZP-CSI-RS-RESOURCE-START + +ZP-CSI-RS-Resource ::= SEQUENCE { + zp-CSI-RS-ResourceId ZP-CSI-RS-ResourceId, + resourceMapping CSI-RS-ResourceMapping, + periodicityAndOffset CSI-ResourcePeriodicityAndOffset OPTIONAL, --Cond PeriodicOrSemiPersistent ... } -ZP-CSI-RS-ResourceId ::= INTEGER (0..maxNrofZP-CSI-RS-Resources-1) +ZP-CSI-RS-ResourceId ::= INTEGER (0..maxNrofZP-CSI-RS-Resources-1) -- TAG-ZP-CSI-RS-RESOURCE-STOP -- TAG-ZP-CSI-RS-RESOURCESET-START -ZP-CSI-RS-ResourceSet ::= SEQUENCE { - zp-CSI-RS-ResourceSetId ZP-CSI-RS-ResourceSetId, - -- The list of ZP-CSI-RS-ResourceId identifying the ZP-CSI-RS-Resource elements belonging to this set. - zp-CSI-RS-ResourceIdList SEQUENCE (SIZE(1..maxNrofZP-CSI-RS-ResourcesPerSet)) OF ZP-CSI-RS-ResourceId, - -- Time domain behavior of ZP-CSI-RS resource configuration. - -- Corresponds to L1 parameter 'ZP-CSI-RS-ResourceConfigType' (see 38.214, section 5.1.4.2) - resourceType ENUMERATED {aperiodic, semiPersistent, periodic}, +ZP-CSI-RS-ResourceSet ::= SEQUENCE { + zp-CSI-RS-ResourceSetId ZP-CSI-RS-ResourceSetId, + zp-CSI-RS-ResourceIdList SEQUENCE (SIZE(1..maxNrofZP-CSI-RS-ResourcesPerSet)) OF ZP-CSI-RS-ResourceId, ... } @@ -4494,196 +3145,284 @@ ZP-CSI-RS-ResourceSet ::= SEQUENCE { ZP-CSI-RS-ResourceSetId ::= INTEGER (0..maxNrofZP-CSI-RS-ResourceSets-1) -- TAG-ZP-CSI-RS-RESOURCESETID-STOP +-- TAG-ACCESSSTRATUMRELEASE-START + +AccessStratumRelease ::= ENUMERATED { + rel15, spare7, spare6, spare5, spare4, spare3, spare2, spare1, ... } + +-- TAG-ACCESSSTRATUMRELEASE-STOP -- TAG-BANDCOMBINATIONLIST-START -BandCombinationList ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination +BandCombinationList ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination + +BandCombination ::= SEQUENCE { + bandList SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParameters, + featureSetCombination FeatureSetCombinationId, -BandCombination ::= SEQUENCE { - bandAndDL-ParametersList BandAndDL-ParametersList, - bandCombinationsUL BIT STRING (SIZE (1.. maxBandComb)), - bandCombinationParametersList SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationParameters OPTIONAL + ca-ParametersEUTRA CA-ParametersEUTRA OPTIONAL, + ca-ParametersNR CA-ParametersNR OPTIONAL, + mrdc-Parameters MRDC-Parameters OPTIONAL, + supportedBandwidthCombinationSet BIT STRING (SIZE (1..32)) OPTIONAL } -BandAndDL-ParametersList ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandAndDL-Parameters -BandAndDL-Parameters ::= CHOICE { - bandAndDL-ParametersEUTRA BandAndDL-ParametersEUTRA, - bandAndDL-ParametersNR BandAndDL-ParametersNR -} -BandCombinationParameters ::= SEQUENCE { - ca-ParametersNR CA-ParametersNR OPTIONAL, - mrdc-Parameters MRDC-Parameters OPTIONAL -} -CA-ParametersNR ::= SEQUENCE { - multipleTimingAdvances ENUMERATED {supported} OPTIONAL, --- R4 2-5: Simultaneous reception and transmission for inter band CA (TDD-TDD or TDD-FDD) - simultaneousRxTxInterBandCA ENUMERATED {supported} OPTIONAL, --- BCS related to R4 2-1 and Updated CA BW class in R4-1803374 - supportedBandwidthCombinationSet BIT STRING (SIZE (1..32)) OPTIONAL +BandParameters ::= CHOICE { + eutra SEQUENCE { + bandEUTRA FreqBandIndicatorEUTRA, + ca-BandwidthClassDL-EUTRA CA-BandwidthClassEUTRA OPTIONAL, + ca-BandwidthClassUL-EUTRA CA-BandwidthClassEUTRA OPTIONAL + }, + nr SEQUENCE { + bandNR FreqBandIndicatorNR, + ca-BandwidthClassDL-NR CA-BandwidthClassNR OPTIONAL, + ca-BandwidthClassUL-NR CA-BandwidthClassNR OPTIONAL + } } -MRDC-Parameters ::= SEQUENCE { - singleUL-Transmission ENUMERATED {supported} OPTIONAL, --- R4 1-10: Support of EN-DC with LTE-NR coexistence in UL sharing from UE perspective - ul-SharingEUTRA-NR ENUMERATED {supported} OPTIONAL, --- R4 1-11: Switching time between LTE UL and NR UL for EN-DC with LTE-NR coexistence in UL sharing from UE perspective - ul-SwitchingTimeEUTRA-NR ENUMERATED {type1, type2} OPTIONAL, --- R4 2-4: Simultaneous reception and transmission for inter-band EN-DC (TDD-TDD or TDD-FDD) - simultaneousRxTxInterBandENDC ENUMERATED {supported} OPTIONAL, --- R4 2-6: Asynchronous FDD-FDD intra-band EN-DC - asyncIntraBandENDC ENUMERATED {supported} OPTIONAL, - basebandProcesingCombinationMRDC BasebandProcessingCombinationMRDC -} -BandAndDL-ParametersEUTRA ::= SEQUENCE { - bandEUTRA FreqBandIndicatorEUTRA, - ca-BandwidthClassDL-EUTRA CA-BandwidthClassEUTRA OPTIONAL, - intraBandContiguousCC-InfoDL-EUTRA-List SEQUENCE (SIZE (1.. maxNrofServingCellsEUTRA)) OF IntraBandContiguousCC-InfoDL-EUTRA OPTIONAL -} +-- TAG-BANDCOMBINATIONLIST-STOP +-- TAG-CA-BANDWIDTHCLASSNR-START -BandAndDL-ParametersNR ::= SEQUENCE { - bandNR FreqBandIndicatorNR, - ca-BandwidthClassDL CA-BandwidthClassNR OPTIONAL, --- R4 2-3: Non-contiguous intra-band CA frequency separation class for FR2 as in the RAN4 LS R4-1803363 - intraBandFreqSeparationDL FreqSeparationClass OPTIONAL, - intraBandContiguousCC-InfoDL-List SEQUENCE (SIZE (1.. maxNrofServingCells)) OF IntraBandContiguousCC-InfoDL OPTIONAL -} +CA-BandwidthClassNR ::= ENUMERATED {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, ...} -IntraBandContiguousCC-InfoDL ::= SEQUENCE { --- Related to RAN4 LS R2-1804078 - maxNumberMIMO-LayersPDSCH MIMO-LayersDL OPTIONAL +-- TAG-CA-BANDWIDTHCLASSNR-STOP +-- TAG-CA-BANDWIDTHCLASSEUTRA-START + +CA-BandwidthClassEUTRA ::= ENUMERATED {a, b, c, d, e, f, ...} + +-- TAG-CA-BANDWIDTHCLASSEUTRA-STOP +-- TAG-CA-PARAMETERSNR-START + +CA-ParametersNR ::= SEQUENCE { + multipleTimingAdvances ENUMERATED {supported} OPTIONAL, + parallelTxSRS-PUCCH-PUSCH ENUMERATED {supported} OPTIONAL, + parallelTxPRACH-SRS-PUCCH-PUSCH ENUMERATED {supported} OPTIONAL, + simultaneousRxTxInterBandCA ENUMERATED {supported} OPTIONAL, + simultaneousRxTxSUL ENUMERATED {supported} OPTIONAL, + diffNumerologyAcrossPUCCH-Group ENUMERATED {supported} OPTIONAL, + diffNumerologyWithinPUCCH-Group ENUMERATED {supported} OPTIONAL, + supportedNumberTAG ENUMERATED {n2, n3, n4} OPTIONAL, + ... } -IntraBandContiguousCC-InfoDL-EUTRA ::= SEQUENCE { --- Related to RAN4 LS R2-1804078 - mimo-CapabilityDL ENUMERATED {twoLayers, fourLayers, eightLayers} OPTIONAL +-- TAG-CA-PARAMETERSNR-STOP +-- TAG-CA-PARAMETERSEUTRA-START + +CA-ParametersEUTRA ::= SEQUENCE { + multipleTimingAdvance ENUMERATED {supported} OPTIONAL, + simultaneousRx-Tx ENUMERATED {supported} OPTIONAL, + supportedNAICS-2CRS-AP BIT STRING (SIZE (1..8)) OPTIONAL, + additionalRx-Tx-PerformanceReq ENUMERATED {supported} OPTIONAL, + ue-CA-PowerClass-N ENUMERATED {class2} OPTIONAL, + ... } --- TAG-BANDCOMBINATIONLIST-STOP --- TAG-BANDCOMBINATIONPARAMETERSULLIST-START +-- TAG-CA-PARAMETERSEUTRA-STOP +-- TAG-FEATURESETCOMBINATION-START -BandCombinationParametersUL-List ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationParametersUL +FeatureSetCombination ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF FeatureSetsPerBand -BandCombinationParametersUL ::= SEQUENCE (SIZE (1.. maxSimultaneousBands)) OF BandParametersUL +FeatureSetsPerBand ::= SEQUENCE (SIZE (1..maxFeatureSetsPerBand)) OF FeatureSet -BandParametersUL ::= CHOICE { - bandParametersUL-EUTRA BandParametersUL-EUTRA, - bandParametersUL-NR BandParametersUL-NR +FeatureSet ::= CHOICE { + eutra SEQUENCE { + downlinkSetEUTRA FeatureSetEUTRA-DownlinkId, + uplinkSetEUTRA FeatureSetEUTRA-UplinkId + }, + nr SEQUENCE { + downlinkSetNR FeatureSetDownlinkId, + uplinkSetNR FeatureSetUplinkId + } } -BandParametersUL-EUTRA ::= SEQUENCE { - ca-BandwidthClassUL-EUTRA CA-BandwidthClassEUTRA OPTIONAL, - intraBandContiguousCC-InfoUL-EUTRA-List SEQUENCE (SIZE (1.. maxNrofServingCellsEUTRA)) OF IntraBandContiguousCC-InfoUL-EUTRA OPTIONAL +-- TAG-FEATURESET-COMBINATION-ID-START + +FeatureSetCombinationId ::= INTEGER (0.. maxFeatureSetCombinations) + +-- TAG-FEATURESET-COMBINATION-ID-STOP +-- TAG-FEATURESETDOWNLINK-START + +FeatureSetDownlink ::= SEQUENCE { + featureSetListPerDownlinkCC SEQUENCE (SIZE (1..maxNrofServingCells)) OF FeatureSetDownlinkPerCC-Id, + + intraBandFreqSeparationDL FreqSeparationClass OPTIONAL, + scalingFactor ENUMERATED {f0p4, f0p75, f0p8} OPTIONAL, + crossCarrierSchedulingDL-OtherSCS ENUMERATED {supported} OPTIONAL, + scellWithoutSSB ENUMERATED {supported} OPTIONAL, + csi-RS-MeasSCellWithoutSSB ENUMERATED {supported} OPTIONAL, + srs-AssocCSI-RS ENUMERATED {supported} OPTIONAL, + type1-3-CSS ENUMERATED {supported} OPTIONAL, + pdcchMonitoringAnyOccasions ENUMERATED {withoutDCI-Gap, withDCI-Gap} OPTIONAL, + pdcchMonitoringAnyOccasionsWithSpanGap ENUMERATED {supported} OPTIONAL, + ue-SpecificUL-DL-Assignment ENUMERATED {supported} OPTIONAL, + searchSpaceSharingCA-DL ENUMERATED {supported} OPTIONAL, + timeDurationForQCL SEQUENCE { + scs-60kHz ENUMERATED {s7, s14, s28} OPTIONAL, + sch-120kHz ENUMERATED {s14, s28} OPTIONAL + } OPTIONAL, + pdsch-DifferentTB-PerSlot SEQUENCE { + scs-15kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL, + scs-30kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL, + scs-60kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL, + scs-120kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL + } OPTIONAL, + csi-RS-IM-ReceptionForFeedback CSI-RS-IM-ReceptionForFeedback OPTIONAL, + typeI-SinglePanelCodebookList SEQUENCE (SIZE (1.. maxNrofCodebooks)) OF TypeI-SinglePanelCodebook OPTIONAL, + typeI-MultiPanelCodebookList SEQUENCE (SIZE (1.. maxNrofCodebooks)) OF TypeI-MultiPanelCodebook OPTIONAL, + typeII-CodebookList SEQUENCE (SIZE (1.. maxNrofCodebooks)) OF TypeII-Codebook OPTIONAL, + typeII-CodebookPortSelectionList SEQUENCE (SIZE (1.. maxNrofCodebooks)) OF TypeII-CodebookPortSelection OPTIONAL + +} + +CSI-RS-IM-ReceptionForFeedback ::= SEQUENCE { + maxNumberNZP-CSI-RS-PerCC INTEGER (1..32), + maxNumberPortsAcrossNZP-CSI-RS-PerCC ENUMERATED {p2, p4, p8, p12, p16, p24, p32, p40, p48, p56, p64, p72, p80, + p88, p96, p104, p112, p120, p128, p136, p144, p152, p160, p168, + p176, p184, p192, p200, p208, p216, p224, p232, p240, p248, p256}, + maxNumberCS-IM-PerCC ENUMERATED {n1, n2, n4, n8, n16, n32}, + maxNumberSimultaneousCSI-RS-ActBWP-AllCC ENUMERATED {n5, n6, n7, n8, n9, n10, n12, n14, n16, n18, n20, n22, n24, n26, + n28, n30, n32, n34, n36, n38, n40, n42, n44, n46, n48, n50, n52, + n54, n56, n58, n60, n62, n64}, + totalNumberPortsSimultaneousCSI-RS-ActBWP-AllCC ENUMERATED {p8, p12, p16, p24, p32, p40, p48, p56, p64, p72, p80, + p88, p96, p104, p112, p120, p128, p136, p144, p152, p160, p168, + p176, p184, p192, p200, p208, p216, p224, p232, p240, p248, p256} +} + +TypeI-SinglePanelCodebook ::= SEQUENCE { + maxNumberTxPortsPerResource ENUMERATED {p2, p4, p8, p12, p16, p24, p32}, + maxNumberResources INTEGER (1..64), + totalNumberTxPorts INTEGER (2..256), + supportedCodebookMode ENUMERATED {mode1, mode1AndMode2}, + maxNumberCSI-RS-PerResourceSet INTEGER (1..8) +} + +TypeI-MultiPanelCodebook ::= SEQUENCE { + maxNumberTxPortsPerResource ENUMERATED {p8, p16, p32}, + maxNumberResources INTEGER (1..64), + totalNumberTxPorts INTEGER (2..256), + supportedCodebookMode ENUMERATED {mode1, mode2, both}, + supportedNumberPanels ENUMERATED {n2, n4}, + maxNumberCSI-RS-PerResourceSet INTEGER (1..8) +} + +TypeII-Codebook ::= SEQUENCE { + maxNumberTxPortsPerResource ENUMERATED {p4, p8, p12, p16, p24, p32}, + maxNumberResources INTEGER (1..64), + totalNumberTxPorts INTEGER (2..256), + parameterLx INTEGER (2..4), + amplitudeScalingType ENUMERATED {wideband, widebandAndSubband}, + amplitudeSubsetRestriction ENUMERATED {supported} OPTIONAL, + maxNumberCSI-RS-PerResourceSet INTEGER (1..8) +} + +TypeII-CodebookPortSelection ::= SEQUENCE { + maxNumberTxPortsPerResource ENUMERATED {p4, p8, p12, p16, p24, p32}, + maxNumberResources INTEGER (1..64), + totalNumberTxPorts INTEGER (2..256), + parameterLx INTEGER (2..4), + amplitudeScalingType ENUMERATED {wideband, widebandAndSubband}, + maxNumberCSI-RS-PerResourceSet INTEGER (1..8) +} + +-- TAG-FEATURESETDOWNLINK-STOP +-- TAG-FEATURESET-DOWNLINK-ID-START + +FeatureSetDownlinkId ::= INTEGER (0..maxDownlinkFeatureSets) + +-- TAG-FEATURESET-DOWNLINK-ID-STOP +-- TAG-FEATURESET-EUTRA-DOWNLINK-ID-START + +FeatureSetEUTRA-DownlinkId ::= INTEGER (0..maxEUTRA-DL-FeatureSets) + +-- TAG-FEATURESET-EUTRA-DOWNLINK-ID-STOP +-- TAG-FEATURESETDOWNLINKPERCC-START + +FeatureSetDownlinkPerCC ::= SEQUENCE { + supportedSubcarrierSpacingDL SubcarrierSpacing, + supportedBandwidthDL SupportedBandwidth, + channelBW-90mhz ENUMERATED {supported} OPTIONAL, + maxNumberMIMO-LayersPDSCH MIMO-LayersDL OPTIONAL, + supportedModulationOrderDL ModulationOrder OPTIONAL +} + +-- TAG-FEATURESETDOWNLINKPERCC-STOP +-- TAG-FEATURESET-DOWNLINK-PER-CC-ID-START + +FeatureSetDownlinkPerCC-Id ::= INTEGER (1..maxPerCC-FeatureSets) + +-- TAG-FEATURESET-DOWNLINK-PER-CC-ID-STOP +-- TAG-FEATURESETUPLINK-START + +FeatureSetUplink ::= SEQUENCE { + featureSetListPerUplinkCC SEQUENCE (SIZE (1.. maxNrofServingCells)) OF FeatureSetUplinkPerCC-Id, + scalingFactor ENUMERATED {f0p4, f0p75, f0p8} OPTIONAL, + crossCarrierSchedulingUL-OtherSCS ENUMERATED {supported} OPTIONAL, + intraBandFreqSeparationUL FreqSeparationClass OPTIONAL, + searchSpaceSharingCA-UL ENUMERATED {supported} OPTIONAL, + srs-TxSwitch SRS-TxSwitch OPTIONAL, + supportedSRS-Resources SRS-Resources OPTIONAL, + twoPUCCH-Group ENUMERATED {supported} OPTIONAL, + dynamicSwitchSUL ENUMERATED {supported} OPTIONAL, + pusch-DifferentTB-PerSlot SEQUENCE { + scs-15kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL, + scs-30kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL, + scs-60kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL, + scs-120kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL + } OPTIONAL, + csi-ReportFramework CSI-ReportFramework OPTIONAL } -BandParametersUL-NR ::= SEQUENCE { - ca-BandwidthClassUL CA-BandwidthClassNR OPTIONAL, --- R4 2-3: Non-contiguous intra-band CA frequency separation class for FR2 as in the RAN4 LS R4-1803363 - intraBandFreqSeparationUL FreqSeparationClass OPTIONAL, - intraBandContiguousCC-InfoUL-List SEQUENCE (SIZE (1.. maxNrofServingCells)) OF IntraBandContiguousCC-InfoUL OPTIONAL -} -IntraBandContiguousCC-InfoUL ::= SEQUENCE { --- Related to RAN4 LS R2-1804078 - maxNumberMIMO-LayersCB-PUSCH MIMO-LayersUL OPTIONAL, - maxNumberMIMO-LayersNonCB-PUSCH MIMO-LayersUL OPTIONAL +CSI-ReportFramework ::= SEQUENCE { + maxNumberPeriodicCSI-ReportPerBWP INTEGER (1..4), + maxNumberAperiodicCSI-ReportPerBWP INTEGER (1..4), + maxNumberSemiPersistentCSI-ReportPerBWP INTEGER (0..4), + simultaneousCSI-ReportsAllCC INTEGER (5..32) } -IntraBandContiguousCC-InfoUL-EUTRA ::= SEQUENCE { --- Related to RAN4 LS R2-1804078 - mimo-CapabilityUL ENUMERATED {twoLayers, fourLayers} OPTIONAL -} +-- TAG- FEATURESETUPLINK-STOP +-- TAG-FEATURESET-UPLINK-ID-START + +FeatureSetUplinkId ::= INTEGER (0..maxUplinkFeatureSets) --- TAG-BANDCOMBINATIONPARAMETERSULLIST-STOP --- TAG-BASEBANDCOMBINATIONPARAMETERSULLIST-START +-- TAG-FEATURESET-UPLINK-ID-STOP +-- TAG-FEATURESET-EUTRA-UPLINK-ID-START -BasebandCombinationParametersUL-List ::= SEQUENCE (SIZE (1..maxBasebandProcComb)) OF BasebandCombinationParametersUL +FeatureSetEUTRA-UplinkId ::= INTEGER (0..maxEUTRA-UL-FeatureSets) -BasebandCombinationParametersUL ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BasebandParametersPerBandUL +-- TAG-FEATURESET-EUTRA-UPLINK-ID-STOP +-- TAG-FEATURESETUPLINKPERCC-START -BasebandParametersPerBandUL ::= SEQUENCE { - ca-BandwidthClassUL CA-BandwidthClassNR, - freqRange ENUMERATED {fr1, fr2}, - basebandParametersPerCC-UL SEQUENCE (SIZE (1.. maxNrofServingCells)) OF BasebandParametersPerCC-UL +FeatureSetUplinkPerCC ::= SEQUENCE { + supportedSubcarrierSpacingUL SubcarrierSpacing, + supportedBandwidthUL SupportedBandwidth, + channelBW-90mhz ENUMERATED {supported} OPTIONAL, + mimo-CB-PUSCH SEQUENCE { + maxNumberMIMO-LayersCB-PUSCH MIMO-LayersUL OPTIONAL, + maxNumberSRS-ResourcePerSet INTEGER (1..2) + } OPTIONAL, + maxNumberMIMO-LayersNonCB-PUSCH MIMO-LayersUL OPTIONAL, + supportedModulationOrderUL ModulationOrder OPTIONAL, + simultaneousTxSUL-NonSUL ENUMERATED {supported} OPTIONAL } -BasebandParametersPerCC-UL ::= SEQUENCE { --- R4 2-2: Simultaneous reception or transmission with same or different numerologies in CA --- It is expressed by the combination of SCS whether simultaneous RxTx is supported or not. - supportedSubcarrierSpacingUL SubcarrierSpacing, --- Accoding to the RAN4 LS R4-1803563, maximum Bandwidth supported per CC is added in BPC --- FFS how to work together with BCS and max BW for each CC to be defined for each CA band combination in the RAN4 spec. - supportedBandwidthUL CHOICE { - fr1 ENUMERATED {mhz5, mhz10, mhz15, mhz20, mhz25, mhz30, mhz40, mhz50, mhz60, mhz80, mhz100}, - fr2 ENUMERATED {mhz50, mhz100, mhz200, mhz400} - }, - -- R2-1800012. To be confirmed by RAN1 - scalingFactor0dot75 ENUMERATED {supported} OPTIONAL, --- R1 2-14: Codebook based PUSCH MIMO transmission. Absence of this field implies that CB-based PUSCH is not supported. - maxNumberMIMO-LayersCB-PUSCH MIMO-LayersUL OPTIONAL, --- R1 2-15: Non-codebook based PUSCH MIMO transmission. Absence of this field implies that Non-CB-based PUSCH is not supported. - maxNumberMIMO-LayersNonCB-PUSCH MIMO-LayersUL OPTIONAL, --- Accoding to the RAN4 LS R4-1803563, modulation order is added per CC granularity in BPC --- FFS whether all of modulation order specified in the spec need to be signalled. --- FFS how to address the requirements agreed by RAN4, e.g. mandaotry w/o capabiltiy for 64QAM. mandaotry with capabiltiy for DL 256QAM in FR1. - supportedModulationOrderUL ModulationOrder OPTIONAL, --- R1 2-53: SRS resources - supportedSRS-Resources SRS-Resources OPTIONAL, --- R1 2-55: SRS Tx switch - srs-TxSwitch SRS-TxSwitch OPTIONAL, --- R1 2-57: Support low latency CSI feedback - lowLatencyCSI-Feedback ENUMERATED {supported} OPTIONAL, --- R1 5-12 & 5-12a: Up to 2/7 PUSCHs per slot for different TBs - pusch-DifferentTB-PerSlot SEQUENCE { - scs-15kHz ENUMERATED {upto2, upto7} OPTIONAL, - scs-30kHz ENUMERATED {upto2, upto7} OPTIONAL, - scs-60kHz ENUMERATED {upto2, upto7} OPTIONAL, - scs-120kHz ENUMERATED {upto2, upto7} OPTIONAL - } OPTIONAL, --- R1 6-7: Two PUCCH group - twoPUCCH-Group ENUMERATED {supported} OPTIONAL, --- R1 6-8: Different numerology across PUCCH groups - diffNumerologyAcrossPUCCH-Group ENUMERATED {supported} OPTIONAL, --- R1 6-9: Different numerologies across carriers within the same PUCCH group - diffNumerologyWithinPUCCH-Group ENUMERATED {supported} OPTIONAL, --- R1 6-10: Cross carrier scheduling - crossCarrierScheduling ENUMERATED {supported} OPTIONAL, --- R1 6-11: Number of supported TAGs - supportedNumberTAG ENUMERATED {n2, n3, n4} OPTIONAL, --- R1 6-18: Supplemental uplink with dynamic switch - dynamicSwitchSUL ENUMERATED {supported} OPTIONAL, --- R1 6-19: Simultaneous transmission of SRS on an SUL/non-SUL carrier and PUSCH/PUCCH/SRS/PRACH on the other UL carrier in the same cell --- Details on the channel/signal combination are to be described in TS 38.306 - simultaneousTxSUL-NonSUL ENUMERATED {supported} OPTIONAL, --- R1 6-22: UL search space sharing for CA - searchSpaceSharingCA-UL ENUMERATED {supported} OPTIONAL -} - --- TAG-BASEBANDCOMBINATIONPARAMETERSULLIST-STOP --- TAG-BASEBANDPROCESSINGCOMBINATIONMRDC-START - -BasebandProcessingCombinationMRDC ::= SEQUENCE (SIZE (1..maxBasebandProcComb)) OF BasebandProcessingCombinationLink - -BasebandProcessingCombinationLink ::= SEQUENCE { - basebandProcessingCombinationIndexMN BasebandProcessingCombinationIndex, - basebandProcessingCombinationLinkedIndexSN SEQUENCE (SIZE (1..maxBasebandProcComb)) OF BasebandProcessingCombinationIndex -} - -BasebandProcessingCombinationIndex ::= INTEGER (1..maxBasebandProcComb) - --- TAG-BASEBANDPROCESSINGCOMBINATIONMRDC-STOP --- TAG-CA-BANDWIDTHCLASSNR-START +-- TAG-FEATURESETUPLINKPERCC-STOP +-- TAG-FEATURESET-UPLINK-PER-CC-ID-START --- Updated based on R4-1803374 -CA-BandwidthClassNR ::= ENUMERATED {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, ...} +FeatureSetUplinkPerCC-Id ::= INTEGER (1..maxPerCC-FeatureSets) --- TAG-CA-BANDWIDTHCLASSNR-STOP --- TAG-CA-BANDWIDTHCLASSEUTRA-START +-- TAG-FEATURESET-UPLINK-PER-CC-ID-STOP +-- TAG-FEATURESETS-START -CA-BandwidthClassEUTRA ::= ENUMERATED {a, b, c, d, e, f, ...} +FeatureSets ::= SEQUENCE { + featureSetsDownlink SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink OPTIONAL, + featureSetsDownlinkPerCC SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetDownlinkPerCC OPTIONAL, + featureSetsUplink SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink OPTIONAL, + featureSetsUplinkPerCC SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetUplinkPerCC OPTIONAL, + ... +} --- TAG-CA-BANDWIDTHCLASSEUTRA-STOP -- TAG-FREQ-BAND-INDICATOR-EUTRA-START FreqBandIndicatorEUTRA ::= INTEGER (1..maxBandsEUTRA) @@ -4691,13 +3430,30 @@ FreqBandIndicatorEUTRA ::= INTEGER (1..maxBandsEUTRA) -- TAG-FREQ-BAND-INDICATOR-EUTRA-STOP -- TAG-FREQBANDLIST-START -FreqBandList ::= SEQUENCE (SIZE (1..maxBandsMRDC)) OF FreqBandInformation +FreqBandList ::= SEQUENCE (SIZE (1..maxBandsMRDC)) OF FreqBandInformation + +FreqBandInformation ::= CHOICE { + bandInformationEUTRA FreqBandInformationEUTRA, + bandInformationNR FreqBandInformationNR +} + +FreqBandInformationEUTRA ::= SEQUENCE { + bandEUTRA FreqBandIndicatorEUTRA, + ca-BandwidthClassDL-EUTRA CA-BandwidthClassEUTRA OPTIONAL, -- Need N + ca-BandwidthClassUL-EUTRA CA-BandwidthClassEUTRA OPTIONAL -- Need N +} -FreqBandInformation ::= CHOICE { - bandEUTRA FreqBandIndicatorEUTRA, - bandNR FreqBandIndicatorNR +FreqBandInformationNR ::= SEQUENCE { + bandNR FreqBandIndicatorNR, + maxBandwidthRequestedDL AggregatedBandwith OPTIONAL, -- Need N + maxBandwidthRequestedUL AggregatedBandwith OPTIONAL, -- Need N + maxCarriersRequestedDL INTEGER (1.. maxNrofServingCells) OPTIONAL, -- Need N + maxCarriersRequestedUL INTEGER (1.. maxNrofServingCells) OPTIONAL -- Need N } +AggregatedBandwith ::= ENUMERATED {mhz50, mhz100, mhz150, mhz200, mhz250, mhz300, mhz350, + mhz400, mhz450, mhz500, mhz550, mhz600, mhz650, mhz700, mhz750, mhz800} + -- TAG-FREQBANDLIST-STOP -- TAG-FREQSEPARATIONCLASS-START @@ -4716,77 +3472,36 @@ MIMO-LayersUL ::= ENUMERATED {oneLayer, twoLayers, fourLayers} ModulationOrder ::= ENUMERATED {bpsk-halfpi, bpsk, qpsk, qam16, qam64, qam256} -- TAG-MODULATION-ORDER-STOP +-- TAG-MRDC-PARAMETERS-START + +MRDC-Parameters ::= SEQUENCE { + singleUL-Transmission ENUMERATED {supported} OPTIONAL, + dynamicPowerSharing ENUMERATED {supported} OPTIONAL, + tdm-Pattern ENUMERATED {supported} OPTIONAL, + ul-SharingEUTRA-NR ENUMERATED {tdm, fdm, both} OPTIONAL, + ul-SwitchingTimeEUTRA-NR ENUMERATED {type1, type2} OPTIONAL, + simultaneousRxTxInterBandENDC ENUMERATED {supported} OPTIONAL, + asyncIntraBandENDC ENUMERATED {supported} OPTIONAL, + ... +} + +-- TAG-MRDC-PARAMETERS-STOP -- TAG-RAT-TYPE-START RAT-Type ::= ENUMERATED {nr, eutra-nr, spare2, spare1, ...} -- TAG-RAT-TYPE-STOP --- TAG-SUPPORTEDBASEBANDPROCESSINGCOMBINATION-START - -SupportedBasebandProcessingCombination ::= SEQUENCE (SIZE (1..maxBasebandProcComb)) OF BasebandProcessingCombination +-- TAG-SUPPORTEDBANDWIDTH-START -BasebandProcessingCombination ::= SEQUENCE { - basebandParametersDL SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BasebandParametersPerBandDL, - basebandParametersUL BIT STRING (SIZE (1..maxBasebandProcComb))} - -BasebandParametersPerBandDL ::= SEQUENCE { - ca-BandwidthClassDL CA-BandwidthClassNR, - freqRange ENUMERATED {fr1, fr2}, - basebandParametersPerCC-DL SEQUENCE (SIZE (1.. maxNrofServingCells)) OF BasebandParametersPerCC-DL +SupportedBandwidth ::= CHOICE { + fr1 ENUMERATED {mhz5, mhz10, mhz15, mhz20, mhz25, mhz30, mhz40, mhz50, mhz60, mhz80, mhz100}, + fr2 ENUMERATED {mhz50, mhz100, mhz200, mhz400} } -BasebandParametersPerCC-DL ::= SEQUENCE { --- R4 2-2: Simultaneous reception or transmission with same or different numerologies in CA --- It is expressed by the combination of SCS whether simultaneous RxTx is supported or not. - supportedSubcarrierSpacingDL SubcarrierSpacing, --- Accoding to the RAN4 LS R4-1803563, maximum Bandwidth supported per CC is added in BPC --- FFS how to work together with BCS and max BW for each CC to be defined for each CA band combination in the RAN4 spec. - supportedBandwidthDL CHOICE { - fr1 ENUMERATED {mhz5, mhz10, mhz15, mhz20, mhz25, mhz30, mhz40, mhz50, mhz60, mhz80, mhz100}, - fr2 ENUMERATED {mhz50, mhz100, mhz200, mhz400} - }, --- R2-1800012. To be confirmed by RAN1 - scalingFactor0dot75 ENUMERATED {supported} OPTIONAL, --- R1 2-2: PDSCH beam switching - timeDurationForQCL SEQUENCE { - scs-60kHz ENUMERATED {s7, s14, s28} OPTIONAL, - sch-120kHz ENUMERATED {s14, s28} OPTIONAL - } OPTIONAL, --- R1 1-10: Support of SCell without SS/PBCH block - scellWithoutSSB ENUMERATED {supported} OPTIONAL, --- R1 1-11: Support of CSI-RS RRM measurement for SCell without SS/PBCH block - csi-RS-MeasSCellWithoutSSB ENUMERATED {supported} OPTIONAL, --- R1 2-3: PDSCH MIMO layers. Absence of this field implies support of one layer. - maxNumberMIMO-LayersPDSCH MIMO-LayersDL OPTIONAL, --- Accoding to the RAN4 LS R4-1803563, modulation order is added per CC granularity in BPC --- FFS whether all of modulation order specified in the spec need to be signalled. --- FFS how to address the requirements agreed by RAN4, e.g. mandaotry w/o capabiltiy for 64QAM. mandaotry with capabiltiy for DL 256QAM in FR1. - supportedModulationOrderDL ModulationOrder OPTIONAL, --- R1 2-15a: Association between CSI-RS and SRS - srs-AssocCSI-RS ENUMERATED {supported} OPTIONAL, --- R1 3-1a: For type 1 CSS with dedicated RRC configuration and for type 3 CSS, UE specific SS, CORESET resource allocation of 6RB bit-map and duration 3 OFDM symbols for FR2 - type1-3-CSS ENUMERATED {supported} OPTIONAL, --- R1 3-5 & 3-5a: For type 1 with dedicated RRC configuration, type 3, and UE-SS,, monitoring occasion can be any OFDM symbol(s) of a slot for Case 2 (with a DCI gap) - pdcchMonitoringAnyOccasions ENUMERATED {withoutDCI-gap, withDCI-gap} OPTIONAL, --- R1 5-1a: UE specific RRC configure UL/DL assignment - ue-SpecificUL-DL-Assignment ENUMERATED {supported} OPTIONAL, --- R1 5-11 & 5-11a: Up to 2/7 unicast PDSCHs per slot for different TBs - pdsch-DifferentTB-PerSlot SEQUENCE { - scs-15kHz ENUMERATED {upto2, upto7} OPTIONAL, - scs-30kHz ENUMERATED {upto2, upto7} OPTIONAL, - scs-60kHz ENUMERATED {upto2, upto7} OPTIONAL, - scs-120kHz ENUMERATED {upto2, upto7} OPTIONAL - } OPTIONAL, --- R1 6-10: Cross carrier scheduling - crossCarrierScheduling ENUMERATED {supported} OPTIONAL, --- R1 6-21: DL search space sharing for CA - searchSpaceSharingCA-DL ENUMERATED {supported} OPTIONAL -} - --- TAG-SUPPORTEDBASEBANDPROCESSINGCOMBINATION-STOP +-- TAG-SUPPORTEDBANDWIDTH-STOP -- TAG-UE-CAPABILITY-RAT-CONTAINER-LIST-START -UE-CapabilityRAT-ContainerList ::=SEQUENCE (SIZE (0.. maxRAT-CapabilityContainers)) OF UE-CapabilityRAT-Container +UE-CapabilityRAT-ContainerList ::=SEQUENCE (SIZE (0..maxRAT-CapabilityContainers)) OF UE-CapabilityRAT-Container UE-CapabilityRAT-Container ::= SEQUENCE { rat-Type RAT-Type, @@ -4799,81 +3514,66 @@ UE-CapabilityRAT-Container ::= SEQUENCE { UE-MRDC-Capability ::= SEQUENCE { measParametersMRDC MeasParametersMRDC OPTIONAL, rf-ParametersMRDC RF-ParametersMRDC, - phy-ParametersMRDC Phy-ParametersMRDC OPTIONAL, generalParametersMRDC GeneralParametersMRDC-XDD-Diff OPTIONAL, fdd-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddXDD-Mode OPTIONAL, tdd-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddXDD-Mode OPTIONAL, fr1-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddFRX-Mode OPTIONAL, fr2-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddFRX-Mode OPTIONAL, + featureSetCombinations SEQUENCE (SIZE (1..maxFeatureSetCombinations)) OF FeatureSetCombination OPTIONAL, lateNonCriticalExtension OCTET STRING OPTIONAL, nonCriticalExtension SEQUENCE {} OPTIONAL } - UE-MRDC-CapabilityAddXDD-Mode ::= SEQUENCE { - phy-ParametersMRDC-XDD-Diff Phy-ParametersMRDC-XDD-Diff OPTIONAL, measParametersMRDC-XDD-Diff MeasParametersMRDC-XDD-Diff OPTIONAL, generalParametersMRDC-XDD-Diff GeneralParametersMRDC-XDD-Diff OPTIONAL } UE-MRDC-CapabilityAddFRX-Mode ::= SEQUENCE { - phy-ParametersMRDC-FRX-Diff Phy-ParametersMRDC-FRX-Diff OPTIONAL, measParametersMRDC-FRX-Diff MeasParametersMRDC-FRX-Diff } -RF-ParametersMRDC ::= SEQUENCE { - supportedBandCombination BandCombinationList, - bandCombinationParametersUL-List BandCombinationParametersUL-List +GeneralParametersMRDC-XDD-Diff ::= SEQUENCE { + splitSRB-WithOneUL-Path ENUMERATED {supported} OPTIONAL, + splitDRB-withUL-Both-MCG-SCG ENUMERATED {supported} OPTIONAL, + srb3 ENUMERATED {supported} OPTIONAL, + ... } -Phy-ParametersMRDC ::= SEQUENCE { - phy-ParametersMRDC-XDD-Diff Phy-ParametersMRDC-XDD-Diff OPTIONAL, - phy-ParametersMRDC-FRX-Diff Phy-ParametersMRDC-FRX-Diff OPTIONAL -} +-- TAG-UE-MRDC-CAPABILITY-STOP +-- TAG-RF-PARAMETERSMRDC-START -Phy-ParametersMRDC-XDD-Diff ::= SEQUENCE { --- R1 8-1: Dynamic power sharing for LTE-NR DC - dynamicPowerSharing ENUMERATED {supported} OPTIONAL, --- R1 6-13 & 8-2: Case 1 Single Tx UL LTE-NR DC - tdm-Pattern ENUMERATED {supported} OPTIONAL -} -Phy-ParametersMRDC-FRX-Diff ::= SEQUENCE { --- R1 8-1: Dynamic power sharing for LTE-NR DC - dynamicPowerSharing ENUMERATED {supported} OPTIONAL, --- R1 6-13 & 8-2: Case 1 Single Tx UL LTE-NR DC - tdm-Pattern ENUMERATED {supported} OPTIONAL +RF-ParametersMRDC ::= SEQUENCE { + supportedBandCombinationList BandCombinationList OPTIONAL, + appliedFreqBandListFilter FreqBandList OPTIONAL } +-- TAG-RF-PARAMETERSMRDC-STOP +-- TAG-MEASPARAMETERSMRDC-START + MeasParametersMRDC ::= SEQUENCE { - measParametersMRDC-Common MeasParametersMRDC-Common, + measParametersMRDC-Common MeasParametersMRDC-Common OPTIONAL, measParametersMRDC-XDD-Diff MeasParametersMRDC-XDD-Diff OPTIONAL, - measParametersMRDC-FRX-Diff MeasParametersMRDC-FRX-Diff + measParametersMRDC-FRX-Diff MeasParametersMRDC-FRX-Diff OPTIONAL } MeasParametersMRDC-Common ::= SEQUENCE { --- R4 3-1: Independent measurement gap configurations for FR1 and FR2 - independentGapConfig ENUMERATED {supported} OPTIONAL + independentGapConfig ENUMERATED {supported} OPTIONAL } MeasParametersMRDC-XDD-Diff ::= SEQUENCE { - sftd-MeasPSCell ENUMERATED {supported} OPTIONAL, - sftd-MeasNR-Cell ENUMERATED {supported} OPTIONAL + sftd-MeasPSCell ENUMERATED {supported} OPTIONAL, + sftd-MeasNR-Cell ENUMERATED {supported} OPTIONAL } MeasParametersMRDC-FRX-Diff ::= SEQUENCE { --- R4 3-2: Simultaneous reception of data and SS block with different numerologies when UE conducts the serving cell measurement or intra-frequency measurement simultaneousRxDataSSB-DiffNumerology ENUMERATED {supported} OPTIONAL } -GeneralParametersMRDC-XDD-Diff ::= SEQUENCE { - splitSRB-WithOneUL-Path ENUMERATED {supported} OPTIONAL, - splitDRB-withUL-Both-MCG-SCG ENUMERATED {supported} OPTIONAL, - srb3 ENUMERATED {supported} OPTIONAL -} - --- TAG-UE-MRDC-CAPABILITY-STOP +-- TAG-MEASPARAMETERSMRDC-STOP -- TAG-UE-NR-CAPABILITY-START UE-NR-Capability ::= SEQUENCE { + accessStratumRelease AccessStratumRelease, pdcp-Parameters PDCP-Parameters, rlc-Parameters RLC-Parameters OPTIONAL, mac-Parameters MAC-Parameters OPTIONAL, @@ -4884,6 +3584,9 @@ UE-NR-Capability ::= SEQUENCE { tdd-Add-UE-NR-Capabilities UE-NR-CapabilityAddXDD-Mode OPTIONAL, fr1-Add-UE-NR-Capabilities UE-NR-CapabilityAddFRX-Mode OPTIONAL, fr2-Add-UE-NR-Capabilities UE-NR-CapabilityAddFRX-Mode OPTIONAL, + featureSets FeatureSets OPTIONAL, + featureSetCombinations SEQUENCE (SIZE (1..maxFeatureSetCombinations)) OF FeatureSetCombination OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, nonCriticalExtension SEQUENCE {} OPTIONAL } @@ -4899,298 +3602,162 @@ UE-NR-CapabilityAddFRX-Mode ::= SEQUENCE { measParametersFRX-Diff MeasParametersFRX-Diff OPTIONAL } +-- TAG-UE-NR-CAPABILITY-STOP +-- TAG-PHY-PARAMETERS-START + Phy-Parameters ::= SEQUENCE { phy-ParametersCommon Phy-ParametersCommon OPTIONAL, phy-ParametersXDD-Diff Phy-ParametersXDD-Diff OPTIONAL, phy-ParametersFRX-Diff Phy-ParametersFRX-Diff OPTIONAL, phy-ParametersFR1 Phy-ParametersFR1 OPTIONAL, - phy-ParametersFR2 Phy-ParametersFR2 OPTIONAL, - supportedBasebandProcessingCombination SupportedBasebandProcessingCombination, - basebandCombinationParametersUL-List BasebandCombinationParametersUL-List + phy-ParametersFR2 Phy-ParametersFR2 OPTIONAL } Phy-ParametersCommon ::= SEQUENCE { --- R1 1-9: CSI-RS based CFRA for HO csi-RS-CFRA-ForHO ENUMERATED {supported} OPTIONAL, --- R1 2-11: Downlink dynamic PRB bundling (DL) dynamicPRB-BundlingDL ENUMERATED {supported} OPTIONAL, --- R1 2-32a: Semi-persistent CSI report on PUCCH sp-CSI-ReportPUCCH ENUMERATED {supported} OPTIONAL, --- R1 2-32b: Semi-persistent CSI report on PUSCH sp-CSI-ReportPUSCH ENUMERATED {supported} OPTIONAL, --- R1 2-34: NZP-CSI-RS based interference measurement nzp-CSI-RS-IntefMgmt ENUMERATED {supported} OPTIONAL, --- R1 2-42: Support Type II SP-CSI feedback on long PUCCH type2-SP-CSI-Feedback-LongPUCCH ENUMERATED {supported} OPTIONAL, --- R1 3-3: More than one CORESET per BWP (in addition to CORESET #0) - multipleCORESET ENUMERATED {supported} OPTIONAL, --- R1 3-6: Dynamic SFI monitoring and dynamic UL/DL determination - dynamicSFI ENUMERATED {supported} OPTIONAL, --- R1 3-7: Precoder-granularity of CORESET size precoderGranularityCORESET ENUMERATED {supported} OPTIONAL, --- R1 4-10: Dynamic HARQ-ACK codebook dynamicHARQ-ACK-Codebook ENUMERATED {supported} OPTIONAL, --- R1 4-11: Semi-static HARQ-ACK codebook semiStaticHARQ-ACK-Codebook ENUMERATED {supported} OPTIONAL, --- R1 4-12: HARQ-ACK spatial bundling for PUCCH or PUSCH per PUCCH group spatialBundlingHARQ-ACK ENUMERATED {supported} OPTIONAL, --- R1 4-21: Dynamic beta-offset configuration and indication for HARQ-ACK and/or CSI dynamicBetaOffsetInd-HARQ-ACK-CSI ENUMERATED {supported} OPTIONAL, --- R1 4-23: Repetitions for PUCCH format 1, 3,and 4 over multiple slots with K = 1, 2, 4, 8 pucch-Repetition-F1-3-4 ENUMERATED {supported} OPTIONAL, --- R1 5-2: RA type 0 for PUSCH ra-Type0-PUSCH ENUMERATED {supported} OPTIONAL, --- R1 5-3: Dynamic switching between RA type 0 and RA type 1 for PDSCH dynamicSwitchRA-Type0-1-PDSCH ENUMERATED {supported} OPTIONAL, --- R1 5-4: Dynamic switching between RA type 0 andRA type 1 for PUSCH dynamicSwitchRA-Type0-1-PUSCH ENUMERATED {supported} OPTIONAL, --- R1 5-6: PDSCH mapping type A with less than 7 OFDM symbols pdsch-MappingTypeA ENUMERATED {supported} OPTIONAL, --- R1 5-6a: PDSCH mapping type B pdsch-MappingTypeB ENUMERATED {supported} OPTIONAL, --- R1 5-7: Interleaving for VRB-to-PRB mapping for PDSCH interleavingVRB-ToPRB-PDSCH ENUMERATED {supported} OPTIONAL, --- R1 5-8: Interleaving for VRB-to-PRB mapping for PUSCH - interleavingVRB-ToPRB-PUSCH ENUMERATED {supported} OPTIONAL, --- R1 5-10: Inter-slot frequency hopping for PUSCH interSlotFreqHopping-PUSCH ENUMERATED {supported} OPTIONAL, --- R1 5-13: Type 1 configured PUSCH repetitions within a slot - type1-PUSCH-RepetitionOneSlot ENUMERATED {supported} OPTIONAL, --- R1 5-14: Type 1 configured PUSCH repetitions over multiple slots type1-PUSCH-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL, --- R1 5-15: Type 2 configured PUSCH repetitions within a slot - type2-PUSCH-RepetitionOneSlot ENUMERATED {supported} OPTIONAL, --- R1 5-16: Type 2 configured PUSCH repetitions over multiple slots type2-PUSCH-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL, --- R1 5-17: PUSCH repetitions over multiple slots pusch-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL, --- R1 5-17a: PDSCH repetitions over multiple slots pdsch-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL, --- R1 5-18: DL SPS downlinkSPS ENUMERATED {supported} OPTIONAL, --- R1 5-19: Type 1 Configured UL grant configuredUL-GrantType1 ENUMERATED {supported} OPTIONAL, --- R1 5-20: Type 2 Configured UL grant configuredUL-GrantType2 ENUMERATED {supported} OPTIONAL, --- R1 5-21: Pre-emption indication for DL pre-EmptIndication-DL ENUMERATED {supported} OPTIONAL, --- R1 5-22 & 5-25: CBG-based re-transmission for DL/UL using CBGTI - cbg-TransIndication BIT STRING (SIZE (2)) OPTIONAL, --- R1 5-23: CBGFI for CBG-based re-transmission for DL + cbg-TransIndication-DL ENUMERATED {supported} OPTIONAL, + cbg-TransIndication-UL ENUMERATED {supported} OPTIONAL, cbg-FlushIndication-DL ENUMERATED {supported} OPTIONAL, --- R1 5-24: Dynamic HARQ-ACK codebook using sub-codebooks for CBG-based re-transmission for DL dynamicHARQ-ACK-CodeB-CBG-Retx-DL ENUMERATED {supported} OPTIONAL, --- R1 5-26: Semi-static rate-matching resource set configuration for DL rateMatchingResrcSetSemi-Static ENUMERATED {supported} OPTIONAL, --- R1 5-27: Dynamic rate-matching resource set configuration for DL rateMatchingResrcSetDynamic ENUMERATED {supported} OPTIONAL, --- R1 5-28: Rate-matching around LTE CRS - rateMatchingLTE-CRS ENUMERATED {supported} OPTIONAL, --- R4 1-8: BWP switching delay - bwp-SwitchingDelay ENUMERATED {type1, type2} OPTIONAL + bwp-SwitchingDelay ENUMERATED {type1, type2} OPTIONAL, + ... } Phy-ParametersXDD-Diff ::= SEQUENCE { --- R1 4-2: 2 PUCCH of format 0 or 2 in consecutive symbols + dynamicSFI ENUMERATED {supported} OPTIONAL, twoPUCCH-F0-2-ConsecSymbols ENUMERATED {supported} OPTIONAL, --- R1 8-7: UL power control with 2 PUSCH closed loops twoDifferentTPC-Loop-PUSCH ENUMERATED {supported} OPTIONAL, --- R1 8-8: UL power control with 2 PUCCH closed loops - twoDifferentTPC-Loop-PUCCH ENUMERATED {supported} OPTIONAL + twoDifferentTPC-Loop-PUCCH ENUMERATED {supported} OPTIONAL, + ... } Phy-ParametersFRX-Diff ::= SEQUENCE { --- R1 2-6 & 2-16b: Support 1+2 DMRS (DL/UL) + dynamicSFI ENUMERATED {supported} OPTIONAL, oneFL-DMRS-TwoAdditionalDMRS BIT STRING (SIZE (2)) OPTIONAL, --- R1 2-7 & 2-18: Supported 2 symbols front-loaded DMRS(DL/UL) twoFL-DMRS BIT STRING (SIZE (2)) OPTIONAL, --- R1 2-8 & 2-18a: Supported 2 symbols front-loaded +2 symbols additional DMRS(DL/UL) twoFL-DMRS-TwoAdditionalDMRS BIT STRING (SIZE (2)) OPTIONAL, --- R1 2-9 & 2-19: Support 1+3 DMRS (DL/UL) oneFL-DMRS-ThreeAdditionalDMRS BIT STRING (SIZE (2)) OPTIONAL, --- R1 2-10: Support DMRS type (DL) supportedDMRS-TypeDL ENUMERATED {type1, type2} OPTIONAL, --- R1 2-17: Support DMRS type (UL) supportedDMRS-TypeUL ENUMERATED {type1, type2} OPTIONAL, --- R1 2-37: Support Semi-open loop CSI semiOpenLoopCSI ENUMERATED {supported} OPTIONAL, --- R1 2-38: CSI report without PMI csi-ReportWithoutPMI ENUMERATED {supported} OPTIONAL, --- R1 2-39: CSI report with CRI - csi-ReportWithCRI ENUMERATED {supported} OPTIONAL, --- R1 2-39a: CSI report without CQI csi-ReportWithoutCQI ENUMERATED {supported} OPTIONAL, --- R1 2-44 & 2-47: 1 port of DL/UL PTRS onePortsPTRS BIT STRING (SIZE (2)) OPTIONAL, --- R1 4-2: 2 PUCCH of format 0 or 2 in consecutive symbols twoPUCCH-F0-2-ConsecSymbols ENUMERATED {supported} OPTIONAL, --- R1 4-3: PUCCH format 2 over 1 – 2 OFDM symbols once per slot with FH pucch-F2-WithFH ENUMERATED {supported} OPTIONAL, --- R1 4-4: PUCCH format 3 over 4 – 14 OFDM symbols once per slot with FH pucch-F3-WithFH ENUMERATED {supported} OPTIONAL, --- R1 4-5: PUCCH format 4 over 4 – 14 OFDM symbols once per slot with FH pucch-F4-WithFH ENUMERATED {supported} OPTIONAL, --- R1 4-6: Non-frequency hopping for PUCCH formats 0 and 2 freqHoppingPUCCH-F0-2 ENUMERATED {notSupported} OPTIONAL, --- R1 4-7: Non-frequency hopping for PUCCH format 1, 3, and 4 freqHoppingPUCCH-F1-3-4 ENUMERATED {notSupported} OPTIONAL, --- R1 4-19: SR/HARQ-ACK/CSI multiplexing once per slot using a PUCCH (or piggybacked on a PUSCH) mux-SR-HARQ-ACK-CSI-PUCCH ENUMERATED {supported} OPTIONAL, --- R1 4-20: UCI code-block segmentation uci-CodeBlockSegmentation ENUMERATED {supported} OPTIONAL, --- R1 4-22: 1 long PUCCH format and 1 short PUCCH format in the same slot onePUCCH-LongAndShortFormat ENUMERATED {supported} OPTIONAL, --- R1 4-22a: 2 PUCCH transmissions in the same slot which are not covered by 4-22 and 4-2 twoPUCCH-AnyOthersInSlot ENUMERATED {supported} OPTIONAL, --- R1 5-9: Intra-slot frequency-hopping for PUSCH except for PUSCH scheduled by Type 1 before RRC connection intraSlotFreqHopping-PUSCH ENUMERATED {supported} OPTIONAL, --- R1 5-29: LBRM for PUSCH pusch-LBRM ENUMERATED {supported} OPTIONAL, --- R1 6-5a: PDCCH blind detection capability for CA pdcch-BlindDetectionCA ENUMERATED {supported} OPTIONAL, --- R1 8-3: TPC-PUSCH-RNTI tpc-PUSCH-RNTI ENUMERATED {supported} OPTIONAL, --- R1 8-4: TPC-PUCCH-RNTI tpc-PUCCH-RNTI ENUMERATED {supported} OPTIONAL, --- R1 8-5: TPC-SRS-RNTI tpc-SRS-RNTI ENUMERATED {supported} OPTIONAL, --- R1 8-6: Absolute TPC command mode absoluteTPC-Command ENUMERATED {supported} OPTIONAL, --- R1 8-7: UL power control with 2 PUSCH closed loops twoDifferentTPC-Loop-PUSCH ENUMERATED {supported} OPTIONAL, --- R1 8-8: UL power control with 2 PUCCH closed loops twoDifferentTPC-Loop-PUCCH ENUMERATED {supported} OPTIONAL, --- R4 1-6: pi/2-BPSK for PUSCH pusch-HalfPi-BPSK ENUMERATED {supported} OPTIONAL, --- R4 1-7: pi/2-BPSK for PUCCH format 3/4 pucch-F3-4-HalfPi-BPSK ENUMERATED {supported} OPTIONAL, --- R4 1-9: 1-symbol GP in unpaired spectrum - oneSymbolGP-TDD ENUMERATED {supported} OPTIONAL, --- R4 2-7: Almost contiguous UL CP-OFDM - almostContiguousCP-OFDM-UL ENUMERATED {supported} OPTIONAL + almostContiguousCP-OFDM-UL ENUMERATED {supported} OPTIONAL , + sp-CSI-RS ENUMERATED {supported} OPTIONAL, + sp-CSI-IM ENUMERATED {supported} OPTIONAL, + tdd-MultiDL-UL-SwitchPerSlot ENUMERATED {supported} OPTIONAL, + multipleCORESET ENUMERATED {supported} OPTIONAL, + ... } Phy-ParametersFR1 ::= SEQUENCE { --- R1 3-2: Unicast PDCCH monitoring following Case 1-2 pdcchMonitoringSingleOccasion ENUMERATED {supported} OPTIONAL, --- R4 1-1: 60kHz of subcarrier spacing for FR1 scs-60kHz ENUMERATED {supported} OPTIONAL, --- R4 1-4: 256QAM for PDSCH in FR1 - pdsch-256QAM-FR1 ENUMERATED {supported} OPTIONAL + pdsch-256QAM-FR1 ENUMERATED {supported} OPTIONAL, + pdsch-RE-MappingFR1 ENUMERATED {n10, n20} OPTIONAL, + ... } Phy-ParametersFR2 ::= SEQUENCE { --- R4 2-8: PA calibration gap - calibrationGapPA ENUMERATED {supported} OPTIONAL + calibrationGapPA ENUMERATED {supported} OPTIONAL, + pdsch-RE-MappingFR2 ENUMERATED {n6, n20} OPTIONAL, + ... } +-- TAG-PHY-PARAMETERS-STOP +-- TAG-RF-PARAMETERS-START + RF-Parameters ::= SEQUENCE { - supportedBandListNR SupportedBandListNR, - supportedBandCombination BandCombinationList, - bandCombinationParametersUL-List BandCombinationParametersUL-List + supportedBandListNR SEQUENCE (SIZE (1..maxBands)) OF BandNR, + supportedBandCombinationList BandCombinationList OPTIONAL, + appliedFreqBandListFilter FreqBandList OPTIONAL } -SupportedBandListNR ::= SEQUENCE (SIZE (1..maxBands)) OF BandNR - BandNR ::= SEQUENCE { bandNR FreqBandIndicatorNR, --- Modified MPR behaviour as in RAN4 LS R2-1804077, which is needed for NSA as well as SA modifiedMPR-Behaviour BIT STRING (SIZE (8)) OPTIONAL, --- R4 2-1: Maximum channel bandwidth supported in each band for DL and UL separately and for each SCS that UE supports within a single CC --- RAN4 agreed that 400 MHz is optional for FR2. The other values defined for FR1/fR2 in TS 38.101 are mandatory w/o capability bit. - maxChannelBW-PerCC ENUMERATED {mhz400} OPTIONAL, mimo-ParametersPerBand MIMO-ParametersPerBand OPTIONAL, --- R1 0-10: Extended CP extendedCP ENUMERATED {supported} OPTIONAL, --- R1 0-13: Phase coherence across non-contiguous UL symbols in slot in the transmission of one channel - phaseCoherenceUL ENUMERATED {supported} OPTIONAL, --- R1 1-10: Support of SCell without SS/PBCH block - scellWithoutSSB ENUMERATED {supported} OPTIONAL, --- R1 1-11: Support of CSI-RS RRM measurement for SCell without SS/PBCH block - csi-RS-MeasSCellWithoutSSB ENUMERATED {supported} OPTIONAL, --- R1 2-15a: Association between CSI-RS and SRS - srs-AssocCSI-RS ENUMERATED {supported} OPTIONAL, --- R1 3-1a: For type 1 CSS with dedicated RRC configuration and for type 3 CSS, UE specific SS, CORESET resource allocation of 6RB bit-map and duration 3 OFDM symbols for FR2 - type1-3-CSS ENUMERATED {supported} OPTIONAL, --- R1 3-4: More than one TCI state configurations per CORESET multipleTCI ENUMERATED {supported} OPTIONAL, --- R1 3-5 & 3-5a: For type 1 with dedicated RRC configuration, type 3, and UE-SS,, monitoring occasion can be any OFDM symbol(s) of a slot for Case 2 (with a DCI gap) - pdcchMonitoringAnyOccasions ENUMERATED {withoutDCI-gap, withDCI-gap} OPTIONAL, --- R1 5-1a: UE specific RRC configure UL/DL assignment - ue-SpecificUL-DL-Assignment ENUMERATED {supported} OPTIONAL, --- R1 5-11 & 5-11a: Up to 2/7 unicast PDSCHs per slot for different TBs - pdsch-DifferentTB-PerSlot SEQUENCE { - scs-15kHz ENUMERATED {upto2, upto7} OPTIONAL, - scs-30kHz ENUMERATED {upto2, upto7} OPTIONAL, - scs-60kHz ENUMERATED {upto2, upto7} OPTIONAL, - scs-120kHz ENUMERATED {upto2, upto7} OPTIONAL - } OPTIONAL, --- R1 5-12 & 5-12a: Up to 2/7 PUSCHs per slot for different TBs - pusch-DifferentTB-PerSlot SEQUENCE { - scs-15kHz ENUMERATED {upto2, upto7} OPTIONAL, - scs-30kHz ENUMERATED {upto2, upto7} OPTIONAL, - scs-60kHz ENUMERATED {upto2, upto7} OPTIONAL, - scs-120kHz ENUMERATED {upto2, upto7} OPTIONAL - } OPTIONAL, --- R1 6-2 & 6-3: Type A/B BWP adaptation (up to 2/4 BWPs) with same numerology + bwp-WithoutRestriction ENUMERATED {supported} OPTIONAL, bwp-SameNumerology ENUMERATED {upto2, upto4} OPTIONAL, --- R1 6-4: BWP adaptation (up to 4 BWPs) with different numerologies bwp-DiffNumerology ENUMERATED {upto4} OPTIONAL, --- R1 6-7: Two PUCCH group - twoPUCCH-Group ENUMERATED {supported} OPTIONAL, --- R1 6-8: Different numerology across PUCCH groups - diffNumerologyAcrossPUCCH-Group ENUMERATED {supported} OPTIONAL, --- R1 6-9: Different numerologies across carriers within the same PUCCH group - diffNumerologyWithinPUCCH-Group ENUMERATED {supported} OPTIONAL, --- R1 6-10: Cross carrier scheduling - crossCarrierScheduling ENUMERATED {supported} OPTIONAL, --- R1 6-11: Number of supported TAGs - supportedNumberTAG ENUMERATED {n2, n3, n4} OPTIONAL, --- R1 6-19: Simultaneous transmission of SRS on an SUL/non-SUL carrier and PUSCH/PUCCH/SRS/PRACH on the other UL carrier in the same cell --- Details on the channel/signal combination are to be described in TS 38.306 - simultaneousTxSUL-NonSUL ENUMERATED {supported} OPTIONAL, --- R1 6-21: DL search space sharing for CA - searchSpaceSharingCA-DL ENUMERATED {supported} OPTIONAL, --- R1 6-22: UL search space sharing for CA - searchSpaceSharingCA-UL ENUMERATED {supported} OPTIONAL, --- R4 1-4: 256QAM for PDSCH in FR2 + crossCarrierSchedulingDL-SameSCS ENUMERATED {supported} OPTIONAL, + crossCarrierSchedulingUL-SameSCS ENUMERATED {supported} OPTIONAL, pdsch-256QAM-FR2 ENUMERATED {supported} OPTIONAL, --- R4 1-5: 256QAM for PUSCH - pusch-256QAM ENUMERATED {supported} OPTIONAL + pusch-256QAM ENUMERATED {supported} OPTIONAL, + ue-PowerClass ENUMERATED {pc2, pc3} OPTIONAL, + rateMatchingLTE-CRS ENUMERATED {supported} OPTIONAL, + ... } +-- TAG-RF-PARAMETERS-STOP +-- TAG-MIMO-PARAMETERSPERBAND-START + MIMO-ParametersPerBand ::= SEQUENCE { --- R1 2-2: PDSCH beam switching - timeDurationForQCL SEQUENCE { - scs-60kHz ENUMERATED {s7, s14, s28} OPTIONAL, - sch-120kHz ENUMERATED {s14, s28} OPTIONAL + tci-StatePDSCH SEQUENCE { + maxNumberConfiguredTCIstatesPerCC ENUMERATED {n4, n8, n16, n32, n64} OPTIONAL, + maxNumberActiveTCI-PerBWP ENUMERATED {n1, n2, n4, n8} OPTIONAL } OPTIONAL, --- R1 2-3: PDSCH MIMO layers. Absence of this field implies support of one layer. - maxNumberMIMO-LayersPDSCH MIMO-LayersDL OPTIONAL, --- R1 2-14: Codebook based PUSCH MIMO transmission. Absence of this field implies that CB-based PUSCH is not supported. - maxNumberMIMO-LayersCB-PUSCH MIMO-LayersUL OPTIONAL, --- R1 2-15: Non-codebook based PUSCH MIMO transmission. Absence of this field implies that Non-CB-based PUSCH is not supported. - maxNumberMIMO-LayersNonCB-PUSCH MIMO-LayersUL OPTIONAL, --- R1 2-4: TCI states for PDSCH - maxNumberConfiguredTCIstates ENUMERATED {n4, n8, n16, n32, n64} OPTIONAL, - maxNumberActiveTCI-PerCC ENUMERATED {n1, n2, n4, n8} OPTIONAL, --- R1 2-13: PUSCH transmission coherence + additionalActiveTCI-StatePDCCH ENUMERATED {supported} OPTIONAL, pusch-TransCoherence ENUMERATED {nonCoherent, partialNonCoherent, fullCoherent} OPTIONAL, --- R1 2-20: Beam correspondence beamCorrespondence ENUMERATED {supported} OPTIONAL, --- R1 2-21: Periodic beam report on PUCCH periodicBeamReport ENUMERATED {supported} OPTIONAL, --- R1 2-22: Aperiodic beam report on PUSCH aperiodicBeamReport ENUMERATED {supported} OPTIONAL, --- R1 2-23: Semi-persistent beam report on PUCCH sp-BeamReportPUCCH ENUMERATED {supported} OPTIONAL, --- R1 2-23a: Semi-persistent beam report on PUSCH sp-BeamReportPUSCH ENUMERATED {supported} OPTIONAL, --- R1 2-24: SSB/CSI-RS for beam management beamManagementSSB-CSI-RS BeamManagementSSB-CSI-RS OPTIONAL, --- R1 2-26: Receiving beam selection using CSI-RS resource repetition "ON" maxNumberRxBeam INTEGER (2..8) OPTIONAL, --- R1 2-27: Beam switching (including SSB and CSI-RS) maxNumberRxTxBeamSwitchDL SEQUENCE { scs-15kHz ENUMERATED {n4, n7, n14} OPTIONAL, scs-30kHz ENUMERATED {n4, n7, n14} OPTIONAL, @@ -5198,54 +3765,94 @@ MIMO-ParametersPerBand ::= SEQUENCE { scs-120kHz ENUMERATED {n4, n7, n14} OPTIONAL, scs-240kHz ENUMERATED {n4, n7, n14} OPTIONAL } OPTIONAL, --- R1 2-29: Non-group based beam reporting maxNumberNonGroupBeamReporting ENUMERATED {n1, n2, n4} OPTIONAL, --- R1 2-29a: Group based beam reporting groupBeamReporting ENUMERATED {supported} OPTIONAL, --- R1 2-30: UL beam management uplinkBeamManagement SEQUENCE { - maxNumberSRS-ResourcePerSet ENUMERATED {n8, n16, n32}, + maxNumberSRS-ResourcePerSet ENUMERATED {n2, n4, n8, n16, n32}, maxNumberSRS-ResourceSet INTEGER (1..8) } OPTIONAL, --- R1 2-31: Beam failure recovery maxNumberCSI-RS-BFR INTEGER (1..64) OPTIONAL, maxNumberSSB-BFR INTEGER (1..64) OPTIONAL, maxNumberCSI-RS-SSB-BFR INTEGER (1..256) OPTIONAL, --- R1 2-45 & 2-48: 2 ports of DL/UL PTRS - twoPortsPTRS BIT STRING (SIZE (2)) OPTIONAL, --- R1 2-53: SRS resources + twoPortsPTRS-DL ENUMERATED {supported} OPTIONAL, + twoPortsPTRS-UL ENUMERATED {supported} OPTIONAL, supportedSRS-Resources SRS-Resources OPTIONAL, --- R1 2-55: SRS Tx switch srs-TxSwitch SRS-TxSwitch OPTIONAL, --- R1 2-54a: Simultaneous SRS Tx maxNumberSimultaneousSRS-PerCC INTEGER (1..4) OPTIONAL, --- R1 2-57: Support low latency CSI feedback - lowLatencyCSI-Feedback ENUMERATED {supported} OPTIONAL + beamReportTiming SEQUENCE { + scs-15kHz ENUMERATED {sym2, sym4, sym8} OPTIONAL, + scs-30kHz ENUMERATED {sym4, sym8, sym14} OPTIONAL, + scs-60kHz ENUMERATED {sym8, sym14, sym28} OPTIONAL, + scs-120kHz ENUMERATED {sym14, sym28, sym56} OPTIONAL + } OPTIONAL, + ptrs-DensityRecommendationSetDL SEQUENCE { + scs-15kHz PTRS-DensityRecommendationDL OPTIONAL, + scs-30kHz PTRS-DensityRecommendationDL OPTIONAL, + scs-60kHz PTRS-DensityRecommendationDL OPTIONAL, + scs-120kHz PTRS-DensityRecommendationDL OPTIONAL + } OPTIONAL, + ptrs-DensityRecommendationSetUL SEQUENCE { + scs-15kHz PTRS-DensityRecommendationUL OPTIONAL, + scs-30kHz PTRS-DensityRecommendationUL OPTIONAL, + scs-60kHz PTRS-DensityRecommendationUL OPTIONAL, + scs-120kHz PTRS-DensityRecommendationUL OPTIONAL + } OPTIONAL, + csi-RS-ForTracking CSI-RS-ForTracking OPTIONAL, + aperiodicTRS ENUMERATED {supported} OPTIONAL, + ... } --- R1 2-24: SSB/CSI-RS for beam management BeamManagementSSB-CSI-RS ::= SEQUENCE { maxNumberSSB-CSI-RS-ResourceOneTx ENUMERATED {n8, n16, n32, n64}, maxNumberSSB-CSI-RS-ResourceTwoTx ENUMERATED {n0, n4, n8, n16, n32, n64}, supportedCSI-RS-Density ENUMERATED {one, three, oneAndThree} } --- R1 2-53: SRS resources +CSI-RS-ForTracking ::= SEQUENCE { + burstLength INTEGER (1..2), + maxSimultaneousResourceSetsPerCC INTEGER (1..8), + maxConfiguredResourceSetsPerCC INTEGER (1..64), + maxConfiguredResourceSetsAllCC INTEGER (1..128) +} + +PTRS-DensityRecommendationDL ::= SEQUENCE { + frequencyDensity1 INTEGER (1..276), + frequencyDensity2 INTEGER (1..276), + timeDensity1 INTEGER (0..29), + timeDensity2 INTEGER (0..29), + timeDensity3 INTEGER (0..29) +} + +PTRS-DensityRecommendationUL ::= SEQUENCE { + frequencyDensity1 INTEGER (1..276), + frequencyDensity2 INTEGER (1..276), + timeDensity1 INTEGER (0..29), + timeDensity2 INTEGER (0..29), + timeDensity3 INTEGER (0..29), + sampleDensity1 INTEGER (1..276), + sampleDensity2 INTEGER (1..276), + sampleDensity3 INTEGER (1..276), + sampleDensity4 INTEGER (1..276), + sampleDensity5 INTEGER (1..276) +} + SRS-Resources ::= SEQUENCE { maxNumberAperiodicSRS-PerBWP ENUMERATED {n1, n2, n4, n8, n16}, maxNumberAperiodicSRS-PerBWP-PerSlot INTEGER (1..6), maxNumberPeriodicSRS-PerBWP ENUMERATED {n1, n2, n4, n8, n16}, maxNumberPeriodicSRS-PerBWP-PerSlot INTEGER (1..6), - maxNumberSemiPersitentSRS-PerBWP ENUMERATED {n0, n1, n2, n4, n8, n16}, - maxNumberSP-SRS-PerBWP-PerSlot INTEGER (0..6), + maxNumberSemiPersitentSRS-PerBWP ENUMERATED {n1, n2, n4, n8, n16}, + maxNumberSP-SRS-PerBWP-PerSlot INTEGER (1..6), maxNumberSRS-Ports-PerResource ENUMERATED {n1, n2, n4} } --- R1 2-55: SRS Tx switch + SRS-TxSwitch ::= SEQUENCE { - supportedSRS-TxPortSwitch ENUMERATED {t1r2, t1r4, t2r4, t1r4-t2r4}, - txSwitchImpactToRx ENUMERATED {true} OPTIONAL + supportedSRS-TxPortSwitch ENUMERATED {t1r2, t1r4, t2r4, t1r4-t2r4, tr-equal}, + txSwitchImpactToRx ENUMERATED {true} OPTIONAL } +-- TAG-PDCP-PARAMETERS-START + PDCP-Parameters ::= SEQUENCE { supportedROHC-Profiles SEQUENCE { profile0x0000 BOOLEAN, @@ -5259,19 +3866,28 @@ PDCP-Parameters ::= SEQUENCE { profile0x0103 BOOLEAN, profile0x0104 BOOLEAN }, - maxNumberROHC-ContextSessions ENUMERATED {cs2, cs4, cs8, cs12, cs16, cs24, cs32, cs48, cs64, cs128, cs256, cs512, cs1024, cs16384, spare2, spare1}, + maxNumberROHC-ContextSessions ENUMERATED {cs2, cs4, cs8, cs12, cs16, cs24, cs32, cs48, cs64, + cs128, cs256, cs512, cs1024, cs16384, spare2, spare1}, uplinkOnlyROHC-Profiles ENUMERATED {supported} OPTIONAL, - continueROHC-Context ENUMERATED {supported} OPTIONAL, + continueROHC-Context ENUMERATED {supported} OPTIONAL, outOfOrderDelivery ENUMERATED {supported} OPTIONAL, - shortSN ENUMERATED {supported} OPTIONAL + shortSN ENUMERATED {supported} OPTIONAL, + ... } +-- TAG-PDCP-PARAMETERS-STOP +-- TAG-RLC-PARAMETERS-START + RLC-Parameters ::= SEQUENCE { am-WithShortSN ENUMERATED {supported} OPTIONAL, - um-WithShortSN ENUMERATED {supported} OPTIONAL, - um-WIthLongSN ENUMERATED {supported} OPTIONAL + um-WithShortSN ENUMERATED {supported} OPTIONAL, + um-WIthLongSN ENUMERATED {supported} OPTIONAL, + ... } +-- TAG-RLC-PARAMETERS-STOP +-- TAG-MAC-PARAMETERS-START + MAC-Parameters ::= SEQUENCE { mac-ParametersCommon MAC-ParametersCommon OPTIONAL, mac-ParametersXDD-Diff MAC-ParametersXDD-Diff OPTIONAL @@ -5279,8 +3895,8 @@ MAC-Parameters ::= SEQUENCE { MAC-ParametersCommon ::= SEQUENCE { lcp-Restriction ENUMERATED {supported} OPTIONAL, --- R1 4-24: PUCCH-spatialrelationinfo indication by a MAC CE per PUCCH resource - pucch-SpatialRelInfoMAC-CE ENUMERATED {supported} OPTIONAL + pucch-SpatialRelInfoMAC-CE ENUMERATED {supported} OPTIONAL, + ... } MAC-ParametersXDD-Diff ::= SEQUENCE { @@ -5289,36 +3905,37 @@ MAC-ParametersXDD-Diff ::= SEQUENCE { longDRX-Cycle ENUMERATED {supported} OPTIONAL, shortDRX-Cycle ENUMERATED {supported} OPTIONAL, multipleSR-Configurations ENUMERATED {supported} OPTIONAL, - -- If supported UE supports 8 SR configurations, otherwise 1 SR config is supported. - -- Confirmation is needed whether to align the number to what the configuration signalling can support. - multipleConfiguredGrantConfigurations ENUMERATED {supported} OPTIONAL - -- If supported UE supports 16 configured grant configurations, otherwise 1 ConfiguredGrant config is supported. - -- Confirmation is needed whether to align the number to what the configuration signalling can support, and to consider whether the 16 refers - -- to the configurations or the active ones only (as they are within the BWP). + multipleConfiguredGrants ENUMERATED {supported} OPTIONAL, + ... } +-- TAG-MAC-PARAMETERS-STOP +-- TAG-MEASPARAMETERS-START + MeasParameters ::= SEQUENCE { + measParametersCommon MeasParametersCommon OPTIONAL, measParametersXDD-Diff MeasParametersXDD-Diff OPTIONAL, measParametersFRX-Diff MeasParametersFRX-Diff OPTIONAL } +MeasParametersCommon ::= SEQUENCE { + supportedGapPattern BIT STRING (SIZE (22)) OPTIONAL, + ... +} + MeasParametersXDD-Diff ::= SEQUENCE { intraAndInterF-MeasAndReport ENUMERATED {supported} OPTIONAL, - eventA-MeasAndReport ENUMERATED {supported} OPTIONAL - -- Confirmation is needed on the need of capability/IOT signaling in LTE for support of the additional measurement gap configurations. + eventA-MeasAndReport ENUMERATED {supported} OPTIONAL, + ... } MeasParametersFRX-Diff ::= SEQUENCE { --- R1 1-3: SSB based SINR measurement ss-SINR-Meas ENUMERATED {supported} OPTIONAL, --- R1 1-5: CSI-RS based RRM measurement with associated SS-block csi-RSRP-AndRSRQ-MeasWithSSB ENUMERATED {supported} OPTIONAL, --- R1 1-5a: CSI-RS based RRM measurement without associated SS-block csi-RSRP-AndRSRQ-MeasWithoutSSB ENUMERATED {supported} OPTIONAL, --- R1 1-6: CSI-RS based SINR measurement csi-SINR-Meas ENUMERATED {supported} OPTIONAL, --- R1 1-7: CSI-RS based RLM - csi-RS-RLM ENUMERATED {supported} OPTIONAL + csi-RS-RLM ENUMERATED {supported} OPTIONAL, + ... } -- TAG-UE-NR-CAPABILITY-STOP @@ -5330,7 +3947,7 @@ RRC-TransactionIdentifier ::= INTEGER (0..3) -- TAG-MULTIPLICITY-AND-TYPE-CONSTRAINT-DEFINITIONS-START maxBandComb INTEGER ::= 65536 -- Maximum number of DL band combinations -maxBasebandProcComb INTEGER ::= 65536 -- Maximum number of baseband processing combinations + maxNrofServingCells INTEGER ::= 32 -- Max number of serving cells (SpCell + SCells) per cell group maxNrofServingCells-1 INTEGER ::= 31 -- Max number of serving cells (SpCell + SCells) per cell group minus 1 maxNrofAggregatedCellsPerCellGroup INTEGER ::= 16 @@ -5355,7 +3972,8 @@ maxNrofSlots INTEGER ::= 320 -- Maximum number of slots in a 10 ms period maxNrofSlots-1 INTEGER ::= 319 -- Maximum number of slots in a 10 ms period minus 1 maxNrofPhysicalResourceBlocks INTEGER ::= 275 -- Maximum number of PRBs -maxNrofPhysicalResourceBlocks-1 INTEGER ::= 274 -- Maximum number of PRBs +maxNrofPhysicalResourceBlocks-1 INTEGER ::= 274 -- Maximum number of PRBs minus 1 +maxNrofPhysicalResourceBlocksPlus1 INTEGER ::= 276 -- Maximum number of PRBs plus 1 maxNrofControlResourceSets INTEGER ::= 12 -- Max number of CoReSets configurable on a serving cell maxNrofControlResourceSets-1 INTEGER ::= 11 -- Max number of CoReSets configurable on a serving cell minus 1 maxCoReSetDuration INTEGER ::= 3 -- Max number of OFDM symbols in a control resource set @@ -5367,6 +3985,7 @@ maxINT-DCI-PayloadSize INTEGER ::= 126 -- Max number payload of a DCI scram maxINT-DCI-PayloadSize-1 INTEGER ::= 125 -- Max number payload of a DCI scrambled with INT-RNTI minus 1 maxNrofRateMatchPatterns INTEGER ::= 4 -- Max number of rate matching patterns that may be configured maxNrofRateMatchPatterns-1 INTEGER ::= 3 -- Max number of rate matching patterns that may be configured minus 1 +maxNrofRateMatchPatternsPerGroup INTEGER ::= 8 -- Max number of rate matching patterns that may be configured in one group maxNrofCSI-ReportConfigurations INTEGER ::= 48 -- Maximum number of report configurations maxNrofCSI-ReportConfigurations-1 INTEGER ::= 47 -- Maximum number of report configurations minus 1 @@ -5381,27 +4000,35 @@ maxNrofReportConfigPerAperiodicTrigger INTEGER ::= 16 -- Maximum number of repo maxNrofNZP-CSI-RS-Resources INTEGER ::= 192 -- Maximum number of Non-Zero-Power (NZP) CSI-RS resources maxNrofNZP-CSI-RS-Resources-1 INTEGER ::= 191 -- Maximum number of Non-Zero-Power (NZP) CSI-RS resources minus 1 maxNrofNZP-CSI-RS-ResourcesPerSet INTEGER ::= 64 -- Maximum number of NZP CSI-RS resources per resource set +maxNrofNZP-CSI-RS-ResourceSets INTEGER ::= 64 -- Maximum number of NZP CSI-RS resources per cell +maxNrofNZP-CSI-RS-ResourceSets-1 INTEGER ::= 63 -- Maximum number of NZP CSI-RS resources per cell minus 1 maxNrofNZP-CSI-RS-ResourceSetsPerConfig INTEGER ::= 16 -- Maximum number of resource sets per resource configuration +maxNrofNZP-CSI-RS-ResourcesPerConfig INTEGER ::= 128 -- Maximum number of resources per resource configuration maxNrofZP-CSI-RS-Resources INTEGER ::= 32 -- Maximum number of Zero-Power (NZP) CSI-RS resources maxNrofZP-CSI-RS-Resources-1 INTEGER ::= 31 -- Maximum number of Zero-Power (NZP) CSI-RS resources minus 1 -maxNrofZP-CSI-RS-ResourceSets-1 INTEGER ::= 16 +maxNrofZP-CSI-RS-ResourceSets-1 INTEGER ::= 15 maxNrofZP-CSI-RS-ResourcesPerSet INTEGER ::= 16 -maxNrofZP-CSI-RS-Sets INTEGER ::= 16 +maxNrofZP-CSI-RS-ResourceSets INTEGER ::= 16 maxNrofCSI-IM-Resources INTEGER ::= 32 -- Maximum number of CSI-IM resources. See CSI-IM-ResourceMax in 38.214. maxNrofCSI-IM-Resources-1 INTEGER ::= 31 -- Maximum number of CSI-IM resources minus 1. See CSI-IM-ResourceMax in 38.214. maxNrofCSI-IM-ResourcesPerSet INTEGER ::= 8 -- Maximum number of CSI-IM resources per set. See CSI-IM-ResourcePerSetMax in 38.214 +maxNrofCSI-IM-ResourceSets INTEGER ::= 64 -- Maximum number of NZP CSI-IM resources per cell +maxNrofCSI-IM-ResourceSets-1 INTEGER ::= 63 -- Maximum number of NZP CSI-IM resources per cell minus 1 maxNrofCSI-IM-ResourceSetsPerConfig INTEGER ::= 16 -- Maximum number of CSI IM resource sets per resource configuration -maxNrofSSB-Resources-1 INTEGER ::= 63 -- Maximum number of SSB resources in a resource set minus 1 -maxNrofCSI-SSB-ResourcePerSet INTEGER ::= 64 +maxNrofCSI-SSB-ResourcePerSet INTEGER ::= 64 -- Maximum number of SSB resources in a resource set +maxNrofCSI-SSB-ResourceSets INTEGER ::= 64 -- Maximum number of CSI SSB resource sets per cell +maxNrofCSI-SSB-ResourceSets-1 INTEGER ::= 63 -- Maximum number of CSI SSB resource sets per cell minus 1 maxNrofCSI-SSB-ResourceSetsPerConfig INTEGER ::= 1 -- Maximum number of CSI SSB resource sets per resource configuration maxNrofFailureDetectionResources INTEGER ::= 10 -- Maximum number of failure detection resources +maxNrofFailureDetectionResources-1 INTEGER ::= 9 -- Maximum number of failure detection resources minus 1 maxNrofObjectId INTEGER ::= 64 -- Maximum number of measurement objects maxNrofPCI-Ranges INTEGER ::= 8 -- Maximum number of PCI ranges + maxNrofCSI-RS-ResourcesRRM INTEGER ::= 96 -- Maximum number of CSI-RS resources for an RRM measurement object maxNrofCSI-RS-ResourcesRRM-1 INTEGER ::= 95 -- Maximum number of CSI-RS resources for an RRM measurement object minus 1 maxNrofMeasId INTEGER ::= 64 -- Maximum number of configured measurements @@ -5418,8 +4045,8 @@ maxSimultaneousBands INTEGER ::= 32 -- Maximum number of simultaneously agg maxNrofSlotFormatCombinationsPerCell INTEGER ::= 16 -- Maximum number of -maxNrofSlotFormatCombinationsPerSet INTEGER ::= 4096 -- Maximum number of Slot Format Combinations in a SF-Set. -maxNrofSlotFormatCombinationsPerSet-1 INTEGER ::= 4095 -- Maximum number of Slot Format Combinations in a SF-Set minus 1. +maxNrofSlotFormatCombinationsPerSet INTEGER ::= 512 -- Maximum number of Slot Format Combinations in a SF-Set. +maxNrofSlotFormatCombinationsPerSet-1 INTEGER ::= 511 -- Maximum number of Slot Format Combinations in a SF-Set minus 1. maxNrofPUCCH-Resources INTEGER ::= 128 maxNrofPUCCH-Resources-1 INTEGER ::= 127 maxNrofPUCCH-ResourceSets INTEGER ::= 4 -- Maximum number of PUCCH Resource Sets @@ -5438,7 +4065,6 @@ maxNrofPUSCH-PathlossReferenceRSs-1 INTEGER ::= 3 -- Maximum number of RSs use maxBands INTEGER ::= 1024 -- Maximum number of supported bands in UE capability. maxBandsMRDC INTEGER ::= 1280 maxBandsEUTRA INTEGER ::= 256 -maxCellPrep INTEGER ::= 32 maxCellReport INTEGER ::= 8 maxDRB INTEGER ::= 29 -- Maximum number of DRBs (that can be added in DRB-ToAddModLIst). maxFreq INTEGER ::= 8 -- Max number of non-serving frequencies in MeasResultSCG-Failure. @@ -5446,6 +4072,7 @@ maxNrofCSI-RS INTEGER ::= 64 maxNrofCandidateBeams INTEGER ::= 16 -- Max number of PRACH-ResourceDedicatedBFR that in BFR config. maxNrofPCIsPerSMTC INTEGER ::= 64 -- Maximun number of PCIs per SMTC. maxNrofQFIs INTEGER ::= 64 +maxNrOfSemiPersistentPUSCH-Triggers INTEGER ::= 64 -- Maximum number of triggers for semi persistent reporting on PUSCH maxNrofSR-Resources INTEGER ::= 8 -- Maximum number of SR resources per BWP in a cell. maxNrofSlotFormatsPerCombination INTEGER ::= 256 maxNrofSpatialRelationInfos INTEGER ::= 8 @@ -5470,11 +4097,21 @@ maxMBSFN-Allocations INTEGER ::= 8 maxNrofMultiBands INTEGER ::= 8 maxCellSFTD INTEGER ::= 3 -- Maximum number of cells for SFTD reporting maxReportConfigId INTEGER ::= 64 +maxNrofCodebooks INTEGER ::= 16 -- Maximum number of codebooks suppoted by the UE maxNrofSRI-PUSCH-Mappings INTEGER ::= 16 maxNrofSRI-PUSCH-Mappings-1 INTEGER ::= 15 --- Editor’s Note: Targeted for completion in June 2018. Not used in EN-DC drop. +maxDownlinkFeatureSets INTEGER ::= 1024 -- (for NR DL) Total number of FeatureSets (size of the pool) +maxUplinkFeatureSets INTEGER ::= 1024 -- (for NR UL) Total number of FeatureSets (size of the pool) +maxEUTRA-DL-FeatureSets INTEGER ::= 256 -- (for EUTRA) Total number of FeatureSets (size of the pool) +maxEUTRA-UL-FeatureSets INTEGER ::= 256 -- (for EUTRA) Total number of FeatureSets (size of the pool) +maxFeatureSetsPerBand INTEGER ::= 128 -- (for NR) The number of feature sets associated with one band. +maxPerCC-FeatureSets INTEGER ::= 1024 -- (for NR) Total number of CC-specific FeatureSets (size of the pool) +maxFeatureSetCombinations INTEGER ::= 1024 -- (for MR-DC/NR)Total number of Feature set combinations (size of the pool) + + +-- Editor's Note: Targeted for completion in Sept 2018. Not used in EN-DC drop. CellIdentity ::= ENUMERATED {ffsTypeAndValue} ShortMAC-I ::= ENUMERATED {ffsTypeAndValue} diff --git a/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn b/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn index f0fff4f239..25151783f5 100644 --- a/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn +++ b/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn @@ -1,4 +1,4 @@ --- 3GPP TS 38.331 V15.1.0 (2018-03) +-- 3GPP TS 38.331 V15.2.0 (2018-06) NR-UE-Variables DEFINITIONS AUTOMATIC TAGS ::= diff --git a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf index dbf9582876..cfe204c86d 100644 --- a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf +++ b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf @@ -9,15 +9,16 @@ UNALIGNED #.USE_VALS_EXT CA-BandwidthClassNR -ConfiguredGrantConfig/configuredGrantTimer ConfiguredGrantConfig/periodicity +CSI-RS-IM-ReceptionForFeedback/maxNumberPortsAcrossNZP-CSI-RS-PerCC +CSI-RS-IM-ReceptionForFeedback/maxNumberSimultaneousCSI-RS-ActBWP-AllCC +CSI-RS-IM-ReceptionForFeedback/totalNumberPortsSimultaneousCSI-RS-ActBWP-AllCC DRX-Config/drx-onDurationTimer/milliSeconds DRX-Config/drx-InactivityTimer DRX-Config/drx-RetransmissionTimerDL DRX-Config/drx-RetransmissionTimerUL DRX-Config/drx-LongCycleStartOffset DRX-Config/shortDRX/drx-ShortCycle -DRX-Config/drx-SlotOffset DRX-Info/drx-LongCycleStartOffset DRX-Info/shortDRX/drx-ShortCycle PDCP-Config/t-Reordering @@ -76,7 +77,8 @@ CellsTriggeredList CG-Config CG-Config-IEs ConfigRestrictModReqSCG -GSCN-ValueNR +FR-Info +FR-InfoList HandoverCommand HandoverCommand-IEs HandoverPreparationInformation diff --git a/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c b/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c index 0dea113896..a1a482de32 100644 --- a/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c +++ b/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c @@ -1,7 +1,7 @@ /* packet-nr-rrc-template.c * NR; * Radio Resource Control (RRC) protocol specification - * (3GPP TS 38.331 V15.1.0 Release 15) packet dissection + * (3GPP TS 38.331 V15.2.0 Release 15) packet dissection * Copyright 2018, Pascal Quantin * * Wireshark - Network traffic analyzer diff --git a/epan/dissectors/packet-nr-rrc.c b/epan/dissectors/packet-nr-rrc.c index dc7d27a0e2..80aabdd5ae 100644 --- a/epan/dissectors/packet-nr-rrc.c +++ b/epan/dissectors/packet-nr-rrc.c @@ -9,7 +9,7 @@ /* packet-nr-rrc-template.c * NR; * Radio Resource Control (RRC) protocol specification - * (3GPP TS 38.331 V15.1.0 Release 15) packet dissection + * (3GPP TS 38.331 V15.2.0 Release 15) packet dissection * Copyright 2018, Pascal Quantin * * Wireshark - Network traffic analyzer @@ -44,16 +44,10 @@ void proto_reg_handoff_nr_rrc(void); /*--- Included file: packet-nr-rrc-val.h ---*/ #line 1 "./asn1/nr-rrc/packet-nr-rrc-val.h" #define maxMeasFreqsMN 32 -#define maxNrofNZP_CSI_RS_ResourceSets 64 -#define maxNrofNZP_CSI_RS_ResourceSets_1 63 -#define maxNrofCSI_SSB_ResourceSets 64 -#define maxNrofCSI_SSB_ResourceSets_1 63 -#define maxNrofCSI_IM_ResourceSets 64 -#define maxNrofCSI_IM_ResourceSets_1 63 -#define maxNrofNZP_CSI_RS_ResourcesPerConfig 128 -#define maxNrOfSemiPersistentPUSCH_Triggers 64 +#define maxMeasFreqsSN 32 +#define maxMeasIdentitiesMN 62 +#define maxCellPrep 32 #define maxBandComb 65536 -#define maxBasebandProcComb 65536 #define maxNrofServingCells 32 #define maxNrofServingCells_1 31 #define maxNrofAggregatedCellsPerCellGroup 16 @@ -73,6 +67,7 @@ void proto_reg_handoff_nr_rrc(void); #define maxNrofSlots_1 319 #define maxNrofPhysicalResourceBlocks 275 #define maxNrofPhysicalResourceBlocks_1 274 +#define maxNrofPhysicalResourceBlocksPlus1 276 #define maxNrofControlResourceSets 12 #define maxNrofControlResourceSets_1 11 #define maxCoReSetDuration 3 @@ -84,6 +79,7 @@ void proto_reg_handoff_nr_rrc(void); #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 @@ -94,20 +90,27 @@ void proto_reg_handoff_nr_rrc(void); #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 16 +#define maxNrofZP_CSI_RS_ResourceSets_1 15 #define maxNrofZP_CSI_RS_ResourcesPerSet 16 -#define maxNrofZP_CSI_RS_Sets 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 maxNrofSSB_Resources_1 63 #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 @@ -123,8 +126,8 @@ void proto_reg_handoff_nr_rrc(void); #define maxRAT_CapabilityContainers 8 #define maxSimultaneousBands 32 #define maxNrofSlotFormatCombinationsPerCell 16 -#define maxNrofSlotFormatCombinationsPerSet 4096 -#define maxNrofSlotFormatCombinationsPerSet_1 4095 +#define maxNrofSlotFormatCombinationsPerSet 512 +#define maxNrofSlotFormatCombinationsPerSet_1 511 #define maxNrofPUCCH_Resources 128 #define maxNrofPUCCH_Resources_1 127 #define maxNrofPUCCH_ResourceSets 4 @@ -141,7 +144,6 @@ void proto_reg_handoff_nr_rrc(void); #define maxBands 1024 #define maxBandsMRDC 1280 #define maxBandsEUTRA 256 -#define maxCellPrep 32 #define maxCellReport 8 #define maxDRB 29 #define maxFreq 8 @@ -149,6 +151,7 @@ void proto_reg_handoff_nr_rrc(void); #define maxNrofCandidateBeams 16 #define maxNrofPCIsPerSMTC 64 #define maxNrofQFIs 64 +#define maxNrOfSemiPersistentPUSCH_Triggers 64 #define maxNrofSR_Resources 8 #define maxNrofSlotFormatsPerCombination 256 #define maxNrofSpatialRelationInfos 8 @@ -172,8 +175,16 @@ void proto_reg_handoff_nr_rrc(void); #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, @@ -207,7 +218,7 @@ 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_CandidateCellInfoList_PDU = -1; /* CandidateCellInfoList */ +static int hf_nr_rrc_MeasResultList2NR_PDU = -1; /* MeasResultList2NR */ static int hf_nr_rrc_MeasResultSCG_Failure_PDU = -1; /* MeasResultSCG_Failure */ static int hf_nr_rrc_measuredFrequency = -1; /* ARFCN_ValueNR */ static int hf_nr_rrc_criticalExtensions = -1; /* T_criticalExtensions */ @@ -218,7 +229,7 @@ static int hf_nr_rrc_spare2 = -1; /* NULL */ static int hf_nr_rrc_spare1 = -1; /* NULL */ static int hf_nr_rrc_criticalExtensionsFuture = -1; /* T_criticalExtensionsFuture */ static int hf_nr_rrc_ue_CapabilityInfo = -1; /* T_ue_CapabilityInfo */ -static int hf_nr_rrc_candidateCellInfoListMN = -1; /* CandidateCellInfoList */ +static int hf_nr_rrc_candidateCellInfoListMN = -1; /* MeasResultList2NR */ static int hf_nr_rrc_candidateCellInfoListSN = -1; /* T_candidateCellInfoListSN */ static int hf_nr_rrc_measResultCellListSFTD = -1; /* MeasResultCellListSFTD */ static int hf_nr_rrc_scgFailureInfo = -1; /* T_scgFailureInfo */ @@ -232,7 +243,6 @@ static int hf_nr_rrc_scg_RB_Config = -1; /* T_scg_RB_Config */ static int hf_nr_rrc_mcg_RB_Config = -1; /* T_mcg_RB_Config */ static int hf_nr_rrc_nonCriticalExtension = -1; /* T_nonCriticalExtension */ static int hf_nr_rrc_allowedBC_ListMRDC = -1; /* BandCombinationIndexList */ -static int hf_nr_rrc_allowedBPC_ListMRDC = -1; /* BPC_IndexList */ 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 */ @@ -240,8 +250,8 @@ 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_BPC_IndexList_item = -1; /* BPC_Index */ 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 */ @@ -268,7 +278,9 @@ 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_measGapConfigFR1 = -1; /* GapConfig */ +static int hf_nr_rrc_measGapConfig = -1; /* T_measGapConfig */ +static int hf_nr_rrc_release = -1; /* NULL */ +static int hf_nr_rrc_setup = -1; /* GapConfig */ static int hf_nr_rrc_gapPurpose = -1; /* T_gapPurpose */ static int hf_nr_rrc_criticalExtensions_01 = -1; /* T_criticalExtensions_01 */ static int hf_nr_rrc_c1_01 = -1; /* T_c1_01 */ @@ -277,21 +289,9 @@ static int hf_nr_rrc_criticalExtensionsFuture_01 = -1; /* T_criticalExtensionsF static int hf_nr_rrc_measTiming = -1; /* MeasTimingList */ static int hf_nr_rrc_nonCriticalExtension_01 = -1; /* T_nonCriticalExtension_01 */ 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; /* T_ssb_MeasurementTimingConfiguration */ -static int hf_nr_rrc_CandidateCellInfoList_item = -1; /* CandidateCellInfo */ -static int hf_nr_rrc_cellIdentification = -1; /* T_cellIdentification */ -static int hf_nr_rrc_physCellId = -1; /* PhysCellId */ -static int hf_nr_rrc_dl_CarrierFreq = -1; /* ARFCN_ValueNR */ -static int hf_nr_rrc_measResultCell = -1; /* MeasQuantityResults */ -static int hf_nr_rrc_candidateRS_IndexListSSB = -1; /* CandidateRS_IndexInfoListSSB */ -static int hf_nr_rrc_candidateRS_IndexListCSI_RS = -1; /* CandidateRS_IndexInfoListCSI_RS */ -static int hf_nr_rrc_CandidateRS_IndexInfoListSSB_item = -1; /* CandidateRS_IndexInfoSSB */ -static int hf_nr_rrc_ssb_Index = -1; /* SSB_Index */ -static int hf_nr_rrc_measResultSSB = -1; /* MeasQuantityResults */ -static int hf_nr_rrc_CandidateRS_IndexInfoListCSI_RS_item = -1; /* CandidateRS_IndexInfoCSI_RS */ -static int hf_nr_rrc_csi_RS_Index = -1; /* CSI_RS_Index */ -static int hf_nr_rrc_measResultCSI_RS = -1; /* MeasQuantityResults */ +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 */ @@ -363,52 +363,55 @@ 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_release = -1; /* NULL */ -static int hf_nr_rrc_setup = -1; /* 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_01 = -1; /* 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_02 = -1; /* 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_03 = -1; /* 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_04 = -1; /* 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_05 = -1; /* 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_06 = -1; /* 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_07 = -1; /* 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_08 = -1; /* 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_09 = -1; /* 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_10 = -1; /* 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_11 = -1; /* 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_12 = -1; /* 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_13 = -1; /* 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_candidateBeamThreshold = -1; /* RSRP_Range */ +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_recoveryControlResourceSetId = -1; /* ControlResourceSetId */ 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_Bearer_Config */ -static int hf_nr_rrc_rlc_BearerToAddModList_item = -1; /* RLC_Bearer_Config */ +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 */ @@ -418,25 +421,11 @@ static int hf_nr_rrc_sCellToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSCel 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_logicalChannelIdentity = -1; /* LogicalChannelIdentity */ -static int hf_nr_rrc_servedRadioBearer = -1; /* T_servedRadioBearer */ -static int hf_nr_rrc_srb_Identity = -1; /* SRB_Identity */ -static int hf_nr_rrc_drb_Identity = -1; /* DRB_Identity */ -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_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_servCellIndex = -1; /* ServCellIndex */ 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_14 = -1; /* RLF_TimersAndConstants */ -static int hf_nr_rrc_rlmInSyncOutOfSyncThreshold = -1; /* INTEGER_0_1 */ +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 */ @@ -474,13 +463,13 @@ static int hf_nr_rrc_typeI_SinglePanel_ri_Restriction = -1; /* BIT_STRING_SIZE_ 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_32 */ -static int hf_nr_rrc_four_two_one_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_32 */ -static int hf_nr_rrc_two_two_two_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_128 */ -static int hf_nr_rrc_two_eight_one_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_64 */ -static int hf_nr_rrc_four_four_one_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_64 */ -static int hf_nr_rrc_two_four_two_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_256 */ -static int hf_nr_rrc_four_two_two_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_256 */ +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 */ @@ -488,18 +477,18 @@ 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_139 */ +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_49 */ +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_65 */ +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_129 */ +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_129 */ +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 */ @@ -512,7 +501,7 @@ 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_15 = -1; /* CG_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 */ @@ -522,7 +511,7 @@ 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; /* T_configuredGrantTimer */ +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 */ @@ -547,10 +536,12 @@ 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 = -1; /* SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId */ -static int hf_nr_rrc_tci_StatesPDCCH_item = -1; /* TCI_StateId */ +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; /* BIT_STRING_SIZE_16 */ +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 */ @@ -570,7 +561,7 @@ static int hf_nr_rrc_csi_SSB_ResourceSet = -1; /* INTEGER_1_maxNrofCSI_SSB_Re 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_maxNrofPhysicalResourceBlocks */ +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 */ @@ -614,9 +605,9 @@ static int hf_nr_rrc_csi_ReportConfigToReleaseList = -1; /* SEQUENCE_SIZE_1_max 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_16 = -1; /* CSI_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_17 = -1; /* CSI_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 */ @@ -630,8 +621,7 @@ 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_7 */ -static int hf_nr_rrc_csi_RNTI = -1; /* RNTI_Value */ +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 */ @@ -675,7 +665,6 @@ 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_bler_Target = -1; /* T_bler_Target */ 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 */ @@ -689,34 +678,34 @@ 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_Resource */ +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_1_2_OF_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_1_3_OF_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_1_4_OF_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_1_5_OF_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_1_6_OF_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_1_7_OF_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_1_8_OF_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_1_2_OF_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_1_3_OF_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_1_4_OF_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_1_2_OF_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 */ @@ -732,16 +721,37 @@ 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_firstOFDMSymbolInTimeDomain = -1; /* INTEGER_0_13 */ -static int hf_nr_rrc_firstOFDMSymbolInTimeDomain2 = -1; /* INTEGER_0_13 */ +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 = -1; /* T_density */ +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 */ @@ -753,24 +763,23 @@ static int hf_nr_rrc_csi_SSB_ResourceList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_ 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_dmrs_group1 = -1; /* BIT_STRING_SIZE_12 */ -static int hf_nr_rrc_dmrs_group2 = -1; /* BIT_STRING_SIZE_12 */ 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_18 = -1; /* PTRS_DownlinkConfig */ +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_19 = -1; /* PTRS_UplinkConfig */ +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_transformPrecoding = -1; /* T_transformPrecoding */ -static int hf_nr_rrc_disabled_01 = -1; /* T_disabled_01 */ -static int hf_nr_rrc_enabled_01 = -1; /* T_enabled */ +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 */ @@ -788,13 +797,10 @@ static int hf_nr_rrc_subframeAllocation_v1430 = -1; /* T_subframeAllocation_v14 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_ssb_SubcarrierOffset_01 = -1; /* INTEGER_1_23 */ 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_scs_SpecificCarriers = -1; /* SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier */ -static int hf_nr_rrc_scs_SpecificCarriers_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 */ @@ -813,15 +819,13 @@ 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_20 = -1; /* 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_21 = -1; /* 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_cs_RNTI = -1; /* T_cs_RNTI */ -static int hf_nr_rrc_setup_22 = -1; /* RNTI_Value */ 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 */ @@ -838,13 +842,13 @@ 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_Type2PCell = -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_ToAddMod */ -static int hf_nr_rrc_tag_ToAddModList_item = -1; /* TAG_ToAddMod */ +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 */ @@ -860,21 +864,26 @@ 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 = -1; /* MeasGapConfig */ +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_setup_23 = -1; /* GapConfig */ 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 */ @@ -882,59 +891,22 @@ 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_offsetFreq = -1; /* Q_OffsetRangeList */ +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; /* BlackCellsToAddModList */ +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; /* WhiteCellsToAddModList */ +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_smtc1 = -1; /* T_smtc1 */ -static int hf_nr_rrc_periodicityAndOffset_01 = -1; /* T_periodicityAndOffset */ -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_01 = -1; /* T_duration */ -static int hf_nr_rrc_smtc2 = -1; /* T_smtc2 */ -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_01 = -1; /* T_periodicity_01 */ -static int hf_nr_rrc_ss_RSSI_Measurement = -1; /* T_ss_RSSI_Measurement */ -static int hf_nr_rrc_measurementSlots = -1; /* T_measurementSlots */ -static int hf_nr_rrc_kHz15 = -1; /* BIT_STRING_SIZE_1 */ -static int hf_nr_rrc_kHz30 = -1; /* BIT_STRING_SIZE_2 */ -static int hf_nr_rrc_kHz60 = -1; /* BIT_STRING_SIZE_4 */ -static int hf_nr_rrc_kHz120 = -1; /* BIT_STRING_SIZE_8 */ -static int hf_nr_rrc_endSymbol = -1; /* INTEGER_0_13 */ -static int hf_nr_rrc_isServingCellMO = -1; /* BOOLEAN */ -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_01 = -1; /* T_density_01 */ -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_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_isQuasiColocated = -1; /* BOOLEAN */ -static int hf_nr_rrc_frequencyDomainAllocation_02 = -1; /* T_frequencyDomainAllocation_01 */ -static int hf_nr_rrc_sequenceGenerationConfig = -1; /* INTEGER_0_1023 */ +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 */ @@ -948,23 +920,19 @@ 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_BlackCellsToAddModList_item = -1; /* BlackCellsToAddMod */ -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_WhiteCellsToAddModList_item = -1; /* WhiteCellsToAddMod */ 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_measResultServingFreqList = -1; /* MeasResultServFreqList */ +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_MeasResultServFreqList_item = -1; /* MeasResultServFreq */ -static int hf_nr_rrc_servFreqId = -1; /* ServCellIndex */ +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_cgi_Info = -1; /* T_cgi_Info */ 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 */ @@ -979,30 +947,31 @@ 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_measResultServFreqList = -1; /* MeasResultServFreqList2NR */ -static int hf_nr_rrc_measResultNeighCells_01 = -1; /* MeasResultList2NR */ -static int hf_nr_rrc_MeasResultServFreqList2NR_item = -1; /* MeasResultServFreq2NR */ +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_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_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 */ @@ -1014,21 +983,23 @@ static int hf_nr_rrc_searchSpacesToReleaseList = -1; /* SEQUENCE_SIZE_1_10_OF_S 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_slotFormatIndicator = -1; /* T_slotFormatIndicator */ -static int hf_nr_rrc_setup_27 = -1; /* SlotFormatIndicator */ static int hf_nr_rrc_tpc_PUSCH = -1; /* T_tpc_PUSCH */ -static int hf_nr_rrc_setup_28 = -1; /* PUSCH_TPC_CommandConfig */ +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_29 = -1; /* PUCCH_TPC_CommandConfig */ -static int hf_nr_rrc_commonControlResourcesSets = -1; /* SEQUENCE_SIZE_1_2_OF_ControlResourceSet */ -static int hf_nr_rrc_commonControlResourcesSets_item = -1; /* ControlResourceSet */ -static int hf_nr_rrc_commonSearchSpaces = -1; /* SEQUENCE_SIZE_1_4_OF_SearchSpace */ -static int hf_nr_rrc_commonSearchSpaces_item = -1; /* SearchSpace */ +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_ControlResourceSet = -1; /* ControlResourceSetId */ 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 */ @@ -1047,22 +1018,23 @@ 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; /* 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; /* BOOLEAN */ +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; /* T_pdcp_Duplication */ +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_1007 */ +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_30 = -1; /* DMRS_DownlinkConfig */ +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 */ @@ -1070,55 +1042,68 @@ static int hf_nr_rrc_tci_StatesToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofTC 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_AllocationList = -1; /* SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation */ -static int hf_nr_rrc_pdsch_AllocationList_item = -1; /* PDSCH_TimeDomainResourceAllocation */ +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; /* SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId */ -static int hf_nr_rrc_rateMatchPatternGroup1_item = -1; /* RateMatchPatternId */ -static int hf_nr_rrc_rateMatchPatternGroup2 = -1; /* SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId */ -static int hf_nr_rrc_rateMatchPatternGroup2_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_static = -1; /* T_static */ +static int hf_nr_rrc_staticBundling = -1; /* T_staticBundling */ static int hf_nr_rrc_bundleSize = -1; /* T_bundleSize */ -static int hf_nr_rrc_dynamic_01 = -1; /* T_dynamic */ +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_Sets_OF_ZP_CSI_RS_ResourceSet */ +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_Sets_OF_ZP_CSI_RS_ResourceSetId */ +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_Sets_OF_ZP_CSI_RS_ResourceSet */ +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_Sets_OF_ZP_CSI_RS_ResourceSetId */ +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_31 = -1; /* PDSCH_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_k0 = -1; /* INTEGER_1_3 */ +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; /* BIT_STRING_SIZE_7 */ +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_RatioPort1 = -1; /* INTEGER_0_3 */ -static int hf_nr_rrc_epre_RatioPort2 = -1; /* T_epre_RatioPort2 */ -static int hf_nr_rrc_epre_RatioPort2_item = -1; /* INTEGER_0_3 */ +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 */ @@ -1130,7 +1115,7 @@ 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_timeDensity_02 = -1; /* T_timeDensity_02 */ +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 */ @@ -1140,7 +1125,7 @@ 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_32 = -1; /* PUCCH_FormatConfig */ +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 */ @@ -1161,18 +1146,20 @@ static int hf_nr_rrc_interslotFrequencyHopping = -1; /* T_interslotFrequencyHop 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_pi2PBSK = -1; /* T_pi2PBSK */ +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; /* SRS_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_resources = -1; /* SEQUENCE_SIZE_8_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId */ -static int hf_nr_rrc_resources_item = -1; /* PUCCH_ResourceId */ +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 */ @@ -1193,9 +1180,9 @@ 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; /* BIT_STRING_SIZE_4 */ +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; /* BIT_STRING_SIZE_10 */ +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 */ @@ -1211,18 +1198,18 @@ 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_1007 */ +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_33 = -1; /* DMRS_UplinkConfig */ +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_AllocationList = -1; /* SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation */ -static int hf_nr_rrc_pusch_AllocationList_item = -1; /* PUSCH_TimeDomainResourceAllocation */ +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 */ @@ -1231,12 +1218,13 @@ 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_34 = -1; /* UCI_OnPUSCH */ -static int hf_nr_rrc_vrb_ToPRB_Interleaver_01 = -1; /* T_vrb_ToPRB_Interleaver_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_02 = -1; /* SEQUENCE_SIZE_4_OF_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 */ @@ -1271,17 +1259,18 @@ 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_35 = -1; /* PUSCH_CodeBlockGroupGransmission */ +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_k2 = -1; /* INTEGER_0_7 */ +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; /* QuantityConfigNR_List */ -static int hf_nr_rrc_QuantityConfigNR_List_item = -1; /* QuantityConfigNR */ +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 */ @@ -1305,7 +1294,6 @@ 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 = -1; /* RSRP_Range */ 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 */ @@ -1317,27 +1305,32 @@ 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_M200_M74 */ +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_Resources = -1; /* CFRA_Resources */ +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_cfra_csirs_DedicatedRACH_Threshold = -1; /* RSRP_Range */ +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 = -1; /* T_ra_OccasionList */ -static int hf_nr_rrc_ra_OccasionList_item = -1; /* INTEGER_0_maxRA_Occasions_1 */ +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 */ @@ -1345,15 +1338,19 @@ 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_failureDetectionResources = -1; /* SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS */ -static int hf_nr_rrc_failureDetectionResources_item = -1; /* RadioLinkMonitoringRS */ +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 */ @@ -1381,7 +1378,6 @@ 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_reportCGI = -1; /* T_reportCGI */ 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 */ @@ -1420,6 +1416,11 @@ 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 */ @@ -1443,11 +1444,11 @@ static int hf_nr_rrc_schedulingRequestToAddModList = -1; /* SEQUENCE_SIZE_1_max 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_sr_ConfigIndex = -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_02 = -1; /* T_periodicityAndOffset_01 */ +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 */ @@ -1463,9 +1464,8 @@ 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 = -1; /* PUCCH_ResourceId */ +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_k0_01 = -1; /* T_k0 */ 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 */ @@ -1477,6 +1477,9 @@ static int hf_nr_rrc_mappedQoS_FlowsToRelease = -1; /* SEQUENCE_SIZE_1_maxNrofQ 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 */ @@ -1504,7 +1507,7 @@ 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 = -1; /* BWP_DownlinkDedicated */ +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 */ @@ -1514,16 +1517,17 @@ 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_36 = -1; /* 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_37 = -1; /* CSI_MeasConfig */ -static int hf_nr_rrc_carrierSwitching = -1; /* T_carrierSwitching */ -static int hf_nr_rrc_setup_38 = -1; /* SRS_CarrierSwitching */ +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 */ @@ -1531,19 +1535,18 @@ static int hf_nr_rrc_uplinkBWP_ToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofBWP 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_39 = -1; /* PUSCH_ServingCellConfig */ -static int hf_nr_rrc_frequencyInfoDL = -1; /* FrequencyInfoDL */ -static int hf_nr_rrc_initialDownlinkBWP_01 = -1; /* BWP_DownlinkCommon */ +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_40 = -1; /* RateMatchPatternLTE_CRS */ +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_tdd_UL_DL_ConfigurationCommon2 = -1; /* TDD_UL_DL_ConfigCommon */ -static int hf_nr_rrc_frequencyInfoUL = -1; /* FrequencyInfoUL */ -static int hf_nr_rrc_initialUplinkBWP_01 = -1; /* BWP_UplinkCommon */ 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 */ @@ -1557,12 +1560,14 @@ static int hf_nr_rrc_slotFormatCombToAddModList = -1; /* SEQUENCE_SIZE_1_maxNro 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_periodicity_02 = -1; /* T_periodicity_02 */ +static int hf_nr_rrc_measurementSlots = -1; /* BIT_STRING_SIZE_1_80 */ +static int hf_nr_rrc_endSymbol = -1; /* INTEGER_0_3 */ +static int hf_nr_rrc_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_Resource */ -static int hf_nr_rrc_srs_ResourceSetToReleaseList = -1; /* SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId */ +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_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet */ +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 */ @@ -1574,8 +1579,8 @@ static int hf_nr_rrc_srs_ResourceIdList = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_ 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_0_maxNrofSRS_TriggerStates_1 */ -static int hf_nr_rrc_slotOffset = -1; /* INTEGER_1_8 */ +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 */ @@ -1611,36 +1616,47 @@ 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; /* T_spatialRelationInfo */ +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_sl1280 = -1; /* INTEGER_0_1279 */ -static int hf_nr_rrc_sl2560 = -1; /* INTEGER_0_2559 */ 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_srs_CellToSFI = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_SlotFormatCombinationsPerCell */ -static int hf_nr_rrc_srs_CellToSFI_item = -1; /* SlotFormatCombinationsPerCell */ 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_startingBitOfFormat2_3 = -1; /* INTEGER_1_31 */ -static int hf_nr_rrc_fieldTypeFormat2_3 = -1; /* INTEGER_0_1 */ 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_nrofPTRS_Ports = -1; /* T_nrofPTRS_Ports */ static int hf_nr_rrc_cell = -1; /* ServCellIndex */ -static int hf_nr_rrc_referenceSignal_03 = -1; /* T_referenceSignal_03 */ +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_csi_RS_for_tracking = -1; /* NZP_CSI_RS_ResourceSetId */ 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 */ @@ -1657,147 +1673,184 @@ 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_resourceType_03 = -1; /* T_resourceType_03 */ static int hf_nr_rrc_BandCombinationList_item = -1; /* BandCombination */ -static int hf_nr_rrc_bandAndDL_ParametersList = -1; /* BandAndDL_ParametersList */ -static int hf_nr_rrc_bandCombinationsUL = -1; /* BIT_STRING_SIZE_1_maxBandComb */ -static int hf_nr_rrc_bandCombinationParametersList = -1; /* SEQUENCE_SIZE_1_maxBandComb_OF_BandCombinationParameters */ -static int hf_nr_rrc_bandCombinationParametersList_item = -1; /* BandCombinationParameters */ -static int hf_nr_rrc_BandAndDL_ParametersList_item = -1; /* BandAndDL_Parameters */ -static int hf_nr_rrc_bandAndDL_ParametersEUTRA = -1; /* BandAndDL_ParametersEUTRA */ -static int hf_nr_rrc_bandAndDL_ParametersNR = -1; /* BandAndDL_ParametersNR */ +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_multipleTimingAdvances = -1; /* T_multipleTimingAdvances */ -static int hf_nr_rrc_simultaneousRxTxInterBandCA = -1; /* T_simultaneousRxTxInterBandCA */ static int hf_nr_rrc_supportedBandwidthCombinationSet = -1; /* BIT_STRING_SIZE_1_32 */ -static int hf_nr_rrc_singleUL_Transmission = -1; /* T_singleUL_Transmission */ -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_basebandProcesingCombinationMRDC = -1; /* BasebandProcessingCombinationMRDC */ +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_intraBandContiguousCC_InfoDL_EUTRA_List = -1; /* SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoDL_EUTRA */ -static int hf_nr_rrc_intraBandContiguousCC_InfoDL_EUTRA_List_item = -1; /* IntraBandContiguousCC_InfoDL_EUTRA */ -static int hf_nr_rrc_bandNR = -1; /* FreqBandIndicatorNR */ -static int hf_nr_rrc_ca_BandwidthClassDL = -1; /* CA_BandwidthClassNR */ -static int hf_nr_rrc_intraBandFreqSeparationDL = -1; /* FreqSeparationClass */ -static int hf_nr_rrc_intraBandContiguousCC_InfoDL_List = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoDL */ -static int hf_nr_rrc_intraBandContiguousCC_InfoDL_List_item = -1; /* IntraBandContiguousCC_InfoDL */ -static int hf_nr_rrc_maxNumberMIMO_LayersPDSCH = -1; /* MIMO_LayersDL */ -static int hf_nr_rrc_mimo_CapabilityDL = -1; /* T_mimo_CapabilityDL */ -static int hf_nr_rrc_BandCombinationParametersUL_List_item = -1; /* BandCombinationParametersUL */ -static int hf_nr_rrc_BandCombinationParametersUL_item = -1; /* BandParametersUL */ -static int hf_nr_rrc_bandParametersUL_EUTRA = -1; /* BandParametersUL_EUTRA */ -static int hf_nr_rrc_bandParametersUL_NR = -1; /* BandParametersUL_NR */ static int hf_nr_rrc_ca_BandwidthClassUL_EUTRA = -1; /* CA_BandwidthClassEUTRA */ -static int hf_nr_rrc_intraBandContiguousCC_InfoUL_EUTRA_List = -1; /* SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoUL_EUTRA */ -static int hf_nr_rrc_intraBandContiguousCC_InfoUL_EUTRA_List_item = -1; /* IntraBandContiguousCC_InfoUL_EUTRA */ -static int hf_nr_rrc_ca_BandwidthClassUL = -1; /* CA_BandwidthClassNR */ -static int hf_nr_rrc_intraBandFreqSeparationUL = -1; /* FreqSeparationClass */ -static int hf_nr_rrc_intraBandContiguousCC_InfoUL_List = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoUL */ -static int hf_nr_rrc_intraBandContiguousCC_InfoUL_List_item = -1; /* IntraBandContiguousCC_InfoUL */ -static int hf_nr_rrc_maxNumberMIMO_LayersCB_PUSCH = -1; /* MIMO_LayersUL */ -static int hf_nr_rrc_maxNumberMIMO_LayersNonCB_PUSCH = -1; /* MIMO_LayersUL */ -static int hf_nr_rrc_mimo_CapabilityUL = -1; /* T_mimo_CapabilityUL */ -static int hf_nr_rrc_BasebandCombinationParametersUL_List_item = -1; /* BasebandCombinationParametersUL */ -static int hf_nr_rrc_BasebandCombinationParametersUL_item = -1; /* BasebandParametersPerBandUL */ -static int hf_nr_rrc_freqRange = -1; /* T_freqRange */ -static int hf_nr_rrc_basebandParametersPerCC_UL = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_UL */ -static int hf_nr_rrc_basebandParametersPerCC_UL_item = -1; /* BasebandParametersPerCC_UL */ -static int hf_nr_rrc_supportedSubcarrierSpacingUL = -1; /* SubcarrierSpacing */ -static int hf_nr_rrc_supportedBandwidthUL = -1; /* T_supportedBandwidthUL */ -static int hf_nr_rrc_fr1 = -1; /* T_fr1 */ -static int hf_nr_rrc_fr2 = -1; /* T_fr2 */ -static int hf_nr_rrc_scalingFactor0dot75 = -1; /* T_scalingFactor0dot75 */ -static int hf_nr_rrc_supportedModulationOrderUL = -1; /* ModulationOrder */ -static int hf_nr_rrc_supportedSRS_Resources = -1; /* SRS_Resources */ -static int hf_nr_rrc_srs_TxSwitch = -1; /* SRS_TxSwitch */ -static int hf_nr_rrc_lowLatencyCSI_Feedback = -1; /* T_lowLatencyCSI_Feedback */ -static int hf_nr_rrc_pusch_DifferentTB_PerSlot = -1; /* T_pusch_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 = -1; /* T_scs_60kHz */ -static int hf_nr_rrc_scs_120kHz = -1; /* T_scs_120kHz */ -static int hf_nr_rrc_twoPUCCH_Group = -1; /* T_twoPUCCH_Group */ +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_crossCarrierScheduling = -1; /* T_crossCarrierScheduling */ static int hf_nr_rrc_supportedNumberTAG = -1; /* T_supportedNumberTAG */ -static int hf_nr_rrc_dynamicSwitchSUL = -1; /* T_dynamicSwitchSUL */ -static int hf_nr_rrc_simultaneousTxSUL_NonSUL = -1; /* T_simultaneousTxSUL_NonSUL */ -static int hf_nr_rrc_searchSpaceSharingCA_UL = -1; /* T_searchSpaceSharingCA_UL */ -static int hf_nr_rrc_BasebandProcessingCombinationMRDC_item = -1; /* BasebandProcessingCombinationLink */ -static int hf_nr_rrc_basebandProcessingCombinationIndexMN = -1; /* BasebandProcessingCombinationIndex */ -static int hf_nr_rrc_basebandProcessingCombinationLinkedIndexSN = -1; /* SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex */ -static int hf_nr_rrc_basebandProcessingCombinationLinkedIndexSN_item = -1; /* BasebandProcessingCombinationIndex */ -static int hf_nr_rrc_FreqBandList_item = -1; /* FreqBandInformation */ -static int hf_nr_rrc_SupportedBasebandProcessingCombination_item = -1; /* BasebandProcessingCombination */ -static int hf_nr_rrc_basebandParametersDL = -1; /* SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBandDL */ -static int hf_nr_rrc_basebandParametersDL_item = -1; /* BasebandParametersPerBandDL */ -static int hf_nr_rrc_basebandParametersUL = -1; /* BIT_STRING_SIZE_1_maxBasebandProcComb */ -static int hf_nr_rrc_freqRange_01 = -1; /* T_freqRange_01 */ -static int hf_nr_rrc_basebandParametersPerCC_DL = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_DL */ -static int hf_nr_rrc_basebandParametersPerCC_DL_item = -1; /* BasebandParametersPerCC_DL */ -static int hf_nr_rrc_supportedSubcarrierSpacingDL = -1; /* SubcarrierSpacing */ -static int hf_nr_rrc_supportedBandwidthDL = -1; /* T_supportedBandwidthDL */ -static int hf_nr_rrc_fr1_01 = -1; /* T_fr1_01 */ -static int hf_nr_rrc_fr2_01 = -1; /* T_fr2_01 */ -static int hf_nr_rrc_scalingFactor0dot75_01 = -1; /* T_scalingFactor0dot75_01 */ -static int hf_nr_rrc_timeDurationForQCL = -1; /* T_timeDurationForQCL */ -static int hf_nr_rrc_scs_60kHz_01 = -1; /* T_scs_60kHz_01 */ -static int hf_nr_rrc_sch_120kHz = -1; /* T_sch_120kHz */ +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_supportedModulationOrderDL = -1; /* ModulationOrder */ 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_crossCarrierScheduling_01 = -1; /* T_crossCarrierScheduling_01 */ -static int hf_nr_rrc_searchSpaceSharingCA_DL = -1; /* T_searchSpaceSharingCA_DL */ +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_phy_ParametersMRDC = -1; /* Phy_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_06 = -1; /* T_nonCriticalExtension_06 */ -static int hf_nr_rrc_phy_ParametersMRDC_XDD_Diff = -1; /* Phy_ParametersMRDC_XDD_Diff */ 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_phy_ParametersMRDC_FRX_Diff = -1; /* Phy_ParametersMRDC_FRX_Diff */ static int hf_nr_rrc_measParametersMRDC_FRX_Diff = -1; /* MeasParametersMRDC_FRX_Diff */ -static int hf_nr_rrc_supportedBandCombination = -1; /* BandCombinationList */ -static int hf_nr_rrc_bandCombinationParametersUL_List = -1; /* BandCombinationParametersUL_List */ -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_dynamicPowerSharing_01 = -1; /* T_dynamicPowerSharing_01 */ -static int hf_nr_rrc_tdm_Pattern_01 = -1; /* T_tdm_Pattern_01 */ +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_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_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 */ @@ -1808,6 +1861,7 @@ static int hf_nr_rrc_fdd_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddXDD 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_07 = -1; /* T_nonCriticalExtension_07 */ static int hf_nr_rrc_phy_ParametersXDD_Diff = -1; /* Phy_ParametersXDD_Diff */ static int hf_nr_rrc_mac_ParametersXDD_Diff = -1; /* MAC_ParametersXDD_Diff */ @@ -1817,16 +1871,12 @@ 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_supportedBasebandProcessingCombination = -1; /* SupportedBasebandProcessingCombination */ -static int hf_nr_rrc_basebandCombinationParametersUL_List = -1; /* BasebandCombinationParametersUL_List */ 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_multipleCORESET = -1; /* T_multipleCORESET */ -static int hf_nr_rrc_dynamicSFI = -1; /* T_dynamicSFI */ 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 */ @@ -1839,11 +1889,8 @@ static int hf_nr_rrc_dynamicSwitchRA_Type0_1_PUSCH = -1; /* T_dynamicSwitchRA_T 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_interleavingVRB_ToPRB_PUSCH = -1; /* T_interleavingVRB_ToPRB_PUSCH */ static int hf_nr_rrc_interSlotFreqHopping_PUSCH = -1; /* T_interSlotFreqHopping_PUSCH */ -static int hf_nr_rrc_type1_PUSCH_RepetitionOneSlot = -1; /* T_type1_PUSCH_RepetitionOneSlot */ static int hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots = -1; /* T_type1_PUSCH_RepetitionMultiSlots */ -static int hf_nr_rrc_type2_PUSCH_RepetitionOneSlot = -1; /* T_type2_PUSCH_RepetitionOneSlot */ 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 */ @@ -1851,16 +1898,18 @@ 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 = -1; /* BIT_STRING_SIZE_2 */ +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_rateMatchingLTE_CRS = -1; /* T_rateMatchingLTE_CRS */ 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 */ @@ -1869,7 +1918,6 @@ 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_ReportWithCRI = -1; /* T_csi_ReportWithCRI */ 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 */ @@ -1893,53 +1941,36 @@ static int hf_nr_rrc_twoDifferentTPC_Loop_PUSCH_01 = -1; /* T_twoDifferentTPC_L 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_oneSymbolGP_TDD = -1; /* T_oneSymbolGP_TDD */ 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_supportedBandListNR = -1; /* SupportedBandListNR */ -static int hf_nr_rrc_SupportedBandListNR_item = -1; /* BandNR */ +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_maxChannelBW_PerCC = -1; /* T_maxChannelBW_PerCC */ static int hf_nr_rrc_mimo_ParametersPerBand = -1; /* MIMO_ParametersPerBand */ static int hf_nr_rrc_extendedCP = -1; /* T_extendedCP */ -static int hf_nr_rrc_phaseCoherenceUL = -1; /* T_phaseCoherenceUL */ -static int hf_nr_rrc_scellWithoutSSB_01 = -1; /* T_scellWithoutSSB_01 */ -static int hf_nr_rrc_csi_RS_MeasSCellWithoutSSB_01 = -1; /* T_csi_RS_MeasSCellWithoutSSB_01 */ -static int hf_nr_rrc_srs_AssocCSI_RS_01 = -1; /* T_srs_AssocCSI_RS_01 */ -static int hf_nr_rrc_type1_3_CSS_01 = -1; /* T_type1_3_CSS_01 */ static int hf_nr_rrc_multipleTCI = -1; /* T_multipleTCI */ -static int hf_nr_rrc_pdcchMonitoringAnyOccasions_01 = -1; /* T_pdcchMonitoringAnyOccasions_01 */ -static int hf_nr_rrc_ue_SpecificUL_DL_Assignment_01 = -1; /* T_ue_SpecificUL_DL_Assignment_01 */ -static int hf_nr_rrc_pdsch_DifferentTB_PerSlot_01 = -1; /* T_pdsch_DifferentTB_PerSlot_01 */ -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_pusch_DifferentTB_PerSlot_01 = -1; /* T_pusch_DifferentTB_PerSlot_01 */ -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_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_twoPUCCH_Group_01 = -1; /* T_twoPUCCH_Group_01 */ -static int hf_nr_rrc_diffNumerologyAcrossPUCCH_Group_01 = -1; /* T_diffNumerologyAcrossPUCCH_Group_01 */ -static int hf_nr_rrc_diffNumerologyWithinPUCCH_Group_01 = -1; /* T_diffNumerologyWithinPUCCH_Group_01 */ -static int hf_nr_rrc_crossCarrierScheduling_02 = -1; /* T_crossCarrierScheduling_02 */ -static int hf_nr_rrc_supportedNumberTAG_01 = -1; /* T_supportedNumberTAG_01 */ -static int hf_nr_rrc_simultaneousTxSUL_NonSUL_01 = -1; /* T_simultaneousTxSUL_NonSUL_01 */ -static int hf_nr_rrc_searchSpaceSharingCA_DL_01 = -1; /* T_searchSpaceSharingCA_DL_01 */ -static int hf_nr_rrc_searchSpaceSharingCA_UL_01 = -1; /* T_searchSpaceSharingCA_UL_01 */ +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_timeDurationForQCL_01 = -1; /* T_timeDurationForQCL_01 */ -static int hf_nr_rrc_scs_60kHz_06 = -1; /* T_scs_60kHz_06 */ -static int hf_nr_rrc_sch_120kHz_01 = -1; /* T_sch_120kHz_01 */ -static int hf_nr_rrc_maxNumberConfiguredTCIstates = -1; /* T_maxNumberConfiguredTCIstates */ -static int hf_nr_rrc_maxNumberActiveTCI_PerCC = -1; /* T_maxNumberActiveTCI_PerCC */ +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 */ @@ -1949,31 +1980,62 @@ 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_04 = -1; /* T_scs_15kHz_04 */ -static int hf_nr_rrc_scs_30kHz_04 = -1; /* T_scs_30kHz_04 */ -static int hf_nr_rrc_scs_60kHz_07 = -1; /* T_scs_60kHz_07 */ -static int hf_nr_rrc_scs_120kHz_04 = -1; /* T_scs_120kHz_04 */ +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 = -1; /* T_maxNumberSRS_ResourcePerSet */ +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 = -1; /* BIT_STRING_SIZE_2 */ +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_lowLatencyCSI_Feedback_01 = -1; /* T_lowLatencyCSI_Feedback_01 */ +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_0_6 */ +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 */ @@ -1982,7 +2044,7 @@ 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 */ +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 */ @@ -1995,7 +2057,9 @@ static int hf_nr_rrc_logicalChannelSR_DelayTimer_01 = -1; /* T_logicalChannelSR 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_multipleConfiguredGrantConfigurations = -1; /* T_multipleConfiguredGrantConfigurations */ +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 */ @@ -2024,12 +2088,12 @@ 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_BPC_IndexList = -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_01 = -1; static gint ett_nr_rrc_T_c1_01 = -1; @@ -2038,13 +2102,7 @@ static gint ett_nr_rrc_MeasurementTimingConfiguration_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_01 = -1; static gint ett_nr_rrc_MeasTimingList = -1; static gint ett_nr_rrc_MeasTiming = -1; -static gint ett_nr_rrc_CandidateCellInfoList = -1; -static gint ett_nr_rrc_CandidateCellInfo = -1; -static gint ett_nr_rrc_T_cellIdentification = -1; -static gint ett_nr_rrc_CandidateRS_IndexInfoListSSB = -1; -static gint ett_nr_rrc_CandidateRS_IndexInfoSSB = -1; -static gint ett_nr_rrc_CandidateRS_IndexInfoListCSI_RS = -1; -static gint ett_nr_rrc_CandidateRS_IndexInfoCSI_RS = -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; @@ -2102,14 +2160,12 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDe 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_Bearer_Config = -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_RLC_Bearer_Config = -1; -static gint ett_nr_rrc_T_servedRadioBearer = -1; -static gint ett_nr_rrc_PhysicalCellGroupConfig = -1; static gint ett_nr_rrc_SpCellConfig = -1; static gint ett_nr_rrc_T_rlf_TimersAndConstants = -1; static gint ett_nr_rrc_ReconfigurationWithSync = -1; @@ -2195,19 +2251,19 @@ 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_1_2_OF_PortIndex8 = -1; -static gint ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_PortIndex8 = -1; -static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_PortIndex8 = -1; -static gint ett_nr_rrc_SEQUENCE_SIZE_1_5_OF_PortIndex8 = -1; -static gint ett_nr_rrc_SEQUENCE_SIZE_1_6_OF_PortIndex8 = -1; -static gint ett_nr_rrc_SEQUENCE_SIZE_1_7_OF_PortIndex8 = -1; -static gint ett_nr_rrc_SEQUENCE_SIZE_1_8_OF_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_1_2_OF_PortIndex4 = -1; -static gint ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_PortIndex4 = -1; -static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_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_1_2_OF_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; @@ -2215,9 +2271,18 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_O 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_ResourceMapping = -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_T_density = -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; @@ -2226,9 +2291,9 @@ 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_transformPrecoding = -1; -static gint ett_nr_rrc_T_disabled_01 = -1; -static gint ett_nr_rrc_T_enabled = -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; @@ -2246,7 +2311,6 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing = -1; static gint ett_nr_rrc_MAC_CellGroupConfig = -1; static gint ett_nr_rrc_T_drx_Config = -1; static gint ett_nr_rrc_T_phr_Config = -1; -static gint ett_nr_rrc_T_cs_RNTI = -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; @@ -2254,8 +2318,8 @@ 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_ToAddMod = -1; -static gint ett_nr_rrc_TAG_ToAddMod = -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; @@ -2265,44 +2329,28 @@ 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_T_smtc1 = -1; -static gint ett_nr_rrc_T_periodicityAndOffset = -1; -static gint ett_nr_rrc_T_smtc2 = -1; -static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId = -1; -static gint ett_nr_rrc_T_ss_RSSI_Measurement = -1; -static gint ett_nr_rrc_T_measurementSlots = -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_01 = -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_BlackCellsToAddModList = -1; -static gint ett_nr_rrc_BlackCellsToAddMod = -1; -static gint ett_nr_rrc_WhiteCellsToAddModList = -1; -static gint ett_nr_rrc_WhiteCellsToAddMod = -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_MeasResultServFreqList = -1; -static gint ett_nr_rrc_MeasResultServFreq = -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; @@ -2314,18 +2362,17 @@ 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_MeasResultServFreqList2NR = -1; -static gint ett_nr_rrc_MeasResultServFreq2NR = -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_NZP_CSI_RS_Resource = -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; @@ -2333,12 +2380,13 @@ 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_slotFormatIndicator = -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_2_OF_ControlResourceSet = -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; @@ -2353,25 +2401,30 @@ 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_SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation = -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_static = -1; -static gint ett_nr_rrc_T_dynamic = -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_Sets_OF_ZP_CSI_RS_ResourceSet = -1; -static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSetId = -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_T_epre_RatioPort2 = -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; @@ -2397,8 +2450,9 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_Spat 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_8_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId = -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; @@ -2418,7 +2472,7 @@ 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_SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation = -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; @@ -2437,11 +2491,12 @@ 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_CodeBlockGroupGransmission = -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_QuantityConfigNR_List = -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; @@ -2451,14 +2506,17 @@ 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_Resources = -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 = -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; @@ -2469,6 +2527,7 @@ 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; @@ -2494,6 +2553,8 @@ 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; @@ -2509,7 +2570,7 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_Schedulin 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_01 = -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; @@ -2529,16 +2590,16 @@ static gint ett_nr_rrc_SecurityAlgorithmConfig = -1; static gint ett_nr_rrc_ServingCellConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink = -1; +static gint ett_nr_rrc_T_pdcch_ServingCellConfig = -1; static gint ett_nr_rrc_T_pdsch_ServingCellConfig = -1; static gint ett_nr_rrc_T_csi_MeasConfig = -1; -static gint ett_nr_rrc_T_carrierSwitching = -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_UplinkConfigCommon = -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; @@ -2546,10 +2607,11 @@ 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_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId = -1; -static gint ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet = -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; @@ -2569,88 +2631,94 @@ 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_T_spatialRelationInfo = -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_SlotFormatCombinationsPerCell = -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_03 = -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_maxBandComb_OF_BandCombinationParameters = -1; -static gint ett_nr_rrc_BandAndDL_ParametersList = -1; -static gint ett_nr_rrc_BandAndDL_Parameters = -1; -static gint ett_nr_rrc_BandCombinationParameters = -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_MRDC_Parameters = -1; -static gint ett_nr_rrc_BandAndDL_ParametersEUTRA = -1; -static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoDL_EUTRA = -1; -static gint ett_nr_rrc_BandAndDL_ParametersNR = -1; -static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoDL = -1; -static gint ett_nr_rrc_IntraBandContiguousCC_InfoDL = -1; -static gint ett_nr_rrc_IntraBandContiguousCC_InfoDL_EUTRA = -1; -static gint ett_nr_rrc_BandCombinationParametersUL_List = -1; -static gint ett_nr_rrc_BandCombinationParametersUL = -1; -static gint ett_nr_rrc_BandParametersUL = -1; -static gint ett_nr_rrc_BandParametersUL_EUTRA = -1; -static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoUL_EUTRA = -1; -static gint ett_nr_rrc_BandParametersUL_NR = -1; -static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoUL = -1; -static gint ett_nr_rrc_IntraBandContiguousCC_InfoUL = -1; -static gint ett_nr_rrc_IntraBandContiguousCC_InfoUL_EUTRA = -1; -static gint ett_nr_rrc_BasebandCombinationParametersUL_List = -1; -static gint ett_nr_rrc_BasebandCombinationParametersUL = -1; -static gint ett_nr_rrc_BasebandParametersPerBandUL = -1; -static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_UL = -1; -static gint ett_nr_rrc_BasebandParametersPerCC_UL = -1; -static gint ett_nr_rrc_T_supportedBandwidthUL = -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_BasebandProcessingCombinationMRDC = -1; -static gint ett_nr_rrc_BasebandProcessingCombinationLink = -1; -static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex = -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_SupportedBasebandProcessingCombination = -1; -static gint ett_nr_rrc_BasebandProcessingCombination = -1; -static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBandDL = -1; -static gint ett_nr_rrc_BasebandParametersPerBandDL = -1; -static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_DL = -1; -static gint ett_nr_rrc_BasebandParametersPerCC_DL = -1; -static gint ett_nr_rrc_T_supportedBandwidthDL = -1; -static gint ett_nr_rrc_T_timeDurationForQCL = -1; -static gint ett_nr_rrc_T_pdsch_DifferentTB_PerSlot = -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_06 = -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_Phy_ParametersMRDC = -1; -static gint ett_nr_rrc_Phy_ParametersMRDC_XDD_Diff = -1; -static gint ett_nr_rrc_Phy_ParametersMRDC_FRX_Diff = -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_GeneralParametersMRDC_XDD_Diff = -1; static gint ett_nr_rrc_UE_NR_Capability = -1; static gint ett_nr_rrc_T_nonCriticalExtension_07 = -1; static gint ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode = -1; @@ -2662,15 +2730,19 @@ 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_SupportedBandListNR = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR = -1; static gint ett_nr_rrc_BandNR = -1; -static gint ett_nr_rrc_T_pdsch_DifferentTB_PerSlot_01 = -1; -static gint ett_nr_rrc_T_pusch_DifferentTB_PerSlot_01 = -1; static gint ett_nr_rrc_MIMO_ParametersPerBand = -1; -static gint ett_nr_rrc_T_timeDurationForQCL_01 = -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; @@ -2680,6 +2752,7 @@ 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; @@ -2716,7 +2789,7 @@ static void private_data_set_rat_type(asn1_ctx_t *actx, guint8 rat_type) /*--- Included file: packet-nr-rrc-fn.c ---*/ #line 1 "./asn1/nr-rrc/packet-nr-rrc-fn.c" /*--- PDUs declarations ---*/ -static int dissect_CandidateCellInfoList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +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_); @@ -2774,26 +2847,11 @@ dissect_nr_rrc_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } -static const per_sequence_t T_cellIdentification_sequence[] = { - { &hf_nr_rrc_physCellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, - { &hf_nr_rrc_dl_CarrierFreq, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_nr_rrc_T_cellIdentification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_cellIdentification, T_cellIdentification_sequence); - - 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, 124U, NULL, FALSE); + 0U, 127U, NULL, FALSE); return offset; } @@ -2835,6 +2893,21 @@ dissect_nr_rrc_MeasQuantityResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } +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_) { @@ -2845,30 +2918,30 @@ dissect_nr_rrc_SSB_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ } -static const per_sequence_t CandidateRS_IndexInfoSSB_sequence[] = { - { &hf_nr_rrc_ssb_Index , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index }, - { &hf_nr_rrc_measResultSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults }, +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_CandidateRS_IndexInfoSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_CandidateRS_IndexInfoSSB, CandidateRS_IndexInfoSSB_sequence); + ett_nr_rrc_ResultsPerSSB_Index, ResultsPerSSB_Index_sequence); return offset; } -static const per_sequence_t CandidateRS_IndexInfoListSSB_sequence_of[1] = { - { &hf_nr_rrc_CandidateRS_IndexInfoListSSB_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CandidateRS_IndexInfoSSB }, +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_CandidateRS_IndexInfoListSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_CandidateRS_IndexInfoListSSB, CandidateRS_IndexInfoListSSB_sequence_of, - 1, maxNrofIndexesToReport, FALSE); + ett_nr_rrc_ResultsPerSSB_IndexList, ResultsPerSSB_IndexList_sequence_of, + 1, maxNrofSSBs, FALSE); return offset; } @@ -2884,61 +2957,120 @@ dissect_nr_rrc_CSI_RS_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const per_sequence_t CandidateRS_IndexInfoCSI_RS_sequence[] = { - { &hf_nr_rrc_csi_RS_Index , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Index }, - { &hf_nr_rrc_measResultCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults }, +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_CandidateRS_IndexInfoCSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_CandidateRS_IndexInfoCSI_RS, CandidateRS_IndexInfoCSI_RS_sequence); + 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 CandidateRS_IndexInfoListCSI_RS_sequence_of[1] = { - { &hf_nr_rrc_CandidateRS_IndexInfoListCSI_RS_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CandidateRS_IndexInfoCSI_RS }, +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_CandidateRS_IndexInfoListCSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_CandidateRS_IndexInfoListCSI_RS, CandidateRS_IndexInfoListCSI_RS_sequence_of, - 1, maxNrofIndexesToReport, FALSE); + ett_nr_rrc_MeasResultListNR, MeasResultListNR_sequence_of, + 1, maxCellReport, FALSE); return offset; } -static const per_sequence_t CandidateCellInfo_sequence[] = { - { &hf_nr_rrc_cellIdentification, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellIdentification }, - { &hf_nr_rrc_measResultCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults }, - { &hf_nr_rrc_candidateRS_IndexListSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CandidateRS_IndexInfoListSSB }, - { &hf_nr_rrc_candidateRS_IndexListCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CandidateRS_IndexInfoListCSI_RS }, +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_CandidateCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_CandidateCellInfo, CandidateCellInfo_sequence); + ett_nr_rrc_MeasResult2NR, MeasResult2NR_sequence); return offset; } -static const per_sequence_t CandidateCellInfoList_sequence_of[1] = { - { &hf_nr_rrc_CandidateCellInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CandidateCellInfo }, +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_CandidateCellInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_CandidateCellInfoList, CandidateCellInfoList_sequence_of, - 1, maxNrofSCells, FALSE); + ett_nr_rrc_MeasResultList2NR, MeasResultList2NR_sequence_of, + 1, maxFreq, FALSE); return offset; } @@ -2948,7 +3080,7 @@ dissect_nr_rrc_CandidateCellInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx 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_CandidateCellInfoList_PDU); + NO_BOUND, NO_BOUND, FALSE, dissect_MeasResultList2NR_PDU); return offset; } @@ -3066,30 +3198,6 @@ dissect_nr_rrc_BandCombinationIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ static int -dissect_nr_rrc_BPC_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, - 1U, maxBasebandProcComb, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t BPC_IndexList_sequence_of[1] = { - { &hf_nr_rrc_BPC_IndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BPC_Index }, -}; - -static int -dissect_nr_rrc_BPC_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_BPC_IndexList, BPC_IndexList_sequence_of, - 1, maxBasebandProcComb, 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); @@ -3148,12 +3256,22 @@ dissect_nr_rrc_INTEGER_1_maxMeasFreqsMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ } + +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_allowedBPC_ListMRDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BPC_IndexList }, { &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 } }; @@ -3518,6 +3636,15 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo(tvbuff_t *tvb _U_, } + +static int +dissect_nr_rrc_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_null(tvb, offset, actx, tree, hf_index); + + return offset; +} + + static const value_string nr_rrc_T_mgl_vals[] = { { 0, "ms1dot5" }, { 1, "ms3" }, @@ -3590,6 +3717,28 @@ dissect_nr_rrc_GapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ } +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" }, @@ -3608,7 +3757,7 @@ dissect_nr_rrc_T_gapPurpose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx 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_measGapConfigFR1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_GapConfig }, + { &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 } }; @@ -3667,7 +3816,7 @@ dissect_nr_rrc_T_nonCriticalExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ct 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_CandidateCellInfoList }, + { &hf_nr_rrc_candidateCellInfoListMN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultList2NR }, { &hf_nr_rrc_candidateCellInfoListSN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_candidateCellInfoListSN }, { &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 }, @@ -3690,15 +3839,6 @@ dissect_nr_rrc_CG_ConfigInfo_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } - -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, "cg-ConfigInfo" }, { 1, "spare3" }, @@ -3774,24 +3914,97 @@ dissect_nr_rrc_CG_ConfigInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const value_string nr_rrc_T_ssb_MeasurementTimingConfiguration_vals[] = { - { 0, "ffsTypeAndValue" }, + +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_ssb_MeasurementTimingConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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, - 1, NULL, FALSE, 0, NULL); + 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_carrierFreq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR }, - { &hf_nr_rrc_ssb_MeasurementTimingConfiguration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_MeasurementTimingConfiguration }, + { &hf_nr_rrc_frequencyAndTiming, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyAndTiming }, { NULL, 0, 0, NULL } }; @@ -4248,10 +4461,25 @@ dissect_nr_rrc_T_profiles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } +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_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { &hf_nr_rrc_drb_ContinueROHC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_drb_ContinueROHC }, { NULL, 0, 0, NULL } }; @@ -4278,10 +4506,25 @@ dissect_nr_rrc_T_profiles_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } +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, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { &hf_nr_rrc_drb_ContinueROHC_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_drb_ContinueROHC_01 }, { NULL, 0, 0, NULL } }; @@ -4348,6 +4591,21 @@ dissect_nr_rrc_T_statusReportRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } +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 }, @@ -4355,7 +4613,7 @@ static const per_sequence_t T_drb_sequence[] = { { &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_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { &hf_nr_rrc_outOfOrderDelivery, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_outOfOrderDelivery }, { NULL, 0, 0, NULL } }; @@ -4451,25 +4709,10 @@ dissect_nr_rrc_UL_DataSplitThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } -static const value_string nr_rrc_T_pdcp_Duplication_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_pdcp_Duplication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_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_T_pdcp_Duplication }, + { &hf_nr_rrc_pdcp_Duplication, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN }, { NULL, 0, 0, NULL } }; @@ -4981,6 +5224,57 @@ dissect_nr_rrc_SubcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } +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_) { @@ -5059,160 +5353,9 @@ dissect_nr_rrc_T_ssb_ToMeasure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac 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_vals[] = { - { 0, "sf5" }, - { 1, "sf10" }, - { 2, "sf20" }, - { 3, "sf40" }, - { 4, "sf80" }, - { 5, "sf160" }, - { 0, NULL } -}; - -static const per_choice_t T_periodicityAndOffset_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(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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 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 T_smtc1_sequence[] = { - { &hf_nr_rrc_periodicityAndOffset_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicityAndOffset }, - { &hf_nr_rrc_duration_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_duration }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_nr_rrc_T_smtc1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_smtc1, T_smtc1_sequence); - - 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_01_vals[] = { - { 0, "sf5" }, - { 1, "sf10" }, - { 2, "sf20" }, - { 3, "sf40" }, - { 4, "sf80" }, - { 5, "sf160" }, - { 6, "spare2" }, - { 7, "spare1" }, - { 0, NULL } -}; - - -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, - 8, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_smtc2_sequence[] = { - { &hf_nr_rrc_pci_List , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId }, - { &hf_nr_rrc_periodicity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity_01 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_nr_rrc_T_smtc2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_smtc2, T_smtc2_sequence); - - 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_) { +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, - 2, 2, FALSE, NULL, NULL); - - return offset; -} - - -static const value_string nr_rrc_T_measurementSlots_vals[] = { - { 0, "kHz15" }, - { 1, "kHz30" }, - { 2, "kHz60" }, - { 3, "kHz120" }, - { 0, NULL } -}; - -static const per_choice_t T_measurementSlots_choice[] = { - { 0, &hf_nr_rrc_kHz15 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_1 }, - { 1, &hf_nr_rrc_kHz30 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_2 }, - { 2, &hf_nr_rrc_kHz60 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 }, - { 3, &hf_nr_rrc_kHz120 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_nr_rrc_T_measurementSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_measurementSlots, T_measurementSlots_choice, - NULL); + 1, 80, FALSE, NULL, NULL); return offset; } @@ -5220,36 +5363,33 @@ dissect_nr_rrc_T_measurementSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t 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_) { +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, 13U, NULL, FALSE); + 0U, 3U, NULL, FALSE); return offset; } -static const per_sequence_t T_ss_RSSI_Measurement_sequence[] = { - { &hf_nr_rrc_measurementSlots, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measurementSlots }, - { &hf_nr_rrc_endSymbol , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 }, +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_T_ss_RSSI_Measurement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_T_ss_RSSI_Measurement, T_ss_RSSI_Measurement_sequence); + ett_nr_rrc_SS_RSSI_Measurement, SS_RSSI_Measurement_sequence); return offset; } static const per_sequence_t SSB_ConfigMobility_sequence[] = { - { &hf_nr_rrc_subcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, - { &hf_nr_rrc_ssb_ToMeasure, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_ToMeasure }, - { &hf_nr_rrc_useServingCellTimingForSync, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, - { &hf_nr_rrc_smtc1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_smtc1 }, - { &hf_nr_rrc_smtc2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_smtc2 }, - { &hf_nr_rrc_ss_RSSI_Measurement, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ss_RSSI_Measurement }, + { &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 } }; @@ -5306,7 +5446,7 @@ dissect_nr_rrc_T_csi_rs_MeasurementBW(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const value_string nr_rrc_T_density_01_vals[] = { +static const value_string nr_rrc_T_density_vals[] = { { 0, "d1" }, { 1, "d3" }, { 0, NULL } @@ -5314,7 +5454,7 @@ static const value_string nr_rrc_T_density_01_vals[] = { 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_) { +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); @@ -5375,33 +5515,43 @@ dissect_nr_rrc_BIT_STRING_SIZE_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const value_string nr_rrc_T_frequencyDomainAllocation_01_vals[] = { +static const value_string nr_rrc_T_frequencyDomainAllocation_vals[] = { { 0, "row1" }, { 1, "row2" }, { 0, NULL } }; -static const per_choice_t T_frequencyDomainAllocation_01_choice[] = { +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_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_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_01, T_frequencyDomainAllocation_01_choice, + 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_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_frequencyDomainAllocation_01 }, + { &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 } @@ -5433,7 +5583,7 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mob 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_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_density_01 }, + { &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 } }; @@ -5462,9 +5612,8 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility(tvb static const per_sequence_t CSI_RS_ResourceConfigMobility_sequence[] = { - { &hf_nr_rrc_isServingCellMO, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, - { &hf_nr_rrc_subcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, - { &hf_nr_rrc_csi_RS_CellList_Mobility, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility }, + { &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 } }; @@ -5738,58 +5887,29 @@ dissect_nr_rrc_PCI_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ } -static const per_sequence_t BlackCellsToAddMod_sequence[] = { +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_BlackCellsToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_BlackCellsToAddMod, BlackCellsToAddMod_sequence); + ett_nr_rrc_PCI_RangeElement, PCI_RangeElement_sequence); return offset; } -static const per_sequence_t BlackCellsToAddModList_sequence_of[1] = { - { &hf_nr_rrc_BlackCellsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BlackCellsToAddMod }, +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_BlackCellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_BlackCellsToAddModList, BlackCellsToAddModList_sequence_of, - 1, maxNrofPCI_Ranges, FALSE); - - return offset; -} - - -static const per_sequence_t WhiteCellsToAddMod_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_WhiteCellsToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_WhiteCellsToAddMod, WhiteCellsToAddMod_sequence); - - return offset; -} - - -static const per_sequence_t WhiteCellsToAddModList_sequence_of[1] = { - { &hf_nr_rrc_WhiteCellsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_WhiteCellsToAddMod }, -}; - -static int -dissect_nr_rrc_WhiteCellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_WhiteCellsToAddModList, WhiteCellsToAddModList_sequence_of, + 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; @@ -5798,6 +5918,9 @@ dissect_nr_rrc_WhiteCellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ct 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 }, @@ -5805,13 +5928,13 @@ static const per_sequence_t MeasObjectNR_sequence[] = { { &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_offsetFreq , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRangeList }, + { &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_BlackCellsToAddModList }, + { &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_WhiteCellsToAddModList }, + { &hf_nr_rrc_whiteCellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement }, { NULL, 0, 0, NULL } }; @@ -6316,32 +6439,15 @@ dissect_nr_rrc_EventTriggerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const value_string nr_rrc_T_reportCGI_vals[] = { - { 0, "ffsTypeAndValue" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_reportCGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - static const value_string nr_rrc_T_reportType_vals[] = { { 0, "periodical" }, { 1, "eventTriggered" }, - { 2, "reportCGI" }, { 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 }, - { 2, &hf_nr_rrc_reportCGI , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_reportCGI }, { 0, NULL, 0, NULL } }; @@ -6570,14 +6676,14 @@ dissect_nr_rrc_QuantityConfigNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } -static const per_sequence_t QuantityConfigNR_List_sequence_of[1] = { - { &hf_nr_rrc_QuantityConfigNR_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QuantityConfigNR }, +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_QuantityConfigNR_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_QuantityConfigNR_List, QuantityConfigNR_List_sequence_of, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR, SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR_sequence_of, 1, maxNrofQuantityConfig, FALSE); return offset; @@ -6585,7 +6691,7 @@ dissect_nr_rrc_QuantityConfigNR_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx static const per_sequence_t QuantityConfig_sequence[] = { - { &hf_nr_rrc_quantityConfigNR_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_QuantityConfigNR_List }, + { &hf_nr_rrc_quantityConfigNR_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR }, { NULL, 0, 0, NULL } }; @@ -6606,7 +6712,7 @@ static const value_string nr_rrc_T_gapFR2_vals[] = { 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_23 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_GapConfig }, + { 1, &hf_nr_rrc_setup , ASN1_NO_EXTENSIONS , dissect_nr_rrc_GapConfig }, { 0, NULL, 0, NULL } }; @@ -6634,6 +6740,60 @@ dissect_nr_rrc_MeasGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } +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 }, @@ -6643,7 +6803,8 @@ static const per_sequence_t MeasConfig_sequence[] = { { &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, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasGapConfig }, + { &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 } }; @@ -6858,184 +7019,36 @@ dissect_nr_rrc_DL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } -static const value_string nr_rrc_T_cgi_Info_vals[] = { - { 0, "ffsTypeAndValue" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_cgi_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 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 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 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_cgi_Info , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cgi_Info }, - { &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 MeasResultServFreq_sequence[] = { - { &hf_nr_rrc_servFreqId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, +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_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_MeasResultServFreq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_MeasResultServFreq, MeasResultServFreq_sequence); + ett_nr_rrc_MeasResultServMO, MeasResultServMO_sequence); return offset; } -static const per_sequence_t MeasResultServFreqList_sequence_of[1] = { - { &hf_nr_rrc_MeasResultServFreqList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServFreq }, +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_MeasResultServFreqList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_MeasResultServFreqList, MeasResultServFreqList_sequence_of, + ett_nr_rrc_MeasResultServMOList, MeasResultServMOList_sequence_of, 1, maxNrofServingCells, FALSE); 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 value_string nr_rrc_T_measResultNeighCells_vals[] = { { 0, "measResultListNR" }, { 0, NULL } @@ -7058,7 +7071,7 @@ dissect_nr_rrc_T_measResultNeighCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ct static const per_sequence_t MeasResults_sequence[] = { { &hf_nr_rrc_measId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId }, - { &hf_nr_rrc_measResultServingFreqList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServFreqList }, + { &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 } }; @@ -7438,23 +7451,6 @@ dissect_nr_rrc_INTEGER_0_2199(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const value_string nr_rrc_T_k0_vals[] = { - { 0, "n-6" }, - { 1, "n0" }, - { 2, "n6" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_k0(tvbuff_t *tvb _U_, int offset _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_maxNrofPhysicalResourceBlocks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -7468,7 +7464,6 @@ dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks(tvbuff_t *tvb _U_, int of 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_k0_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_k0 }, { &hf_nr_rrc_carrierBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks }, { NULL, 0, 0, NULL } }; @@ -7524,7 +7519,7 @@ dissect_nr_rrc_T_frequencyShift7p5khz(tvbuff_t *tvb _U_, int offset _U_, asn1_ct 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_SpecificCarriers, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier }, + { &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 }, @@ -7611,9 +7606,9 @@ dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1(tvbuff_t *tvb _U_, int static int -dissect_nr_rrc_INTEGER_M200_M74(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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, - -200, -74, NULL, FALSE); + -202, -60, NULL, FALSE); return offset; } @@ -7685,14 +7680,14 @@ dissect_nr_rrc_T_ra_ResponseWindow(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static const per_sequence_t RACH_ConfigGeneric_sequence[] = { - { &hf_nr_rrc_prach_ConfigurationIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_255 }, - { &hf_nr_rrc_msg1_FDM , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_msg1_FDM }, - { &hf_nr_rrc_msg1_FrequencyStart, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 }, - { &hf_nr_rrc_zeroCorrelationZoneConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 }, - { &hf_nr_rrc_preambleReceivedTargetPower, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M200_M74 }, - { &hf_nr_rrc_preambleTransMax, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_preambleTransMax }, - { &hf_nr_rrc_powerRampingStep, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_powerRampingStep }, - { &hf_nr_rrc_ra_ResponseWindow, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_ResponseWindow }, + { &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 } }; @@ -8094,7 +8089,7 @@ static const per_sequence_t RACH_ConfigCommon_sequence[] = { { &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_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, + { &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 } @@ -8117,7 +8112,7 @@ static const value_string nr_rrc_T_rach_ConfigCommon_vals[] = { 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 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RACH_ConfigCommon }, + { 1, &hf_nr_rrc_setup_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RACH_ConfigCommon }, { 0, NULL, 0, NULL } }; @@ -8148,9 +8143,9 @@ dissect_nr_rrc_T_groupHoppingEnabledTransformPrecoding(tvbuff_t *tvb _U_, int of 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_) { +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, 7U, NULL, FALSE); + 0U, 32U, NULL, FALSE); return offset; } @@ -8172,20 +8167,10 @@ dissect_nr_rrc_T_mappingType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } - -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 const per_sequence_t PUSCH_TimeDomainResourceAllocation_sequence[] = { - { &hf_nr_rrc_k2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_7 }, + { &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_BIT_STRING_SIZE_7 }, + { &hf_nr_rrc_startSymbolAndLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_127 }, { NULL, 0, 0, NULL } }; @@ -8198,14 +8183,14 @@ dissect_nr_rrc_PUSCH_TimeDomainResourceAllocation(tvbuff_t *tvb _U_, int offset } -static const per_sequence_t SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation_sequence_of[1] = { - { &hf_nr_rrc_pusch_AllocationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_TimeDomainResourceAllocation }, +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_SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation, SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation_sequence_of, + ett_nr_rrc_PUSCH_TimeDomainResourceAllocationList, PUSCH_TimeDomainResourceAllocationList_sequence_of, 1, maxNrofUL_Allocations, FALSE); return offset; @@ -8234,7 +8219,7 @@ dissect_nr_rrc_INTEGER_M202_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac 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_AllocationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation }, + { &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 } @@ -8257,7 +8242,7 @@ static const value_string nr_rrc_T_pusch_ConfigCommon_vals[] = { 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_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_ConfigCommon }, + { 1, &hf_nr_rrc_setup_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_ConfigCommon }, { 0, NULL, 0, NULL } }; @@ -8290,18 +8275,18 @@ dissect_nr_rrc_T_pucch_GroupHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ 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); +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_BIT_STRING_SIZE_4 }, + { &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_BIT_STRING_SIZE_10 }, + { &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 } }; @@ -8323,7 +8308,7 @@ static const value_string nr_rrc_T_pucch_ConfigCommon_vals[] = { 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_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_ConfigCommon }, + { 1, &hf_nr_rrc_setup_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_ConfigCommon }, { 0, NULL, 0, NULL } }; @@ -8354,9 +8339,32 @@ dissect_nr_rrc_BWP_UplinkCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } +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 } }; @@ -8425,13 +8433,28 @@ dissect_nr_rrc_INTEGER_0_maxNrofSymbols_1(tvbuff_t *tvb _U_, int offset _U_, asn } +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_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing }, - { &hf_nr_rrc_dl_UL_TransmissionPeriodicity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_UL_TransmissionPeriodicity }, - { &hf_nr_rrc_nrofDownlinkSlots, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxNrofSlots }, - { &hf_nr_rrc_nrofDownlinkSymbols, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxNrofSymbols_1 }, - { &hf_nr_rrc_nrofUplinkSlots, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxNrofSlots }, - { &hf_nr_rrc_nrofUplinkSymbols, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxNrofSymbols_1 }, + { &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 } }; @@ -8511,7 +8534,7 @@ dissect_nr_rrc_T_interleaverSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * 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_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 }, + { &hf_nr_rrc_shiftIndex , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 }, { NULL, 0, 0, NULL } }; @@ -8573,7 +8596,7 @@ dissect_nr_rrc_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId_sequence_of[1] = { - { &hf_nr_rrc_tci_StatesPDCCH_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId }, + { &hf_nr_rrc_tci_StatesPDCCH_ToAddList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId }, }; static int @@ -8603,23 +8626,24 @@ dissect_nr_rrc_T_tci_PresentInDCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t 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); +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_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSetId }, - { &hf_nr_rrc_frequencyDomainResources, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_45 }, - { &hf_nr_rrc_duration , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCoReSetDuration }, - { &hf_nr_rrc_cce_REG_MappingType, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cce_REG_MappingType }, - { &hf_nr_rrc_precoderGranularity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_precoderGranularity }, - { &hf_nr_rrc_tci_StatesPDCCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId }, - { &hf_nr_rrc_tci_PresentInDCI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_tci_PresentInDCI }, - { &hf_nr_rrc_pdcch_DMRS_ScramblingID, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 }, + { &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 } }; @@ -8632,20 +8656,6 @@ dissect_nr_rrc_ControlResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const per_sequence_t SEQUENCE_SIZE_1_2_OF_ControlResourceSet_sequence_of[1] = { - { &hf_nr_rrc_commonControlResourcesSets_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSet }, -}; - -static int -dissect_nr_rrc_SEQUENCE_SIZE_1_2_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_2_OF_ControlResourceSet, SEQUENCE_SIZE_1_2_OF_ControlResourceSet_sequence_of, - 1, 2, FALSE); - - 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_) { @@ -8668,9 +8678,9 @@ dissect_nr_rrc_INTEGER_0_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ 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_) { +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, 3U, NULL, FALSE); + 0U, 7U, NULL, FALSE); return offset; } @@ -8685,6 +8695,13 @@ static const value_string nr_rrc_T_monitoringSlotPeriodicityAndOffset_vals[] = { { 5, "sl10" }, { 6, "sl16" }, { 7, "sl20" }, + { 8, "sl40" }, + { 9, "sl80" }, + { 10, "sl160" }, + { 11, "sl320" }, + { 12, "sl640" }, + { 13, "sl1280" }, + { 14, "sl2560" }, { 0, NULL } }; @@ -8697,6 +8714,13 @@ static const per_choice_t T_monitoringSlotPeriodicityAndOffset_choice[] = { { 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 } }; @@ -8712,6 +8736,16 @@ dissect_nr_rrc_T_monitoringSlotPeriodicityAndOffset(tvbuff_t *tvb _U_, int offse 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); @@ -9126,6 +9160,7 @@ 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 }, @@ -9142,7 +9177,7 @@ dissect_nr_rrc_SearchSpace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ static const per_sequence_t SEQUENCE_SIZE_1_4_OF_SearchSpace_sequence_of[1] = { - { &hf_nr_rrc_commonSearchSpaces_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpace }, + { &hf_nr_rrc_commonSearchSpace_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpace }, }; static int @@ -9156,12 +9191,13 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace(tvbuff_t *tvb _U_, int offset _U static const per_sequence_t PDCCH_ConfigCommon_sequence[] = { - { &hf_nr_rrc_commonControlResourcesSets, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_ControlResourceSet }, - { &hf_nr_rrc_commonSearchSpaces, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace }, + { &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_ControlResourceSet, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ControlResourceSetId }, { &hf_nr_rrc_ra_SearchSpace, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId }, { NULL, 0, 0, NULL } }; @@ -9265,15 +9301,15 @@ dissect_nr_rrc_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } -static const per_sequence_t SEQUENCE_SIZE_8_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId_sequence_of[1] = { - { &hf_nr_rrc_resources_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId }, +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_8_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_) { +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_8_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId, SEQUENCE_SIZE_8_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId_sequence_of, - 8, maxNrofPUCCH_ResourcesPerSet, FALSE); + 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; } @@ -9291,7 +9327,7 @@ dissect_nr_rrc_INTEGER_4_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx 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_resources , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_8_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId }, + { &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 } }; @@ -9666,14 +9702,14 @@ dissect_nr_rrc_T_nrofSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ } -static const value_string nr_rrc_T_pi2PBSK_vals[] = { +static const value_string nr_rrc_T_pi2BPSK_vals[] = { { 0, "enabled" }, { 0, NULL } }; static int -dissect_nr_rrc_T_pi2PBSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -9701,7 +9737,7 @@ static const per_sequence_t PUCCH_FormatConfig_sequence[] = { { &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_pi2PBSK , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pi2PBSK }, + { &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 } }; @@ -9723,7 +9759,7 @@ static const value_string nr_rrc_T_format1_vals[] = { 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_32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, + { 1, &hf_nr_rrc_setup_36 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, { 0, NULL, 0, NULL } }; @@ -9745,7 +9781,7 @@ static const value_string nr_rrc_T_format2_vals[] = { 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_32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, + { 1, &hf_nr_rrc_setup_36 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, { 0, NULL, 0, NULL } }; @@ -9767,7 +9803,7 @@ static const value_string nr_rrc_T_format3_vals[] = { 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_32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, + { 1, &hf_nr_rrc_setup_36 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, { 0, NULL, 0, NULL } }; @@ -9789,7 +9825,7 @@ static const value_string nr_rrc_T_format4_vals[] = { 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_32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, + { 1, &hf_nr_rrc_setup_36 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, { 0, NULL, 0, NULL } }; @@ -9823,7 +9859,7 @@ dissect_nr_rrc_SchedulingRequestId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const value_string nr_rrc_T_periodicityAndOffset_01_vals[] = { +static const value_string nr_rrc_T_periodicityAndOffset_vals[] = { { 0, "sym2" }, { 1, "sym6or7" }, { 2, "sl1" }, @@ -9842,7 +9878,7 @@ static const value_string nr_rrc_T_periodicityAndOffset_01_vals[] = { { 0, NULL } }; -static const per_choice_t T_periodicityAndOffset_01_choice[] = { +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 }, @@ -9862,9 +9898,9 @@ static const per_choice_t T_periodicityAndOffset_01_choice[] = { }; 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_) { +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_01, T_periodicityAndOffset_01_choice, + ett_nr_rrc_T_periodicityAndOffset, T_periodicityAndOffset_choice, NULL); return offset; @@ -9874,8 +9910,8 @@ dissect_nr_rrc_T_periodicityAndOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1 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_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_periodicityAndOffset_01 }, - { &hf_nr_rrc_resource , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_ResourceId }, + { &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 } }; @@ -9938,7 +9974,7 @@ 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, - 8, 8, FALSE); + 1, 8, FALSE); return offset; } @@ -9974,6 +10010,21 @@ dissect_nr_rrc_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } +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" }, @@ -9984,7 +10035,7 @@ static const value_string nr_rrc_T_referenceSignal_vals[] = { 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_SRS_ResourceId }, + { 2, &hf_nr_rrc_srs , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_srs }, { 0, NULL, 0, NULL } }; @@ -10036,6 +10087,7 @@ dissect_nr_rrc_T_closedLoopIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * 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 }, @@ -10242,7 +10294,7 @@ static const value_string nr_rrc_T_pucch_Config_vals[] = { 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_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_Config }, + { 1, &hf_nr_rrc_setup_04 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_Config }, { 0, NULL, 0, NULL } }; @@ -10256,16 +10308,6 @@ dissect_nr_rrc_T_pucch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } - -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_txConfig_vals[] = { { 0, "codebook" }, { 1, "nonCodebook" }, @@ -10445,14 +10487,14 @@ dissect_nr_rrc_T_sampleDensity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } -static const value_string nr_rrc_T_timeDensity_02_vals[] = { +static const value_string nr_rrc_T_timeDensityTransformPrecoding_vals[] = { { 0, "d2" }, { 0, NULL } }; static int -dissect_nr_rrc_T_timeDensity_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_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); @@ -10462,7 +10504,7 @@ dissect_nr_rrc_T_timeDensity_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a 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_timeDensity_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDensity_02 }, + { &hf_nr_rrc_timeDensityTransformPrecoding, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDensityTransformPrecoding }, { NULL, 0, 0, NULL } }; @@ -10519,7 +10561,7 @@ static const value_string nr_rrc_T_phaseTrackingRS_01_vals[] = { 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_19 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PTRS_UplinkConfig }, + { 1, &hf_nr_rrc_setup_20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PTRS_UplinkConfig }, { 0, NULL, 0, NULL } }; @@ -10548,26 +10590,26 @@ dissect_nr_rrc_T_maxLength_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } +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_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); +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 const per_sequence_t T_disabled_01_sequence[] = { - { &hf_nr_rrc_scramblingID0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 }, - { &hf_nr_rrc_scramblingID1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 }, - { NULL, 0, 0, NULL } -}; static int -dissect_nr_rrc_T_disabled_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_disabled_01, T_disabled_01_sequence); +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; } @@ -10603,39 +10645,17 @@ dissect_nr_rrc_T_sequenceHoppingEnabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ } -static const per_sequence_t T_enabled_sequence[] = { - { &hf_nr_rrc_nPUSCH_Identity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1007 }, - { &hf_nr_rrc_disableSequenceGroupHopping, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_disableSequenceGroupHopping }, - { &hf_nr_rrc_sequenceHoppingEnabled, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sequenceHoppingEnabled }, +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_enabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_enabled, T_enabled_sequence); - - return offset; -} - - -static const value_string nr_rrc_T_transformPrecoding_vals[] = { - { 0, "disabled" }, - { 1, "enabled" }, - { 0, NULL } -}; - -static const per_choice_t T_transformPrecoding_choice[] = { - { 0, &hf_nr_rrc_disabled_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_disabled_01 }, - { 1, &hf_nr_rrc_enabled_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_enabled }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_nr_rrc_T_transformPrecoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_transformPrecoding, T_transformPrecoding_choice, - NULL); + ett_nr_rrc_T_transformPrecodingEnabled, T_transformPrecodingEnabled_sequence); return offset; } @@ -10646,7 +10666,8 @@ static const per_sequence_t DMRS_UplinkConfig_sequence[] = { { &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_transformPrecoding, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_transformPrecoding }, + { &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 } }; @@ -10667,7 +10688,7 @@ static const value_string nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_vals[] = { 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_33 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig }, + { 1, &hf_nr_rrc_setup_37 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig }, { 0, NULL, 0, NULL } }; @@ -10689,7 +10710,7 @@ static const value_string nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_vals[] = { 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_33 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig }, + { 1, &hf_nr_rrc_setup_37 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig }, { 0, NULL, 0, NULL } }; @@ -11014,6 +11035,28 @@ dissect_nr_rrc_T_resourceAllocation_02(tvbuff_t *tvb _U_, int offset _U_, asn1_c } +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" }, @@ -11033,6 +11076,7 @@ dissect_nr_rrc_T_pusch_AggregationFactor(tvbuff_t *tvb _U_, int offset _U_, asn1 static const value_string nr_rrc_T_mcs_Table_02_vals[] = { { 0, "qam256" }, + { 1, "spare1" }, { 0, NULL } }; @@ -11040,7 +11084,7 @@ static const value_string nr_rrc_T_mcs_Table_02_vals[] = { 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, - 1, NULL, FALSE, 0, NULL); + 2, NULL, FALSE, 0, NULL); return offset; } @@ -11048,6 +11092,7 @@ dissect_nr_rrc_T_mcs_Table_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act static const value_string nr_rrc_T_mcs_TableTransformPrecoder_01_vals[] = { { 0, "qam256" }, + { 1, "spare1" }, { 0, NULL } }; @@ -11055,7 +11100,7 @@ static const value_string nr_rrc_T_mcs_TableTransformPrecoder_01_vals[] = { 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, - 1, NULL, FALSE, 0, NULL); + 2, NULL, FALSE, 0, NULL); return offset; } @@ -11150,7 +11195,7 @@ static const value_string nr_rrc_T_betaOffsets_vals[] = { }; static const per_choice_t T_betaOffsets_choice[] = { - { 0, &hf_nr_rrc_dynamic_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets }, + { 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 } }; @@ -11206,7 +11251,7 @@ static const value_string nr_rrc_T_uci_OnPUSCH_01_vals[] = { 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_34 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_UCI_OnPUSCH }, + { 1, &hf_nr_rrc_setup_39 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_UCI_OnPUSCH }, { 0, NULL, 0, NULL } }; @@ -11220,41 +11265,40 @@ dissect_nr_rrc_T_uci_OnPUSCH_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } -static const value_string nr_rrc_T_vrb_ToPRB_Interleaver_01_vals[] = { - { 0, "n2" }, - { 1, "n4" }, +static const value_string nr_rrc_T_tp_pi2BPSK_vals[] = { + { 0, "enabled" }, { 0, NULL } }; static int -dissect_nr_rrc_T_vrb_ToPRB_Interleaver_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_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, - 2, NULL, FALSE, 0, NULL); + 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_1007 }, - { &hf_nr_rrc_txConfig , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_txConfig }, + { &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_AllocationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation }, + { &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_NOT_OPTIONAL, dissect_nr_rrc_T_codebookSubset }, - { &hf_nr_rrc_maxRank , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 }, + { &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_vrb_ToPRB_Interleaver_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_vrb_ToPRB_Interleaver_01 }, + { &hf_nr_rrc_tp_pi2BPSK , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tp_pi2BPSK }, { NULL, 0, 0, NULL } }; @@ -11275,7 +11319,7 @@ static const value_string nr_rrc_T_pusch_Config_vals[] = { 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_04 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_Config }, + { 1, &hf_nr_rrc_setup_05 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_Config }, { 0, NULL, 0, NULL } }; @@ -11306,8 +11350,8 @@ dissect_nr_rrc_T_frequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static const value_string nr_rrc_T_mcs_Table_vals[] = { - { 0, "qam64" }, - { 1, "qam256" }, + { 0, "qam256" }, + { 1, "spare1" }, { 0, NULL } }; @@ -11323,6 +11367,7 @@ dissect_nr_rrc_T_mcs_Table(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ static const value_string nr_rrc_T_mcs_TableTransformPrecoder_vals[] = { { 0, "qam256" }, + { 1, "spare1" }, { 0, NULL } }; @@ -11330,7 +11375,7 @@ static const value_string nr_rrc_T_mcs_TableTransformPrecoder_vals[] = { 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, - 1, NULL, FALSE, 0, NULL); + 2, NULL, FALSE, 0, NULL); return offset; } @@ -11380,7 +11425,7 @@ static const value_string nr_rrc_T_uci_OnPUSCH_vals[] = { 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_15 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CG_UCI_OnPUSCH }, + { 1, &hf_nr_rrc_setup_16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CG_UCI_OnPUSCH }, { 0, NULL, 0, NULL } }; @@ -11553,59 +11598,6 @@ dissect_nr_rrc_T_periodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const value_string nr_rrc_T_configuredGrantTimer_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, "sym512x14" }, - { 18, "sym640x14" }, - { 19, "sym6" }, - { 20, "sym1x12" }, - { 21, "sym2x12" }, - { 22, "sym4x12" }, - { 23, "sym5x12" }, - { 24, "sym8x12" }, - { 25, "sym10x12" }, - { 26, "sym16x12" }, - { 27, "sym20x12" }, - { 28, "sym32x12" }, - { 29, "sym40x12" }, - { 30, "sym64x12" }, - { 31, "sym80x12" }, - { 32, "sym128x12" }, - { 33, "sym256x12" }, - { 34, "sym320x12" }, - { 35, "sym512x12" }, - { 36, "sym640x12" }, - { 0, NULL } -}; - -static value_string_ext nr_rrc_T_configuredGrantTimer_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_configuredGrantTimer_vals); - - -static int -dissect_nr_rrc_T_configuredGrantTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 37, 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_) { @@ -11635,7 +11627,7 @@ static const per_sequence_t T_rrc_ConfiguredUplinkGrant_sequence[] = { { &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_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1 }, + { &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 } }; @@ -11650,9 +11642,9 @@ dissect_nr_rrc_T_rrc_ConfiguredUplinkGrant(tvbuff_t *tvb _U_, int offset _U_, as static const per_sequence_t ConfiguredGrantConfig_sequence[] = { - { &hf_nr_rrc_frequencyHopping, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_frequencyHopping }, + { &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_NOT_OPTIONAL, dissect_nr_rrc_T_mcs_Table }, + { &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 }, @@ -11664,7 +11656,7 @@ static const per_sequence_t ConfiguredGrantConfig_sequence[] = { { &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_T_configuredGrantTimer }, + { &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 } }; @@ -11686,7 +11678,7 @@ static const value_string nr_rrc_T_configuredGrantConfig_vals[] = { 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_05 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_ConfiguredGrantConfig }, + { 1, &hf_nr_rrc_setup_06 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_ConfiguredGrantConfig }, { 0, NULL, 0, NULL } }; @@ -11710,15 +11702,15 @@ dissect_nr_rrc_SRS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } -static const per_sequence_t SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId_sequence_of[1] = { +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_0_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_) { +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_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId, SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId_sequence_of, - 0, maxNrofSRS_ResourceSets, FALSE); + 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; } @@ -11740,18 +11732,28 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId(tvbu static int -dissect_nr_rrc_INTEGER_0_maxNrofSRS_TriggerStates_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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, - 0U, maxNrofSRS_TriggerStates_1, NULL, FALSE); + 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_0_maxNrofSRS_TriggerStates_1 }, - { &hf_nr_rrc_csi_RS_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceId }, - { &hf_nr_rrc_slotOffset , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, + { &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 } }; @@ -11893,15 +11895,15 @@ dissect_nr_rrc_SRS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } -static const per_sequence_t SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet_sequence_of[1] = { +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_0_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_) { +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_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet, SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet_sequence_of, - 0, maxNrofSRS_ResourceSets, FALSE); + 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; } @@ -12238,30 +12240,70 @@ dissect_nr_rrc_T_resourceType_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } -static const value_string nr_rrc_T_spatialRelationInfo_vals[] = { + +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_spatialRelationInfo_choice[] = { +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 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_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_spatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_spatialRelationInfo, T_spatialRelationInfo_choice, + 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 }, @@ -12274,7 +12316,7 @@ static const per_sequence_t SRS_Resource_sequence[] = { { &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_T_spatialRelationInfo }, + { &hf_nr_rrc_spatialRelationInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SRS_SpatialRelationInfo }, { NULL, 0, 0, NULL } }; @@ -12317,8 +12359,8 @@ dissect_nr_rrc_T_tpc_Accumulation_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx static const per_sequence_t SRS_Config_sequence[] = { - { &hf_nr_rrc_srs_ResourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId }, - { &hf_nr_rrc_srs_ResourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet }, + { &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 }, @@ -12342,7 +12384,7 @@ static const value_string nr_rrc_T_srs_Config_vals[] = { 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_06 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_Config }, + { 1, &hf_nr_rrc_setup_07 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_Config }, { 0, NULL, 0, NULL } }; @@ -12371,8 +12413,33 @@ dissect_nr_rrc_BFR_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } + +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 } }; @@ -12422,14 +12489,111 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedB } +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_candidateBeamThreshold, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range }, + { &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_recoveryControlResourceSetId, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ControlResourceSetId }, { &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 } }; @@ -12450,7 +12614,7 @@ static const value_string nr_rrc_T_beamFailureRecoveryConfig_vals[] = { 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_07 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BeamFailureRecoveryConfig }, + { 1, &hf_nr_rrc_setup_08 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BeamFailureRecoveryConfig }, { 0, NULL, 0, NULL } }; @@ -12506,7 +12670,7 @@ static const value_string nr_rrc_T_pdcch_ConfigCommon_vals[] = { 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_08 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_ConfigCommon }, + { 1, &hf_nr_rrc_setup_09 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_ConfigCommon }, { 0, NULL, 0, NULL } }; @@ -12520,16 +12684,6 @@ dissect_nr_rrc_T_pdcch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } - -static int -dissect_nr_rrc_INTEGER_1_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, - 1U, 3U, NULL, FALSE); - - return offset; -} - - static const value_string nr_rrc_T_mappingType_vals[] = { { 0, "typeA" }, { 1, "typeB" }, @@ -12547,9 +12701,9 @@ dissect_nr_rrc_T_mappingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static const per_sequence_t PDSCH_TimeDomainResourceAllocation_sequence[] = { - { &hf_nr_rrc_k0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_3 }, + { &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_BIT_STRING_SIZE_7 }, + { &hf_nr_rrc_startSymbolAndLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_127 }, { NULL, 0, 0, NULL } }; @@ -12562,14 +12716,14 @@ dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation(tvbuff_t *tvb _U_, int offset } -static const per_sequence_t SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation_sequence_of[1] = { - { &hf_nr_rrc_pdsch_AllocationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation }, +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_SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation, SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation_sequence_of, + ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList, PDSCH_TimeDomainResourceAllocationList_sequence_of, 1, maxNrofDL_Allocations, FALSE); return offset; @@ -12577,7 +12731,7 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResource static const per_sequence_t PDSCH_ConfigCommon_sequence[] = { - { &hf_nr_rrc_pdsch_AllocationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation }, + { &hf_nr_rrc_pdsch_TimeDomainAllocationList_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList }, { NULL, 0, 0, NULL } }; @@ -12598,7 +12752,7 @@ static const value_string nr_rrc_T_pdsch_ConfigCommon_vals[] = { 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_09 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_ConfigCommon }, + { 1, &hf_nr_rrc_setup_10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_ConfigCommon }, { 0, NULL, 0, NULL } }; @@ -12800,156 +12954,83 @@ dissect_nr_rrc_T_downlinkPreemption(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ 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_) { +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, - 0U, maxSFI_DCI_PayloadSize_1, NULL, FALSE); + 1U, 15U, 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 }, +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_SlotFormatCombinationsPerCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_SlotFormatCombinationsPerCell, SlotFormatCombinationsPerCell_sequence); + ett_nr_rrc_PUSCH_TPC_CommandConfig, PUSCH_TPC_CommandConfig_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 const value_string nr_rrc_T_tpc_PUSCH_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } }; -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 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_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); +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 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 }, +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_SlotFormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_SlotFormatIndicator, SlotFormatIndicator_sequence); + ett_nr_rrc_PUCCH_TPC_CommandConfig, PUCCH_TPC_CommandConfig_sequence); return offset; } -static const value_string nr_rrc_T_slotFormatIndicator_vals[] = { +static const value_string nr_rrc_T_tpc_PUCCH_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; -static const per_choice_t T_slotFormatIndicator_choice[] = { +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_27 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SlotFormatIndicator }, + { 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_slotFormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_slotFormatIndicator, T_slotFormatIndicator_choice, + ett_nr_rrc_T_tpc_PUCCH, T_tpc_PUCCH_choice, NULL); return offset; @@ -12958,83 +13039,45 @@ dissect_nr_rrc_T_slotFormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx 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_) { +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, 15U, NULL, FALSE); + 1U, 31U, 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 }, +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_PUSCH_TPC_CommandConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_PUSCH_TPC_CommandConfig, PUSCH_TPC_CommandConfig_sequence); + ett_nr_rrc_SRS_TPC_CommandConfig, SRS_TPC_CommandConfig_sequence); return offset; } -static const value_string nr_rrc_T_tpc_PUSCH_vals[] = { +static const value_string nr_rrc_T_tpc_SRS_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; -static const per_choice_t T_tpc_PUSCH_choice[] = { +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_28 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_TPC_CommandConfig }, + { 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_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_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_29 , 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, + ett_nr_rrc_T_tpc_SRS, T_tpc_SRS_choice, NULL); return offset; @@ -13047,9 +13090,9 @@ static const per_sequence_t PDCCH_Config_sequence[] = { { &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_slotFormatIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_slotFormatIndicator }, { &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 } }; @@ -13070,7 +13113,7 @@ static const value_string nr_rrc_T_pdcch_Config_vals[] = { 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_10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_Config }, + { 1, &hf_nr_rrc_setup_11 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_Config }, { 0, NULL, 0, NULL } }; @@ -13159,20 +13202,6 @@ dissect_nr_rrc_T_timeDensity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const per_sequence_t T_epre_RatioPort2_sequence_of[1] = { - { &hf_nr_rrc_epre_RatioPort2_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 }, -}; - -static int -dissect_nr_rrc_T_epre_RatioPort2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_epre_RatioPort2, T_epre_RatioPort2_sequence_of, - 1, 2, FALSE); - - return offset; -} - - static const value_string nr_rrc_T_resourceElementOffset_vals[] = { { 0, "offset01" }, { 1, "offset10" }, @@ -13193,8 +13222,7 @@ dissect_nr_rrc_T_resourceElementOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_c 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_RatioPort1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_3 }, - { &hf_nr_rrc_epre_RatioPort2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_epre_RatioPort2 }, + { &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 } }; @@ -13216,7 +13244,7 @@ static const value_string nr_rrc_T_phaseTrackingRS_vals[] = { 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_18 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PTRS_DownlinkConfig }, + { 1, &hf_nr_rrc_setup_19 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PTRS_DownlinkConfig }, { 0, NULL, 0, NULL } }; @@ -13233,8 +13261,6 @@ dissect_nr_rrc_T_phaseTrackingRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * 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_dmrs_group1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_12 }, - { &hf_nr_rrc_dmrs_group2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_12 }, { &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 }, @@ -13259,7 +13285,7 @@ static const value_string nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_vals[] = { 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_30 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig }, + { 1, &hf_nr_rrc_setup_31 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig }, { 0, NULL, 0, NULL } }; @@ -13281,7 +13307,7 @@ static const value_string nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_vals[] = { 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_30 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig }, + { 1, &hf_nr_rrc_setup_31 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig }, { 0, NULL, 0, NULL } }; @@ -13295,34 +13321,22 @@ dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB(tvbuff_t *tvb _U_, int offse } - -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 value_string nr_rrc_T_referenceSignal_03_vals[] = { +static const value_string nr_rrc_T_referenceSignal_04_vals[] = { { 0, "csi-rs" }, { 1, "ssb" }, - { 2, "csi-RS-for-tracking" }, { 0, NULL } }; -static const per_choice_t T_referenceSignal_03_choice[] = { +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 }, - { 2, &hf_nr_rrc_csi_RS_for_tracking, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceSetId }, { 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_) { +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_03, T_referenceSignal_03_choice, + ett_nr_rrc_T_referenceSignal_04, T_referenceSignal_04_choice, NULL); return offset; @@ -13350,7 +13364,7 @@ dissect_nr_rrc_T_qcl_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U 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_03, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_03 }, + { &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 } }; @@ -13364,27 +13378,10 @@ dissect_nr_rrc_QCL_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } -static const value_string nr_rrc_T_nrofPTRS_Ports_vals[] = { - { 0, "n1" }, - { 1, "n2" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_nrofPTRS_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, - 2, NULL, FALSE, 0, NULL); - - 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 }, - { &hf_nr_rrc_nrofPTRS_Ports, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofPTRS_Ports }, { NULL, 0, 0, NULL } }; @@ -13458,6 +13455,28 @@ dissect_nr_rrc_T_resourceAllocation_01(tvbuff_t *tvb _U_, int offset _U_, asn1_c } +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" }, @@ -13529,6 +13548,16 @@ dissect_nr_rrc_T_symbolsInResourceBlock(tvbuff_t *tvb _U_, int offset _U_, asn1_ 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); @@ -13688,6 +13717,42 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId(tv } +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" }, @@ -13705,8 +13770,8 @@ dissect_nr_rrc_T_rbg_Size_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static const value_string nr_rrc_T_mcs_Table_01_vals[] = { - { 0, "qam64" }, - { 1, "qam256" }, + { 0, "qam256" }, + { 1, "spare1" }, { 0, NULL } }; @@ -13752,15 +13817,15 @@ dissect_nr_rrc_T_bundleSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const per_sequence_t T_static_sequence[] = { +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_static(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_static, T_static_sequence); + ett_nr_rrc_T_staticBundling, T_staticBundling_sequence); return offset; } @@ -13800,30 +13865,30 @@ dissect_nr_rrc_T_bundleSizeSet2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } -static const per_sequence_t T_dynamic_sequence[] = { +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_dynamic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_dynamic, T_dynamic_sequence); + ett_nr_rrc_T_dynamicBundling, T_dynamicBundling_sequence); return offset; } static const value_string nr_rrc_T_prb_BundlingType_vals[] = { - { 0, "static" }, - { 1, "dynamic" }, + { 0, "staticBundling" }, + { 1, "dynamicBundling" }, { 0, NULL } }; static const per_choice_t T_prb_BundlingType_choice[] = { - { 0, &hf_nr_rrc_static , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_static }, - { 1, &hf_nr_rrc_dynamic_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_dynamic }, + { 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 } }; @@ -13857,7 +13922,7 @@ dissect_nr_rrc_BIT_STRING_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } -static const value_string nr_rrc_T_frequencyDomainAllocation_vals[] = { +static const value_string nr_rrc_T_frequencyDomainAllocation_01_vals[] = { { 0, "row1" }, { 1, "row2" }, { 2, "row4" }, @@ -13865,7 +13930,7 @@ static const value_string nr_rrc_T_frequencyDomainAllocation_vals[] = { { 0, NULL } }; -static const per_choice_t T_frequencyDomainAllocation_choice[] = { +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 }, @@ -13874,9 +13939,9 @@ static const per_choice_t T_frequencyDomainAllocation_choice[] = { }; 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_) { +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, T_frequencyDomainAllocation_choice, + ett_nr_rrc_T_frequencyDomainAllocation_01, T_frequencyDomainAllocation_01_choice, NULL); return offset; @@ -13905,6 +13970,16 @@ dissect_nr_rrc_T_nrofPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ } + +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" }, @@ -13939,7 +14014,7 @@ dissect_nr_rrc_T_dot5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p } -static const value_string nr_rrc_T_density_vals[] = { +static const value_string nr_rrc_T_density_01_vals[] = { { 0, "dot5" }, { 1, "one" }, { 2, "three" }, @@ -13947,7 +14022,7 @@ static const value_string nr_rrc_T_density_vals[] = { { 0, NULL } }; -static const per_choice_t T_density_choice[] = { +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 }, @@ -13956,9 +14031,9 @@ static const per_choice_t T_density_choice[] = { }; 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_) { +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, T_density_choice, + ett_nr_rrc_T_density_01, T_density_01_choice, NULL); return offset; @@ -13967,9 +14042,9 @@ dissect_nr_rrc_T_density(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ static int -dissect_nr_rrc_INTEGER_24_maxNrofPhysicalResourceBlocks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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, maxNrofPhysicalResourceBlocks, NULL, FALSE); + 24U, maxNrofPhysicalResourceBlocksPlus1, NULL, FALSE); return offset; } @@ -13977,7 +14052,7 @@ dissect_nr_rrc_INTEGER_24_maxNrofPhysicalResourceBlocks(tvbuff_t *tvb _U_, int o 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_maxNrofPhysicalResourceBlocks }, + { &hf_nr_rrc_nrofRBs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_24_maxNrofPhysicalResourceBlocksPlus1 }, { NULL, 0, 0, NULL } }; @@ -13991,12 +14066,12 @@ dissect_nr_rrc_CSI_FrequencyOccupation(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t CSI_RS_ResourceMapping_sequence[] = { - { &hf_nr_rrc_frequencyDomainAllocation_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_frequencyDomainAllocation }, + { &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_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 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_density }, + { &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 } }; @@ -14122,27 +14197,9 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_Res } -static const value_string nr_rrc_T_resourceType_03_vals[] = { - { 0, "aperiodic" }, - { 1, "semiPersistent" }, - { 2, "periodic" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_resourceType_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 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 }, - { &hf_nr_rrc_resourceType_03, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType_03 }, { NULL, 0, 0, NULL } }; @@ -14155,58 +14212,81 @@ dissect_nr_rrc_ZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } -static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSet_sequence_of[1] = { +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_Sets_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_) { +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_Sets_OF_ZP_CSI_RS_ResourceSet, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSet_sequence_of, - 1, maxNrofZP_CSI_RS_Sets, FALSE); + 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_Sets_OF_ZP_CSI_RS_ResourceSetId_sequence_of[1] = { +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_Sets_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_) { +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_Sets_OF_ZP_CSI_RS_ResourceSetId, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSetId_sequence_of, - 1, maxNrofZP_CSI_RS_Sets, FALSE); + 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_1007 }, + { &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_NOT_OPTIONAL, dissect_nr_rrc_T_vrb_ToPRB_Interleaver }, + { &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_AllocationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation }, + { &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_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId }, - { &hf_nr_rrc_rateMatchPatternGroup2, 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_NOT_OPTIONAL, dissect_nr_rrc_T_mcs_Table_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_Sets_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_Sets_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_Sets_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_Sets_OF_ZP_CSI_RS_ResourceSetId }, + { &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 } }; @@ -14227,7 +14307,7 @@ static const value_string nr_rrc_T_pdsch_Config_vals[] = { 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_11 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_Config }, + { 1, &hf_nr_rrc_setup_12 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_Config }, { 0, NULL, 0, NULL } }; @@ -14241,7 +14321,7 @@ dissect_nr_rrc_T_pdsch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const value_string nr_rrc_T_periodicity_02_vals[] = { +static const value_string nr_rrc_T_periodicity_01_vals[] = { { 0, "ms10" }, { 1, "ms20" }, { 2, "ms32" }, @@ -14261,11 +14341,11 @@ static const value_string nr_rrc_T_periodicity_02_vals[] = { { 0, NULL } }; -static value_string_ext nr_rrc_T_periodicity_02_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_periodicity_02_vals); +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_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_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); @@ -14274,9 +14354,9 @@ dissect_nr_rrc_T_periodicity_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a static const per_sequence_t SPS_Config_sequence[] = { - { &hf_nr_rrc_periodicity_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity_02 }, + { &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_Resource }, + { &hf_nr_rrc_n1PUCCH_AN , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_ResourceId }, { NULL, 0, 0, NULL } }; @@ -14297,7 +14377,7 @@ static const value_string nr_rrc_T_sps_Config_vals[] = { 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_12 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SPS_Config }, + { 1, &hf_nr_rrc_setup_13 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SPS_Config }, { 0, NULL, 0, NULL } }; @@ -14311,6 +14391,16 @@ dissect_nr_rrc_T_sps_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } + +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" }, @@ -14351,6 +14441,7 @@ dissect_nr_rrc_T_detectionResource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t 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 } @@ -14366,7 +14457,7 @@ dissect_nr_rrc_RadioLinkMonitoringRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx static const per_sequence_t SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_sequence_of[1] = { - { &hf_nr_rrc_failureDetectionResources_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RadioLinkMonitoringRS }, + { &hf_nr_rrc_failureDetectionResourcesToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RadioLinkMonitoringRS }, }; static int @@ -14379,6 +14470,20 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMoni } +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" }, @@ -14424,7 +14529,8 @@ dissect_nr_rrc_T_beamFailureDetectionTimer(tvbuff_t *tvb _U_, int offset _U_, as static const per_sequence_t RadioLinkMonitoringConfig_sequence[] = { - { &hf_nr_rrc_failureDetectionResources, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS }, + { &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 } @@ -14447,7 +14553,7 @@ static const value_string nr_rrc_T_radioLinkMonitoringConfig_vals[] = { 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_13 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RadioLinkMonitoringConfig }, + { 1, &hf_nr_rrc_setup_14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RadioLinkMonitoringConfig }, { 0, NULL, 0, NULL } }; @@ -14778,7 +14884,7 @@ dissect_nr_rrc_T_maxRetxThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static const per_sequence_t UL_AM_RLC_sequence[] = { - { &hf_nr_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SN_FieldLengthAM }, + { &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 }, @@ -14924,7 +15030,7 @@ dissect_nr_rrc_T_StatusProhibit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a static const per_sequence_t DL_AM_RLC_sequence[] = { - { &hf_nr_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SN_FieldLengthAM }, + { &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 } @@ -14971,7 +15077,7 @@ dissect_nr_rrc_SN_FieldLengthUM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a static const per_sequence_t UL_UM_RLC_sequence[] = { - { &hf_nr_rrc_sn_FieldLength_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SN_FieldLengthUM }, + { &hf_nr_rrc_sn_FieldLength_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthUM }, { NULL, 0, 0, NULL } }; @@ -14985,7 +15091,7 @@ dissect_nr_rrc_UL_UM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ static const per_sequence_t DL_UM_RLC_sequence[] = { - { &hf_nr_rrc_sn_FieldLength_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SN_FieldLengthUM }, + { &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 } }; @@ -15099,14 +15205,22 @@ dissect_nr_rrc_T_prioritisedBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ static const value_string nr_rrc_T_bucketSizeDuration_vals[] = { - { 0, "ms50" }, - { 1, "ms100" }, - { 2, "ms150" }, - { 3, "ms300" }, - { 4, "ms500" }, - { 5, "ms1000" }, - { 6, "spare2" }, - { 7, "spare1" }, + { 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 } }; @@ -15114,7 +15228,7 @@ static const value_string nr_rrc_T_bucketSizeDuration_vals[] = { 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, - 8, NULL, FALSE, 0, NULL); + 16, NULL, FALSE, 0, NULL); return offset; } @@ -15196,17 +15310,17 @@ dissect_nr_rrc_INTEGER_0_maxLCG_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static const per_sequence_t T_ul_SpecificParameters_sequence[] = { - { &hf_nr_rrc_priority , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 }, - { &hf_nr_rrc_prioritisedBitRate, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_prioritisedBitRate }, - { &hf_nr_rrc_bucketSizeDuration, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_bucketSizeDuration }, - { &hf_nr_rrc_allowedServingCells, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex }, - { &hf_nr_rrc_allowedSCS_List, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing }, - { &hf_nr_rrc_maxPUSCH_Duration, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxPUSCH_Duration }, - { &hf_nr_rrc_configuredGrantType1Allowed, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredGrantType1Allowed }, - { &hf_nr_rrc_logicalChannelGroup, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxLCG_ID }, - { &hf_nr_rrc_schedulingRequestID, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SchedulingRequestId }, - { &hf_nr_rrc_logicalChannelSR_Mask, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, - { &hf_nr_rrc_logicalChannelSR_DelayTimerApplied, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { &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 } }; @@ -15233,7 +15347,7 @@ dissect_nr_rrc_LogicalChannelConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } -static const per_sequence_t RLC_Bearer_Config_sequence[] = { +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 }, @@ -15243,22 +15357,22 @@ static const per_sequence_t RLC_Bearer_Config_sequence[] = { }; static int -dissect_nr_rrc_RLC_Bearer_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_Bearer_Config, RLC_Bearer_Config_sequence); + ett_nr_rrc_RLC_BearerConfig, RLC_BearerConfig_sequence); return offset; } -static const per_sequence_t SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_Bearer_Config_sequence_of[1] = { - { &hf_nr_rrc_rlc_BearerToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RLC_Bearer_Config }, +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_Bearer_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_Bearer_Config, SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_Bearer_Config_sequence_of, + 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; @@ -15279,16 +15393,6 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity(tvbuff_t *tvb } - -static int -dissect_nr_rrc_INTEGER_1_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 31U, NULL, FALSE); - - return offset; -} - - static const value_string nr_rrc_T_milliSeconds_vals[] = { { 0, "ms1" }, { 1, "ms2" }, @@ -15314,15 +15418,14 @@ static const value_string nr_rrc_T_milliSeconds_vals[] = { { 21, "ms1000" }, { 22, "ms1200" }, { 23, "ms1600" }, - { 24, "spare9" }, - { 25, "spare8" }, - { 26, "spare7" }, - { 27, "spare6" }, - { 28, "spare5" }, - { 29, "spare4" }, - { 30, "spare3" }, - { 31, "spare2" }, - { 32, "spare1" }, + { 24, "spare8" }, + { 25, "spare7" }, + { 26, "spare6" }, + { 27, "spare5" }, + { 28, "spare4" }, + { 29, "spare3" }, + { 30, "spare2" }, + { 31, "spare1" }, { 0, NULL } }; @@ -15332,7 +15435,7 @@ static value_string_ext nr_rrc_T_milliSeconds_vals_ext = VALUE_STRING_EXT_INIT(n 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, - 33, NULL, FALSE, 0, NULL); + 32, NULL, FALSE, 0, NULL); return offset; } @@ -15667,7 +15770,7 @@ static const value_string nr_rrc_T_drx_Config_vals[] = { 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_20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DRX_Config }, + { 1, &hf_nr_rrc_setup_21 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DRX_Config }, { 0, NULL, 0, NULL } }; @@ -15726,7 +15829,7 @@ dissect_nr_rrc_T_sr_TransMax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static const per_sequence_t SchedulingRequestToAddMod_sequence[] = { - { &hf_nr_rrc_sr_ConfigIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestId }, + { &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 } @@ -15867,9 +15970,9 @@ dissect_nr_rrc_T_logicalChannelSR_DelayTimer(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t BSR_Config_sequence[] = { - { &hf_nr_rrc_periodicBSR_Timer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicBSR_Timer }, - { &hf_nr_rrc_retxBSR_Timer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_retxBSR_Timer }, - { &hf_nr_rrc_logicalChannelSR_DelayTimer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_logicalChannelSR_DelayTimer }, + { &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 } }; @@ -15906,51 +16009,29 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id(tvbuff_t *tvb _U_, int offs } -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 TAG_ToAddMod_sequence[] = { +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_ToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_ToAddMod, TAG_ToAddMod_sequence); + ett_nr_rrc_TAG, TAG_sequence); return offset; } -static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_ToAddMod_sequence_of[1] = { - { &hf_nr_rrc_tag_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG_ToAddMod }, +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_ToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_ToAddMod, SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_ToAddMod_sequence_of, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG, SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_sequence_of, 1, maxNrofTAGs, FALSE); return offset; @@ -15959,7 +16040,7 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_ToAddMod(tvbuff_t *tvb _U_, in 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_ToAddMod }, + { &hf_nr_rrc_tag_ToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG }, { NULL, 0, 0, NULL } }; @@ -16051,13 +16132,13 @@ dissect_nr_rrc_T_phr_ModeOtherCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * static const per_sequence_t PHR_Config_sequence[] = { - { &hf_nr_rrc_phr_PeriodicTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_PeriodicTimer }, - { &hf_nr_rrc_phr_ProhibitTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_ProhibitTimer }, - { &hf_nr_rrc_phr_Tx_PowerFactorChange, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_Tx_PowerFactorChange }, - { &hf_nr_rrc_multiplePHR , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, - { &hf_nr_rrc_phr_Type2PCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, - { &hf_nr_rrc_phr_Type2OtherCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, - { &hf_nr_rrc_phr_ModeOtherCG, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_ModeOtherCG }, + { &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 } }; @@ -16078,7 +16159,7 @@ static const value_string nr_rrc_T_phr_Config_vals[] = { 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_21 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PHR_Config }, + { 1, &hf_nr_rrc_setup_22 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PHR_Config }, { 0, NULL, 0, NULL } }; @@ -16092,36 +16173,13 @@ dissect_nr_rrc_T_phr_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -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_22 , 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 MAC_CellGroupConfig_sequence[] = { - { &hf_nr_rrc_drx_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_drx_Config }, - { &hf_nr_rrc_schedulingRequestConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SchedulingRequestConfig }, - { &hf_nr_rrc_bsr_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BSR_Config }, - { &hf_nr_rrc_tag_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_TAG_Config }, - { &hf_nr_rrc_phr_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_phr_Config }, - { &hf_nr_rrc_skipUplinkTxDynamic, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, - { &hf_nr_rrc_cs_RNTI , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cs_RNTI }, + { &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 } }; @@ -16180,6 +16238,28 @@ dissect_nr_rrc_T_pdsch_HARQ_ACK_Codebook(tvbuff_t *tvb _U_, int offset _U_, asn1 } +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 }, @@ -16188,6 +16268,8 @@ static const per_sequence_t PhysicalCellGroupConfig_sequence[] = { { &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 } }; @@ -16200,29 +16282,50 @@ dissect_nr_rrc_PhysicalCellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_c } +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_INTEGER_1_23(tvbuff_t *tvb _U_, int offset _U_, 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, 23U, NULL, FALSE); +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 FrequencyInfoDL_sequence[] = { - { &hf_nr_rrc_absoluteFrequencySSB, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, - { &hf_nr_rrc_ssb_SubcarrierOffset_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_23 }, - { &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 }, +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_FrequencyInfoDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_FrequencyInfoDL, FrequencyInfoDL_sequence); + 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; } @@ -16490,7 +16593,7 @@ static const value_string nr_rrc_T_lte_CRS_ToMatchAround_vals[] = { 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_40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RateMatchPatternLTE_CRS }, + { 1, &hf_nr_rrc_setup_46 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RateMatchPatternLTE_CRS }, { 0, NULL, 0, NULL } }; @@ -16506,10 +16609,10 @@ dissect_nr_rrc_T_lte_CRS_ToMatchAround(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t ServingCellConfigCommon_sequence[] = { { &hf_nr_rrc_physCellId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PhysCellId }, - { &hf_nr_rrc_frequencyInfoDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_FrequencyInfoDL }, - { &hf_nr_rrc_initialDownlinkBWP_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_DownlinkCommon }, + { &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 }, @@ -16518,7 +16621,6 @@ static const per_sequence_t ServingCellConfigCommon_sequence[] = { { &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_tdd_UL_DL_ConfigurationCommon2, 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 } }; @@ -16554,6 +16656,43 @@ dissect_nr_rrc_T_t304(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p } +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 }, @@ -16598,24 +16737,14 @@ dissect_nr_rrc_T_ssb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr } - -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] = { +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(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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, T_ra_OccasionList_sequence_of, + ett_nr_rrc_T_ra_OccasionList_01, T_ra_OccasionList_01_sequence_of, 1, maxRA_OccasionsPerCSIRS, FALSE); return offset; @@ -16624,7 +16753,7 @@ dissect_nr_rrc_T_ra_OccasionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * 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, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_OccasionList }, + { &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 } }; @@ -16654,7 +16783,7 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource(tvbu 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_cfra_csirs_DedicatedRACH_Threshold, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RSRP_Range }, + { &hf_nr_rrc_rsrp_ThresholdCSI_RS, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RSRP_Range }, { NULL, 0, 0, NULL } }; @@ -16667,30 +16796,46 @@ dissect_nr_rrc_T_csirs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } -static const value_string nr_rrc_CFRA_Resources_vals[] = { +static const value_string nr_rrc_T_resources_vals[] = { { 0, "ssb" }, { 1, "csirs" }, { 0, NULL } }; -static const per_choice_t CFRA_Resources_choice[] = { +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_CFRA_Resources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_CFRA_Resources, CFRA_Resources_choice, + 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_Resources, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CFRA_Resources }, + { &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 } }; @@ -16833,7 +16978,7 @@ static const value_string nr_rrc_T_rlf_TimersAndConstants_vals[] = { 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_14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RLF_TimersAndConstants }, + { 1, &hf_nr_rrc_setup_15 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RLF_TimersAndConstants }, { 0, NULL, 0, NULL } }; @@ -16847,6 +16992,21 @@ dissect_nr_rrc_T_rlf_TimersAndConstants(tvbuff_t *tvb _U_, int offset _U_, asn1_ } +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_) { @@ -16950,8 +17110,8 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex(tvbuff_t *tvb static const per_sequence_t TDD_UL_DL_ConfigDedicated_sequence[] = { - { &hf_nr_rrc_slotSpecificConfigurationsToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig }, - { &hf_nr_rrc_slotSpecificConfigurationsToreleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex }, + { &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 } }; @@ -17071,15 +17231,15 @@ dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01(tvbuff_t *tvb _U_, int o } -static const per_sequence_t PUSCH_CodeBlockGroupGransmission_sequence[] = { +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_CodeBlockGroupGransmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_CodeBlockGroupGransmission, PUSCH_CodeBlockGroupGransmission_sequence); + ett_nr_rrc_PUSCH_CodeBlockGroupTransmission, PUSCH_CodeBlockGroupTransmission_sequence); return offset; } @@ -17093,7 +17253,7 @@ static const value_string nr_rrc_T_codeBlockGroupTransmission_01_vals[] = { 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_35 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_CodeBlockGroupGransmission }, + { 1, &hf_nr_rrc_setup_40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_CodeBlockGroupTransmission }, { 0, NULL, 0, NULL } }; @@ -17163,7 +17323,7 @@ static const value_string nr_rrc_T_pusch_ServingCellConfig_vals[] = { 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_39 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_ServingCellConfig }, + { 1, &hf_nr_rrc_setup_44 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_ServingCellConfig }, { 0, NULL, 0, NULL } }; @@ -17177,12 +17337,161 @@ dissect_nr_rrc_T_pusch_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1 } +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 } }; @@ -17195,6 +17504,200 @@ dissect_nr_rrc_UplinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } + +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" }, @@ -17236,7 +17739,7 @@ static const value_string nr_rrc_T_codeBlockGroupTransmission_vals[] = { 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_31 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_CodeBlockGroupTransmission }, + { 1, &hf_nr_rrc_setup_34 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_CodeBlockGroupTransmission }, { 0, NULL, 0, NULL } }; @@ -17312,7 +17815,7 @@ static const value_string nr_rrc_T_pdsch_ServingCellConfig_vals[] = { 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_36 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_ServingCellConfig }, + { 1, &hf_nr_rrc_setup_42 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_ServingCellConfig }, { 0, NULL, 0, NULL } }; @@ -17412,6 +17915,16 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resourc } + +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 }, }; @@ -17990,23 +18503,16 @@ dissect_nr_rrc_CSI_ReportPeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, } -static const value_string nr_rrc_PUCCH_CSI_Resource_vals[] = { - { 0, "uplinkBandwidthPartId" }, - { 1, "pucch-Resource" }, - { 0, NULL } -}; - -static const per_choice_t PUCCH_CSI_Resource_choice[] = { - { 0, &hf_nr_rrc_uplinkBandwidthPartId, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BWP_Id }, - { 1, &hf_nr_rrc_pucch_Resource, ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_Resource }, - { 0, NULL, 0, NULL } +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_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_PUCCH_CSI_Resource, PUCCH_CSI_Resource_choice, - NULL); + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PUCCH_CSI_Resource, PUCCH_CSI_Resource_sequence); return offset; } @@ -18078,14 +18584,14 @@ dissect_nr_rrc_T_reportSlotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t 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_7 }, + { &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, 4, FALSE); + 1, maxNrofUL_Allocations, FALSE); return offset; } @@ -18094,7 +18600,6 @@ dissect_nr_rrc_T_reportSlotOffsetList(tvbuff_t *tvb _U_, int offset _U_, asn1_ct 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_csi_RNTI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value }, { &hf_nr_rrc_p0alpha , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId }, { NULL, 0, 0, NULL } }; @@ -18109,14 +18614,14 @@ dissect_nr_rrc_T_semiPersistentOnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_c 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_7 }, + { &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, 16, FALSE); + 1, maxNrofUL_Allocations, FALSE); return offset; } @@ -18260,6 +18765,16 @@ dissect_nr_rrc_T_pmi_FormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx 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); @@ -18300,6 +18815,16 @@ dissect_nr_rrc_BIT_STRING_SIZE_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t 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); @@ -18359,8 +18884,8 @@ dissect_nr_rrc_T_csi_ReportingBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static const per_sequence_t T_reportFreqConfiguration_sequence[] = { - { &hf_nr_rrc_cqi_FormatIndicator, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cqi_FormatIndicator }, - { &hf_nr_rrc_pmi_FormatIndicator, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pmi_FormatIndicator }, + { &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 } }; @@ -18590,13 +19115,13 @@ static const value_string nr_rrc_T_ng_n1_n2_vals[] = { 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_32 }, - { 2, &hf_nr_rrc_four_two_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_32 }, - { 3, &hf_nr_rrc_two_two_two_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_128 }, - { 4, &hf_nr_rrc_two_eight_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 }, - { 5, &hf_nr_rrc_four_four_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 }, - { 6, &hf_nr_rrc_two_four_two_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_256 }, - { 7, &hf_nr_rrc_four_two_two_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_256 }, + { 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 } }; @@ -18664,9 +19189,9 @@ dissect_nr_rrc_T_type1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, 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_) { +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, - 139, 139, FALSE, NULL, NULL); + 43, 43, FALSE, NULL, NULL); return offset; } @@ -18684,16 +19209,6 @@ dissect_nr_rrc_BIT_STRING_SIZE_59(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static int -dissect_nr_rrc_BIT_STRING_SIZE_49(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, - 49, 49, 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); @@ -18704,16 +19219,6 @@ dissect_nr_rrc_BIT_STRING_SIZE_75(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static int -dissect_nr_rrc_BIT_STRING_SIZE_65(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, - 65, 65, 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); @@ -18724,9 +19229,9 @@ dissect_nr_rrc_BIT_STRING_SIZE_107(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static int -dissect_nr_rrc_BIT_STRING_SIZE_129(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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, - 129, 129, FALSE, NULL, NULL); + 139, 139, FALSE, NULL, NULL); return offset; } @@ -18751,18 +19256,18 @@ static const value_string nr_rrc_T_n1_n2_codebookSubsetRestriction_vals[] = { 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_139 }, + { 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_49 }, + { 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_65 }, + { 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_129 }, + { 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_129 }, + { 12, &hf_nr_rrc_sixteen_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_128 }, { 0, NULL, 0, NULL } }; @@ -19036,24 +19541,6 @@ dissect_nr_rrc_T_subbandSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const value_string nr_rrc_T_bler_Target_vals[] = { - { 0, "zerodot1" }, - { 1, "spare3" }, - { 2, "space2" }, - { 3, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_bler_Target(tvbuff_t *tvb _U_, int offset _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_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -19064,113 +19551,113 @@ dissect_nr_rrc_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } -static const per_sequence_t SEQUENCE_SIZE_1_2_OF_PortIndex8_sequence_of[1] = { +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_1_2_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_1_2_OF_PortIndex8, SEQUENCE_SIZE_1_2_OF_PortIndex8_sequence_of, - 1, 2, FALSE); + 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_1_3_OF_PortIndex8_sequence_of[1] = { +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_1_3_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_1_3_OF_PortIndex8, SEQUENCE_SIZE_1_3_OF_PortIndex8_sequence_of, - 1, 3, FALSE); + 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_1_4_OF_PortIndex8_sequence_of[1] = { +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_1_4_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_1_4_OF_PortIndex8, SEQUENCE_SIZE_1_4_OF_PortIndex8_sequence_of, - 1, 4, FALSE); + 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_1_5_OF_PortIndex8_sequence_of[1] = { +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_1_5_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_1_5_OF_PortIndex8, SEQUENCE_SIZE_1_5_OF_PortIndex8_sequence_of, - 1, 5, FALSE); + 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_1_6_OF_PortIndex8_sequence_of[1] = { +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_1_6_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_1_6_OF_PortIndex8, SEQUENCE_SIZE_1_6_OF_PortIndex8_sequence_of, - 1, 6, FALSE); + 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_1_7_OF_PortIndex8_sequence_of[1] = { +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_1_7_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_1_7_OF_PortIndex8, SEQUENCE_SIZE_1_7_OF_PortIndex8_sequence_of, - 1, 7, FALSE); + 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_1_8_OF_PortIndex8_sequence_of[1] = { +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_1_8_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_1_8_OF_PortIndex8, SEQUENCE_SIZE_1_8_OF_PortIndex8_sequence_of, - 1, 8, FALSE); + 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_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 }, - { &hf_nr_rrc_rank2_8 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PortIndex8 }, - { &hf_nr_rrc_rank3_8 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_PortIndex8 }, - { &hf_nr_rrc_rank4_8 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_PortIndex8 }, - { &hf_nr_rrc_rank5_8 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_5_OF_PortIndex8 }, - { &hf_nr_rrc_rank6_8 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_6_OF_PortIndex8 }, - { &hf_nr_rrc_rank7_8 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_7_OF_PortIndex8 }, - { &hf_nr_rrc_rank8_8 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_8_OF_PortIndex8 }, + { &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 } }; @@ -19193,53 +19680,53 @@ dissect_nr_rrc_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } -static const per_sequence_t SEQUENCE_SIZE_1_2_OF_PortIndex4_sequence_of[1] = { +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_1_2_OF_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_1_2_OF_PortIndex4, SEQUENCE_SIZE_1_2_OF_PortIndex4_sequence_of, - 1, 2, FALSE); + 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_1_3_OF_PortIndex4_sequence_of[1] = { +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_1_3_OF_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_1_3_OF_PortIndex4, SEQUENCE_SIZE_1_3_OF_PortIndex4_sequence_of, - 1, 3, FALSE); + 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_1_4_OF_PortIndex4_sequence_of[1] = { +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_1_4_OF_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_1_4_OF_PortIndex4, SEQUENCE_SIZE_1_4_OF_PortIndex4_sequence_of, - 1, 4, FALSE); + 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_NOT_OPTIONAL, dissect_nr_rrc_PortIndex4 }, - { &hf_nr_rrc_rank2_4 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PortIndex4 }, - { &hf_nr_rrc_rank3_4 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_PortIndex4 }, - { &hf_nr_rrc_rank4_4 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_PortIndex4 }, + { &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 } }; @@ -19262,23 +19749,23 @@ dissect_nr_rrc_PortIndex2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } -static const per_sequence_t SEQUENCE_SIZE_1_2_OF_PortIndex2_sequence_of[1] = { +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_1_2_OF_PortIndex2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_1_2_OF_PortIndex2, SEQUENCE_SIZE_1_2_OF_PortIndex2_sequence_of, - 1, 2, FALSE); + 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_NOT_OPTIONAL, dissect_nr_rrc_PortIndex2 }, - { &hf_nr_rrc_rank2_2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PortIndex2 }, + { &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 } }; @@ -19339,15 +19826,14 @@ static const per_sequence_t CSI_ReportConfig_sequence[] = { { &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_NOT_OPTIONAL, dissect_nr_rrc_T_reportFreqConfiguration }, + { &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_NOT_OPTIONAL, dissect_nr_rrc_CodebookConfig }, - { &hf_nr_rrc_nrofCQIsPerReport, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCQIsPerReport }, + { &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_bler_Target , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_bler_Target }, { &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 } }; @@ -19415,7 +19901,7 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId(t 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_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId }, + { &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 } }; @@ -19537,7 +20023,7 @@ static const value_string nr_rrc_T_aperiodicTriggerStateList_vals[] = { 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_16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_AperiodicTriggerStateList }, + { 1, &hf_nr_rrc_setup_17 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_AperiodicTriggerStateList }, { 0, NULL, 0, NULL } }; @@ -19587,7 +20073,7 @@ static const value_string nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList_vals[] 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_17 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList }, + { 1, &hf_nr_rrc_setup_18 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList }, { 0, NULL, 0, NULL } }; @@ -19639,7 +20125,7 @@ static const value_string nr_rrc_T_csi_MeasConfig_vals[] = { 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_37 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_MeasConfig }, + { 1, &hf_nr_rrc_setup_43 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_MeasConfig }, { 0, NULL, 0, NULL } }; @@ -19653,154 +20139,6 @@ dissect_nr_rrc_T_csi_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } -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_startingBitOfFormat2_3, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_31 }, - { &hf_nr_rrc_fieldTypeFormat2_3, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1 }, - { &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_SlotFormatCombinationsPerCell_sequence_of[1] = { - { &hf_nr_rrc_srs_CellToSFI_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatCombinationsPerCell }, -}; - -static int -dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_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_maxNrofServingCells_OF_SlotFormatCombinationsPerCell, SEQUENCE_SIZE_1_maxNrofServingCells_OF_SlotFormatCombinationsPerCell_sequence_of, - 1, maxNrofServingCells, FALSE); - - 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_TPC_PDCCH_Group, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_TPC_PDCCH_Group }, - { &hf_nr_rrc_srs_CellToSFI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_SlotFormatCombinationsPerCell }, - { &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_38 , 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 value_string nr_rrc_T_sCellDeactivationTimer_vals[] = { { 0, "ms20" }, { 1, "ms40" }, @@ -19938,23 +20276,24 @@ dissect_nr_rrc_T_pathlossReferenceLinking(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t ServingCellConfig_sequence[] = { - { &hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigDedicated }, - { &hf_nr_rrc_initialDownlinkBWP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BWP_DownlinkDedicated }, - { &hf_nr_rrc_downlinkBWP_ToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id }, - { &hf_nr_rrc_downlinkBWP_ToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink }, - { &hf_nr_rrc_firstActiveDownlinkBWP_Id, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BWP_Id }, - { &hf_nr_rrc_bwp_InactivityTimer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_InactivityTimer }, - { &hf_nr_rrc_defaultDownlinkBWP_Id, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BWP_Id }, - { &hf_nr_rrc_uplinkConfig , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfig }, - { &hf_nr_rrc_supplementaryUplink_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfig }, - { &hf_nr_rrc_pdsch_ServingCellConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_ServingCellConfig }, - { &hf_nr_rrc_csi_MeasConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_MeasConfig }, - { &hf_nr_rrc_carrierSwitching, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_carrierSwitching }, - { &hf_nr_rrc_sCellDeactivationTimer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sCellDeactivationTimer }, - { &hf_nr_rrc_crossCarrierSchedulingConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CrossCarrierSchedulingConfig }, - { &hf_nr_rrc_tag_Id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG_Id }, - { &hf_nr_rrc_ue_BeamLockFunction, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_BeamLockFunction }, - { &hf_nr_rrc_pathlossReferenceLinking, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pathlossReferenceLinking }, + { &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 } }; @@ -19971,7 +20310,7 @@ 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_INTEGER_0_1 }, + { &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 } }; @@ -20041,7 +20380,7 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex(tvbuff_t *tvb _U_, in 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_Bearer_Config }, + { &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 }, @@ -20060,77 +20399,37 @@ dissect_nr_rrc_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } -static const per_sequence_t MeasResultServFreq2NR_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_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR }, - { &hf_nr_rrc_measResultBestNeighCell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultNR }, +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_MeasResultServFreq2NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_MeasResultServFreq2NR, MeasResultServFreq2NR_sequence); - - return offset; -} - - -static const per_sequence_t MeasResultServFreqList2NR_sequence_of[1] = { - { &hf_nr_rrc_MeasResultServFreqList2NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServFreq2NR }, -}; - -static int -dissect_nr_rrc_MeasResultServFreqList2NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_MeasResultServFreqList2NR, MeasResultServFreqList2NR_sequence_of, - 1, maxNrofServingCells, FALSE); + ett_nr_rrc_MeasResultSCG_Failure, MeasResultSCG_Failure_sequence); 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_measResultListNR, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultListNR }, - { NULL, 0, 0, NULL } +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_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 MeasResultSCG_Failure_sequence[] = { - { &hf_nr_rrc_measResultServFreqList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServFreqList2NR }, - { &hf_nr_rrc_measResultNeighCells_01, 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); +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; } @@ -20166,62 +20465,17 @@ dissect_nr_rrc_CA_BandwidthClassEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const value_string nr_rrc_T_mimo_CapabilityDL_vals[] = { - { 0, "twoLayers" }, - { 1, "fourLayers" }, - { 2, "eightLayers" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_mimo_CapabilityDL(tvbuff_t *tvb _U_, int offset _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 IntraBandContiguousCC_InfoDL_EUTRA_sequence[] = { - { &hf_nr_rrc_mimo_CapabilityDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mimo_CapabilityDL }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_nr_rrc_IntraBandContiguousCC_InfoDL_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_IntraBandContiguousCC_InfoDL_EUTRA, IntraBandContiguousCC_InfoDL_EUTRA_sequence); - - return offset; -} - - -static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoDL_EUTRA_sequence_of[1] = { - { &hf_nr_rrc_intraBandContiguousCC_InfoDL_EUTRA_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraBandContiguousCC_InfoDL_EUTRA }, -}; - -static int -dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoDL_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoDL_EUTRA, SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoDL_EUTRA_sequence_of, - 1, maxNrofServingCellsEUTRA, FALSE); - - return offset; -} - - -static const per_sequence_t BandAndDL_ParametersEUTRA_sequence[] = { +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_intraBandContiguousCC_InfoDL_EUTRA_List, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoDL_EUTRA }, + { &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_BandAndDL_ParametersEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_BandAndDL_ParametersEUTRA, BandAndDL_ParametersEUTRA_sequence); + ett_nr_rrc_T_eutra, T_eutra_sequence); return offset; } @@ -20260,116 +20514,93 @@ dissect_nr_rrc_CA_BandwidthClassNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const value_string nr_rrc_FreqSeparationClass_vals[] = { - { 0, "c1" }, - { 1, "c2" }, - { 2, "c3" }, - { 0, NULL } +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_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); +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_MIMO_LayersDL_vals[] = { - { 0, "twoLayers" }, - { 1, "fourLayers" }, - { 2, "eightLayers" }, +static const value_string nr_rrc_BandParameters_vals[] = { + { 0, "eutra" }, + { 1, "nr" }, { 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 per_sequence_t IntraBandContiguousCC_InfoDL_sequence[] = { - { &hf_nr_rrc_maxNumberMIMO_LayersPDSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersDL }, - { NULL, 0, 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_IntraBandContiguousCC_InfoDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_IntraBandContiguousCC_InfoDL, IntraBandContiguousCC_InfoDL_sequence); +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_maxNrofServingCells_OF_IntraBandContiguousCC_InfoDL_sequence_of[1] = { - { &hf_nr_rrc_intraBandContiguousCC_InfoDL_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraBandContiguousCC_InfoDL }, +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_maxNrofServingCells_OF_IntraBandContiguousCC_InfoDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_maxNrofServingCells_OF_IntraBandContiguousCC_InfoDL, SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoDL_sequence_of, - 1, maxNrofServingCells, FALSE); + ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters, SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_sequence_of, + 1, maxSimultaneousBands, FALSE); return offset; } -static const per_sequence_t BandAndDL_ParametersNR_sequence[] = { - { &hf_nr_rrc_bandNR , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR }, - { &hf_nr_rrc_ca_BandwidthClassDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_BandwidthClassNR }, - { &hf_nr_rrc_intraBandFreqSeparationDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqSeparationClass }, - { &hf_nr_rrc_intraBandContiguousCC_InfoDL_List, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoDL }, - { NULL, 0, 0, NULL } -}; static int -dissect_nr_rrc_BandAndDL_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_BandAndDL_ParametersNR, BandAndDL_ParametersNR_sequence); +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_BandAndDL_Parameters_vals[] = { - { 0, "bandAndDL-ParametersEUTRA" }, - { 1, "bandAndDL-ParametersNR" }, +static const value_string nr_rrc_T_multipleTimingAdvance_vals[] = { + { 0, "supported" }, { 0, NULL } }; -static const per_choice_t BandAndDL_Parameters_choice[] = { - { 0, &hf_nr_rrc_bandAndDL_ParametersEUTRA, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BandAndDL_ParametersEUTRA }, - { 1, &hf_nr_rrc_bandAndDL_ParametersNR, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BandAndDL_ParametersNR }, - { 0, NULL, 0, NULL } -}; static int -dissect_nr_rrc_BandAndDL_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_BandAndDL_Parameters, BandAndDL_Parameters_choice, - NULL); +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 per_sequence_t BandAndDL_ParametersList_sequence_of[1] = { - { &hf_nr_rrc_BandAndDL_ParametersList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandAndDL_Parameters }, +static const value_string nr_rrc_T_simultaneousRx_Tx_vals[] = { + { 0, "supported" }, + { 0, NULL } }; + static int -dissect_nr_rrc_BandAndDL_ParametersList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_BandAndDL_ParametersList, BandAndDL_ParametersList_sequence_of, - 1, maxSimultaneousBands, FALSE); +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; } @@ -20377,22 +20608,22 @@ dissect_nr_rrc_BandAndDL_ParametersList(tvbuff_t *tvb _U_, int offset _U_, asn1_ static int -dissect_nr_rrc_BIT_STRING_SIZE_1_maxBandComb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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, maxBandComb, FALSE, NULL, NULL); + 1, 8, FALSE, NULL, NULL); return offset; } -static const value_string nr_rrc_T_multipleTimingAdvances_vals[] = { +static const value_string nr_rrc_T_additionalRx_Tx_PerformanceReq_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_) { +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); @@ -20400,14 +20631,14 @@ dissect_nr_rrc_T_multipleTimingAdvances(tvbuff_t *tvb _U_, int offset _U_, asn1_ } -static const value_string nr_rrc_T_simultaneousRxTxInterBandCA_vals[] = { - { 0, "supported" }, +static const value_string nr_rrc_T_ue_CA_PowerClass_N_vals[] = { + { 0, "class2" }, { 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_) { +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); @@ -20415,40 +20646,47 @@ dissect_nr_rrc_T_simultaneousRxTxInterBandCA(tvbuff_t *tvb _U_, int offset _U_, } +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_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); +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 per_sequence_t CA_ParametersNR_sequence[] = { - { &hf_nr_rrc_multipleTimingAdvances, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleTimingAdvances }, - { &hf_nr_rrc_simultaneousRxTxInterBandCA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRxTxInterBandCA }, - { &hf_nr_rrc_supportedBandwidthCombinationSet, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_1_32 }, - { NULL, 0, 0, NULL } +static const value_string nr_rrc_T_multipleTimingAdvances_vals[] = { + { 0, "supported" }, + { 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); +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_singleUL_Transmission_vals[] = { +static const value_string nr_rrc_T_parallelTxSRS_PUCCH_PUSCH_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_) { +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); @@ -20456,14 +20694,14 @@ dissect_nr_rrc_T_singleUL_Transmission(tvbuff_t *tvb _U_, int offset _U_, asn1_c } -static const value_string nr_rrc_T_ul_SharingEUTRA_NR_vals[] = { +static const value_string nr_rrc_T_parallelTxPRACH_SRS_PUCCH_PUSCH_vals[] = { { 0, "supported" }, { 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_) { +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); @@ -20471,30 +20709,29 @@ dissect_nr_rrc_T_ul_SharingEUTRA_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } -static const value_string nr_rrc_T_ul_SwitchingTimeEUTRA_NR_vals[] = { - { 0, "type1" }, - { 1, "type2" }, +static const value_string nr_rrc_T_simultaneousRxTxInterBandCA_vals[] = { + { 0, "supported" }, { 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_) { +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, - 2, NULL, FALSE, 0, NULL); + 1, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_simultaneousRxTxInterBandENDC_vals[] = { +static const value_string nr_rrc_T_simultaneousRxTxSUL_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_) { +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); @@ -20502,14 +20739,14 @@ dissect_nr_rrc_T_simultaneousRxTxInterBandENDC(tvbuff_t *tvb _U_, int offset _U_ } -static const value_string nr_rrc_T_asyncIntraBandENDC_vals[] = { +static const value_string nr_rrc_T_diffNumerologyAcrossPUCCH_Group_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_) { +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); @@ -20517,397 +20754,416 @@ dissect_nr_rrc_T_asyncIntraBandENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } +static const value_string nr_rrc_T_diffNumerologyWithinPUCCH_Group_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + static int -dissect_nr_rrc_BasebandProcessingCombinationIndex(tvbuff_t *tvb _U_, int offset _U_, 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, maxBasebandProcComb, NULL, FALSE); +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 per_sequence_t SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex_sequence_of[1] = { - { &hf_nr_rrc_basebandProcessingCombinationLinkedIndexSN_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandProcessingCombinationIndex }, +static const value_string nr_rrc_T_supportedNumberTAG_vals[] = { + { 0, "n2" }, + { 1, "n3" }, + { 2, "n4" }, + { 0, NULL } }; + static int -dissect_nr_rrc_SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_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_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex, SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex_sequence_of, - 1, maxBasebandProcComb, FALSE); +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 BasebandProcessingCombinationLink_sequence[] = { - { &hf_nr_rrc_basebandProcessingCombinationIndexMN, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandProcessingCombinationIndex }, - { &hf_nr_rrc_basebandProcessingCombinationLinkedIndexSN, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex }, +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_BasebandProcessingCombinationLink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_BasebandProcessingCombinationLink, BasebandProcessingCombinationLink_sequence); + ett_nr_rrc_CA_ParametersNR, CA_ParametersNR_sequence); return offset; } -static const per_sequence_t BasebandProcessingCombinationMRDC_sequence_of[1] = { - { &hf_nr_rrc_BasebandProcessingCombinationMRDC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandProcessingCombinationLink }, +static const value_string nr_rrc_T_singleUL_Transmission_vals[] = { + { 0, "supported" }, + { 0, NULL } }; + static int -dissect_nr_rrc_BasebandProcessingCombinationMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_BasebandProcessingCombinationMRDC, BasebandProcessingCombinationMRDC_sequence_of, - 1, maxBasebandProcComb, FALSE); +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 per_sequence_t MRDC_Parameters_sequence[] = { - { &hf_nr_rrc_singleUL_Transmission, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_singleUL_Transmission }, - { &hf_nr_rrc_ul_SharingEUTRA_NR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_SharingEUTRA_NR }, - { &hf_nr_rrc_ul_SwitchingTimeEUTRA_NR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_SwitchingTimeEUTRA_NR }, - { &hf_nr_rrc_simultaneousRxTxInterBandENDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRxTxInterBandENDC }, - { &hf_nr_rrc_asyncIntraBandENDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_asyncIntraBandENDC }, - { &hf_nr_rrc_basebandProcesingCombinationMRDC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandProcessingCombinationMRDC }, - { NULL, 0, 0, NULL } +static const value_string nr_rrc_T_dynamicPowerSharing_vals[] = { + { 0, "supported" }, + { 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); +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 per_sequence_t BandCombinationParameters_sequence[] = { - { &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 }, - { NULL, 0, 0, NULL } +static const value_string nr_rrc_T_tdm_Pattern_vals[] = { + { 0, "supported" }, + { 0, NULL } }; + static int -dissect_nr_rrc_BandCombinationParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_BandCombinationParameters, BandCombinationParameters_sequence); +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 per_sequence_t SEQUENCE_SIZE_1_maxBandComb_OF_BandCombinationParameters_sequence_of[1] = { - { &hf_nr_rrc_bandCombinationParametersList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationParameters }, +static const value_string nr_rrc_T_ul_SharingEUTRA_NR_vals[] = { + { 0, "tdm" }, + { 1, "fdm" }, + { 2, "both" }, + { 0, NULL } }; + static int -dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_BandCombinationParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_BandCombinationParameters, SEQUENCE_SIZE_1_maxBandComb_OF_BandCombinationParameters_sequence_of, - 1, maxBandComb, FALSE); +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 per_sequence_t BandCombination_sequence[] = { - { &hf_nr_rrc_bandAndDL_ParametersList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandAndDL_ParametersList }, - { &hf_nr_rrc_bandCombinationsUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1_maxBandComb }, - { &hf_nr_rrc_bandCombinationParametersList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_BandCombinationParameters }, - { NULL, 0, 0, NULL } +static const value_string nr_rrc_T_ul_SwitchingTimeEUTRA_NR_vals[] = { + { 0, "type1" }, + { 1, "type2" }, + { 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); +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 per_sequence_t BandCombinationList_sequence_of[1] = { - { &hf_nr_rrc_BandCombinationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination }, +static const value_string nr_rrc_T_simultaneousRxTxInterBandENDC_vals[] = { + { 0, "supported" }, + { 0, NULL } }; + 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); +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_mimo_CapabilityUL_vals[] = { - { 0, "twoLayers" }, - { 1, "fourLayers" }, +static const value_string nr_rrc_T_asyncIntraBandENDC_vals[] = { + { 0, "supported" }, { 0, NULL } }; static int -dissect_nr_rrc_T_mimo_CapabilityUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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, - 2, NULL, FALSE, 0, NULL); + 1, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t IntraBandContiguousCC_InfoUL_EUTRA_sequence[] = { - { &hf_nr_rrc_mimo_CapabilityUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mimo_CapabilityUL }, +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_IntraBandContiguousCC_InfoUL_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_IntraBandContiguousCC_InfoUL_EUTRA, IntraBandContiguousCC_InfoUL_EUTRA_sequence); + ett_nr_rrc_MRDC_Parameters, MRDC_Parameters_sequence); return offset; } -static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoUL_EUTRA_sequence_of[1] = { - { &hf_nr_rrc_intraBandContiguousCC_InfoUL_EUTRA_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraBandContiguousCC_InfoUL_EUTRA }, -}; static int -dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoUL_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoUL_EUTRA, SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoUL_EUTRA_sequence_of, - 1, maxNrofServingCellsEUTRA, FALSE); +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 BandParametersUL_EUTRA_sequence[] = { - { &hf_nr_rrc_ca_BandwidthClassUL_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_BandwidthClassEUTRA }, - { &hf_nr_rrc_intraBandContiguousCC_InfoUL_EUTRA_List, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoUL_EUTRA }, +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_BandParametersUL_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_BandParametersUL_EUTRA, BandParametersUL_EUTRA_sequence); + ett_nr_rrc_BandCombination, BandCombination_sequence); return offset; } -static const value_string nr_rrc_MIMO_LayersUL_vals[] = { - { 0, "oneLayer" }, - { 1, "twoLayers" }, - { 2, "fourLayers" }, - { 0, NULL } +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_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); +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 const per_sequence_t IntraBandContiguousCC_InfoUL_sequence[] = { - { &hf_nr_rrc_maxNumberMIMO_LayersCB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersUL }, - { &hf_nr_rrc_maxNumberMIMO_LayersNonCB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersUL }, + +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_IntraBandContiguousCC_InfoUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_IntraBandContiguousCC_InfoUL, IntraBandContiguousCC_InfoUL_sequence); + ett_nr_rrc_T_eutra_01, T_eutra_01_sequence); return offset; } -static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoUL_sequence_of[1] = { - { &hf_nr_rrc_intraBandContiguousCC_InfoUL_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraBandContiguousCC_InfoUL }, -}; static int -dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_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_IntraBandContiguousCC_InfoUL, SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoUL_sequence_of, - 1, maxNrofServingCells, FALSE); +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 const per_sequence_t BandParametersUL_NR_sequence[] = { - { &hf_nr_rrc_ca_BandwidthClassUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_BandwidthClassNR }, - { &hf_nr_rrc_intraBandFreqSeparationUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqSeparationClass }, - { &hf_nr_rrc_intraBandContiguousCC_InfoUL_List, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoUL }, + +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_BandParametersUL_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_BandParametersUL_NR, BandParametersUL_NR_sequence); + ett_nr_rrc_T_nr_01, T_nr_01_sequence); return offset; } -static const value_string nr_rrc_BandParametersUL_vals[] = { - { 0, "bandParametersUL-EUTRA" }, - { 1, "bandParametersUL-NR" }, +static const value_string nr_rrc_FeatureSet_vals[] = { + { 0, "eutra" }, + { 1, "nr" }, { 0, NULL } }; -static const per_choice_t BandParametersUL_choice[] = { - { 0, &hf_nr_rrc_bandParametersUL_EUTRA, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BandParametersUL_EUTRA }, - { 1, &hf_nr_rrc_bandParametersUL_NR, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BandParametersUL_NR }, +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_BandParametersUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_BandParametersUL, BandParametersUL_choice, + ett_nr_rrc_FeatureSet, FeatureSet_choice, NULL); return offset; } -static const per_sequence_t BandCombinationParametersUL_sequence_of[1] = { - { &hf_nr_rrc_BandCombinationParametersUL_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParametersUL }, +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_BandCombinationParametersUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_BandCombinationParametersUL, BandCombinationParametersUL_sequence_of, - 1, maxSimultaneousBands, FALSE); + ett_nr_rrc_FeatureSetsPerBand, FeatureSetsPerBand_sequence_of, + 1, maxFeatureSetsPerBand, FALSE); return offset; } -static const per_sequence_t BandCombinationParametersUL_List_sequence_of[1] = { - { &hf_nr_rrc_BandCombinationParametersUL_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationParametersUL }, +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_BandCombinationParametersUL_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_BandCombinationParametersUL_List, BandCombinationParametersUL_List_sequence_of, - 1, maxBandComb, FALSE); + ett_nr_rrc_FeatureSetCombination, FeatureSetCombination_sequence_of, + 1, maxSimultaneousBands, FALSE); return offset; } -static const value_string nr_rrc_T_freqRange_vals[] = { - { 0, "fr1" }, - { 1, "fr2" }, - { 0, NULL } -}; - static int -dissect_nr_rrc_T_freqRange(tvbuff_t *tvb _U_, int offset _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); +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 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 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_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); +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_T_fr2_vals[] = { - { 0, "mhz50" }, - { 1, "mhz100" }, - { 2, "mhz200" }, - { 3, "mhz400" }, +static const value_string nr_rrc_FreqSeparationClass_vals[] = { + { 0, "c1" }, + { 1, "c2" }, + { 2, "c3" }, { 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_) { +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, - 4, NULL, FALSE, 0, NULL); + 3, NULL, TRUE, 0, NULL); return offset; } -static const value_string nr_rrc_T_supportedBandwidthUL_vals[] = { - { 0, "fr1" }, - { 1, "fr2" }, +static const value_string nr_rrc_T_scalingFactor_vals[] = { + { 0, "f0p4" }, + { 1, "f0p75" }, + { 2, "f0p8" }, { 0, NULL } }; -static const per_choice_t T_supportedBandwidthUL_choice[] = { - { 0, &hf_nr_rrc_fr1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr1 }, - { 1, &hf_nr_rrc_fr2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr2 }, - { 0, NULL, 0, NULL } -}; static int -dissect_nr_rrc_T_supportedBandwidthUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_supportedBandwidthUL, T_supportedBandwidthUL_choice, - NULL); +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_scalingFactor0dot75_vals[] = { +static const value_string nr_rrc_T_crossCarrierSchedulingDL_OtherSCS_vals[] = { { 0, "supported" }, { 0, NULL } }; static int -dissect_nr_rrc_T_scalingFactor0dot75(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -20915,189 +21171,170 @@ dissect_nr_rrc_T_scalingFactor0dot75(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } -static const value_string nr_rrc_ModulationOrder_vals[] = { - { 0, "bpsk-halfpi" }, - { 1, "bpsk" }, - { 2, "qpsk" }, - { 3, "qam16" }, - { 4, "qam64" }, - { 5, "qam256" }, +static const value_string nr_rrc_T_scellWithoutSSB_vals[] = { + { 0, "supported" }, { 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_) { +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, - 6, NULL, FALSE, 0, NULL); + 1, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_maxNumberAperiodicSRS_PerBWP_vals[] = { - { 0, "n1" }, - { 1, "n2" }, - { 2, "n4" }, - { 3, "n8" }, - { 4, "n16" }, +static const value_string nr_rrc_T_csi_RS_MeasSCellWithoutSSB_vals[] = { + { 0, "supported" }, { 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_) { +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, - 5, NULL, FALSE, 0, NULL); + 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_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); +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_maxNumberPeriodicSRS_PerBWP_vals[] = { - { 0, "n1" }, - { 1, "n2" }, - { 2, "n4" }, - { 3, "n8" }, - { 4, "n16" }, +static const value_string nr_rrc_T_type1_3_CSS_vals[] = { + { 0, "supported" }, { 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_) { +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, - 5, NULL, FALSE, 0, NULL); + 1, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_maxNumberSemiPersitentSRS_PerBWP_vals[] = { - { 0, "n0" }, - { 1, "n1" }, - { 2, "n2" }, - { 3, "n4" }, - { 4, "n8" }, - { 5, "n16" }, +static const value_string nr_rrc_T_pdcchMonitoringAnyOccasions_vals[] = { + { 0, "withoutDCI-Gap" }, + { 1, "withDCI-Gap" }, { 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_) { +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, - 6, NULL, FALSE, 0, NULL); + 2, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_maxNumberSRS_Ports_PerResource_vals[] = { - { 0, "n1" }, - { 1, "n2" }, - { 2, "n4" }, +static const value_string nr_rrc_T_pdcchMonitoringAnyOccasionsWithSpanGap_vals[] = { + { 0, "supported" }, { 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_) { +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, - 3, NULL, FALSE, 0, NULL); + 1, 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_0_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 const value_string nr_rrc_T_ue_SpecificUL_DL_Assignment_vals[] = { + { 0, "supported" }, + { 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); +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_supportedSRS_TxPortSwitch_vals[] = { - { 0, "t1r2" }, - { 1, "t1r4" }, - { 2, "t2r4" }, - { 3, "t1r4-t2r4" }, +static const value_string nr_rrc_T_searchSpaceSharingCA_DL_vals[] = { + { 0, "supported" }, { 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_) { +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, - 4, NULL, FALSE, 0, NULL); + 1, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_txSwitchImpactToRx_vals[] = { - { 0, "true" }, +static const value_string nr_rrc_T_scs_60kHz_vals[] = { + { 0, "s7" }, + { 1, "s14" }, + { 2, "s28" }, { 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_) { +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, - 1, NULL, FALSE, 0, NULL); + 3, 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 const value_string nr_rrc_T_sch_120kHz_vals[] = { + { 0, "s14" }, + { 1, "s28" }, + { 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); +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 value_string nr_rrc_T_lowLatencyCSI_Feedback_vals[] = { - { 0, "supported" }, - { 0, NULL } +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_lowLatencyCSI_Feedback(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); +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; } @@ -21105,7 +21342,8 @@ dissect_nr_rrc_T_lowLatencyCSI_Feedback(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const value_string nr_rrc_T_scs_15kHz_vals[] = { { 0, "upto2" }, - { 1, "upto7" }, + { 1, "upto4" }, + { 2, "upto7" }, { 0, NULL } }; @@ -21113,7 +21351,7 @@ static const value_string nr_rrc_T_scs_15kHz_vals[] = { 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, - 2, NULL, FALSE, 0, NULL); + 3, NULL, FALSE, 0, NULL); return offset; } @@ -21121,7 +21359,8 @@ dissect_nr_rrc_T_scs_15kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ static const value_string nr_rrc_T_scs_30kHz_vals[] = { { 0, "upto2" }, - { 1, "upto7" }, + { 1, "upto4" }, + { 2, "upto7" }, { 0, NULL } }; @@ -21129,23 +21368,24 @@ static const value_string nr_rrc_T_scs_30kHz_vals[] = { 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, - 2, NULL, FALSE, 0, NULL); + 3, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_scs_60kHz_vals[] = { +static const value_string nr_rrc_T_scs_60kHz_01_vals[] = { { 0, "upto2" }, - { 1, "upto7" }, + { 1, "upto4" }, + { 2, "upto7" }, { 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_) { +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, - 2, NULL, FALSE, 0, NULL); + 3, NULL, FALSE, 0, NULL); return offset; } @@ -21153,7 +21393,8 @@ dissect_nr_rrc_T_scs_60kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ static const value_string nr_rrc_T_scs_120kHz_vals[] = { { 0, "upto2" }, - { 1, "upto7" }, + { 1, "upto4" }, + { 2, "upto7" }, { 0, NULL } }; @@ -21161,307 +21402,502 @@ static const value_string nr_rrc_T_scs_120kHz_vals[] = { static int dissect_nr_rrc_T_scs_120kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); + 3, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t T_pusch_DifferentTB_PerSlot_sequence[] = { +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 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz }, + { &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_pusch_DifferentTB_PerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_pusch_DifferentTB_PerSlot, T_pusch_DifferentTB_PerSlot_sequence); + ett_nr_rrc_T_pdsch_DifferentTB_PerSlot, T_pdsch_DifferentTB_PerSlot_sequence); return offset; } -static const value_string nr_rrc_T_twoPUCCH_Group_vals[] = { - { 0, "supported" }, +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_twoPUCCH_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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, - 1, NULL, FALSE, 0, NULL); + 35, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_diffNumerologyAcrossPUCCH_Group_vals[] = { - { 0, "supported" }, +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_diffNumerologyAcrossPUCCH_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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, - 1, NULL, FALSE, 0, NULL); + 6, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_diffNumerologyWithinPUCCH_Group_vals[] = { - { 0, "supported" }, +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_diffNumerologyWithinPUCCH_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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, - 1, NULL, FALSE, 0, NULL); + 7, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_crossCarrierScheduling_vals[] = { - { 0, "supported" }, + +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_crossCarrierScheduling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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, - 1, NULL, FALSE, 0, NULL); + 2, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_supportedNumberTAG_vals[] = { - { 0, "n2" }, - { 1, "n3" }, - { 2, "n4" }, - { 0, NULL } +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_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); +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_dynamicSwitchSUL_vals[] = { - { 0, "supported" }, +static const value_string nr_rrc_T_maxNumberTxPortsPerResource_01_vals[] = { + { 0, "p8" }, + { 1, "p16" }, + { 2, "p32" }, { 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_) { +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, - 1, NULL, FALSE, 0, NULL); + 3, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_simultaneousTxSUL_NonSUL_vals[] = { - { 0, "supported" }, +static const value_string nr_rrc_T_supportedCodebookMode_01_vals[] = { + { 0, "mode1" }, + { 1, "mode2" }, + { 2, "both" }, { 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_) { +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, - 1, NULL, FALSE, 0, NULL); + 3, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_searchSpaceSharingCA_UL_vals[] = { - { 0, "supported" }, +static const value_string nr_rrc_T_supportedNumberPanels_vals[] = { + { 0, "n2" }, + { 1, "n4" }, { 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_) { +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, - 1, NULL, FALSE, 0, NULL); + 2, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t BasebandParametersPerCC_UL_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_T_supportedBandwidthUL }, - { &hf_nr_rrc_scalingFactor0dot75, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scalingFactor0dot75 }, - { &hf_nr_rrc_maxNumberMIMO_LayersCB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersUL }, - { &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_supportedSRS_Resources, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SRS_Resources }, - { &hf_nr_rrc_srs_TxSwitch , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SRS_TxSwitch }, - { &hf_nr_rrc_lowLatencyCSI_Feedback, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_lowLatencyCSI_Feedback }, - { &hf_nr_rrc_pusch_DifferentTB_PerSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_DifferentTB_PerSlot }, - { &hf_nr_rrc_twoPUCCH_Group, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_Group }, - { &hf_nr_rrc_diffNumerologyAcrossPUCCH_Group, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_diffNumerologyAcrossPUCCH_Group }, - { &hf_nr_rrc_diffNumerologyWithinPUCCH_Group, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_diffNumerologyWithinPUCCH_Group }, - { &hf_nr_rrc_crossCarrierScheduling, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_crossCarrierScheduling }, - { &hf_nr_rrc_supportedNumberTAG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_supportedNumberTAG }, - { &hf_nr_rrc_dynamicSwitchSUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicSwitchSUL }, - { &hf_nr_rrc_simultaneousTxSUL_NonSUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousTxSUL_NonSUL }, - { &hf_nr_rrc_searchSpaceSharingCA_UL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceSharingCA_UL }, +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_BasebandParametersPerCC_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_BasebandParametersPerCC_UL, BasebandParametersPerCC_UL_sequence); + ett_nr_rrc_TypeI_MultiPanelCodebook, TypeI_MultiPanelCodebook_sequence); return offset; } -static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_UL_sequence_of[1] = { - { &hf_nr_rrc_basebandParametersPerCC_UL_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandParametersPerCC_UL }, +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_maxNrofServingCells_OF_BasebandParametersPerCC_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_maxNrofServingCells_OF_BasebandParametersPerCC_UL, SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_UL_sequence_of, - 1, maxNrofServingCells, FALSE); + 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 per_sequence_t BasebandParametersPerBandUL_sequence[] = { - { &hf_nr_rrc_ca_BandwidthClassUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CA_BandwidthClassNR }, - { &hf_nr_rrc_freqRange , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_freqRange }, - { &hf_nr_rrc_basebandParametersPerCC_UL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_UL }, - { NULL, 0, 0, NULL } +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_BasebandParametersPerBandUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_BasebandParametersPerBandUL, BasebandParametersPerBandUL_sequence); +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 const per_sequence_t BasebandCombinationParametersUL_sequence_of[1] = { - { &hf_nr_rrc_BasebandCombinationParametersUL_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandParametersPerBandUL }, -}; static int -dissect_nr_rrc_BasebandCombinationParametersUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_BasebandCombinationParametersUL, BasebandCombinationParametersUL_sequence_of, - 1, maxSimultaneousBands, FALSE); +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 per_sequence_t BasebandCombinationParametersUL_List_sequence_of[1] = { - { &hf_nr_rrc_BasebandCombinationParametersUL_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandCombinationParametersUL }, +static const value_string nr_rrc_T_amplitudeScalingType_vals[] = { + { 0, "wideband" }, + { 1, "widebandAndSubband" }, + { 0, NULL } }; + static int -dissect_nr_rrc_BasebandCombinationParametersUL_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_BasebandCombinationParametersUL_List, BasebandCombinationParametersUL_List_sequence_of, - 1, maxBasebandProcComb, FALSE); +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_FreqBandInformation_vals[] = { - { 0, "bandEUTRA" }, - { 1, "bandNR" }, +static const value_string nr_rrc_T_amplitudeSubsetRestriction_vals[] = { + { 0, "supported" }, { 0, NULL } }; -static const per_choice_t FreqBandInformation_choice[] = { - { 0, &hf_nr_rrc_bandEUTRA , ASN1_NO_EXTENSIONS , dissect_nr_rrc_FreqBandIndicatorEUTRA }, - { 1, &hf_nr_rrc_bandNR , ASN1_NO_EXTENSIONS , dissect_nr_rrc_FreqBandIndicatorNR }, - { 0, NULL, 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_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); +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 FreqBandList_sequence_of[1] = { - { &hf_nr_rrc_FreqBandList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandInformation }, +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_FreqBandList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_FreqBandList, FreqBandList_sequence_of, - 1, maxBandsMRDC, FALSE); + 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_RAT_Type_vals[] = { - { RAT_Type_nr, "nr" }, - { RAT_Type_eutra_nr, "eutra-nr" }, - { RAT_Type_spare2, "spare2" }, - { RAT_Type_spare1, "spare1" }, +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_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; +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, - 4, &rat_type, TRUE, 0, NULL); - - private_data_set_rat_type(actx, (guint8)rat_type); - + 6, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_freqRange_01_vals[] = { - { 0, "fr1" }, - { 1, "fr2" }, +static const value_string nr_rrc_T_amplitudeScalingType_01_vals[] = { + { 0, "wideband" }, + { 1, "widebandAndSubband" }, { 0, NULL } }; static int -dissect_nr_rrc_T_freqRange_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_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); @@ -21469,7 +21905,72 @@ dissect_nr_rrc_T_freqRange_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const value_string nr_rrc_T_fr1_01_vals[] = { +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" }, @@ -21486,7 +21987,7 @@ static const value_string nr_rrc_T_fr1_01_vals[] = { static int -dissect_nr_rrc_T_fr1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -21494,7 +21995,7 @@ dissect_nr_rrc_T_fr1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } -static const value_string nr_rrc_T_fr2_01_vals[] = { +static const value_string nr_rrc_T_fr2_vals[] = { { 0, "mhz50" }, { 1, "mhz100" }, { 2, "mhz200" }, @@ -21504,7 +22005,7 @@ static const value_string nr_rrc_T_fr2_01_vals[] = { static int -dissect_nr_rrc_T_fr2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -21512,36 +22013,36 @@ dissect_nr_rrc_T_fr2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } -static const value_string nr_rrc_T_supportedBandwidthDL_vals[] = { +static const value_string nr_rrc_SupportedBandwidth_vals[] = { { 0, "fr1" }, { 1, "fr2" }, { 0, NULL } }; -static const per_choice_t T_supportedBandwidthDL_choice[] = { - { 0, &hf_nr_rrc_fr1_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr1_01 }, - { 1, &hf_nr_rrc_fr2_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr2_01 }, +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_T_supportedBandwidthDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_T_supportedBandwidthDL, T_supportedBandwidthDL_choice, + ett_nr_rrc_SupportedBandwidth, SupportedBandwidth_choice, NULL); return offset; } -static const value_string nr_rrc_T_scalingFactor0dot75_01_vals[] = { +static const value_string nr_rrc_T_channelBW_90mhz_vals[] = { { 0, "supported" }, { 0, NULL } }; static int -dissect_nr_rrc_T_scalingFactor0dot75_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_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); @@ -21549,16 +22050,16 @@ dissect_nr_rrc_T_scalingFactor0dot75_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ } -static const value_string nr_rrc_T_scs_60kHz_01_vals[] = { - { 0, "s7" }, - { 1, "s14" }, - { 2, "s28" }, +static const value_string nr_rrc_MIMO_LayersDL_vals[] = { + { 0, "twoLayers" }, + { 1, "fourLayers" }, + { 2, "eightLayers" }, { 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_) { +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); @@ -21566,60 +22067,93 @@ dissect_nr_rrc_T_scs_60kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const value_string nr_rrc_T_sch_120kHz_vals[] = { - { 0, "s14" }, - { 1, "s28" }, +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_T_sch_120kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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, - 2, NULL, FALSE, 0, NULL); + 6, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t T_timeDurationForQCL_sequence[] = { - { &hf_nr_rrc_scs_60kHz_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_01 }, - { &hf_nr_rrc_sch_120kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sch_120kHz }, +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_T_timeDurationForQCL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_T_timeDurationForQCL, T_timeDurationForQCL_sequence); + ett_nr_rrc_FeatureSetDownlinkPerCC, FeatureSetDownlinkPerCC_sequence); return offset; } -static const value_string nr_rrc_T_scellWithoutSSB_vals[] = { - { 0, "supported" }, + +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_scellWithoutSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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, - 1, NULL, FALSE, 0, NULL); + 3, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_csi_RS_MeasSCellWithoutSSB_vals[] = { +static const value_string nr_rrc_T_crossCarrierSchedulingUL_OtherSCS_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_) { +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); @@ -21627,14 +22161,14 @@ dissect_nr_rrc_T_csi_RS_MeasSCellWithoutSSB(tvbuff_t *tvb _U_, int offset _U_, a } -static const value_string nr_rrc_T_srs_AssocCSI_RS_vals[] = { +static const value_string nr_rrc_T_searchSpaceSharingCA_UL_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_) { +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); @@ -21642,14 +22176,33 @@ dissect_nr_rrc_T_srs_AssocCSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } -static const value_string nr_rrc_T_type1_3_CSS_vals[] = { - { 0, "supported" }, +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_type1_3_CSS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -21657,30 +22210,148 @@ dissect_nr_rrc_T_type1_3_CSS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const value_string nr_rrc_T_pdcchMonitoringAnyOccasions_vals[] = { - { 0, "withoutDCI-gap" }, - { 1, "withDCI-gap" }, +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_pdcchMonitoringAnyOccasions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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, - 2, NULL, FALSE, 0, NULL); + 5, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_ue_SpecificUL_DL_Assignment_vals[] = { + +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_ue_SpecificUL_DL_Assignment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -21690,7 +22361,8 @@ dissect_nr_rrc_T_ue_SpecificUL_DL_Assignment(tvbuff_t *tvb _U_, int offset _U_, static const value_string nr_rrc_T_scs_15kHz_01_vals[] = { { 0, "upto2" }, - { 1, "upto7" }, + { 1, "upto4" }, + { 2, "upto7" }, { 0, NULL } }; @@ -21698,7 +22370,7 @@ static const value_string nr_rrc_T_scs_15kHz_01_vals[] = { 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, - 2, NULL, FALSE, 0, NULL); + 3, NULL, FALSE, 0, NULL); return offset; } @@ -21706,7 +22378,8 @@ dissect_nr_rrc_T_scs_15kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act static const value_string nr_rrc_T_scs_30kHz_01_vals[] = { { 0, "upto2" }, - { 1, "upto7" }, + { 1, "upto4" }, + { 2, "upto7" }, { 0, NULL } }; @@ -21714,7 +22387,7 @@ static const value_string nr_rrc_T_scs_30kHz_01_vals[] = { 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, - 2, NULL, FALSE, 0, NULL); + 3, NULL, FALSE, 0, NULL); return offset; } @@ -21722,7 +22395,8 @@ dissect_nr_rrc_T_scs_30kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act static const value_string nr_rrc_T_scs_60kHz_02_vals[] = { { 0, "upto2" }, - { 1, "upto7" }, + { 1, "upto4" }, + { 2, "upto7" }, { 0, NULL } }; @@ -21730,7 +22404,7 @@ static const value_string nr_rrc_T_scs_60kHz_02_vals[] = { 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, - 2, NULL, FALSE, 0, NULL); + 3, NULL, FALSE, 0, NULL); return offset; } @@ -21738,7 +22412,8 @@ dissect_nr_rrc_T_scs_60kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act static const value_string nr_rrc_T_scs_120kHz_01_vals[] = { { 0, "upto2" }, - { 1, "upto7" }, + { 1, "upto4" }, + { 2, "upto7" }, { 0, NULL } }; @@ -21746,13 +22421,13 @@ static const value_string nr_rrc_T_scs_120kHz_01_vals[] = { 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, - 2, NULL, FALSE, 0, NULL); + 3, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t T_pdsch_DifferentTB_PerSlot_sequence[] = { +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 }, @@ -21761,22 +22436,73 @@ static const per_sequence_t T_pdsch_DifferentTB_PerSlot_sequence[] = { }; 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_) { +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_pdsch_DifferentTB_PerSlot, T_pdsch_DifferentTB_PerSlot_sequence); + 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 value_string nr_rrc_T_crossCarrierScheduling_01_vals[] = { +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_crossCarrierScheduling_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_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); @@ -21784,14 +22510,46 @@ dissect_nr_rrc_T_crossCarrierScheduling_01(tvbuff_t *tvb _U_, int offset _U_, as } -static const value_string nr_rrc_T_searchSpaceSharingCA_DL_vals[] = { +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_searchSpaceSharingCA_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -21799,112 +22557,226 @@ dissect_nr_rrc_T_searchSpaceSharingCA_DL(tvbuff_t *tvb _U_, int offset _U_, asn1 } -static const per_sequence_t BasebandParametersPerCC_DL_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_T_supportedBandwidthDL }, - { &hf_nr_rrc_scalingFactor0dot75_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scalingFactor0dot75_01 }, - { &hf_nr_rrc_timeDurationForQCL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDurationForQCL }, - { &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_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 }, - { &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_ue_SpecificUL_DL_Assignment, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_SpecificUL_DL_Assignment }, - { &hf_nr_rrc_pdsch_DifferentTB_PerSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_DifferentTB_PerSlot }, - { &hf_nr_rrc_crossCarrierScheduling_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_crossCarrierScheduling_01 }, - { &hf_nr_rrc_searchSpaceSharingCA_DL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceSharingCA_DL }, +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_BasebandParametersPerCC_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_BasebandParametersPerCC_DL, BasebandParametersPerCC_DL_sequence); + ett_nr_rrc_FeatureSetUplinkPerCC, FeatureSetUplinkPerCC_sequence); return offset; } -static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_DL_sequence_of[1] = { - { &hf_nr_rrc_basebandParametersPerCC_DL_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandParametersPerCC_DL }, +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_maxNrofServingCells_OF_BasebandParametersPerCC_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_maxNrofServingCells_OF_BasebandParametersPerCC_DL, SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_DL_sequence_of, - 1, maxNrofServingCells, FALSE); + 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 BasebandParametersPerBandDL_sequence[] = { - { &hf_nr_rrc_ca_BandwidthClassDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CA_BandwidthClassNR }, - { &hf_nr_rrc_freqRange_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_freqRange_01 }, - { &hf_nr_rrc_basebandParametersPerCC_DL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_DL }, +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_BasebandParametersPerBandDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_BasebandParametersPerBandDL, BasebandParametersPerBandDL_sequence); + ett_nr_rrc_FeatureSets, FeatureSets_sequence); return offset; } -static const per_sequence_t SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBandDL_sequence_of[1] = { - { &hf_nr_rrc_basebandParametersDL_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandParametersPerBandDL }, +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_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBandDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_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_BasebandParametersPerBandDL, SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBandDL_sequence_of, - 1, maxSimultaneousBands, FALSE); +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_BIT_STRING_SIZE_1_maxBasebandProcComb(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, maxBasebandProcComb, FALSE, NULL, NULL); +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 BasebandProcessingCombination_sequence[] = { - { &hf_nr_rrc_basebandParametersDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBandDL }, - { &hf_nr_rrc_basebandParametersUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1_maxBasebandProcComb }, +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_BasebandProcessingCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_BasebandProcessingCombination, BasebandProcessingCombination_sequence); + ett_nr_rrc_FreqBandInformationNR, FreqBandInformationNR_sequence); return offset; } -static const per_sequence_t SupportedBasebandProcessingCombination_sequence_of[1] = { - { &hf_nr_rrc_SupportedBasebandProcessingCombination_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandProcessingCombination }, +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_SupportedBasebandProcessingCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_SupportedBasebandProcessingCombination, SupportedBasebandProcessingCombination_sequence_of, - 1, maxBasebandProcComb, FALSE); + ett_nr_rrc_FreqBandList, FreqBandList_sequence_of, + 1, maxBandsMRDC, FALSE); + + 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; } @@ -22075,9 +22947,9 @@ dissect_nr_rrc_MeasParametersMRDC_FRX_Diff(tvbuff_t *tvb _U_, int offset _U_, as static const per_sequence_t MeasParametersMRDC_sequence[] = { - { &hf_nr_rrc_measParametersMRDC_Common, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasParametersMRDC_Common }, + { &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_NOT_OPTIONAL, dissect_nr_rrc_MeasParametersMRDC_FRX_Diff }, + { &hf_nr_rrc_measParametersMRDC_FRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersMRDC_FRX_Diff }, { NULL, 0, 0, NULL } }; @@ -22091,8 +22963,8 @@ dissect_nr_rrc_MeasParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static const per_sequence_t RF_ParametersMRDC_sequence[] = { - { &hf_nr_rrc_supportedBandCombination, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationList }, - { &hf_nr_rrc_bandCombinationParametersUL_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationParametersUL_List }, + { &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 } }; @@ -22105,111 +22977,6 @@ dissect_nr_rrc_RF_ParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } -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 per_sequence_t Phy_ParametersMRDC_XDD_Diff_sequence[] = { - { &hf_nr_rrc_dynamicPowerSharing, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicPowerSharing }, - { &hf_nr_rrc_tdm_Pattern , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_tdm_Pattern }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_nr_rrc_Phy_ParametersMRDC_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_Phy_ParametersMRDC_XDD_Diff, Phy_ParametersMRDC_XDD_Diff_sequence); - - return offset; -} - - -static const value_string nr_rrc_T_dynamicPowerSharing_01_vals[] = { - { 0, "supported" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_dynamicPowerSharing_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_tdm_Pattern_01_vals[] = { - { 0, "supported" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_tdm_Pattern_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 Phy_ParametersMRDC_FRX_Diff_sequence[] = { - { &hf_nr_rrc_dynamicPowerSharing_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicPowerSharing_01 }, - { &hf_nr_rrc_tdm_Pattern_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_tdm_Pattern_01 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_nr_rrc_Phy_ParametersMRDC_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_Phy_ParametersMRDC_FRX_Diff, Phy_ParametersMRDC_FRX_Diff_sequence); - - return offset; -} - - -static const per_sequence_t Phy_ParametersMRDC_sequence[] = { - { &hf_nr_rrc_phy_ParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersMRDC_XDD_Diff }, - { &hf_nr_rrc_phy_ParametersMRDC_FRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersMRDC_FRX_Diff }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_nr_rrc_Phy_ParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_Phy_ParametersMRDC, Phy_ParametersMRDC_sequence); - - return offset; -} - - static const value_string nr_rrc_T_splitSRB_WithOneUL_Path_vals[] = { { 0, "supported" }, { 0, NULL } @@ -22256,9 +23023,9 @@ dissect_nr_rrc_T_srb3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p static const per_sequence_t GeneralParametersMRDC_XDD_Diff_sequence[] = { - { &hf_nr_rrc_splitSRB_WithOneUL_Path, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_splitSRB_WithOneUL_Path }, - { &hf_nr_rrc_splitDRB_withUL_Both_MCG_SCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_splitDRB_withUL_Both_MCG_SCG }, - { &hf_nr_rrc_srb3 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_srb3 }, + { &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 } }; @@ -22272,7 +23039,6 @@ dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t UE_MRDC_CapabilityAddXDD_Mode_sequence[] = { - { &hf_nr_rrc_phy_ParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersMRDC_XDD_Diff }, { &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 } @@ -22288,7 +23054,6 @@ dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t UE_MRDC_CapabilityAddFRX_Mode_sequence[] = { - { &hf_nr_rrc_phy_ParametersMRDC_FRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersMRDC_FRX_Diff }, { &hf_nr_rrc_measParametersMRDC_FRX_Diff, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasParametersMRDC_FRX_Diff }, { NULL, 0, 0, NULL } }; @@ -22302,6 +23067,20 @@ dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode(tvbuff_t *tvb _U_, int offset _U_, } +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_06_sequence[] = { { NULL, 0, 0, NULL } }; @@ -22318,12 +23097,12 @@ dissect_nr_rrc_T_nonCriticalExtension_06(tvbuff_t *tvb _U_, int offset _U_, asn1 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_phy_ParametersMRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_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_06, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_06 }, { NULL, 0, 0, NULL } @@ -22421,14 +23200,14 @@ dissect_nr_rrc_T_continueROHC_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const value_string nr_rrc_T_outOfOrderDelivery_vals[] = { +static const value_string nr_rrc_T_outOfOrderDelivery_01_vals[] = { { 0, "supported" }, { 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_) { +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); @@ -22452,12 +23231,12 @@ dissect_nr_rrc_T_shortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ static const per_sequence_t PDCP_Parameters_sequence[] = { - { &hf_nr_rrc_supportedROHC_Profiles, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedROHC_Profiles }, - { &hf_nr_rrc_maxNumberROHC_ContextSessions, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberROHC_ContextSessions }, - { &hf_nr_rrc_uplinkOnlyROHC_Profiles, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uplinkOnlyROHC_Profiles }, - { &hf_nr_rrc_continueROHC_Context, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_continueROHC_Context }, - { &hf_nr_rrc_outOfOrderDelivery_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_outOfOrderDelivery }, - { &hf_nr_rrc_shortSN , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_shortSN }, + { &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 } }; @@ -22516,9 +23295,9 @@ dissect_nr_rrc_T_um_WIthLongSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static const per_sequence_t RLC_Parameters_sequence[] = { - { &hf_nr_rrc_am_WithShortSN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_am_WithShortSN }, - { &hf_nr_rrc_um_WithShortSN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_um_WithShortSN }, - { &hf_nr_rrc_um_WIthLongSN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_um_WIthLongSN }, + { &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 } }; @@ -22562,8 +23341,8 @@ dissect_nr_rrc_T_pucch_SpatialRelInfoMAC_CE(tvbuff_t *tvb _U_, int offset _U_, a static const per_sequence_t MAC_ParametersCommon_sequence[] = { - { &hf_nr_rrc_lcp_Restriction, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_lcp_Restriction }, - { &hf_nr_rrc_pucch_SpatialRelInfoMAC_CE, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_SpatialRelInfoMAC_CE }, + { &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 } }; @@ -22651,14 +23430,14 @@ dissect_nr_rrc_T_multipleSR_Configurations(tvbuff_t *tvb _U_, int offset _U_, as } -static const value_string nr_rrc_T_multipleConfiguredGrantConfigurations_vals[] = { +static const value_string nr_rrc_T_multipleConfiguredGrants_vals[] = { { 0, "supported" }, { 0, NULL } }; static int -dissect_nr_rrc_T_multipleConfiguredGrantConfigurations(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -22667,12 +23446,12 @@ dissect_nr_rrc_T_multipleConfiguredGrantConfigurations(tvbuff_t *tvb _U_, int of static const per_sequence_t MAC_ParametersXDD_Diff_sequence[] = { - { &hf_nr_rrc_skipUplinkTxDynamic_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_skipUplinkTxDynamic }, - { &hf_nr_rrc_logicalChannelSR_DelayTimer_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_logicalChannelSR_DelayTimer_01 }, - { &hf_nr_rrc_longDRX_Cycle, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_longDRX_Cycle }, - { &hf_nr_rrc_shortDRX_Cycle, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_shortDRX_Cycle }, - { &hf_nr_rrc_multipleSR_Configurations, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleSR_Configurations }, - { &hf_nr_rrc_multipleConfiguredGrantConfigurations, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleConfiguredGrantConfigurations }, + { &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 } }; @@ -22790,36 +23569,6 @@ dissect_nr_rrc_T_type2_SP_CSI_Feedback_LongPUCCH(tvbuff_t *tvb _U_, int offset _ } -static const value_string nr_rrc_T_multipleCORESET_vals[] = { - { 0, "supported" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_multipleCORESET(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string nr_rrc_T_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_precoderGranularityCORESET_vals[] = { { 0, "supported" }, { 0, NULL } @@ -23000,21 +23749,6 @@ dissect_nr_rrc_T_interleavingVRB_ToPRB_PDSCH(tvbuff_t *tvb _U_, int offset _U_, } -static const value_string nr_rrc_T_interleavingVRB_ToPRB_PUSCH_vals[] = { - { 0, "supported" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_interleavingVRB_ToPRB_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_interSlotFreqHopping_PUSCH_vals[] = { { 0, "supported" }, { 0, NULL } @@ -23030,14 +23764,14 @@ dissect_nr_rrc_T_interSlotFreqHopping_PUSCH(tvbuff_t *tvb _U_, int offset _U_, a } -static const value_string nr_rrc_T_type1_PUSCH_RepetitionOneSlot_vals[] = { +static const value_string nr_rrc_T_type1_PUSCH_RepetitionMultiSlots_vals[] = { { 0, "supported" }, { 0, NULL } }; static int -dissect_nr_rrc_T_type1_PUSCH_RepetitionOneSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -23045,14 +23779,14 @@ dissect_nr_rrc_T_type1_PUSCH_RepetitionOneSlot(tvbuff_t *tvb _U_, int offset _U_ } -static const value_string nr_rrc_T_type1_PUSCH_RepetitionMultiSlots_vals[] = { +static const value_string nr_rrc_T_type2_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_) { +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); @@ -23060,14 +23794,14 @@ dissect_nr_rrc_T_type1_PUSCH_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset } -static const value_string nr_rrc_T_type2_PUSCH_RepetitionOneSlot_vals[] = { +static const value_string nr_rrc_T_pusch_RepetitionMultiSlots_vals[] = { { 0, "supported" }, { 0, NULL } }; static int -dissect_nr_rrc_T_type2_PUSCH_RepetitionOneSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -23075,14 +23809,14 @@ dissect_nr_rrc_T_type2_PUSCH_RepetitionOneSlot(tvbuff_t *tvb _U_, int offset _U_ } -static const value_string nr_rrc_T_type2_PUSCH_RepetitionMultiSlots_vals[] = { +static const value_string nr_rrc_T_pdsch_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_) { +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); @@ -23090,14 +23824,14 @@ dissect_nr_rrc_T_type2_PUSCH_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset } -static const value_string nr_rrc_T_pusch_RepetitionMultiSlots_vals[] = { +static const value_string nr_rrc_T_downlinkSPS_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_) { +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); @@ -23105,14 +23839,14 @@ dissect_nr_rrc_T_pusch_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset _U_, a } -static const value_string nr_rrc_T_pdsch_RepetitionMultiSlots_vals[] = { +static const value_string nr_rrc_T_configuredUL_GrantType1_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_) { +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); @@ -23120,14 +23854,14 @@ dissect_nr_rrc_T_pdsch_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset _U_, a } -static const value_string nr_rrc_T_downlinkSPS_vals[] = { +static const value_string nr_rrc_T_configuredUL_GrantType2_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_) { +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); @@ -23135,14 +23869,14 @@ dissect_nr_rrc_T_downlinkSPS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const value_string nr_rrc_T_configuredUL_GrantType1_vals[] = { +static const value_string nr_rrc_T_pre_EmptIndication_DL_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_) { +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); @@ -23150,14 +23884,14 @@ dissect_nr_rrc_T_configuredUL_GrantType1(tvbuff_t *tvb _U_, int offset _U_, asn1 } -static const value_string nr_rrc_T_configuredUL_GrantType2_vals[] = { +static const value_string nr_rrc_T_cbg_TransIndication_DL_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_) { +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); @@ -23165,14 +23899,14 @@ dissect_nr_rrc_T_configuredUL_GrantType2(tvbuff_t *tvb _U_, int offset _U_, asn1 } -static const value_string nr_rrc_T_pre_EmptIndication_DL_vals[] = { +static const value_string nr_rrc_T_cbg_TransIndication_UL_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_) { +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); @@ -23240,21 +23974,6 @@ dissect_nr_rrc_T_rateMatchingResrcSetDynamic(tvbuff_t *tvb _U_, int offset _U_, } -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 value_string nr_rrc_T_bwp_SwitchingDelay_vals[] = { { 0, "type1" }, { 1, "type2" }, @@ -23272,45 +23991,40 @@ dissect_nr_rrc_T_bwp_SwitchingDelay(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ static const per_sequence_t Phy_ParametersCommon_sequence[] = { - { &hf_nr_rrc_csi_RS_CFRA_ForHO, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_CFRA_ForHO }, - { &hf_nr_rrc_dynamicPRB_BundlingDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicPRB_BundlingDL }, - { &hf_nr_rrc_sp_CSI_ReportPUCCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_CSI_ReportPUCCH }, - { &hf_nr_rrc_sp_CSI_ReportPUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_CSI_ReportPUSCH }, - { &hf_nr_rrc_nzp_CSI_RS_IntefMgmt, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nzp_CSI_RS_IntefMgmt }, - { &hf_nr_rrc_type2_SP_CSI_Feedback_LongPUCCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_SP_CSI_Feedback_LongPUCCH }, - { &hf_nr_rrc_multipleCORESET, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleCORESET }, - { &hf_nr_rrc_dynamicSFI , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicSFI }, - { &hf_nr_rrc_precoderGranularityCORESET, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_precoderGranularityCORESET }, - { &hf_nr_rrc_dynamicHARQ_ACK_Codebook, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicHARQ_ACK_Codebook }, - { &hf_nr_rrc_semiStaticHARQ_ACK_Codebook, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_semiStaticHARQ_ACK_Codebook }, - { &hf_nr_rrc_spatialBundlingHARQ_ACK, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_spatialBundlingHARQ_ACK }, - { &hf_nr_rrc_dynamicBetaOffsetInd_HARQ_ACK_CSI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicBetaOffsetInd_HARQ_ACK_CSI }, - { &hf_nr_rrc_pucch_Repetition_F1_3_4, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_Repetition_F1_3_4 }, - { &hf_nr_rrc_ra_Type0_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ra_Type0_PUSCH }, - { &hf_nr_rrc_dynamicSwitchRA_Type0_1_PDSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicSwitchRA_Type0_1_PDSCH }, - { &hf_nr_rrc_dynamicSwitchRA_Type0_1_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicSwitchRA_Type0_1_PUSCH }, - { &hf_nr_rrc_pdsch_MappingTypeA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_MappingTypeA }, - { &hf_nr_rrc_pdsch_MappingTypeB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_MappingTypeB }, - { &hf_nr_rrc_interleavingVRB_ToPRB_PDSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interleavingVRB_ToPRB_PDSCH }, - { &hf_nr_rrc_interleavingVRB_ToPRB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interleavingVRB_ToPRB_PUSCH }, - { &hf_nr_rrc_interSlotFreqHopping_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interSlotFreqHopping_PUSCH }, - { &hf_nr_rrc_type1_PUSCH_RepetitionOneSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type1_PUSCH_RepetitionOneSlot }, - { &hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type1_PUSCH_RepetitionMultiSlots }, - { &hf_nr_rrc_type2_PUSCH_RepetitionOneSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_PUSCH_RepetitionOneSlot }, - { &hf_nr_rrc_type2_PUSCH_RepetitionMultiSlots, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_PUSCH_RepetitionMultiSlots }, - { &hf_nr_rrc_pusch_RepetitionMultiSlots, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_RepetitionMultiSlots }, - { &hf_nr_rrc_pdsch_RepetitionMultiSlots, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_RepetitionMultiSlots }, - { &hf_nr_rrc_downlinkSPS , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_downlinkSPS }, - { &hf_nr_rrc_configuredUL_GrantType1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredUL_GrantType1 }, - { &hf_nr_rrc_configuredUL_GrantType2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredUL_GrantType2 }, - { &hf_nr_rrc_pre_EmptIndication_DL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pre_EmptIndication_DL }, - { &hf_nr_rrc_cbg_TransIndication, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 }, - { &hf_nr_rrc_cbg_FlushIndication_DL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cbg_FlushIndication_DL }, - { &hf_nr_rrc_dynamicHARQ_ACK_CodeB_CBG_Retx_DL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL }, - { &hf_nr_rrc_rateMatchingResrcSetSemi_Static, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatchingResrcSetSemi_Static }, - { &hf_nr_rrc_rateMatchingResrcSetDynamic, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatchingResrcSetDynamic }, - { &hf_nr_rrc_rateMatchingLTE_CRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatchingLTE_CRS }, - { &hf_nr_rrc_bwp_SwitchingDelay, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_SwitchingDelay }, + { &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 } }; @@ -23323,6 +24037,21 @@ dissect_nr_rrc_Phy_ParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } +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 } @@ -23369,9 +24098,10 @@ dissect_nr_rrc_T_twoDifferentTPC_Loop_PUCCH(tvbuff_t *tvb _U_, int offset _U_, a static const per_sequence_t Phy_ParametersXDD_Diff_sequence[] = { - { &hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols }, - { &hf_nr_rrc_twoDifferentTPC_Loop_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUSCH }, - { &hf_nr_rrc_twoDifferentTPC_Loop_PUCCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUCCH }, + { &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 } }; @@ -23384,23 +24114,22 @@ dissect_nr_rrc_Phy_ParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const value_string nr_rrc_T_supportedDMRS_TypeDL_vals[] = { - { 0, "type1" }, - { 1, "type2" }, +static const value_string nr_rrc_T_dynamicSFI_01_vals[] = { + { 0, "supported" }, { 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_) { +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, - 2, NULL, FALSE, 0, NULL); + 1, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_supportedDMRS_TypeUL_vals[] = { +static const value_string nr_rrc_T_supportedDMRS_TypeDL_vals[] = { { 0, "type1" }, { 1, "type2" }, { 0, NULL } @@ -23408,7 +24137,7 @@ static const value_string nr_rrc_T_supportedDMRS_TypeUL_vals[] = { 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_) { +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); @@ -23416,29 +24145,30 @@ dissect_nr_rrc_T_supportedDMRS_TypeUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const value_string nr_rrc_T_semiOpenLoopCSI_vals[] = { - { 0, "supported" }, +static const value_string nr_rrc_T_supportedDMRS_TypeUL_vals[] = { + { 0, "type1" }, + { 1, "type2" }, { 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_) { +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, - 1, NULL, FALSE, 0, NULL); + 2, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_csi_ReportWithoutPMI_vals[] = { +static const value_string nr_rrc_T_semiOpenLoopCSI_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_) { +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); @@ -23446,14 +24176,14 @@ dissect_nr_rrc_T_csi_ReportWithoutPMI(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const value_string nr_rrc_T_csi_ReportWithCRI_vals[] = { +static const value_string nr_rrc_T_csi_ReportWithoutPMI_vals[] = { { 0, "supported" }, { 0, NULL } }; static int -dissect_nr_rrc_T_csi_ReportWithCRI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -23791,14 +24521,14 @@ dissect_nr_rrc_T_pucch_F3_4_HalfPi_BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ } -static const value_string nr_rrc_T_oneSymbolGP_TDD_vals[] = { +static const value_string nr_rrc_T_almostContiguousCP_OFDM_UL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int -dissect_nr_rrc_T_oneSymbolGP_TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -23806,14 +24536,14 @@ dissect_nr_rrc_T_oneSymbolGP_TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } -static const value_string nr_rrc_T_almostContiguousCP_OFDM_UL_vals[] = { +static const value_string nr_rrc_T_sp_CSI_RS_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_) { +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); @@ -23821,61 +24551,29 @@ dissect_nr_rrc_T_almostContiguousCP_OFDM_UL(tvbuff_t *tvb _U_, int offset _U_, a } -static const per_sequence_t Phy_ParametersFRX_Diff_sequence[] = { - { &hf_nr_rrc_oneFL_DMRS_TwoAdditionalDMRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 }, - { &hf_nr_rrc_twoFL_DMRS , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 }, - { &hf_nr_rrc_twoFL_DMRS_TwoAdditionalDMRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 }, - { &hf_nr_rrc_oneFL_DMRS_ThreeAdditionalDMRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 }, - { &hf_nr_rrc_supportedDMRS_TypeDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_supportedDMRS_TypeDL }, - { &hf_nr_rrc_supportedDMRS_TypeUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_supportedDMRS_TypeUL }, - { &hf_nr_rrc_semiOpenLoopCSI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_semiOpenLoopCSI }, - { &hf_nr_rrc_csi_ReportWithoutPMI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_ReportWithoutPMI }, - { &hf_nr_rrc_csi_ReportWithCRI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_ReportWithCRI }, - { &hf_nr_rrc_csi_ReportWithoutCQI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_ReportWithoutCQI }, - { &hf_nr_rrc_onePortsPTRS , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 }, - { &hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_01 }, - { &hf_nr_rrc_pucch_F2_WithFH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_F2_WithFH }, - { &hf_nr_rrc_pucch_F3_WithFH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_F3_WithFH }, - { &hf_nr_rrc_pucch_F4_WithFH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_F4_WithFH }, - { &hf_nr_rrc_freqHoppingPUCCH_F0_2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_freqHoppingPUCCH_F0_2 }, - { &hf_nr_rrc_freqHoppingPUCCH_F1_3_4, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_freqHoppingPUCCH_F1_3_4 }, - { &hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH }, - { &hf_nr_rrc_uci_CodeBlockSegmentation, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uci_CodeBlockSegmentation }, - { &hf_nr_rrc_onePUCCH_LongAndShortFormat, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_onePUCCH_LongAndShortFormat }, - { &hf_nr_rrc_twoPUCCH_AnyOthersInSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_AnyOthersInSlot }, - { &hf_nr_rrc_intraSlotFreqHopping_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraSlotFreqHopping_PUSCH }, - { &hf_nr_rrc_pusch_LBRM , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_LBRM }, - { &hf_nr_rrc_pdcch_BlindDetectionCA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_BlindDetectionCA }, - { &hf_nr_rrc_tpc_PUSCH_RNTI_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_PUSCH_RNTI }, - { &hf_nr_rrc_tpc_PUCCH_RNTI_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_PUCCH_RNTI }, - { &hf_nr_rrc_tpc_SRS_RNTI_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_SRS_RNTI }, - { &hf_nr_rrc_absoluteTPC_Command, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_absoluteTPC_Command }, - { &hf_nr_rrc_twoDifferentTPC_Loop_PUSCH_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUSCH_01 }, - { &hf_nr_rrc_twoDifferentTPC_Loop_PUCCH_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUCCH_01 }, - { &hf_nr_rrc_pusch_HalfPi_BPSK, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_HalfPi_BPSK }, - { &hf_nr_rrc_pucch_F3_4_HalfPi_BPSK, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_F3_4_HalfPi_BPSK }, - { &hf_nr_rrc_oneSymbolGP_TDD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_oneSymbolGP_TDD }, - { &hf_nr_rrc_almostContiguousCP_OFDM_UL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_almostContiguousCP_OFDM_UL }, - { NULL, 0, 0, NULL } +static const value_string nr_rrc_T_sp_CSI_IM_vals[] = { + { 0, "supported" }, + { 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); +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_pdcchMonitoringSingleOccasion_vals[] = { +static const value_string nr_rrc_T_tdd_MultiDL_UL_SwitchPerSlot_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_) { +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); @@ -23883,14 +24581,14 @@ dissect_nr_rrc_T_pdcchMonitoringSingleOccasion(tvbuff_t *tvb _U_, int offset _U_ } -static const value_string nr_rrc_T_scs_60kHz_03_vals[] = { +static const value_string nr_rrc_T_multipleCORESET_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_) { +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); @@ -23898,14 +24596,64 @@ dissect_nr_rrc_T_scs_60kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const value_string nr_rrc_T_pdsch_256QAM_FR1_vals[] = { +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_pdsch_256QAM_FR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -23913,30 +24661,29 @@ dissect_nr_rrc_T_pdsch_256QAM_FR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const per_sequence_t Phy_ParametersFR1_sequence[] = { - { &hf_nr_rrc_pdcchMonitoringSingleOccasion, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcchMonitoringSingleOccasion }, - { &hf_nr_rrc_scs_60kHz_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_03 }, - { &hf_nr_rrc_pdsch_256QAM_FR1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_256QAM_FR1 }, - { NULL, 0, 0, NULL } +static const value_string nr_rrc_T_scs_60kHz_03_vals[] = { + { 0, "supported" }, + { 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); +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_calibrationGapPA_vals[] = { +static const value_string nr_rrc_T_pdsch_256QAM_FR1_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_) { +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); @@ -23944,48 +24691,47 @@ dissect_nr_rrc_T_calibrationGapPA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const per_sequence_t Phy_ParametersFR2_sequence[] = { - { &hf_nr_rrc_calibrationGapPA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_calibrationGapPA }, - { NULL, 0, 0, NULL } +static const value_string nr_rrc_T_pdsch_RE_MappingFR1_vals[] = { + { 0, "n10" }, + { 1, "n20" }, + { 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); +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_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 }, - { &hf_nr_rrc_supportedBasebandProcessingCombination, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SupportedBasebandProcessingCombination }, - { &hf_nr_rrc_basebandCombinationParametersUL_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BasebandCombinationParametersUL_List }, +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_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_Parameters, Phy_Parameters_sequence); + ett_nr_rrc_Phy_ParametersFR1, Phy_ParametersFR1_sequence); return offset; } -static const value_string nr_rrc_T_maxChannelBW_PerCC_vals[] = { - { 0, "mhz400" }, +static const value_string nr_rrc_T_calibrationGapPA_vals[] = { + { 0, "supported" }, { 0, NULL } }; static int -dissect_nr_rrc_T_maxChannelBW_PerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -23993,55 +24739,56 @@ dissect_nr_rrc_T_maxChannelBW_PerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } -static const value_string nr_rrc_T_scs_60kHz_06_vals[] = { - { 0, "s7" }, - { 1, "s14" }, - { 2, "s28" }, +static const value_string nr_rrc_T_pdsch_RE_MappingFR2_vals[] = { + { 0, "n6" }, + { 1, "n20" }, { 0, NULL } }; static int -dissect_nr_rrc_T_scs_60kHz_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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, - 3, NULL, FALSE, 0, NULL); + 2, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_sch_120kHz_01_vals[] = { - { 0, "s14" }, - { 1, "s28" }, - { 0, NULL } +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_T_sch_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, - 2, NULL, FALSE, 0, NULL); +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 T_timeDurationForQCL_01_sequence[] = { - { &hf_nr_rrc_scs_60kHz_06 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_06 }, - { &hf_nr_rrc_sch_120kHz_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sch_120kHz_01 }, +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_T_timeDurationForQCL_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_T_timeDurationForQCL_01, T_timeDurationForQCL_01_sequence); + ett_nr_rrc_Phy_Parameters, Phy_Parameters_sequence); return offset; } -static const value_string nr_rrc_T_maxNumberConfiguredTCIstates_vals[] = { +static const value_string nr_rrc_T_maxNumberConfiguredTCIstatesPerCC_vals[] = { { 0, "n4" }, { 1, "n8" }, { 2, "n16" }, @@ -24052,7 +24799,7 @@ static const value_string nr_rrc_T_maxNumberConfiguredTCIstates_vals[] = { static int -dissect_nr_rrc_T_maxNumberConfiguredTCIstates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -24060,7 +24807,7 @@ dissect_nr_rrc_T_maxNumberConfiguredTCIstates(tvbuff_t *tvb _U_, int offset _U_, } -static const value_string nr_rrc_T_maxNumberActiveTCI_PerCC_vals[] = { +static const value_string nr_rrc_T_maxNumberActiveTCI_PerBWP_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, @@ -24070,7 +24817,7 @@ static const value_string nr_rrc_T_maxNumberActiveTCI_PerCC_vals[] = { static int -dissect_nr_rrc_T_maxNumberActiveTCI_PerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -24078,6 +24825,36 @@ dissect_nr_rrc_T_maxNumberActiveTCI_PerCC(tvbuff_t *tvb _U_, int offset _U_, asn } +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" }, @@ -24251,7 +25028,7 @@ dissect_nr_rrc_INTEGER_2_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ } -static const value_string nr_rrc_T_scs_15kHz_04_vals[] = { +static const value_string nr_rrc_T_scs_15kHz_02_vals[] = { { 0, "n4" }, { 1, "n7" }, { 2, "n14" }, @@ -24260,7 +25037,7 @@ static const value_string nr_rrc_T_scs_15kHz_04_vals[] = { static int -dissect_nr_rrc_T_scs_15kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -24268,7 +25045,7 @@ dissect_nr_rrc_T_scs_15kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const value_string nr_rrc_T_scs_30kHz_04_vals[] = { +static const value_string nr_rrc_T_scs_30kHz_02_vals[] = { { 0, "n4" }, { 1, "n7" }, { 2, "n14" }, @@ -24277,7 +25054,7 @@ static const value_string nr_rrc_T_scs_30kHz_04_vals[] = { static int -dissect_nr_rrc_T_scs_30kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -24285,7 +25062,7 @@ dissect_nr_rrc_T_scs_30kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const value_string nr_rrc_T_scs_60kHz_07_vals[] = { +static const value_string nr_rrc_T_scs_60kHz_04_vals[] = { { 0, "n4" }, { 1, "n7" }, { 2, "n14" }, @@ -24294,7 +25071,7 @@ static const value_string nr_rrc_T_scs_60kHz_07_vals[] = { static int -dissect_nr_rrc_T_scs_60kHz_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -24302,7 +25079,7 @@ dissect_nr_rrc_T_scs_60kHz_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const value_string nr_rrc_T_scs_120kHz_04_vals[] = { +static const value_string nr_rrc_T_scs_120kHz_02_vals[] = { { 0, "n4" }, { 1, "n7" }, { 2, "n14" }, @@ -24311,7 +25088,7 @@ static const value_string nr_rrc_T_scs_120kHz_04_vals[] = { static int -dissect_nr_rrc_T_scs_120kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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); @@ -24337,10 +25114,10 @@ dissect_nr_rrc_T_scs_240kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static const per_sequence_t T_maxNumberRxTxBeamSwitchDL_sequence[] = { - { &hf_nr_rrc_scs_15kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_04 }, - { &hf_nr_rrc_scs_30kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_04 }, - { &hf_nr_rrc_scs_60kHz_07 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_07 }, - { &hf_nr_rrc_scs_120kHz_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_04 }, + { &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 } }; @@ -24387,9 +25164,11 @@ dissect_nr_rrc_T_groupBeamReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ static const value_string nr_rrc_T_maxNumberSRS_ResourcePerSet_vals[] = { - { 0, "n8" }, - { 1, "n16" }, - { 2, "n32" }, + { 0, "n2" }, + { 1, "n4" }, + { 2, "n8" }, + { 3, "n16" }, + { 4, "n32" }, { 0, NULL } }; @@ -24397,14 +25176,14 @@ static const value_string nr_rrc_T_maxNumberSRS_ResourcePerSet_vals[] = { 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, - 3, NULL, FALSE, 0, NULL); + 5, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_uplinkBeamManagement_sequence[] = { - { &hf_nr_rrc_maxNumberSRS_ResourcePerSet, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_ResourcePerSet }, + { &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 } }; @@ -24428,14 +25207,14 @@ dissect_nr_rrc_INTEGER_1_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const value_string nr_rrc_T_lowLatencyCSI_Feedback_01_vals[] = { +static const value_string nr_rrc_T_twoPortsPTRS_DL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int -dissect_nr_rrc_T_lowLatencyCSI_Feedback_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_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); @@ -24443,53 +25222,14 @@ dissect_nr_rrc_T_lowLatencyCSI_Feedback_01(tvbuff_t *tvb _U_, int offset _U_, as } -static const per_sequence_t MIMO_ParametersPerBand_sequence[] = { - { &hf_nr_rrc_timeDurationForQCL_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDurationForQCL_01 }, - { &hf_nr_rrc_maxNumberMIMO_LayersPDSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersDL }, - { &hf_nr_rrc_maxNumberMIMO_LayersCB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersUL }, - { &hf_nr_rrc_maxNumberMIMO_LayersNonCB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersUL }, - { &hf_nr_rrc_maxNumberConfiguredTCIstates, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberConfiguredTCIstates }, - { &hf_nr_rrc_maxNumberActiveTCI_PerCC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberActiveTCI_PerCC }, - { &hf_nr_rrc_pusch_TransCoherence, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_TransCoherence }, - { &hf_nr_rrc_beamCorrespondence, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_beamCorrespondence }, - { &hf_nr_rrc_periodicBeamReport, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_periodicBeamReport }, - { &hf_nr_rrc_aperiodicBeamReport, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aperiodicBeamReport }, - { &hf_nr_rrc_sp_BeamReportPUCCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_BeamReportPUCCH }, - { &hf_nr_rrc_sp_BeamReportPUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_BeamReportPUSCH }, - { &hf_nr_rrc_beamManagementSSB_CSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BeamManagementSSB_CSI_RS }, - { &hf_nr_rrc_maxNumberRxBeam, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_8 }, - { &hf_nr_rrc_maxNumberRxTxBeamSwitchDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberRxTxBeamSwitchDL }, - { &hf_nr_rrc_maxNumberNonGroupBeamReporting, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberNonGroupBeamReporting }, - { &hf_nr_rrc_groupBeamReporting, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_groupBeamReporting }, - { &hf_nr_rrc_uplinkBeamManagement, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uplinkBeamManagement }, - { &hf_nr_rrc_maxNumberCSI_RS_BFR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_64 }, - { &hf_nr_rrc_maxNumberSSB_BFR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_64 }, - { &hf_nr_rrc_maxNumberCSI_RS_SSB_BFR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_256 }, - { &hf_nr_rrc_twoPortsPTRS , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 }, - { &hf_nr_rrc_supportedSRS_Resources, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SRS_Resources }, - { &hf_nr_rrc_srs_TxSwitch , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SRS_TxSwitch }, - { &hf_nr_rrc_maxNumberSimultaneousSRS_PerCC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_4 }, - { &hf_nr_rrc_lowLatencyCSI_Feedback_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_lowLatencyCSI_Feedback_01 }, - { 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[] = { +static const value_string nr_rrc_T_twoPortsPTRS_UL_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_) { +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); @@ -24497,284 +25237,288 @@ dissect_nr_rrc_T_extendedCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const value_string nr_rrc_T_phaseCoherenceUL_vals[] = { - { 0, "supported" }, +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_phaseCoherenceUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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, - 1, NULL, FALSE, 0, NULL); + 3, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_scellWithoutSSB_01_vals[] = { - { 0, "supported" }, +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_scellWithoutSSB_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_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, - 1, NULL, FALSE, 0, NULL); + 3, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_csi_RS_MeasSCellWithoutSSB_01_vals[] = { - { 0, "supported" }, +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_csi_RS_MeasSCellWithoutSSB_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_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, - 1, NULL, FALSE, 0, NULL); + 3, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_srs_AssocCSI_RS_01_vals[] = { - { 0, "supported" }, +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_srs_AssocCSI_RS_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_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, - 1, NULL, FALSE, 0, NULL); + 3, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_type1_3_CSS_01_vals[] = { - { 0, "supported" }, - { 0, NULL } +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_type1_3_CSS_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); +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 value_string nr_rrc_T_multipleTCI_vals[] = { - { 0, "supported" }, - { 0, NULL } +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_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); +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 value_string nr_rrc_T_pdcchMonitoringAnyOccasions_01_vals[] = { - { 0, "withoutDCI-gap" }, - { 1, "withDCI-gap" }, - { 0, NULL } +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_pdcchMonitoringAnyOccasions_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); +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 value_string nr_rrc_T_ue_SpecificUL_DL_Assignment_01_vals[] = { - { 0, "supported" }, - { 0, NULL } +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_T_ue_SpecificUL_DL_Assignment_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); +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 value_string nr_rrc_T_scs_15kHz_02_vals[] = { - { 0, "upto2" }, - { 1, "upto7" }, - { 0, NULL } +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_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, - 2, NULL, FALSE, 0, NULL); +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 const value_string nr_rrc_T_scs_30kHz_02_vals[] = { - { 0, "upto2" }, - { 1, "upto7" }, - { 0, NULL } -}; - static int -dissect_nr_rrc_T_scs_30kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); +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 value_string nr_rrc_T_scs_60kHz_04_vals[] = { - { 0, "upto2" }, - { 1, "upto7" }, - { 0, NULL } +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_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, - 2, NULL, FALSE, 0, NULL); +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_scs_120kHz_02_vals[] = { - { 0, "upto2" }, - { 1, "upto7" }, +static const value_string nr_rrc_T_aperiodicTRS_vals[] = { + { 0, "supported" }, { 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_) { +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, - 2, NULL, FALSE, 0, NULL); + 1, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t T_pdsch_DifferentTB_PerSlot_01_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 }, +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_T_pdsch_DifferentTB_PerSlot_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_T_pdsch_DifferentTB_PerSlot_01, T_pdsch_DifferentTB_PerSlot_01_sequence); - - return offset; -} - - -static const value_string nr_rrc_T_scs_15kHz_03_vals[] = { - { 0, "upto2" }, - { 1, "upto7" }, - { 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, - 2, NULL, FALSE, 0, NULL); + ett_nr_rrc_MIMO_ParametersPerBand, MIMO_ParametersPerBand_sequence); return offset; } -static const value_string nr_rrc_T_scs_30kHz_03_vals[] = { - { 0, "upto2" }, - { 1, "upto7" }, +static const value_string nr_rrc_T_extendedCP_vals[] = { + { 0, "supported" }, { 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_) { +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, - 2, NULL, FALSE, 0, NULL); + 1, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_scs_60kHz_05_vals[] = { - { 0, "upto2" }, - { 1, "upto7" }, +static const value_string nr_rrc_T_multipleTCI_vals[] = { + { 0, "supported" }, { 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_) { +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, - 2, NULL, FALSE, 0, NULL); + 1, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_scs_120kHz_03_vals[] = { - { 0, "upto2" }, - { 1, "upto7" }, +static const value_string nr_rrc_T_bwp_WithoutRestriction_vals[] = { + { 0, "supported" }, { 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_) { +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, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_pusch_DifferentTB_PerSlot_01_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_pusch_DifferentTB_PerSlot_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_pusch_DifferentTB_PerSlot_01, T_pusch_DifferentTB_PerSlot_01_sequence); + 1, NULL, FALSE, 0, NULL); return offset; } @@ -24811,14 +25555,14 @@ dissect_nr_rrc_T_bwp_DiffNumerology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } -static const value_string nr_rrc_T_twoPUCCH_Group_01_vals[] = { +static const value_string nr_rrc_T_crossCarrierSchedulingDL_SameSCS_vals[] = { { 0, "supported" }, { 0, NULL } }; static int -dissect_nr_rrc_T_twoPUCCH_Group_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_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); @@ -24826,14 +25570,14 @@ dissect_nr_rrc_T_twoPUCCH_Group_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const value_string nr_rrc_T_diffNumerologyAcrossPUCCH_Group_01_vals[] = { +static const value_string nr_rrc_T_crossCarrierSchedulingUL_SameSCS_vals[] = { { 0, "supported" }, { 0, NULL } }; static int -dissect_nr_rrc_T_diffNumerologyAcrossPUCCH_Group_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_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); @@ -24841,29 +25585,14 @@ dissect_nr_rrc_T_diffNumerologyAcrossPUCCH_Group_01(tvbuff_t *tvb _U_, int offse } -static const value_string nr_rrc_T_diffNumerologyWithinPUCCH_Group_01_vals[] = { - { 0, "supported" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_diffNumerologyWithinPUCCH_Group_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_crossCarrierScheduling_02_vals[] = { +static const value_string nr_rrc_T_pdsch_256QAM_FR2_vals[] = { { 0, "supported" }, { 0, NULL } }; static int -dissect_nr_rrc_T_crossCarrierScheduling_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_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); @@ -24871,31 +25600,14 @@ dissect_nr_rrc_T_crossCarrierScheduling_02(tvbuff_t *tvb _U_, int offset _U_, as } -static const value_string nr_rrc_T_supportedNumberTAG_01_vals[] = { - { 0, "n2" }, - { 1, "n3" }, - { 2, "n4" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_supportedNumberTAG_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_simultaneousTxSUL_NonSUL_01_vals[] = { +static const value_string nr_rrc_T_pusch_256QAM_vals[] = { { 0, "supported" }, { 0, NULL } }; static int -dissect_nr_rrc_T_simultaneousTxSUL_NonSUL_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_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); @@ -24903,29 +25615,30 @@ dissect_nr_rrc_T_simultaneousTxSUL_NonSUL_01(tvbuff_t *tvb _U_, int offset _U_, } -static const value_string nr_rrc_T_searchSpaceSharingCA_DL_01_vals[] = { - { 0, "supported" }, +static const value_string nr_rrc_T_ue_PowerClass_vals[] = { + { 0, "pc2" }, + { 1, "pc3" }, { 0, NULL } }; static int -dissect_nr_rrc_T_searchSpaceSharingCA_DL_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_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, - 1, NULL, FALSE, 0, NULL); + 2, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_searchSpaceSharingCA_UL_01_vals[] = { +static const value_string nr_rrc_T_rateMatchingLTE_CRS_vals[] = { { 0, "supported" }, { 0, NULL } }; static int -dissect_nr_rrc_T_searchSpaceSharingCA_UL_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_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); @@ -24933,101 +25646,82 @@ dissect_nr_rrc_T_searchSpaceSharingCA_UL_01(tvbuff_t *tvb _U_, int offset _U_, a } -static const value_string nr_rrc_T_pdsch_256QAM_FR2_vals[] = { - { 0, "supported" }, - { 0, NULL } +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_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); +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 value_string nr_rrc_T_pusch_256QAM_vals[] = { - { 0, "supported" }, - { 0, NULL } +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_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); +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 BandNR_sequence[] = { - { &hf_nr_rrc_bandNR , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR }, - { &hf_nr_rrc_modifiedMPR_Behaviour, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_8 }, - { &hf_nr_rrc_maxChannelBW_PerCC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxChannelBW_PerCC }, - { &hf_nr_rrc_mimo_ParametersPerBand, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_ParametersPerBand }, - { &hf_nr_rrc_extendedCP , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_extendedCP }, - { &hf_nr_rrc_phaseCoherenceUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_phaseCoherenceUL }, - { &hf_nr_rrc_scellWithoutSSB_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scellWithoutSSB_01 }, - { &hf_nr_rrc_csi_RS_MeasSCellWithoutSSB_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_MeasSCellWithoutSSB_01 }, - { &hf_nr_rrc_srs_AssocCSI_RS_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_AssocCSI_RS_01 }, - { &hf_nr_rrc_type1_3_CSS_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type1_3_CSS_01 }, - { &hf_nr_rrc_multipleTCI , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleTCI }, - { &hf_nr_rrc_pdcchMonitoringAnyOccasions_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcchMonitoringAnyOccasions_01 }, - { &hf_nr_rrc_ue_SpecificUL_DL_Assignment_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_SpecificUL_DL_Assignment_01 }, - { &hf_nr_rrc_pdsch_DifferentTB_PerSlot_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_DifferentTB_PerSlot_01 }, - { &hf_nr_rrc_pusch_DifferentTB_PerSlot_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_DifferentTB_PerSlot_01 }, - { &hf_nr_rrc_bwp_SameNumerology, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_SameNumerology }, - { &hf_nr_rrc_bwp_DiffNumerology, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_DiffNumerology }, - { &hf_nr_rrc_twoPUCCH_Group_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_Group_01 }, - { &hf_nr_rrc_diffNumerologyAcrossPUCCH_Group_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_diffNumerologyAcrossPUCCH_Group_01 }, - { &hf_nr_rrc_diffNumerologyWithinPUCCH_Group_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_diffNumerologyWithinPUCCH_Group_01 }, - { &hf_nr_rrc_crossCarrierScheduling_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_crossCarrierScheduling_02 }, - { &hf_nr_rrc_supportedNumberTAG_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_supportedNumberTAG_01 }, - { &hf_nr_rrc_simultaneousTxSUL_NonSUL_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousTxSUL_NonSUL_01 }, - { &hf_nr_rrc_searchSpaceSharingCA_DL_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceSharingCA_DL_01 }, - { &hf_nr_rrc_searchSpaceSharingCA_UL_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceSharingCA_UL_01 }, - { &hf_nr_rrc_pdsch_256QAM_FR2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_256QAM_FR2 }, - { &hf_nr_rrc_pusch_256QAM , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_256QAM }, +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_BandNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_BandNR, BandNR_sequence); + ett_nr_rrc_RF_Parameters, RF_Parameters_sequence); return offset; } -static const per_sequence_t SupportedBandListNR_sequence_of[1] = { - { &hf_nr_rrc_SupportedBandListNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR }, -}; static int -dissect_nr_rrc_SupportedBandListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_SupportedBandListNR, SupportedBandListNR_sequence_of, - 1, maxBands, FALSE); +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 RF_Parameters_sequence[] = { - { &hf_nr_rrc_supportedBandListNR, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SupportedBandListNR }, - { &hf_nr_rrc_supportedBandCombination, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationList }, - { &hf_nr_rrc_bandCombinationParametersUL_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationParametersUL_List }, +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_RF_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_RF_Parameters, RF_Parameters_sequence); + ett_nr_rrc_MeasParametersCommon, MeasParametersCommon_sequence); return offset; } @@ -25064,8 +25758,8 @@ dissect_nr_rrc_T_eventA_MeasAndReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ct static const per_sequence_t MeasParametersXDD_Diff_sequence[] = { - { &hf_nr_rrc_intraAndInterF_MeasAndReport, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraAndInterF_MeasAndReport }, - { &hf_nr_rrc_eventA_MeasAndReport, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eventA_MeasAndReport }, + { &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 } }; @@ -25154,11 +25848,11 @@ dissect_nr_rrc_T_csi_RS_RLM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static const per_sequence_t MeasParametersFRX_Diff_sequence[] = { - { &hf_nr_rrc_ss_SINR_Meas , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ss_SINR_Meas }, - { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB }, - { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB }, - { &hf_nr_rrc_csi_SINR_Meas, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_SINR_Meas }, - { &hf_nr_rrc_csi_RS_RLM , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_RLM }, + { &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 } }; @@ -25172,6 +25866,7 @@ dissect_nr_rrc_MeasParametersFRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ct 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 } @@ -25231,6 +25926,7 @@ dissect_nr_rrc_T_nonCriticalExtension_07(tvbuff_t *tvb _U_, int offset _U_, asn1 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 }, @@ -25241,6 +25937,8 @@ static const per_sequence_t UE_NR_Capability_sequence[] = { { &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_07, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_07 }, { NULL, 0, 0, NULL } @@ -25392,11 +26090,11 @@ int dissect_nr_rrc_UE_NR_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U offset += 7; offset >>= 3; return offset; } -static int dissect_CandidateCellInfoList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +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_CandidateCellInfoList(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_CandidateCellInfoList_PDU); + offset = dissect_nr_rrc_MeasResultList2NR(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_MeasResultList2NR_PDU); offset += 7; offset >>= 3; return offset; } @@ -25489,8 +26187,8 @@ void proto_register_nr_rrc(void) { { "UE-NR-Capability", "nr-rrc.UE_NR_Capability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_CandidateCellInfoList_PDU, - { "CandidateCellInfoList", "nr-rrc.CandidateCellInfoList", + { &hf_nr_rrc_MeasResultList2NR_PDU, + { "MeasResultList2NR", "nr-rrc.MeasResultList2NR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_MeasResultSCG_Failure_PDU, @@ -25536,7 +26234,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_candidateCellInfoListMN, { "candidateCellInfoListMN", "nr-rrc.candidateCellInfoListMN", FT_UINT32, BASE_DEC, NULL, 0, - "CandidateCellInfoList", HFILL }}, + "MeasResultList2NR", HFILL }}, { &hf_nr_rrc_candidateCellInfoListSN, { "candidateCellInfoListSN", "nr-rrc.candidateCellInfoListSN", FT_BYTES, BASE_NONE, NULL, 0, @@ -25589,10 +26287,6 @@ void proto_register_nr_rrc(void) { { "allowedBC-ListMRDC", "nr-rrc.allowedBC_ListMRDC", FT_UINT32, BASE_DEC, NULL, 0, "BandCombinationIndexList", HFILL }}, - { &hf_nr_rrc_allowedBPC_ListMRDC, - { "allowedBPC-ListMRDC", "nr-rrc.allowedBPC_ListMRDC", - FT_UINT32, BASE_DEC, NULL, 0, - "BPC_IndexList", HFILL }}, { &hf_nr_rrc_powerCoordination_FR1, { "powerCoordination-FR1", "nr-rrc.powerCoordination_FR1_element", FT_NONE, BASE_NONE, NULL, 0, @@ -25621,14 +26315,14 @@ void proto_register_nr_rrc(void) { { "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_BPC_IndexList_item, - { "BPC-Index", "nr-rrc.BPC_Index", - 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, @@ -25643,7 +26337,7 @@ void proto_register_nr_rrc(void) { "INTEGER_0_19", HFILL }}, { &hf_nr_rrc_ms32, { "ms32", "nr-rrc.ms32", - FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0, + FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_ms40, { "ms40", "nr-rrc.ms40", @@ -25733,8 +26427,16 @@ void proto_register_nr_rrc(void) { { "NR-FreqInfo", "nr-rrc.NR_FreqInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_measGapConfigFR1, - { "measGapConfigFR1", "nr-rrc.measGapConfigFR1_element", + { &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, @@ -25769,66 +26471,18 @@ void proto_register_nr_rrc(void) { { "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", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_MeasurementTimingConfiguration_vals), 0, - NULL, HFILL }}, - { &hf_nr_rrc_CandidateCellInfoList_item, - { "CandidateCellInfo", "nr-rrc.CandidateCellInfo_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_nr_rrc_cellIdentification, - { "cellIdentification", "nr-rrc.cellIdentification_element", + { "ssb-MeasurementTimingConfiguration", "nr-rrc.ssb_MeasurementTimingConfiguration_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_dl_CarrierFreq, - { "dl-CarrierFreq", "nr-rrc.dl_CarrierFreq", - FT_UINT32, BASE_DEC, NULL, 0, - "ARFCN_ValueNR", HFILL }}, - { &hf_nr_rrc_measResultCell, - { "measResultCell", "nr-rrc.measResultCell_element", - FT_NONE, BASE_NONE, NULL, 0, - "MeasQuantityResults", HFILL }}, - { &hf_nr_rrc_candidateRS_IndexListSSB, - { "candidateRS-IndexListSSB", "nr-rrc.candidateRS_IndexListSSB", - FT_UINT32, BASE_DEC, NULL, 0, - "CandidateRS_IndexInfoListSSB", HFILL }}, - { &hf_nr_rrc_candidateRS_IndexListCSI_RS, - { "candidateRS-IndexListCSI-RS", "nr-rrc.candidateRS_IndexListCSI_RS", - FT_UINT32, BASE_DEC, NULL, 0, - "CandidateRS_IndexInfoListCSI_RS", HFILL }}, - { &hf_nr_rrc_CandidateRS_IndexInfoListSSB_item, - { "CandidateRS-IndexInfoSSB", "nr-rrc.CandidateRS_IndexInfoSSB_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_measResultSSB, - { "measResultSSB", "nr-rrc.measResultSSB_element", - FT_NONE, BASE_NONE, NULL, 0, - "MeasQuantityResults", HFILL }}, - { &hf_nr_rrc_CandidateRS_IndexInfoListCSI_RS_item, - { "CandidateRS-IndexInfoCSI-RS", "nr-rrc.CandidateRS_IndexInfoCSI_RS_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_measResultCSI_RS, - { "measResultCSI-RS", "nr-rrc.measResultCSI_RS_element", - FT_NONE, BASE_NONE, NULL, 0, - "MeasQuantityResults", HFILL }}, + "SSB_MTC", HFILL }}, { &hf_nr_rrc_message, { "message", "nr-rrc.message", FT_UINT32, BASE_DEC, VALS(nr_rrc_BCCH_BCH_MessageType_vals), 0, @@ -26113,11 +26767,7 @@ void proto_register_nr_rrc(void) { { "rach-ConfigCommon", "nr-rrc.rach_ConfigCommon", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rach_ConfigCommon_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, + { &hf_nr_rrc_setup_01, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "RACH_ConfigCommon", HFILL }}, @@ -26125,7 +26775,7 @@ void proto_register_nr_rrc(void) { { "pusch-ConfigCommon", "nr-rrc.pusch_ConfigCommon", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_ConfigCommon_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_01, + { &hf_nr_rrc_setup_02, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUSCH_ConfigCommon", HFILL }}, @@ -26133,7 +26783,7 @@ void proto_register_nr_rrc(void) { { "pucch-ConfigCommon", "nr-rrc.pucch_ConfigCommon", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_ConfigCommon_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_02, + { &hf_nr_rrc_setup_03, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUCCH_ConfigCommon", HFILL }}, @@ -26141,7 +26791,7 @@ void proto_register_nr_rrc(void) { { "pucch-Config", "nr-rrc.pucch_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_Config_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_03, + { &hf_nr_rrc_setup_04, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUCCH_Config", HFILL }}, @@ -26149,7 +26799,7 @@ void proto_register_nr_rrc(void) { { "pusch-Config", "nr-rrc.pusch_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_Config_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_04, + { &hf_nr_rrc_setup_05, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUSCH_Config", HFILL }}, @@ -26157,7 +26807,7 @@ void proto_register_nr_rrc(void) { { "configuredGrantConfig", "nr-rrc.configuredGrantConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredGrantConfig_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_05, + { &hf_nr_rrc_setup_06, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "ConfiguredGrantConfig", HFILL }}, @@ -26165,7 +26815,7 @@ void proto_register_nr_rrc(void) { { "srs-Config", "nr-rrc.srs_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_Config_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_06, + { &hf_nr_rrc_setup_07, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "SRS_Config", HFILL }}, @@ -26173,7 +26823,7 @@ void proto_register_nr_rrc(void) { { "beamFailureRecoveryConfig", "nr-rrc.beamFailureRecoveryConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureRecoveryConfig_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_07, + { &hf_nr_rrc_setup_08, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "BeamFailureRecoveryConfig", HFILL }}, @@ -26189,7 +26839,7 @@ void proto_register_nr_rrc(void) { { "pdcch-ConfigCommon", "nr-rrc.pdcch_ConfigCommon", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_ConfigCommon_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_08, + { &hf_nr_rrc_setup_09, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDCCH_ConfigCommon", HFILL }}, @@ -26197,7 +26847,7 @@ void proto_register_nr_rrc(void) { { "pdsch-ConfigCommon", "nr-rrc.pdsch_ConfigCommon", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_ConfigCommon_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_09, + { &hf_nr_rrc_setup_10, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDSCH_ConfigCommon", HFILL }}, @@ -26205,7 +26855,7 @@ void proto_register_nr_rrc(void) { { "pdcch-Config", "nr-rrc.pdcch_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_Config_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_10, + { &hf_nr_rrc_setup_11, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDCCH_Config", HFILL }}, @@ -26213,7 +26863,7 @@ void proto_register_nr_rrc(void) { { "pdsch-Config", "nr-rrc.pdsch_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_Config_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_11, + { &hf_nr_rrc_setup_12, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDSCH_Config", HFILL }}, @@ -26221,7 +26871,7 @@ void proto_register_nr_rrc(void) { { "sps-Config", "nr-rrc.sps_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sps_Config_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_12, + { &hf_nr_rrc_setup_13, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "SPS_Config", HFILL }}, @@ -26229,7 +26879,7 @@ void proto_register_nr_rrc(void) { { "radioLinkMonitoringConfig", "nr-rrc.radioLinkMonitoringConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_radioLinkMonitoringConfig_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_13, + { &hf_nr_rrc_setup_14, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "RadioLinkMonitoringConfig", HFILL }}, @@ -26241,8 +26891,8 @@ void proto_register_nr_rrc(void) { { "rach-ConfigBFR", "nr-rrc.rach_ConfigBFR_element", FT_NONE, BASE_NONE, NULL, 0, "RACH_ConfigGeneric", HFILL }}, - { &hf_nr_rrc_candidateBeamThreshold, - { "candidateBeamThreshold", "nr-rrc.candidateBeamThreshold", + { &hf_nr_rrc_rsrp_ThresholdSSB, + { "rsrp-ThresholdSSB", "nr-rrc.rsrp_ThresholdSSB", FT_UINT32, BASE_DEC, NULL, 0, "RSRP_Range", HFILL }}, { &hf_nr_rrc_candidateBeamRSList, @@ -26253,18 +26903,26 @@ void proto_register_nr_rrc(void) { { "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_recoveryControlResourceSetId, - { "recoveryControlResourceSetId", "nr-rrc.recoveryControlResourceSetId", - FT_UINT32, BASE_DEC, NULL, 0, - "ControlResourceSetId", 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, @@ -26285,6 +26943,14 @@ void proto_register_nr_rrc(void) { { "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, @@ -26292,9 +26958,9 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_rlc_BearerToAddModList, { "rlc-BearerToAddModList", "nr-rrc.rlc_BearerToAddModList", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_Bearer_Config", HFILL }}, + "SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig", HFILL }}, { &hf_nr_rrc_rlc_BearerToAddModList_item, - { "RLC-Bearer-Config", "nr-rrc.RLC_Bearer_Config_element", + { "RLC-BearerConfig", "nr-rrc.RLC_BearerConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rlc_BearerToReleaseList, @@ -26333,62 +26999,6 @@ void proto_register_nr_rrc(void) { { "SCellIndex", "nr-rrc.SCellIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_logicalChannelIdentity, - { "logicalChannelIdentity", "nr-rrc.logicalChannelIdentity", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_nr_rrc_servedRadioBearer, - { "servedRadioBearer", "nr-rrc.servedRadioBearer", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_servedRadioBearer_vals), 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_drb_Identity, - { "drb-Identity", "nr-rrc.drb_Identity", - FT_UINT32, BASE_DEC, NULL, 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_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_servCellIndex, { "servCellIndex", "nr-rrc.servCellIndex", FT_UINT32, BASE_DEC, NULL, 0, @@ -26401,14 +27011,14 @@ void proto_register_nr_rrc(void) { { "rlf-TimersAndConstants", "nr-rrc.rlf_TimersAndConstants", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlf_TimersAndConstants_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_14, + { &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, NULL, 0, - "INTEGER_0_1", HFILL }}, + 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, @@ -26560,31 +27170,31 @@ void proto_register_nr_rrc(void) { { &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_32", HFILL }}, + "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_32", HFILL }}, + "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_128", HFILL }}, + "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_64", HFILL }}, + "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_64", HFILL }}, + "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_256", HFILL }}, + "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_256", HFILL }}, + "BIT_STRING_SIZE_64", HFILL }}, { &hf_nr_rrc_ri_Restriction, { "ri-Restriction", "nr-rrc.ri_Restriction", FT_BYTES, BASE_NONE, NULL, 0, @@ -26616,7 +27226,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_two_two, { "two-two", "nr-rrc.two_two", FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_139", HFILL }}, + "BIT_STRING_SIZE_43", HFILL }}, { &hf_nr_rrc_four_one, { "four-one", "nr-rrc.four_one", FT_BYTES, BASE_NONE, NULL, 0, @@ -26628,7 +27238,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_six_one, { "six-one", "nr-rrc.six_one", FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_49", HFILL }}, + "BIT_STRING_SIZE_48", HFILL }}, { &hf_nr_rrc_four_two, { "four-two", "nr-rrc.four_two", FT_BYTES, BASE_NONE, NULL, 0, @@ -26636,7 +27246,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_eight_one, { "eight-one", "nr-rrc.eight_one", FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_65", HFILL }}, + "BIT_STRING_SIZE_64", HFILL }}, { &hf_nr_rrc_four_three, { "four-three", "nr-rrc.four_three", FT_BYTES, BASE_NONE, NULL, 0, @@ -26648,7 +27258,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_twelve_one, { "twelve-one", "nr-rrc.twelve_one", FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_129", HFILL }}, + "BIT_STRING_SIZE_96", HFILL }}, { &hf_nr_rrc_four_four, { "four-four", "nr-rrc.four_four", FT_BYTES, BASE_NONE, NULL, 0, @@ -26660,7 +27270,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_sixteen_one, { "sixteen-one", "nr-rrc.sixteen_one", FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_129", HFILL }}, + "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, @@ -26709,7 +27319,7 @@ void proto_register_nr_rrc(void) { { "uci-OnPUSCH", "nr-rrc.uci_OnPUSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_OnPUSCH_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_15, + { &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 }}, @@ -26751,8 +27361,8 @@ void proto_register_nr_rrc(void) { NULL, HFILL }}, { &hf_nr_rrc_configuredGrantTimer, { "configuredGrantTimer", "nr-rrc.configuredGrantTimer", - FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_configuredGrantTimer_vals_ext, 0, - NULL, HFILL }}, + 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, @@ -26771,7 +27381,7 @@ void proto_register_nr_rrc(void) { "BIT_STRING_SIZE_18", HFILL }}, { &hf_nr_rrc_antennaPort, { "antennaPort", "nr-rrc.antennaPort", - FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0, + FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_dmrs_SeqInitialization, { "dmrs-SeqInitialization", "nr-rrc.dmrs_SeqInitialization", @@ -26787,7 +27397,7 @@ void proto_register_nr_rrc(void) { "INTEGER_0_15", HFILL }}, { &hf_nr_rrc_mcsAndTBS, { "mcsAndTBS", "nr-rrc.mcsAndTBS", - FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0, + FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_frequencyHoppingOffset, { "frequencyHoppingOffset", "nr-rrc.frequencyHoppingOffset", @@ -26849,11 +27459,19 @@ void proto_register_nr_rrc(void) { { "precoderGranularity", "nr-rrc.precoderGranularity", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_precoderGranularity_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_tci_StatesPDCCH, - { "tci-StatesPDCCH", "nr-rrc.tci_StatesPDCCH", + { &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_item, + { &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 }}, @@ -26863,8 +27481,8 @@ void proto_register_nr_rrc(void) { NULL, HFILL }}, { &hf_nr_rrc_pdcch_DMRS_ScramblingID, { "pdcch-DMRS-ScramblingID", "nr-rrc.pdcch_DMRS_ScramblingID", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_16", HFILL }}, + 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, @@ -26944,7 +27562,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_nrofRBs, { "nrofRBs", "nr-rrc.nrofRBs", FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_24_maxNrofPhysicalResourceBlocks", HFILL }}, + "INTEGER_24_maxNrofPhysicalResourceBlocksPlus1", HFILL }}, { &hf_nr_rrc_csi_IM_ResourceId, { "csi-IM-ResourceId", "nr-rrc.csi_IM_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, @@ -27117,7 +27735,7 @@ void proto_register_nr_rrc(void) { { "aperiodicTriggerStateList", "nr-rrc.aperiodicTriggerStateList", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aperiodicTriggerStateList_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_16, + { &hf_nr_rrc_setup_17, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, NULL, 0, "CSI_AperiodicTriggerStateList", HFILL }}, @@ -27125,7 +27743,7 @@ void proto_register_nr_rrc(void) { { "semiPersistentOnPUSCH-TriggerStateList", "nr-rrc.semiPersistentOnPUSCH_TriggerStateList", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_17, + { &hf_nr_rrc_setup_18, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, NULL, 0, "CSI_SemiPersistentOnPUSCH_TriggerStateList", HFILL }}, @@ -27162,8 +27780,8 @@ void proto_register_nr_rrc(void) { 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", - FT_UINT32, BASE_DEC, VALS(nr_rrc_PUCCH_CSI_Resource_vals), 0, + { "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", @@ -27184,11 +27802,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_reportSlotOffsetList_item, { "reportSlotOffsetList item", "nr-rrc.reportSlotOffsetList_item", FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_7", HFILL }}, - { &hf_nr_rrc_csi_RNTI, - { "csi-RNTI", "nr-rrc.csi_RNTI", - FT_UINT32, BASE_DEC, NULL, 0, - "RNTI_Value", HFILL }}, + "INTEGER_0_32", HFILL }}, { &hf_nr_rrc_p0alpha, { "p0alpha", "nr-rrc.p0alpha", FT_UINT32, BASE_DEC, NULL, 0, @@ -27361,10 +27975,6 @@ void proto_register_nr_rrc(void) { { "subbandSize", "nr-rrc.subbandSize", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subbandSize_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_bler_Target, - { "bler-Target", "nr-rrc.bler_Target", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bler_Target_vals), 0, - NULL, HFILL }}, { &hf_nr_rrc_non_PMI_PortIndication, { "non-PMI-PortIndication", "nr-rrc.non_PMI_PortIndication", FT_UINT32, BASE_DEC, NULL, 0, @@ -27418,9 +28028,9 @@ void proto_register_nr_rrc(void) { FT_UINT32, BASE_DEC, NULL, 0, "BWP_Id", HFILL }}, { &hf_nr_rrc_pucch_Resource, - { "pucch-Resource", "nr-rrc.pucch_Resource_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, + { "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, @@ -27432,7 +28042,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_rank2_8, { "rank2-8", "nr-rrc.rank2_8", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_2_OF_PortIndex8", HFILL }}, + "SEQUENCE_SIZE_2_OF_PortIndex8", HFILL }}, { &hf_nr_rrc_rank2_8_item, { "PortIndex8", "nr-rrc.PortIndex8", FT_UINT32, BASE_DEC, NULL, 0, @@ -27440,7 +28050,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_rank3_8, { "rank3-8", "nr-rrc.rank3_8", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_3_OF_PortIndex8", HFILL }}, + "SEQUENCE_SIZE_3_OF_PortIndex8", HFILL }}, { &hf_nr_rrc_rank3_8_item, { "PortIndex8", "nr-rrc.PortIndex8", FT_UINT32, BASE_DEC, NULL, 0, @@ -27448,7 +28058,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_rank4_8, { "rank4-8", "nr-rrc.rank4_8", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_4_OF_PortIndex8", HFILL }}, + "SEQUENCE_SIZE_4_OF_PortIndex8", HFILL }}, { &hf_nr_rrc_rank4_8_item, { "PortIndex8", "nr-rrc.PortIndex8", FT_UINT32, BASE_DEC, NULL, 0, @@ -27456,7 +28066,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_rank5_8, { "rank5-8", "nr-rrc.rank5_8", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_5_OF_PortIndex8", HFILL }}, + "SEQUENCE_SIZE_5_OF_PortIndex8", HFILL }}, { &hf_nr_rrc_rank5_8_item, { "PortIndex8", "nr-rrc.PortIndex8", FT_UINT32, BASE_DEC, NULL, 0, @@ -27464,7 +28074,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_rank6_8, { "rank6-8", "nr-rrc.rank6_8", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_6_OF_PortIndex8", HFILL }}, + "SEQUENCE_SIZE_6_OF_PortIndex8", HFILL }}, { &hf_nr_rrc_rank6_8_item, { "PortIndex8", "nr-rrc.PortIndex8", FT_UINT32, BASE_DEC, NULL, 0, @@ -27472,7 +28082,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_rank7_8, { "rank7-8", "nr-rrc.rank7_8", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_7_OF_PortIndex8", HFILL }}, + "SEQUENCE_SIZE_7_OF_PortIndex8", HFILL }}, { &hf_nr_rrc_rank7_8_item, { "PortIndex8", "nr-rrc.PortIndex8", FT_UINT32, BASE_DEC, NULL, 0, @@ -27480,7 +28090,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_rank8_8, { "rank8-8", "nr-rrc.rank8_8", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_8_OF_PortIndex8", HFILL }}, + "SEQUENCE_SIZE_8_OF_PortIndex8", HFILL }}, { &hf_nr_rrc_rank8_8_item, { "PortIndex8", "nr-rrc.PortIndex8", FT_UINT32, BASE_DEC, NULL, 0, @@ -27496,7 +28106,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_rank2_4, { "rank2-4", "nr-rrc.rank2_4", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_2_OF_PortIndex4", HFILL }}, + "SEQUENCE_SIZE_2_OF_PortIndex4", HFILL }}, { &hf_nr_rrc_rank2_4_item, { "PortIndex4", "nr-rrc.PortIndex4", FT_UINT32, BASE_DEC, NULL, 0, @@ -27504,7 +28114,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_rank3_4, { "rank3-4", "nr-rrc.rank3_4", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_3_OF_PortIndex4", HFILL }}, + "SEQUENCE_SIZE_3_OF_PortIndex4", HFILL }}, { &hf_nr_rrc_rank3_4_item, { "PortIndex4", "nr-rrc.PortIndex4", FT_UINT32, BASE_DEC, NULL, 0, @@ -27512,7 +28122,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_rank4_4, { "rank4-4", "nr-rrc.rank4_4", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_4_OF_PortIndex4", HFILL }}, + "SEQUENCE_SIZE_4_OF_PortIndex4", HFILL }}, { &hf_nr_rrc_rank4_4_item, { "PortIndex4", "nr-rrc.PortIndex4", FT_UINT32, BASE_DEC, NULL, 0, @@ -27528,7 +28138,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_rank2_2, { "rank2-2", "nr-rrc.rank2_2", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_2_OF_PortIndex2", HFILL }}, + "SEQUENCE_SIZE_2_OF_PortIndex2", HFILL }}, { &hf_nr_rrc_rank2_2_item, { "PortIndex2", "nr-rrc.PortIndex2", FT_UINT32, BASE_DEC, NULL, 0, @@ -27579,7 +28189,7 @@ void proto_register_nr_rrc(void) { NULL, HFILL }}, { &hf_nr_rrc_slots32, { "slots32", "nr-rrc.slots32", - FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0, + FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_slots64, { "slots64", "nr-rrc.slots64", @@ -27589,6 +28199,82 @@ void proto_register_nr_rrc(void) { { "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, @@ -27601,6 +28287,18 @@ void proto_register_nr_rrc(void) { { "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, @@ -27613,22 +28311,18 @@ void proto_register_nr_rrc(void) { { "nrofPorts", "nr-rrc.nrofPorts", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPorts_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_firstOFDMSymbolInTimeDomain, - { "firstOFDMSymbolInTimeDomain", "nr-rrc.firstOFDMSymbolInTimeDomain", - FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_13", HFILL }}, { &hf_nr_rrc_firstOFDMSymbolInTimeDomain2, { "firstOFDMSymbolInTimeDomain2", "nr-rrc.firstOFDMSymbolInTimeDomain2", FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_13", HFILL }}, + "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, + { &hf_nr_rrc_density_01, { "density", "nr-rrc.density", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_density_vals), 0, - NULL, HFILL }}, + 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, @@ -27673,14 +28367,6 @@ void proto_register_nr_rrc(void) { { "dmrs-AdditionalPosition", "nr-rrc.dmrs_AdditionalPosition", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_AdditionalPosition_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_dmrs_group1, - { "dmrs-group1", "nr-rrc.dmrs_group1", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_12", HFILL }}, - { &hf_nr_rrc_dmrs_group2, - { "dmrs-group2", "nr-rrc.dmrs_group2", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_12", HFILL }}, { &hf_nr_rrc_maxLength, { "maxLength", "nr-rrc.maxLength", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxLength_vals), 0, @@ -27697,7 +28383,7 @@ void proto_register_nr_rrc(void) { { "phaseTrackingRS", "nr-rrc.phaseTrackingRS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phaseTrackingRS_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_18, + { &hf_nr_rrc_setup_19, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_DownlinkConfig", HFILL }}, @@ -27713,7 +28399,7 @@ void proto_register_nr_rrc(void) { { "phaseTrackingRS", "nr-rrc.phaseTrackingRS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phaseTrackingRS_01_vals), 0, "T_phaseTrackingRS_01", HFILL }}, - { &hf_nr_rrc_setup_19, + { &hf_nr_rrc_setup_20, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_UplinkConfig", HFILL }}, @@ -27721,16 +28407,12 @@ void proto_register_nr_rrc(void) { { "maxLength", "nr-rrc.maxLength", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxLength_01_vals), 0, "T_maxLength_01", HFILL }}, - { &hf_nr_rrc_transformPrecoding, - { "transformPrecoding", "nr-rrc.transformPrecoding", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_transformPrecoding_vals), 0, - NULL, HFILL }}, - { &hf_nr_rrc_disabled_01, - { "disabled", "nr-rrc.disabled_element", + { &hf_nr_rrc_transformPrecodingDisabled, + { "transformPrecodingDisabled", "nr-rrc.transformPrecodingDisabled_element", FT_NONE, BASE_NONE, NULL, 0, - "T_disabled_01", HFILL }}, - { &hf_nr_rrc_enabled_01, - { "enabled", "nr-rrc.enabled_element", + NULL, HFILL }}, + { &hf_nr_rrc_transformPrecodingEnabled, + { "transformPrecodingEnabled", "nr-rrc.transformPrecodingEnabled_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nPUSCH_Identity, @@ -27745,6 +28427,14 @@ void proto_register_nr_rrc(void) { { "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, @@ -27813,10 +28503,6 @@ void proto_register_nr_rrc(void) { { "absoluteFrequencySSB", "nr-rrc.absoluteFrequencySSB", FT_UINT32, BASE_DEC, NULL, 0, "ARFCN_ValueNR", HFILL }}, - { &hf_nr_rrc_ssb_SubcarrierOffset_01, - { "ssb-SubcarrierOffset", "nr-rrc.ssb_SubcarrierOffset", - FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_1_23", HFILL }}, { &hf_nr_rrc_frequencyBandList, { "frequencyBandList", "nr-rrc.frequencyBandList", FT_UINT32, BASE_DEC, NULL, 0, @@ -27833,14 +28519,6 @@ void proto_register_nr_rrc(void) { { "SCS-SpecificCarrier", "nr-rrc.SCS_SpecificCarrier_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_scs_SpecificCarriers, - { "scs-SpecificCarriers", "nr-rrc.scs_SpecificCarriers", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier", HFILL }}, - { &hf_nr_rrc_scs_SpecificCarriers_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, @@ -27913,7 +28591,7 @@ void proto_register_nr_rrc(void) { { "drx-Config", "nr-rrc.drx_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_Config_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_20, + { &hf_nr_rrc_setup_21, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "DRX_Config", HFILL }}, @@ -27933,7 +28611,7 @@ void proto_register_nr_rrc(void) { { "phr-Config", "nr-rrc.phr_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_Config_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_21, + { &hf_nr_rrc_setup_22, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PHR_Config", HFILL }}, @@ -27941,14 +28619,6 @@ void proto_register_nr_rrc(void) { { "skipUplinkTxDynamic", "nr-rrc.skipUplinkTxDynamic", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", 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_22, - { "setup", "nr-rrc.setup", - FT_UINT32, BASE_DEC, NULL, 0, - "RNTI_Value", HFILL }}, { &hf_nr_rrc_drx_onDurationTimer, { "drx-onDurationTimer", "nr-rrc.drx_onDurationTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_onDurationTimer_vals), 0, @@ -27995,7 +28665,7 @@ void proto_register_nr_rrc(void) { "T_drx_ShortCycle_01", HFILL }}, { &hf_nr_rrc_drx_SlotOffset, { "drx-SlotOffset", "nr-rrc.drx_SlotOffset", - FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0, + FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_phr_PeriodicTimer, { "phr-PeriodicTimer", "nr-rrc.phr_PeriodicTimer", @@ -28013,8 +28683,8 @@ void proto_register_nr_rrc(void) { { "multiplePHR", "nr-rrc.multiplePHR", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, - { &hf_nr_rrc_phr_Type2PCell, - { "phr-Type2PCell", "nr-rrc.phr_Type2PCell", + { &hf_nr_rrc_phr_Type2SpCell, + { "phr-Type2SpCell", "nr-rrc.phr_Type2SpCell", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_phr_Type2OtherCell, @@ -28036,9 +28706,9 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_tag_ToAddModList, { "tag-ToAddModList", "nr-rrc.tag_ToAddModList", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_ToAddMod", HFILL }}, + "SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG", HFILL }}, { &hf_nr_rrc_tag_ToAddModList_item, - { "TAG-ToAddMod", "nr-rrc.TAG_ToAddMod_element", + { "TAG", "nr-rrc.TAG_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_tag_Id, @@ -28101,10 +28771,14 @@ void proto_register_nr_rrc(void) { { "quantityConfig", "nr-rrc.quantityConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_measGapConfig, + { &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, @@ -28121,10 +28795,6 @@ void proto_register_nr_rrc(void) { { "gapFR2", "nr-rrc.gapFR2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapFR2_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_23, - { "setup", "nr-rrc.setup_element", - FT_NONE, BASE_NONE, NULL, 0, - "GapConfig", HFILL }}, { &hf_nr_rrc_gapOffset, { "gapOffset", "nr-rrc.gapOffset", FT_UINT32, BASE_DEC, NULL, 0, @@ -28141,6 +28811,14 @@ void proto_register_nr_rrc(void) { { "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, @@ -28161,6 +28839,18 @@ void proto_register_nr_rrc(void) { { "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, @@ -28189,8 +28879,8 @@ void proto_register_nr_rrc(void) { { "quantityConfigIndex", "nr-rrc.quantityConfigIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxNrofQuantityConfig", HFILL }}, - { &hf_nr_rrc_offsetFreq, - { "offsetFreq", "nr-rrc.offsetFreq_element", + { &hf_nr_rrc_offsetMO, + { "offsetMO", "nr-rrc.offsetMO_element", FT_NONE, BASE_NONE, NULL, 0, "Q_OffsetRangeList", HFILL }}, { &hf_nr_rrc_cellsToRemoveList, @@ -28208,6 +28898,10 @@ void proto_register_nr_rrc(void) { { &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", @@ -28216,6 +28910,10 @@ void proto_register_nr_rrc(void) { { &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", @@ -28241,166 +28939,10 @@ void proto_register_nr_rrc(void) { { "useServingCellTimingForSync", "nr-rrc.useServingCellTimingForSync", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, - { &hf_nr_rrc_smtc1, - { "smtc1", "nr-rrc.smtc1_element", - FT_NONE, BASE_NONE, 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_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_01, - { "duration", "nr-rrc.duration", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_duration_vals), 0, - NULL, HFILL }}, - { &hf_nr_rrc_smtc2, - { "smtc2", "nr-rrc.smtc2_element", - FT_NONE, BASE_NONE, NULL, 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_01, - { "periodicity", "nr-rrc.periodicity", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicity_01_vals), 0, - "T_periodicity_01", 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_measurementSlots, - { "measurementSlots", "nr-rrc.measurementSlots", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measurementSlots_vals), 0, - NULL, HFILL }}, - { &hf_nr_rrc_kHz15, - { "kHz15", "nr-rrc.kHz15", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_1", HFILL }}, - { &hf_nr_rrc_kHz30, - { "kHz30", "nr-rrc.kHz30", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_2", HFILL }}, - { &hf_nr_rrc_kHz60, - { "kHz60", "nr-rrc.kHz60", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_4", HFILL }}, - { &hf_nr_rrc_kHz120, - { "kHz120", "nr-rrc.kHz120", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_8", HFILL }}, - { &hf_nr_rrc_endSymbol, - { "endSymbol", "nr-rrc.endSymbol", - FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_13", HFILL }}, - { &hf_nr_rrc_isServingCellMO, - { "isServingCellMO", "nr-rrc.isServingCellMO", - FT_BOOLEAN, BASE_NONE, NULL, 0, - "BOOLEAN", 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_01, - { "density", "nr-rrc.density", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_density_01_vals), 0, - "T_density_01", 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_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|BASE_EXT_STRING, 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_isQuasiColocated, - { "isQuasiColocated", "nr-rrc.isQuasiColocated", - FT_BOOLEAN, BASE_NONE, NULL, 0, - "BOOLEAN", 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_sequenceGenerationConfig, - { "sequenceGenerationConfig", "nr-rrc.sequenceGenerationConfig", - FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_1023", HFILL }}, { &hf_nr_rrc_rsrpOffsetSSB, { "rsrpOffsetSSB", "nr-rrc.rsrpOffsetSSB", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0, @@ -28453,26 +28995,14 @@ void proto_register_nr_rrc(void) { { "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_BlackCellsToAddModList_item, - { "BlackCellsToAddMod", "nr-rrc.BlackCellsToAddMod_element", - FT_NONE, BASE_NONE, NULL, 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_WhiteCellsToAddModList_item, - { "WhiteCellsToAddMod", "nr-rrc.WhiteCellsToAddMod_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, { &hf_nr_rrc_MeasObjectToAddModList_item, { "MeasObjectToAddMod", "nr-rrc.MeasObjectToAddMod_element", FT_NONE, BASE_NONE, NULL, 0, @@ -28485,10 +29015,10 @@ void proto_register_nr_rrc(void) { { "measObjectNR", "nr-rrc.measObjectNR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_measResultServingFreqList, - { "measResultServingFreqList", "nr-rrc.measResultServingFreqList", + { &hf_nr_rrc_measResultServingMOList, + { "measResultServingMOList", "nr-rrc.measResultServingMOList", FT_UINT32, BASE_DEC, NULL, 0, - "MeasResultServFreqList", HFILL }}, + "MeasResultServMOList", HFILL }}, { &hf_nr_rrc_measResultNeighCells, { "measResultNeighCells", "nr-rrc.measResultNeighCells", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measResultNeighCells_vals), 0, @@ -28497,12 +29027,12 @@ void proto_register_nr_rrc(void) { { "measResultListNR", "nr-rrc.measResultListNR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_MeasResultServFreqList_item, - { "MeasResultServFreq", "nr-rrc.MeasResultServFreq_element", + { &hf_nr_rrc_MeasResultServMOList_item, + { "MeasResultServMO", "nr-rrc.MeasResultServMO_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_servFreqId, - { "servFreqId", "nr-rrc.servFreqId", + { &hf_nr_rrc_servCellId, + { "servCellId", "nr-rrc.servCellId", FT_UINT32, BASE_DEC, NULL, 0, "ServCellIndex", HFILL }}, { &hf_nr_rrc_measResultServingCell, @@ -28517,10 +29047,6 @@ void proto_register_nr_rrc(void) { { "MeasResultNR", "nr-rrc.MeasResultNR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_cgi_Info, - { "cgi-Info", "nr-rrc.cgi_Info", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cgi_Info_vals), 0, - NULL, HFILL }}, { &hf_nr_rrc_measResult, { "measResult", "nr-rrc.measResult_element", FT_NONE, BASE_NONE, NULL, 0, @@ -28577,22 +29103,18 @@ void proto_register_nr_rrc(void) { { "csi-RS-Results", "nr-rrc.csi_RS_Results_element", FT_NONE, BASE_NONE, NULL, 0, "MeasQuantityResults", HFILL }}, - { &hf_nr_rrc_measResultServFreqList, - { "measResultServFreqList", "nr-rrc.measResultServFreqList", - FT_UINT32, BASE_DEC, NULL, 0, - "MeasResultServFreqList2NR", HFILL }}, - { &hf_nr_rrc_measResultNeighCells_01, - { "measResultNeighCells", "nr-rrc.measResultNeighCells", + { &hf_nr_rrc_measResultPerMOList, + { "measResultPerMOList", "nr-rrc.measResultPerMOList", FT_UINT32, BASE_DEC, NULL, 0, "MeasResultList2NR", HFILL }}, - { &hf_nr_rrc_MeasResultServFreqList2NR_item, - { "MeasResultServFreq2NR", "nr-rrc.MeasResultServFreq2NR_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, 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, @@ -28613,30 +29135,6 @@ void proto_register_nr_rrc(void) { { "FreqBandIndicatorNR", "nr-rrc.FreqBandIndicatorNR", FT_UINT32, BASE_DEC, NULL, 0, NULL, 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_nzp_CSI_RS_ResourceId, { "nzp-CSI-RS-ResourceId", "nr-rrc.nzp_CSI_RS_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, @@ -28661,6 +29159,30 @@ void proto_register_nr_rrc(void) { { "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, @@ -28673,6 +29195,14 @@ void proto_register_nr_rrc(void) { { "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, @@ -28717,19 +29247,11 @@ void proto_register_nr_rrc(void) { { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "DownlinkPreemption", 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_27, - { "setup", "nr-rrc.setup_element", - FT_NONE, BASE_NONE, NULL, 0, - "SlotFormatIndicator", 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_28, + { &hf_nr_rrc_setup_27, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUSCH_TPC_CommandConfig", HFILL }}, @@ -28737,23 +29259,35 @@ void proto_register_nr_rrc(void) { { "tpc-PUCCH", "nr-rrc.tpc_PUCCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_PUCCH_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_29, + { &hf_nr_rrc_setup_28, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUCCH_TPC_CommandConfig", HFILL }}, - { &hf_nr_rrc_commonControlResourcesSets, - { "commonControlResourcesSets", "nr-rrc.commonControlResourcesSets", + { &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, - "SEQUENCE_SIZE_1_2_OF_ControlResourceSet", HFILL }}, - { &hf_nr_rrc_commonControlResourcesSets_item, - { "ControlResourceSet", "nr-rrc.ControlResourceSet_element", + "INTEGER_0_15", HFILL }}, + { &hf_nr_rrc_commonControlResourceSet, + { "commonControlResourceSet", "nr-rrc.commonControlResourceSet_element", FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_nr_rrc_commonSearchSpaces, - { "commonSearchSpaces", "nr-rrc.commonSearchSpaces", + "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_commonSearchSpaces_item, + { &hf_nr_rrc_commonSearchSpace_item, { "SearchSpace", "nr-rrc.SearchSpace_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, @@ -28769,14 +29303,18 @@ void proto_register_nr_rrc(void) { { "pagingSearchSpace", "nr-rrc.pagingSearchSpace", FT_UINT32, BASE_DEC, NULL, 0, "SearchSpaceId", HFILL }}, - { &hf_nr_rrc_ra_ControlResourceSet, - { "ra-ControlResourceSet", "nr-rrc.ra_ControlResourceSet", - FT_UINT32, BASE_DEC, NULL, 0, - "ControlResourceSetId", 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, @@ -28851,8 +29389,8 @@ void proto_register_nr_rrc(void) { "BOOLEAN", HFILL }}, { &hf_nr_rrc_drb_ContinueROHC, { "drb-ContinueROHC", "nr-rrc.drb_ContinueROHC", - FT_BOOLEAN, BASE_NONE, NULL, 0, - "BOOLEAN", HFILL }}, + 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, @@ -28861,6 +29399,10 @@ void proto_register_nr_rrc(void) { { "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, @@ -28871,8 +29413,8 @@ void proto_register_nr_rrc(void) { NULL, HFILL }}, { &hf_nr_rrc_outOfOrderDelivery, { "outOfOrderDelivery", "nr-rrc.outOfOrderDelivery", - FT_BOOLEAN, BASE_NONE, NULL, 0, - "BOOLEAN", HFILL }}, + 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, @@ -28895,8 +29437,8 @@ void proto_register_nr_rrc(void) { NULL, HFILL }}, { &hf_nr_rrc_pdcp_Duplication, { "pdcp-Duplication", "nr-rrc.pdcp_Duplication", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_Duplication_vals), 0, - NULL, HFILL }}, + 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, @@ -28904,12 +29446,12 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_dataScramblingIdentityPDSCH, { "dataScramblingIdentityPDSCH", "nr-rrc.dataScramblingIdentityPDSCH", FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_1007", HFILL }}, + "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_30, + { &hf_nr_rrc_setup_31, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "DMRS_DownlinkConfig", HFILL }}, @@ -28941,14 +29483,14 @@ void proto_register_nr_rrc(void) { { "resourceAllocation", "nr-rrc.resourceAllocation", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocation_01_vals), 0, "T_resourceAllocation_01", HFILL }}, - { &hf_nr_rrc_pdsch_AllocationList, - { "pdsch-AllocationList", "nr-rrc.pdsch_AllocationList", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation", HFILL }}, - { &hf_nr_rrc_pdsch_AllocationList_item, - { "PDSCH-TimeDomainResourceAllocation", "nr-rrc.PDSCH_TimeDomainResourceAllocation_element", - FT_NONE, BASE_NONE, NULL, 0, + { &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, @@ -28972,19 +29514,11 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_rateMatchPatternGroup1, { "rateMatchPatternGroup1", "nr-rrc.rateMatchPatternGroup1", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId", HFILL }}, - { &hf_nr_rrc_rateMatchPatternGroup1_item, - { "RateMatchPatternId", "nr-rrc.RateMatchPatternId", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, + "RateMatchPatternGroup", HFILL }}, { &hf_nr_rrc_rateMatchPatternGroup2, { "rateMatchPatternGroup2", "nr-rrc.rateMatchPatternGroup2", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId", HFILL }}, - { &hf_nr_rrc_rateMatchPatternGroup2_item, - { "RateMatchPatternId", "nr-rrc.RateMatchPatternId", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, + "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, @@ -29001,16 +29535,16 @@ void proto_register_nr_rrc(void) { { "prb-BundlingType", "nr-rrc.prb_BundlingType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prb_BundlingType_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_static, - { "static", "nr-rrc.static_element", + { &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_dynamic_01, - { "dynamic", "nr-rrc.dynamic_element", + { &hf_nr_rrc_dynamicBundling, + { "dynamicBundling", "nr-rrc.dynamicBundling_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_bundleSizeSet1, @@ -29040,7 +29574,7 @@ void proto_register_nr_rrc(void) { { &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_Sets_OF_ZP_CSI_RS_ResourceSet", HFILL }}, + "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, @@ -29048,7 +29582,7 @@ void proto_register_nr_rrc(void) { { &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_Sets_OF_ZP_CSI_RS_ResourceSetId", HFILL }}, + "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, @@ -29056,7 +29590,7 @@ void proto_register_nr_rrc(void) { { &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_Sets_OF_ZP_CSI_RS_ResourceSet", HFILL }}, + "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, @@ -29064,16 +29598,40 @@ void proto_register_nr_rrc(void) { { &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_Sets_OF_ZP_CSI_RS_ResourceSetId", HFILL }}, + "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_31, + { &hf_nr_rrc_setup_34, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDSCH_CodeBlockGroupTransmission", HFILL }}, @@ -29097,18 +29655,62 @@ void proto_register_nr_rrc(void) { { "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_1_3", HFILL }}, + "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_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_7", HFILL }}, + 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, @@ -29125,16 +29727,8 @@ void proto_register_nr_rrc(void) { { "timeDensity item", "nr-rrc.timeDensity_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_29", HFILL }}, - { &hf_nr_rrc_epre_RatioPort1, - { "epre-RatioPort1", "nr-rrc.epre_RatioPort1", - FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_3", HFILL }}, - { &hf_nr_rrc_epre_RatioPort2, - { "epre-RatioPort2", "nr-rrc.epre_RatioPort2", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_nr_rrc_epre_RatioPort2_item, - { "epre-RatioPort2 item", "nr-rrc.epre_RatioPort2_item", + { &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, @@ -29181,10 +29775,10 @@ void proto_register_nr_rrc(void) { { "sampleDensity item", "nr-rrc.sampleDensity_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_276", HFILL }}, - { &hf_nr_rrc_timeDensity_02, - { "timeDensity", "nr-rrc.timeDensity", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeDensity_02_vals), 0, - "T_timeDensity_02", 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, @@ -29221,7 +29815,7 @@ void proto_register_nr_rrc(void) { { "format1", "nr-rrc.format1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format1_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_32, + { &hf_nr_rrc_setup_36, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUCCH_FormatConfig", HFILL }}, @@ -29305,9 +29899,9 @@ void proto_register_nr_rrc(void) { { "nrofSlots", "nr-rrc.nrofSlots", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSlots_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_pi2PBSK, - { "pi2PBSK", "nr-rrc.pi2PBSK", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pi2PBSK_vals), 0, + { &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", @@ -29326,9 +29920,17 @@ void proto_register_nr_rrc(void) { FT_UINT32, BASE_DEC, NULL, 0, "NZP_CSI_RS_ResourceId", HFILL }}, { &hf_nr_rrc_srs, - { "srs", "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, @@ -29345,11 +29947,11 @@ void proto_register_nr_rrc(void) { { "pucch-ResourceSetId", "nr-rrc.pucch_ResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_resources, - { "resources", "nr-rrc.resources", + { &hf_nr_rrc_resourceList, + { "resourceList", "nr-rrc.resourceList", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_8_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId", HFILL }}, - { &hf_nr_rrc_resources_item, + "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 }}, @@ -29435,16 +30037,16 @@ void proto_register_nr_rrc(void) { NULL, HFILL }}, { &hf_nr_rrc_pucch_ResourceCommon, { "pucch-ResourceCommon", "nr-rrc.pucch_ResourceCommon", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_4", HFILL }}, + 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_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_10", HFILL }}, + 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, @@ -29508,7 +30110,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_dataScramblingIdentityPUSCH, { "dataScramblingIdentityPUSCH", "nr-rrc.dataScramblingIdentityPUSCH", FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_1007", HFILL }}, + "INTEGER_0_1023", HFILL }}, { &hf_nr_rrc_txConfig, { "txConfig", "nr-rrc.txConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_txConfig_vals), 0, @@ -29517,7 +30119,7 @@ void proto_register_nr_rrc(void) { { "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_33, + { &hf_nr_rrc_setup_37, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "DMRS_UplinkConfig", HFILL }}, @@ -29545,14 +30147,14 @@ void proto_register_nr_rrc(void) { { "resourceAllocation", "nr-rrc.resourceAllocation", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocation_02_vals), 0, "T_resourceAllocation_02", HFILL }}, - { &hf_nr_rrc_pusch_AllocationList, - { "pusch-AllocationList", "nr-rrc.pusch_AllocationList", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation", HFILL }}, - { &hf_nr_rrc_pusch_AllocationList_item, - { "PUSCH-TimeDomainResourceAllocation", "nr-rrc.PUSCH_TimeDomainResourceAllocation_element", - FT_NONE, BASE_NONE, NULL, 0, + { &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, @@ -29585,19 +30187,19 @@ void proto_register_nr_rrc(void) { { "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_34, + { &hf_nr_rrc_setup_39, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "UCI_OnPUSCH", HFILL }}, - { &hf_nr_rrc_vrb_ToPRB_Interleaver_01, - { "vrb-ToPRB-Interleaver", "nr-rrc.vrb_ToPRB_Interleaver", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_vrb_ToPRB_Interleaver_01_vals), 0, - "T_vrb_ToPRB_Interleaver_01", 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_02, + { &hf_nr_rrc_dynamic_01, { "dynamic", "nr-rrc.dynamic", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_4_OF_BetaOffsets", HFILL }}, @@ -29609,6 +30211,10 @@ void proto_register_nr_rrc(void) { { "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, @@ -29715,40 +30321,40 @@ void proto_register_nr_rrc(void) { NULL, HFILL }}, { &hf_nr_rrc_betaOffsetACK_Index1, { "betaOffsetACK-Index1", "nr-rrc.betaOffsetACK_Index1", - FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0, + 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|BASE_EXT_STRING, NULL, 0, + 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|BASE_EXT_STRING, NULL, 0, + 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|BASE_EXT_STRING, NULL, 0, + 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|BASE_EXT_STRING, NULL, 0, + 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|BASE_EXT_STRING, NULL, 0, + 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|BASE_EXT_STRING, NULL, 0, + 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_35, + { &hf_nr_rrc_setup_40, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "PUSCH_CodeBlockGroupGransmission", HFILL }}, + "PUSCH_CodeBlockGroupTransmission", HFILL }}, { &hf_nr_rrc_rateMatching, { "rateMatching", "nr-rrc.rateMatching", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatching_vals), 0, @@ -29761,10 +30367,14 @@ void proto_register_nr_rrc(void) { { "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_7", HFILL }}, + "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, @@ -29784,8 +30394,8 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_quantityConfigNR_List, { "quantityConfigNR-List", "nr-rrc.quantityConfigNR_List", FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_nr_rrc_QuantityConfigNR_List_item, + "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 }}, @@ -29881,10 +30491,6 @@ void proto_register_nr_rrc(void) { { "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, - { "rsrp-ThresholdSSB", "nr-rrc.rsrp_ThresholdSSB", - FT_UINT32, BASE_DEC, NULL, 0, - "RSRP_Range", HFILL }}, { &hf_nr_rrc_rsrp_ThresholdSSB_SUL, { "rsrp-ThresholdSSB-SUL", "nr-rrc.rsrp_ThresholdSSB_SUL", FT_UINT32, BASE_DEC, NULL, 0, @@ -29932,7 +30538,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_preambleReceivedTargetPower, { "preambleReceivedTargetPower", "nr-rrc.preambleReceivedTargetPower", FT_INT32, BASE_DEC, NULL, 0, - "INTEGER_M200_M74", HFILL }}, + "INTEGER_M202_M60", HFILL }}, { &hf_nr_rrc_preambleTransMax, { "preambleTransMax", "nr-rrc.preambleTransMax", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preambleTransMax_vals), 0, @@ -29945,9 +30551,21 @@ void proto_register_nr_rrc(void) { { "ra-ResponseWindow", "nr-rrc.ra_ResponseWindow", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ResponseWindow_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_cfra_Resources, - { "cfra-Resources", "nr-rrc.cfra_Resources", - FT_UINT32, BASE_DEC, VALS(nr_rrc_CFRA_Resources_vals), 0, + { &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", @@ -29973,22 +30591,26 @@ void proto_register_nr_rrc(void) { { "CFRA-CSIRS-Resource", "nr-rrc.CFRA_CSIRS_Resource_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_cfra_csirs_DedicatedRACH_Threshold, - { "cfra-csirs-DedicatedRACH-Threshold", "nr-rrc.cfra_csirs_DedicatedRACH_Threshold", + { &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, + { &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_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_srb_ToAddModList, { "srb-ToAddModList", "nr-rrc.srb_ToAddModList", FT_UINT32, BASE_DEC, NULL, 0, @@ -30013,6 +30635,10 @@ void proto_register_nr_rrc(void) { { "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, @@ -30041,6 +30667,10 @@ void proto_register_nr_rrc(void) { { "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, @@ -30061,14 +30691,22 @@ void proto_register_nr_rrc(void) { { "keyToUse", "nr-rrc.keyToUse", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_keyToUse_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_failureDetectionResources, - { "failureDetectionResources", "nr-rrc.failureDetectionResources", + { &hf_nr_rrc_failureDetectionResourcesToAddModList, + { "failureDetectionResourcesToAddModList", "nr-rrc.failureDetectionResourcesToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS", HFILL }}, - { &hf_nr_rrc_failureDetectionResources_item, + { &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, @@ -30077,6 +30715,10 @@ void proto_register_nr_rrc(void) { { "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, @@ -30185,10 +30827,6 @@ void proto_register_nr_rrc(void) { { "eventTriggered", "nr-rrc.eventTriggered_element", FT_NONE, BASE_NONE, NULL, 0, "EventTriggerConfig", HFILL }}, - { &hf_nr_rrc_reportCGI, - { "reportCGI", "nr-rrc.reportCGI", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportCGI_vals), 0, - NULL, HFILL }}, { &hf_nr_rrc_eventId, { "eventId", "nr-rrc.eventId", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventId_vals), 0, @@ -30341,6 +30979,26 @@ void proto_register_nr_rrc(void) { { "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, @@ -30433,10 +31091,10 @@ void proto_register_nr_rrc(void) { { "SchedulingRequestId", "nr-rrc.SchedulingRequestId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_sr_ConfigIndex, - { "sr-ConfigIndex", "nr-rrc.sr_ConfigIndex", + { &hf_nr_rrc_schedulingRequestId, + { "schedulingRequestId", "nr-rrc.schedulingRequestId", FT_UINT32, BASE_DEC, NULL, 0, - "SchedulingRequestId", HFILL }}, + 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, @@ -30449,10 +31107,10 @@ void proto_register_nr_rrc(void) { { "schedulingRequestResourceId", "nr-rrc.schedulingRequestResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_periodicityAndOffset_02, + { &hf_nr_rrc_periodicityAndOffset_01, { "periodicityAndOffset", "nr-rrc.periodicityAndOffset", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndOffset_01_vals), 0, - "T_periodicityAndOffset_01", HFILL }}, + 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, @@ -30513,7 +31171,7 @@ void proto_register_nr_rrc(void) { { "sl640", "nr-rrc.sl640", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_639", HFILL }}, - { &hf_nr_rrc_resource, + { &hf_nr_rrc_resource_01, { "resource", "nr-rrc.resource", FT_UINT32, BASE_DEC, NULL, 0, "PUCCH_ResourceId", HFILL }}, @@ -30521,10 +31179,6 @@ void proto_register_nr_rrc(void) { { "offsetToCarrier", "nr-rrc.offsetToCarrier", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_2199", HFILL }}, - { &hf_nr_rrc_k0_01, - { "k0", "nr-rrc.k0", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_k0_vals), 0, - NULL, HFILL }}, { &hf_nr_rrc_carrierBandwidth, { "carrierBandwidth", "nr-rrc.carrierBandwidth", FT_UINT32, BASE_DEC, NULL, 0, @@ -30569,6 +31223,18 @@ void proto_register_nr_rrc(void) { { "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, @@ -30677,7 +31343,7 @@ void proto_register_nr_rrc(void) { { "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, + { &hf_nr_rrc_initialDownlinkBWP_01, { "initialDownlinkBWP", "nr-rrc.initialDownlinkBWP_element", FT_NONE, BASE_NONE, NULL, 0, "BWP_DownlinkDedicated", HFILL }}, @@ -30717,11 +31383,19 @@ void proto_register_nr_rrc(void) { { "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_36, + { &hf_nr_rrc_setup_42, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDSCH_ServingCellConfig", HFILL }}, @@ -30729,18 +31403,10 @@ void proto_register_nr_rrc(void) { { "csi-MeasConfig", "nr-rrc.csi_MeasConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_MeasConfig_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_37, + { &hf_nr_rrc_setup_43, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "CSI_MeasConfig", 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_38, - { "setup", "nr-rrc.setup_element", - FT_NONE, BASE_NONE, NULL, 0, - "SRS_CarrierSwitching", HFILL }}, { &hf_nr_rrc_sCellDeactivationTimer, { "sCellDeactivationTimer", "nr-rrc.sCellDeactivationTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sCellDeactivationTimer_vals), 0, @@ -30757,6 +31423,10 @@ void proto_register_nr_rrc(void) { { "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, @@ -30785,22 +31455,30 @@ void proto_register_nr_rrc(void) { { "pusch-ServingCellConfig", "nr-rrc.pusch_ServingCellConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_ServingCellConfig_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_39, + { &hf_nr_rrc_setup_44, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUSCH_ServingCellConfig", HFILL }}, - { &hf_nr_rrc_frequencyInfoDL, - { "frequencyInfoDL", "nr-rrc.frequencyInfoDL_element", - FT_NONE, BASE_NONE, NULL, 0, + { &hf_nr_rrc_carrierSwitching, + { "carrierSwitching", "nr-rrc.carrierSwitching", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_carrierSwitching_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_initialDownlinkBWP_01, - { "initialDownlinkBWP", "nr-rrc.initialDownlinkBWP_element", + { &hf_nr_rrc_setup_45, + { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "BWP_DownlinkCommon", HFILL }}, + "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, @@ -30817,7 +31495,7 @@ void proto_register_nr_rrc(void) { { "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_40, + { &hf_nr_rrc_setup_46, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "RateMatchPatternLTE_CRS", HFILL }}, @@ -30825,18 +31503,6 @@ void proto_register_nr_rrc(void) { { "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_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_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_subcarrierSpacing2, { "subcarrierSpacing2", "nr-rrc.subcarrierSpacing2", FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0, @@ -30889,22 +31555,30 @@ void proto_register_nr_rrc(void) { { "ServCellIndex", "nr-rrc.ServCellIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_periodicity_02, + { &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_02_vals_ext, 0, - "T_periodicity_02", HFILL }}, + 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_element", - FT_NONE, BASE_NONE, NULL, 0, - "PUCCH_Resource", HFILL }}, + { "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_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId", HFILL }}, + "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, @@ -30912,7 +31586,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_srs_ResourceSetToAddModList, { "srs-ResourceSetToAddModList", "nr-rrc.srs_ResourceSetToAddModList", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet", HFILL }}, + "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, @@ -30960,11 +31634,11 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_aperiodicSRS_ResourceTrigger, { "aperiodicSRS-ResourceTrigger", "nr-rrc.aperiodicSRS_ResourceTrigger", FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_maxNrofSRS_TriggerStates_1", HFILL }}, + "INTEGER_1_maxNrofSRS_TriggerStates_1", HFILL }}, { &hf_nr_rrc_slotOffset, { "slotOffset", "nr-rrc.slotOffset", FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_1_8", HFILL }}, + "INTEGER_1_32", HFILL }}, { &hf_nr_rrc_semi_persistent, { "semi-persistent", "nr-rrc.semi_persistent_element", FT_NONE, BASE_NONE, NULL, 0, @@ -31106,29 +31780,37 @@ void proto_register_nr_rrc(void) { FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_10", HFILL }}, { &hf_nr_rrc_spatialRelationInfo, - { "spatialRelationInfo", "nr-rrc.spatialRelationInfo", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialRelationInfo_vals), 0, - NULL, HFILL }}, + { "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|BASE_EXT_STRING, NULL, 0, + 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_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_srs_SwitchFromServCellIndex, { "srs-SwitchFromServCellIndex", "nr-rrc.srs_SwitchFromServCellIndex", - FT_UINT32, BASE_DEC|BASE_EXT_STRING, NULL, 0, + 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, @@ -31145,14 +31827,6 @@ void proto_register_nr_rrc(void) { { "typeB", "nr-rrc.typeB_element", FT_NONE, BASE_NONE, NULL, 0, "SRS_TPC_PDCCH_Config", HFILL }}, - { &hf_nr_rrc_srs_CellToSFI, - { "srs-CellToSFI", "nr-rrc.srs_CellToSFI", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_maxNrofServingCells_OF_SlotFormatCombinationsPerCell", HFILL }}, - { &hf_nr_rrc_srs_CellToSFI_item, - { "SlotFormatCombinationsPerCell", "nr-rrc.SlotFormatCombinationsPerCell_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, { &hf_nr_rrc_monitoringCells, { "monitoringCells", "nr-rrc.monitoringCells", FT_UINT32, BASE_DEC, NULL, 0, @@ -31161,14 +31835,6 @@ void proto_register_nr_rrc(void) { { "ServCellIndex", "nr-rrc.ServCellIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, 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_srs_CC_SetIndexlist, { "srs-CC-SetIndexlist", "nr-rrc.srs_CC_SetIndexlist", FT_UINT32, BASE_DEC, NULL, 0, @@ -31185,6 +31851,58 @@ void proto_register_nr_rrc(void) { { "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, @@ -31197,26 +31915,18 @@ void proto_register_nr_rrc(void) { { "qcl-Type2", "nr-rrc.qcl_Type2_element", FT_NONE, BASE_NONE, NULL, 0, "QCL_Info", HFILL }}, - { &hf_nr_rrc_nrofPTRS_Ports, - { "nrofPTRS-Ports", "nr-rrc.nrofPTRS_Ports", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPTRS_Ports_vals), 0, - NULL, HFILL }}, { &hf_nr_rrc_cell, { "cell", "nr-rrc.cell", FT_UINT32, BASE_DEC, NULL, 0, "ServCellIndex", HFILL }}, - { &hf_nr_rrc_referenceSignal_03, + { &hf_nr_rrc_referenceSignal_04, { "referenceSignal", "nr-rrc.referenceSignal", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_03_vals), 0, - "T_referenceSignal_03", HFILL }}, + 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_csi_RS_for_tracking, - { "csi-RS-for-tracking", "nr-rrc.csi_RS_for_tracking", - FT_UINT32, BASE_DEC, NULL, 0, - "NZP_CSI_RS_ResourceSetId", HFILL }}, { &hf_nr_rrc_qcl_Type, { "qcl-Type", "nr-rrc.qcl_Type", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_qcl_Type_vals), 0, @@ -31225,6 +31935,14 @@ void proto_register_nr_rrc(void) { { "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, @@ -31289,6 +32007,18 @@ void proto_register_nr_rrc(void) { { "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, @@ -31305,40 +32035,24 @@ void proto_register_nr_rrc(void) { { "ZP-CSI-RS-ResourceId", "nr-rrc.ZP_CSI_RS_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_resourceType_03, - { "resourceType", "nr-rrc.resourceType", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_03_vals), 0, - "T_resourceType_03", HFILL }}, { &hf_nr_rrc_BandCombinationList_item, { "BandCombination", "nr-rrc.BandCombination_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_bandAndDL_ParametersList, - { "bandAndDL-ParametersList", "nr-rrc.bandAndDL_ParametersList", + { &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_bandCombinationsUL, - { "bandCombinationsUL", "nr-rrc.bandCombinationsUL", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_1_maxBandComb", HFILL }}, - { &hf_nr_rrc_bandCombinationParametersList, - { "bandCombinationParametersList", "nr-rrc.bandCombinationParametersList", + { &hf_nr_rrc_featureSetCombination, + { "featureSetCombination", "nr-rrc.featureSetCombination", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_maxBandComb_OF_BandCombinationParameters", HFILL }}, - { &hf_nr_rrc_bandCombinationParametersList_item, - { "BandCombinationParameters", "nr-rrc.BandCombinationParameters_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_nr_rrc_BandAndDL_ParametersList_item, - { "BandAndDL-Parameters", "nr-rrc.BandAndDL_Parameters", - FT_UINT32, BASE_DEC, VALS(nr_rrc_BandAndDL_Parameters_vals), 0, - NULL, HFILL }}, - { &hf_nr_rrc_bandAndDL_ParametersEUTRA, - { "bandAndDL-ParametersEUTRA", "nr-rrc.bandAndDL_ParametersEUTRA_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_nr_rrc_bandAndDL_ParametersNR, - { "bandAndDL-ParametersNR", "nr-rrc.bandAndDL_ParametersNR_element", + "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, @@ -31349,42 +32063,14 @@ void proto_register_nr_rrc(void) { { "mrdc-Parameters", "nr-rrc.mrdc_Parameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, 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_simultaneousRxTxInterBandCA, - { "simultaneousRxTxInterBandCA", "nr-rrc.simultaneousRxTxInterBandCA", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxTxInterBandCA_vals), 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_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_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, + { &hf_nr_rrc_eutra, + { "eutra", "nr-rrc.eutra_element", + FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_basebandProcesingCombinationMRDC, - { "basebandProcesingCombinationMRDC", "nr-rrc.basebandProcesingCombinationMRDC", - FT_UINT32, BASE_DEC, NULL, 0, - "BasebandProcessingCombinationMRDC", HFILL }}, { &hf_nr_rrc_bandEUTRA, { "bandEUTRA", "nr-rrc.bandEUTRA", FT_UINT32, BASE_DEC, NULL, 0, @@ -31393,156 +32079,176 @@ void proto_register_nr_rrc(void) { { "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_intraBandContiguousCC_InfoDL_EUTRA_List, - { "intraBandContiguousCC-InfoDL-EUTRA-List", "nr-rrc.intraBandContiguousCC_InfoDL_EUTRA_List", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoDL_EUTRA", HFILL }}, - { &hf_nr_rrc_intraBandContiguousCC_InfoDL_EUTRA_List_item, - { "IntraBandContiguousCC-InfoDL-EUTRA", "nr-rrc.IntraBandContiguousCC_InfoDL_EUTRA_element", + { &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, - { "ca-BandwidthClassDL", "nr-rrc.ca_BandwidthClassDL", + { &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_intraBandFreqSeparationDL, - { "intraBandFreqSeparationDL", "nr-rrc.intraBandFreqSeparationDL", - FT_UINT32, BASE_DEC, VALS(nr_rrc_FreqSeparationClass_vals), 0, - "FreqSeparationClass", HFILL }}, - { &hf_nr_rrc_intraBandContiguousCC_InfoDL_List, - { "intraBandContiguousCC-InfoDL-List", "nr-rrc.intraBandContiguousCC_InfoDL_List", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoDL", HFILL }}, - { &hf_nr_rrc_intraBandContiguousCC_InfoDL_List_item, - { "IntraBandContiguousCC-InfoDL", "nr-rrc.IntraBandContiguousCC_InfoDL_element", - FT_NONE, BASE_NONE, NULL, 0, + { &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_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_mimo_CapabilityDL, - { "mimo-CapabilityDL", "nr-rrc.mimo_CapabilityDL", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mimo_CapabilityDL_vals), 0, + { &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_BandCombinationParametersUL_List_item, - { "BandCombinationParametersUL", "nr-rrc.BandCombinationParametersUL", - FT_UINT32, BASE_DEC, NULL, 0, + { &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_BandCombinationParametersUL_item, - { "BandParametersUL", "nr-rrc.BandParametersUL", - FT_UINT32, BASE_DEC, VALS(nr_rrc_BandParametersUL_vals), 0, + { &hf_nr_rrc_simultaneousRxTxInterBandCA, + { "simultaneousRxTxInterBandCA", "nr-rrc.simultaneousRxTxInterBandCA", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxTxInterBandCA_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_bandParametersUL_EUTRA, - { "bandParametersUL-EUTRA", "nr-rrc.bandParametersUL_EUTRA_element", - FT_NONE, BASE_NONE, NULL, 0, + { &hf_nr_rrc_simultaneousRxTxSUL, + { "simultaneousRxTxSUL", "nr-rrc.simultaneousRxTxSUL", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxTxSUL_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_bandParametersUL_NR, - { "bandParametersUL-NR", "nr-rrc.bandParametersUL_NR_element", - FT_NONE, BASE_NONE, NULL, 0, + { &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_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_intraBandContiguousCC_InfoUL_EUTRA_List, - { "intraBandContiguousCC-InfoUL-EUTRA-List", "nr-rrc.intraBandContiguousCC_InfoUL_EUTRA_List", + { &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, - "SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoUL_EUTRA", HFILL }}, - { &hf_nr_rrc_intraBandContiguousCC_InfoUL_EUTRA_List_item, - { "IntraBandContiguousCC-InfoUL-EUTRA", "nr-rrc.IntraBandContiguousCC_InfoUL_EUTRA_element", + "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_ca_BandwidthClassUL, - { "ca-BandwidthClassUL", "nr-rrc.ca_BandwidthClassUL", - FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_CA_BandwidthClassNR_vals_ext, 0, - "CA_BandwidthClassNR", HFILL }}, - { &hf_nr_rrc_intraBandFreqSeparationUL, - { "intraBandFreqSeparationUL", "nr-rrc.intraBandFreqSeparationUL", + { &hf_nr_rrc_intraBandFreqSeparationDL, + { "intraBandFreqSeparationDL", "nr-rrc.intraBandFreqSeparationDL", FT_UINT32, BASE_DEC, VALS(nr_rrc_FreqSeparationClass_vals), 0, "FreqSeparationClass", HFILL }}, - { &hf_nr_rrc_intraBandContiguousCC_InfoUL_List, - { "intraBandContiguousCC-InfoUL-List", "nr-rrc.intraBandContiguousCC_InfoUL_List", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoUL", HFILL }}, - { &hf_nr_rrc_intraBandContiguousCC_InfoUL_List_item, - { "IntraBandContiguousCC-InfoUL", "nr-rrc.IntraBandContiguousCC_InfoUL_element", - FT_NONE, BASE_NONE, NULL, 0, + { &hf_nr_rrc_scalingFactor, + { "scalingFactor", "nr-rrc.scalingFactor", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scalingFactor_vals), 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_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_mimo_CapabilityUL, - { "mimo-CapabilityUL", "nr-rrc.mimo_CapabilityUL", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mimo_CapabilityUL_vals), 0, + { &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_BasebandCombinationParametersUL_List_item, - { "BasebandCombinationParametersUL", "nr-rrc.BasebandCombinationParametersUL", - FT_UINT32, BASE_DEC, NULL, 0, + { &hf_nr_rrc_scellWithoutSSB, + { "scellWithoutSSB", "nr-rrc.scellWithoutSSB", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scellWithoutSSB_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_BasebandCombinationParametersUL_item, - { "BasebandParametersPerBandUL", "nr-rrc.BasebandParametersPerBandUL_element", - FT_NONE, BASE_NONE, NULL, 0, + { &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_freqRange, - { "freqRange", "nr-rrc.freqRange", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_freqRange_vals), 0, + { &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_basebandParametersPerCC_UL, - { "basebandParametersPerCC-UL", "nr-rrc.basebandParametersPerCC_UL", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_UL", HFILL }}, - { &hf_nr_rrc_basebandParametersPerCC_UL_item, - { "BasebandParametersPerCC-UL", "nr-rrc.BasebandParametersPerCC_UL_element", - FT_NONE, BASE_NONE, NULL, 0, + { &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_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_T_supportedBandwidthUL_vals), 0, + { &hf_nr_rrc_pdcchMonitoringAnyOccasions, + { "pdcchMonitoringAnyOccasions", "nr-rrc.pdcchMonitoringAnyOccasions", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcchMonitoringAnyOccasions_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_fr1, - { "fr1", "nr-rrc.fr1", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1_vals), 0, + { &hf_nr_rrc_pdcchMonitoringAnyOccasionsWithSpanGap, + { "pdcchMonitoringAnyOccasionsWithSpanGap", "nr-rrc.pdcchMonitoringAnyOccasionsWithSpanGap", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcchMonitoringAnyOccasionsWithSpanGap_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_fr2, - { "fr2", "nr-rrc.fr2", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr2_vals), 0, + { &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_scalingFactor0dot75, - { "scalingFactor0dot75", "nr-rrc.scalingFactor0dot75", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scalingFactor0dot75_vals), 0, + { &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_supportedModulationOrderUL, - { "supportedModulationOrderUL", "nr-rrc.supportedModulationOrderUL", - FT_UINT32, BASE_DEC, VALS(nr_rrc_ModulationOrder_vals), 0, - "ModulationOrder", 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_srs_TxSwitch, - { "srs-TxSwitch", "nr-rrc.srs_TxSwitch_element", + { &hf_nr_rrc_timeDurationForQCL, + { "timeDurationForQCL", "nr-rrc.timeDurationForQCL_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_lowLatencyCSI_Feedback, - { "lowLatencyCSI-Feedback", "nr-rrc.lowLatencyCSI_Feedback", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lowLatencyCSI_Feedback_vals), 0, + { &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_pusch_DifferentTB_PerSlot, - { "pusch-DifferentTB-PerSlot", "nr-rrc.pusch_DifferentTB_PerSlot_element", + { &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, @@ -31553,156 +32259,188 @@ void proto_register_nr_rrc(void) { { "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, + { &hf_nr_rrc_scs_60kHz_01, { "scs-60kHz", "nr-rrc.scs_60kHz", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_vals), 0, - NULL, HFILL }}, + 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_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_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_crossCarrierScheduling, - { "crossCarrierScheduling", "nr-rrc.crossCarrierScheduling", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierScheduling_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_dynamicSwitchSUL, - { "dynamicSwitchSUL", "nr-rrc.dynamicSwitchSUL", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSwitchSUL_vals), 0, - NULL, HFILL }}, - { &hf_nr_rrc_simultaneousTxSUL_NonSUL, - { "simultaneousTxSUL-NonSUL", "nr-rrc.simultaneousTxSUL_NonSUL", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousTxSUL_NonSUL_vals), 0, + { &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_searchSpaceSharingCA_UL, - { "searchSpaceSharingCA-UL", "nr-rrc.searchSpaceSharingCA_UL", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSharingCA_UL_vals), 0, + { &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_BasebandProcessingCombinationMRDC_item, - { "BasebandProcessingCombinationLink", "nr-rrc.BasebandProcessingCombinationLink_element", + { &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_basebandProcessingCombinationIndexMN, - { "basebandProcessingCombinationIndexMN", "nr-rrc.basebandProcessingCombinationIndexMN", + { &hf_nr_rrc_typeII_CodebookList, + { "typeII-CodebookList", "nr-rrc.typeII_CodebookList", FT_UINT32, BASE_DEC, NULL, 0, - "BasebandProcessingCombinationIndex", HFILL }}, - { &hf_nr_rrc_basebandProcessingCombinationLinkedIndexSN, - { "basebandProcessingCombinationLinkedIndexSN", "nr-rrc.basebandProcessingCombinationLinkedIndexSN", + "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_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex", HFILL }}, - { &hf_nr_rrc_basebandProcessingCombinationLinkedIndexSN_item, - { "BasebandProcessingCombinationIndex", "nr-rrc.BasebandProcessingCombinationIndex", + "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_FreqBandList_item, - { "FreqBandInformation", "nr-rrc.FreqBandInformation", - FT_UINT32, BASE_DEC, VALS(nr_rrc_FreqBandInformation_vals), 0, + { &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_SupportedBasebandProcessingCombination_item, - { "BasebandProcessingCombination", "nr-rrc.BasebandProcessingCombination_element", - FT_NONE, BASE_NONE, NULL, 0, + { &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_basebandParametersDL, - { "basebandParametersDL", "nr-rrc.basebandParametersDL", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBandDL", HFILL }}, - { &hf_nr_rrc_basebandParametersDL_item, - { "BasebandParametersPerBandDL", "nr-rrc.BasebandParametersPerBandDL_element", - FT_NONE, BASE_NONE, NULL, 0, + { &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_basebandParametersUL, - { "basebandParametersUL", "nr-rrc.basebandParametersUL", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_1_maxBasebandProcComb", HFILL }}, - { &hf_nr_rrc_freqRange_01, - { "freqRange", "nr-rrc.freqRange", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_freqRange_01_vals), 0, - "T_freqRange_01", HFILL }}, - { &hf_nr_rrc_basebandParametersPerCC_DL, - { "basebandParametersPerCC-DL", "nr-rrc.basebandParametersPerCC_DL", + { &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, - "SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_DL", HFILL }}, - { &hf_nr_rrc_basebandParametersPerCC_DL_item, - { "BasebandParametersPerCC-DL", "nr-rrc.BasebandParametersPerCC_DL_element", - FT_NONE, BASE_NONE, 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_T_supportedBandwidthDL_vals), 0, - NULL, HFILL }}, - { &hf_nr_rrc_fr1_01, - { "fr1", "nr-rrc.fr1", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1_01_vals), 0, - "T_fr1_01", HFILL }}, - { &hf_nr_rrc_fr2_01, - { "fr2", "nr-rrc.fr2", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr2_01_vals), 0, - "T_fr2_01", HFILL }}, - { &hf_nr_rrc_scalingFactor0dot75_01, - { "scalingFactor0dot75", "nr-rrc.scalingFactor0dot75", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scalingFactor0dot75_01_vals), 0, - "T_scalingFactor0dot75_01", HFILL }}, - { &hf_nr_rrc_timeDurationForQCL, - { "timeDurationForQCL", "nr-rrc.timeDurationForQCL_element", - FT_NONE, BASE_NONE, NULL, 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_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_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, + 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_srs_AssocCSI_RS, - { "srs-AssocCSI-RS", "nr-rrc.srs_AssocCSI_RS", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_AssocCSI_RS_vals), 0, + { &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_type1_3_CSS, - { "type1-3-CSS", "nr-rrc.type1_3_CSS", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_3_CSS_vals), 0, + { &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_pdcchMonitoringAnyOccasions, - { "pdcchMonitoringAnyOccasions", "nr-rrc.pdcchMonitoringAnyOccasions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcchMonitoringAnyOccasions_vals), 0, + { &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_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, + { &hf_nr_rrc_srs_TxSwitch, + { "srs-TxSwitch", "nr-rrc.srs_TxSwitch_element", + FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_pdsch_DifferentTB_PerSlot, - { "pdsch-DifferentTB-PerSlot", "nr-rrc.pdsch_DifferentTB_PerSlot_element", + { &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, @@ -31721,13 +32459,157 @@ void proto_register_nr_rrc(void) { { "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_crossCarrierScheduling_01, - { "crossCarrierScheduling", "nr-rrc.crossCarrierScheduling", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierScheduling_01_vals), 0, - "T_crossCarrierScheduling_01", HFILL }}, - { &hf_nr_rrc_searchSpaceSharingCA_DL, - { "searchSpaceSharingCA-DL", "nr-rrc.searchSpaceSharingCA_DL", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSharingCA_DL_vals), 0, + { &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", @@ -31749,10 +32631,6 @@ void proto_register_nr_rrc(void) { { "rf-ParametersMRDC", "nr-rrc.rf_ParametersMRDC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_phy_ParametersMRDC, - { "phy-ParametersMRDC", "nr-rrc.phy_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, @@ -31773,14 +32651,18 @@ void proto_register_nr_rrc(void) { { "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_06, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_06", HFILL }}, - { &hf_nr_rrc_phy_ParametersMRDC_XDD_Diff, - { "phy-ParametersMRDC-XDD-Diff", "nr-rrc.phy_ParametersMRDC_XDD_Diff_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, { &hf_nr_rrc_measParametersMRDC_XDD_Diff, { "measParametersMRDC-XDD-Diff", "nr-rrc.measParametersMRDC_XDD_Diff_element", FT_NONE, BASE_NONE, NULL, 0, @@ -31789,38 +32671,30 @@ void proto_register_nr_rrc(void) { { "generalParametersMRDC-XDD-Diff", "nr-rrc.generalParametersMRDC_XDD_Diff_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_phy_ParametersMRDC_FRX_Diff, - { "phy-ParametersMRDC-FRX-Diff", "nr-rrc.phy_ParametersMRDC_FRX_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_supportedBandCombination, - { "supportedBandCombination", "nr-rrc.supportedBandCombination", - FT_UINT32, BASE_DEC, NULL, 0, - "BandCombinationList", HFILL }}, - { &hf_nr_rrc_bandCombinationParametersUL_List, - { "bandCombinationParametersUL-List", "nr-rrc.bandCombinationParametersUL_List", - FT_UINT32, BASE_DEC, NULL, 0, + { &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_dynamicPowerSharing, - { "dynamicPowerSharing", "nr-rrc.dynamicPowerSharing", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicPowerSharing_vals), 0, + { &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_tdm_Pattern, - { "tdm-Pattern", "nr-rrc.tdm_Pattern", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tdm_Pattern_vals), 0, + { &hf_nr_rrc_srb3, + { "srb3", "nr-rrc.srb3", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srb3_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_dynamicPowerSharing_01, - { "dynamicPowerSharing", "nr-rrc.dynamicPowerSharing", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicPowerSharing_01_vals), 0, - "T_dynamicPowerSharing_01", HFILL }}, - { &hf_nr_rrc_tdm_Pattern_01, - { "tdm-Pattern", "nr-rrc.tdm_Pattern", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tdm_Pattern_01_vals), 0, - "T_tdm_Pattern_01", 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, @@ -31841,17 +32715,9 @@ void proto_register_nr_rrc(void) { { "simultaneousRxDataSSB-DiffNumerology", "nr-rrc.simultaneousRxDataSSB_DiffNumerology", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_vals), 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, + { &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", @@ -31893,6 +32759,10 @@ void proto_register_nr_rrc(void) { { "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_07, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, @@ -31929,14 +32799,6 @@ void proto_register_nr_rrc(void) { { "phy-ParametersFR2", "nr-rrc.phy_ParametersFR2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_supportedBasebandProcessingCombination, - { "supportedBasebandProcessingCombination", "nr-rrc.supportedBasebandProcessingCombination", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_nr_rrc_basebandCombinationParametersUL_List, - { "basebandCombinationParametersUL-List", "nr-rrc.basebandCombinationParametersUL_List", - FT_UINT32, BASE_DEC, 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, @@ -31961,14 +32823,6 @@ void proto_register_nr_rrc(void) { { "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_multipleCORESET, - { "multipleCORESET", "nr-rrc.multipleCORESET", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleCORESET_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_precoderGranularityCORESET, { "precoderGranularityCORESET", "nr-rrc.precoderGranularityCORESET", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_precoderGranularityCORESET_vals), 0, @@ -32017,26 +32871,14 @@ void proto_register_nr_rrc(void) { { "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_interleavingVRB_ToPRB_PUSCH, - { "interleavingVRB-ToPRB-PUSCH", "nr-rrc.interleavingVRB_ToPRB_PUSCH", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interleavingVRB_ToPRB_PUSCH_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_RepetitionOneSlot, - { "type1-PUSCH-RepetitionOneSlot", "nr-rrc.type1_PUSCH_RepetitionOneSlot", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_PUSCH_RepetitionOneSlot_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_RepetitionOneSlot, - { "type2-PUSCH-RepetitionOneSlot", "nr-rrc.type2_PUSCH_RepetitionOneSlot", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_PUSCH_RepetitionOneSlot_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, @@ -32065,10 +32907,14 @@ void proto_register_nr_rrc(void) { { "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, - { "cbg-TransIndication", "nr-rrc.cbg_TransIndication", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_2", 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, @@ -32085,14 +32931,14 @@ void proto_register_nr_rrc(void) { { "rateMatchingResrcSetDynamic", "nr-rrc.rateMatchingResrcSetDynamic", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatchingResrcSetDynamic_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_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, @@ -32105,6 +32951,10 @@ void proto_register_nr_rrc(void) { { "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, @@ -32137,10 +32987,6 @@ void proto_register_nr_rrc(void) { { "csi-ReportWithoutPMI", "nr-rrc.csi_ReportWithoutPMI", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_ReportWithoutPMI_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_csi_ReportWithCRI, - { "csi-ReportWithCRI", "nr-rrc.csi_ReportWithCRI", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_ReportWithCRI_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, @@ -32233,14 +33079,26 @@ void proto_register_nr_rrc(void) { { "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_oneSymbolGP_TDD, - { "oneSymbolGP-TDD", "nr-rrc.oneSymbolGP_TDD", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneSymbolGP_TDD_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, @@ -32253,15 +33111,23 @@ void proto_register_nr_rrc(void) { { "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, - NULL, HFILL }}, - { &hf_nr_rrc_SupportedBandListNR_item, + "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 }}, @@ -32269,10 +33135,6 @@ void proto_register_nr_rrc(void) { { "modifiedMPR-Behaviour", "nr-rrc.modifiedMPR_Behaviour", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_8", HFILL }}, - { &hf_nr_rrc_maxChannelBW_PerCC, - { "maxChannelBW-PerCC", "nr-rrc.maxChannelBW_PerCC", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxChannelBW_PerCC_vals), 0, - NULL, HFILL }}, { &hf_nr_rrc_mimo_ParametersPerBand, { "mimo-ParametersPerBand", "nr-rrc.mimo_ParametersPerBand_element", FT_NONE, BASE_NONE, NULL, 0, @@ -32281,78 +33143,14 @@ void proto_register_nr_rrc(void) { { "extendedCP", "nr-rrc.extendedCP", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedCP_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_phaseCoherenceUL, - { "phaseCoherenceUL", "nr-rrc.phaseCoherenceUL", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phaseCoherenceUL_vals), 0, - NULL, HFILL }}, - { &hf_nr_rrc_scellWithoutSSB_01, - { "scellWithoutSSB", "nr-rrc.scellWithoutSSB", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scellWithoutSSB_01_vals), 0, - "T_scellWithoutSSB_01", HFILL }}, - { &hf_nr_rrc_csi_RS_MeasSCellWithoutSSB_01, - { "csi-RS-MeasSCellWithoutSSB", "nr-rrc.csi_RS_MeasSCellWithoutSSB", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_MeasSCellWithoutSSB_01_vals), 0, - "T_csi_RS_MeasSCellWithoutSSB_01", HFILL }}, - { &hf_nr_rrc_srs_AssocCSI_RS_01, - { "srs-AssocCSI-RS", "nr-rrc.srs_AssocCSI_RS", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_AssocCSI_RS_01_vals), 0, - "T_srs_AssocCSI_RS_01", HFILL }}, - { &hf_nr_rrc_type1_3_CSS_01, - { "type1-3-CSS", "nr-rrc.type1_3_CSS", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_3_CSS_01_vals), 0, - "T_type1_3_CSS_01", 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_pdcchMonitoringAnyOccasions_01, - { "pdcchMonitoringAnyOccasions", "nr-rrc.pdcchMonitoringAnyOccasions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcchMonitoringAnyOccasions_01_vals), 0, - "T_pdcchMonitoringAnyOccasions_01", HFILL }}, - { &hf_nr_rrc_ue_SpecificUL_DL_Assignment_01, - { "ue-SpecificUL-DL-Assignment", "nr-rrc.ue_SpecificUL_DL_Assignment", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_SpecificUL_DL_Assignment_01_vals), 0, - "T_ue_SpecificUL_DL_Assignment_01", HFILL }}, - { &hf_nr_rrc_pdsch_DifferentTB_PerSlot_01, - { "pdsch-DifferentTB-PerSlot", "nr-rrc.pdsch_DifferentTB_PerSlot_element", - FT_NONE, BASE_NONE, NULL, 0, - "T_pdsch_DifferentTB_PerSlot_01", 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_pusch_DifferentTB_PerSlot_01, - { "pusch-DifferentTB-PerSlot", "nr-rrc.pusch_DifferentTB_PerSlot_element", - FT_NONE, BASE_NONE, NULL, 0, - "T_pusch_DifferentTB_PerSlot_01", 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_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, @@ -32361,38 +33159,14 @@ void proto_register_nr_rrc(void) { { "bwp-DiffNumerology", "nr-rrc.bwp_DiffNumerology", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_DiffNumerology_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_twoPUCCH_Group_01, - { "twoPUCCH-Group", "nr-rrc.twoPUCCH_Group", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_Group_01_vals), 0, - "T_twoPUCCH_Group_01", HFILL }}, - { &hf_nr_rrc_diffNumerologyAcrossPUCCH_Group_01, - { "diffNumerologyAcrossPUCCH-Group", "nr-rrc.diffNumerologyAcrossPUCCH_Group", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffNumerologyAcrossPUCCH_Group_01_vals), 0, - "T_diffNumerologyAcrossPUCCH_Group_01", HFILL }}, - { &hf_nr_rrc_diffNumerologyWithinPUCCH_Group_01, - { "diffNumerologyWithinPUCCH-Group", "nr-rrc.diffNumerologyWithinPUCCH_Group", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffNumerologyWithinPUCCH_Group_01_vals), 0, - "T_diffNumerologyWithinPUCCH_Group_01", HFILL }}, - { &hf_nr_rrc_crossCarrierScheduling_02, - { "crossCarrierScheduling", "nr-rrc.crossCarrierScheduling", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierScheduling_02_vals), 0, - "T_crossCarrierScheduling_02", HFILL }}, - { &hf_nr_rrc_supportedNumberTAG_01, - { "supportedNumberTAG", "nr-rrc.supportedNumberTAG", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedNumberTAG_01_vals), 0, - "T_supportedNumberTAG_01", HFILL }}, - { &hf_nr_rrc_simultaneousTxSUL_NonSUL_01, - { "simultaneousTxSUL-NonSUL", "nr-rrc.simultaneousTxSUL_NonSUL", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousTxSUL_NonSUL_01_vals), 0, - "T_simultaneousTxSUL_NonSUL_01", HFILL }}, - { &hf_nr_rrc_searchSpaceSharingCA_DL_01, - { "searchSpaceSharingCA-DL", "nr-rrc.searchSpaceSharingCA_DL", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSharingCA_DL_01_vals), 0, - "T_searchSpaceSharingCA_DL_01", HFILL }}, - { &hf_nr_rrc_searchSpaceSharingCA_UL_01, - { "searchSpaceSharingCA-UL", "nr-rrc.searchSpaceSharingCA_UL", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSharingCA_UL_01_vals), 0, - "T_searchSpaceSharingCA_UL_01", 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, @@ -32401,25 +33175,29 @@ void proto_register_nr_rrc(void) { { "pusch-256QAM", "nr-rrc.pusch_256QAM", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_256QAM_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_timeDurationForQCL_01, - { "timeDurationForQCL", "nr-rrc.timeDurationForQCL_element", + { &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, - "T_timeDurationForQCL_01", HFILL }}, - { &hf_nr_rrc_scs_60kHz_06, - { "scs-60kHz", "nr-rrc.scs_60kHz", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_06_vals), 0, - "T_scs_60kHz_06", HFILL }}, - { &hf_nr_rrc_sch_120kHz_01, - { "sch-120kHz", "nr-rrc.sch_120kHz", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sch_120kHz_01_vals), 0, - "T_sch_120kHz_01", HFILL }}, - { &hf_nr_rrc_maxNumberConfiguredTCIstates, - { "maxNumberConfiguredTCIstates", "nr-rrc.maxNumberConfiguredTCIstates", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberConfiguredTCIstates_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_maxNumberActiveTCI_PerCC, - { "maxNumberActiveTCI-PerCC", "nr-rrc.maxNumberActiveTCI_PerCC", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberActiveTCI_PerCC_vals), 0, + { &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", @@ -32457,22 +33235,22 @@ void proto_register_nr_rrc(void) { { "maxNumberRxTxBeamSwitchDL", "nr-rrc.maxNumberRxTxBeamSwitchDL_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_scs_15kHz_04, + { &hf_nr_rrc_scs_15kHz_02, { "scs-15kHz", "nr-rrc.scs_15kHz", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_04_vals), 0, - "T_scs_15kHz_04", HFILL }}, - { &hf_nr_rrc_scs_30kHz_04, + 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_04_vals), 0, - "T_scs_30kHz_04", HFILL }}, - { &hf_nr_rrc_scs_60kHz_07, + 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_07_vals), 0, - "T_scs_60kHz_07", HFILL }}, - { &hf_nr_rrc_scs_120kHz_04, + 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_04_vals), 0, - "T_scs_120kHz_04", HFILL }}, + 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, @@ -32489,7 +33267,7 @@ void proto_register_nr_rrc(void) { { "uplinkBeamManagement", "nr-rrc.uplinkBeamManagement_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_maxNumberSRS_ResourcePerSet, + { &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 }}, @@ -32509,18 +33287,86 @@ void proto_register_nr_rrc(void) { { "maxNumberCSI-RS-SSB-BFR", "nr-rrc.maxNumberCSI_RS_SSB_BFR", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, - { &hf_nr_rrc_twoPortsPTRS, - { "twoPortsPTRS", "nr-rrc.twoPortsPTRS", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_2", 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_lowLatencyCSI_Feedback_01, - { "lowLatencyCSI-Feedback", "nr-rrc.lowLatencyCSI_Feedback", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lowLatencyCSI_Feedback_01_vals), 0, - "T_lowLatencyCSI_Feedback_01", 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, @@ -32533,6 +33379,62 @@ void proto_register_nr_rrc(void) { { "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, @@ -32556,7 +33458,7 @@ void proto_register_nr_rrc(void) { { &hf_nr_rrc_maxNumberSP_SRS_PerBWP_PerSlot, { "maxNumberSP-SRS-PerBWP-PerSlot", "nr-rrc.maxNumberSP_SRS_PerBWP_PerSlot", FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_6", HFILL }}, + "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, @@ -32591,8 +33493,8 @@ void proto_register_nr_rrc(void) { NULL, HFILL }}, { &hf_nr_rrc_outOfOrderDelivery_01, { "outOfOrderDelivery", "nr-rrc.outOfOrderDelivery", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_outOfOrderDelivery_vals), 0, - NULL, HFILL }}, + 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, @@ -32641,10 +33543,18 @@ void proto_register_nr_rrc(void) { { "multipleSR-Configurations", "nr-rrc.multipleSR_Configurations", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleSR_Configurations_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_multipleConfiguredGrantConfigurations, - { "multipleConfiguredGrantConfigurations", "nr-rrc.multipleConfiguredGrantConfigurations", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleConfiguredGrantConfigurations_vals), 0, + { &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, @@ -32696,12 +33606,12 @@ void proto_register_nr_rrc(void) { &ett_nr_rrc_T_powerCoordination_FR1, &ett_nr_rrc_T_servCellIndexRangeSCG, &ett_nr_rrc_BandCombinationIndexList, - &ett_nr_rrc_BPC_IndexList, &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_01, &ett_nr_rrc_T_c1_01, @@ -32710,13 +33620,7 @@ void proto_register_nr_rrc(void) { &ett_nr_rrc_T_nonCriticalExtension_01, &ett_nr_rrc_MeasTimingList, &ett_nr_rrc_MeasTiming, - &ett_nr_rrc_CandidateCellInfoList, - &ett_nr_rrc_CandidateCellInfo, - &ett_nr_rrc_T_cellIdentification, - &ett_nr_rrc_CandidateRS_IndexInfoListSSB, - &ett_nr_rrc_CandidateRS_IndexInfoSSB, - &ett_nr_rrc_CandidateRS_IndexInfoListCSI_RS, - &ett_nr_rrc_CandidateRS_IndexInfoCSI_RS, + &ett_nr_rrc_T_frequencyAndTiming, &ett_nr_rrc_BCCH_BCH_Message, &ett_nr_rrc_BCCH_BCH_MessageType, &ett_nr_rrc_T_messageClassExtension, @@ -32774,14 +33678,12 @@ void proto_register_nr_rrc(void) { &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_Bearer_Config, + &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_RLC_Bearer_Config, - &ett_nr_rrc_T_servedRadioBearer, - &ett_nr_rrc_PhysicalCellGroupConfig, &ett_nr_rrc_SpCellConfig, &ett_nr_rrc_T_rlf_TimersAndConstants, &ett_nr_rrc_ReconfigurationWithSync, @@ -32867,19 +33769,19 @@ void proto_register_nr_rrc(void) { &ett_nr_rrc_PUCCH_CSI_Resource, &ett_nr_rrc_PortIndexFor8Ranks, &ett_nr_rrc_T_portIndex8, - &ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PortIndex8, - &ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_PortIndex8, - &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_PortIndex8, - &ett_nr_rrc_SEQUENCE_SIZE_1_5_OF_PortIndex8, - &ett_nr_rrc_SEQUENCE_SIZE_1_6_OF_PortIndex8, - &ett_nr_rrc_SEQUENCE_SIZE_1_7_OF_PortIndex8, - &ett_nr_rrc_SEQUENCE_SIZE_1_8_OF_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_1_2_OF_PortIndex4, - &ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_PortIndex4, - &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_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_1_2_OF_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, @@ -32887,9 +33789,18 @@ void proto_register_nr_rrc(void) { &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_ResourceMapping, + &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_T_density, + &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, @@ -32898,9 +33809,9 @@ void proto_register_nr_rrc(void) { &ett_nr_rrc_T_phaseTrackingRS, &ett_nr_rrc_DMRS_UplinkConfig, &ett_nr_rrc_T_phaseTrackingRS_01, - &ett_nr_rrc_T_transformPrecoding, - &ett_nr_rrc_T_disabled_01, - &ett_nr_rrc_T_enabled, + &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, @@ -32918,7 +33829,6 @@ void proto_register_nr_rrc(void) { &ett_nr_rrc_MAC_CellGroupConfig, &ett_nr_rrc_T_drx_Config, &ett_nr_rrc_T_phr_Config, - &ett_nr_rrc_T_cs_RNTI, &ett_nr_rrc_DRX_Config, &ett_nr_rrc_T_drx_onDurationTimer, &ett_nr_rrc_T_drx_LongCycleStartOffset_01, @@ -32926,8 +33836,8 @@ void proto_register_nr_rrc(void) { &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_ToAddMod, - &ett_nr_rrc_TAG_ToAddMod, + &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, @@ -32937,44 +33847,28 @@ void proto_register_nr_rrc(void) { &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_T_smtc1, - &ett_nr_rrc_T_periodicityAndOffset, - &ett_nr_rrc_T_smtc2, - &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId, - &ett_nr_rrc_T_ss_RSSI_Measurement, - &ett_nr_rrc_T_measurementSlots, - &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_01, &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_BlackCellsToAddModList, - &ett_nr_rrc_BlackCellsToAddMod, - &ett_nr_rrc_WhiteCellsToAddModList, - &ett_nr_rrc_WhiteCellsToAddMod, &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_MeasResultServFreqList, - &ett_nr_rrc_MeasResultServFreq, + &ett_nr_rrc_MeasResultServMOList, + &ett_nr_rrc_MeasResultServMO, &ett_nr_rrc_MeasResultListNR, &ett_nr_rrc_MeasResultNR, &ett_nr_rrc_T_measResult, @@ -32986,18 +33880,17 @@ void proto_register_nr_rrc(void) { &ett_nr_rrc_ResultsPerCSI_RS_IndexList, &ett_nr_rrc_ResultsPerCSI_RS_Index, &ett_nr_rrc_MeasResultSCG_Failure, - &ett_nr_rrc_MeasResultServFreqList2NR, - &ett_nr_rrc_MeasResultServFreq2NR, &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_NZP_CSI_RS_Resource, &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, @@ -33005,12 +33898,13 @@ void proto_register_nr_rrc(void) { &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_slotFormatIndicator, &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_2_OF_ControlResourceSet, &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, @@ -33025,25 +33919,30 @@ void proto_register_nr_rrc(void) { &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_SEQUENCE_SIZE_1_maxNrofDL_Allocations_OF_PDSCH_TimeDomainResourceAllocation, + &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_static, - &ett_nr_rrc_T_dynamic, + &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_Sets_OF_ZP_CSI_RS_ResourceSet, - &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Sets_OF_ZP_CSI_RS_ResourceSetId, + &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_T_epre_RatioPort2, &ett_nr_rrc_PTRS_UplinkConfig, &ett_nr_rrc_T_modeSpecificParameters, &ett_nr_rrc_T_cp_OFDM, @@ -33069,8 +33968,9 @@ void proto_register_nr_rrc(void) { &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_8_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId, + &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, @@ -33090,7 +33990,7 @@ void proto_register_nr_rrc(void) { &ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA, &ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB, &ett_nr_rrc_T_frequencyHoppingOffsetLists, - &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofUL_Allocations_OF_PUSCH_TimeDomainResourceAllocation, + &ett_nr_rrc_T_pusch_TimeDomainAllocationList, &ett_nr_rrc_T_uci_OnPUSCH_01, &ett_nr_rrc_UCI_OnPUSCH, &ett_nr_rrc_T_betaOffsets, @@ -33109,11 +34009,12 @@ void proto_register_nr_rrc(void) { &ett_nr_rrc_BetaOffsets, &ett_nr_rrc_PUSCH_ServingCellConfig, &ett_nr_rrc_T_codeBlockGroupTransmission_01, - &ett_nr_rrc_PUSCH_CodeBlockGroupGransmission, + &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_QuantityConfigNR_List, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR, &ett_nr_rrc_QuantityConfigNR, &ett_nr_rrc_QuantityConfigRS, &ett_nr_rrc_FilterConfig, @@ -33123,14 +34024,17 @@ void proto_register_nr_rrc(void) { &ett_nr_rrc_T_prach_RootSequenceIndex, &ett_nr_rrc_RACH_ConfigGeneric, &ett_nr_rrc_RACH_ConfigDedicated, - &ett_nr_rrc_CFRA_Resources, + &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, + &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, @@ -33141,6 +34045,7 @@ void proto_register_nr_rrc(void) { &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, @@ -33166,6 +34071,8 @@ void proto_register_nr_rrc(void) { &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, @@ -33181,7 +34088,7 @@ void proto_register_nr_rrc(void) { &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId, &ett_nr_rrc_SchedulingRequestToAddMod, &ett_nr_rrc_SchedulingRequestResourceConfig, - &ett_nr_rrc_T_periodicityAndOffset_01, + &ett_nr_rrc_T_periodicityAndOffset, &ett_nr_rrc_SCS_SpecificCarrier, &ett_nr_rrc_SDAP_Config, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI, @@ -33201,16 +34108,16 @@ void proto_register_nr_rrc(void) { &ett_nr_rrc_ServingCellConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink, + &ett_nr_rrc_T_pdcch_ServingCellConfig, &ett_nr_rrc_T_pdsch_ServingCellConfig, &ett_nr_rrc_T_csi_MeasConfig, - &ett_nr_rrc_T_carrierSwitching, &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_UplinkConfigCommon, &ett_nr_rrc_SlotFormatCombinationsPerCell, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination, &ett_nr_rrc_SlotFormatCombination, @@ -33218,10 +34125,11 @@ void proto_register_nr_rrc(void) { &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_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId, - &ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet, + &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, @@ -33241,88 +34149,94 @@ void proto_register_nr_rrc(void) { &ett_nr_rrc_T_aperiodic_02, &ett_nr_rrc_T_semi_persistent_01, &ett_nr_rrc_T_periodic_02, - &ett_nr_rrc_T_spatialRelationInfo, + &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_SlotFormatCombinationsPerCell, &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_03, + &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_maxBandComb_OF_BandCombinationParameters, - &ett_nr_rrc_BandAndDL_ParametersList, - &ett_nr_rrc_BandAndDL_Parameters, - &ett_nr_rrc_BandCombinationParameters, + &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_MRDC_Parameters, - &ett_nr_rrc_BandAndDL_ParametersEUTRA, - &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoDL_EUTRA, - &ett_nr_rrc_BandAndDL_ParametersNR, - &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoDL, - &ett_nr_rrc_IntraBandContiguousCC_InfoDL, - &ett_nr_rrc_IntraBandContiguousCC_InfoDL_EUTRA, - &ett_nr_rrc_BandCombinationParametersUL_List, - &ett_nr_rrc_BandCombinationParametersUL, - &ett_nr_rrc_BandParametersUL, - &ett_nr_rrc_BandParametersUL_EUTRA, - &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsEUTRA_OF_IntraBandContiguousCC_InfoUL_EUTRA, - &ett_nr_rrc_BandParametersUL_NR, - &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_IntraBandContiguousCC_InfoUL, - &ett_nr_rrc_IntraBandContiguousCC_InfoUL, - &ett_nr_rrc_IntraBandContiguousCC_InfoUL_EUTRA, - &ett_nr_rrc_BasebandCombinationParametersUL_List, - &ett_nr_rrc_BasebandCombinationParametersUL, - &ett_nr_rrc_BasebandParametersPerBandUL, - &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_UL, - &ett_nr_rrc_BasebandParametersPerCC_UL, - &ett_nr_rrc_T_supportedBandwidthUL, + &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_BasebandProcessingCombinationMRDC, - &ett_nr_rrc_BasebandProcessingCombinationLink, - &ett_nr_rrc_SEQUENCE_SIZE_1_maxBasebandProcComb_OF_BasebandProcessingCombinationIndex, + &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_SupportedBasebandProcessingCombination, - &ett_nr_rrc_BasebandProcessingCombination, - &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BasebandParametersPerBandDL, - &ett_nr_rrc_BasebandParametersPerBandDL, - &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_BasebandParametersPerCC_DL, - &ett_nr_rrc_BasebandParametersPerCC_DL, - &ett_nr_rrc_T_supportedBandwidthDL, - &ett_nr_rrc_T_timeDurationForQCL, - &ett_nr_rrc_T_pdsch_DifferentTB_PerSlot, + &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_06, &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_Phy_ParametersMRDC, - &ett_nr_rrc_Phy_ParametersMRDC_XDD_Diff, - &ett_nr_rrc_Phy_ParametersMRDC_FRX_Diff, &ett_nr_rrc_MeasParametersMRDC, &ett_nr_rrc_MeasParametersMRDC_Common, &ett_nr_rrc_MeasParametersMRDC_XDD_Diff, &ett_nr_rrc_MeasParametersMRDC_FRX_Diff, - &ett_nr_rrc_GeneralParametersMRDC_XDD_Diff, &ett_nr_rrc_UE_NR_Capability, &ett_nr_rrc_T_nonCriticalExtension_07, &ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode, @@ -33334,15 +34248,19 @@ void proto_register_nr_rrc(void) { &ett_nr_rrc_Phy_ParametersFR1, &ett_nr_rrc_Phy_ParametersFR2, &ett_nr_rrc_RF_Parameters, - &ett_nr_rrc_SupportedBandListNR, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR, &ett_nr_rrc_BandNR, - &ett_nr_rrc_T_pdsch_DifferentTB_PerSlot_01, - &ett_nr_rrc_T_pusch_DifferentTB_PerSlot_01, &ett_nr_rrc_MIMO_ParametersPerBand, - &ett_nr_rrc_T_timeDurationForQCL_01, + &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, @@ -33352,6 +34270,7 @@ void proto_register_nr_rrc(void) { &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, |