aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2018-10-04 17:53:19 +0200
committerPascal Quantin <pascal.quantin@gmail.com>2018-10-05 13:31:31 +0000
commita3e18c180746188f10389c87282a54a0e22c46d1 (patch)
tree3eb3fa9bdff05443b3bb4aafbbcb8fd84bd67d7b
parent7c890e3307aac34ecf394e67cec7a29d1f1e364d (diff)
NR RRC: upgrade dissector to v15.3.0
Change-Id: Ie43e784b3bcfe391e2c8fca898ac20ec111f3484 Reviewed-on: https://code.wireshark.org/review/30019 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
-rw-r--r--epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn513
-rw-r--r--epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn7928
-rw-r--r--epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn98
-rw-r--r--epan/dissectors/asn1/nr-rrc/nr-rrc.cnf666
-rw-r--r--epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c465
-rw-r--r--epan/dissectors/packet-nr-rrc.c27069
6 files changed, 26928 insertions, 9811 deletions
diff --git a/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn b/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn
index 3c8400bbd7..beb7efff8e 100644
--- a/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn
+++ b/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn
@@ -1,283 +1,386 @@
--- 3GPP TS 38.331 V15.2.0 (2018-06)
+-- 3GPP TS 38.331 V15.3.0 (2018-09)
NR-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
- ARFCN-ValueNR,
- CellIdentity,
- CSI-RS-Index,
- GapConfig,
- maxBandComb,
- maxNrofSCells,
- maxNrofServingCells-1,
- maxNrofIndexesToReport,
- MeasQuantityResults,
- MeasResultList2NR,
- MeasResultSCG-Failure,
- MeasResultCellListSFTD,
- P-Max,
- PhysCellId,
- RadioBearerConfig,
- RRCReconfiguration,
- ServCellIndex,
--- SetupRelease,
- SSB-Index,
- SSB-MTC,
- ShortMAC-I,
- UE-CapabilityRAT-ContainerList
+ ARFCN-ValueNR,
+ ARFCN-ValueEUTRA,
+ CellIdentity,
+ CSI-RS-Index,
+ FreqBandIndicatorNR,
+ GapConfig,
+ maxBandComb,
+ maxBands,
+ maxFeatureSetsPerBand,
+ maxFreqIDC-MRDC,
+ maxNrofCombIDC,
+ maxNrofSCells,
+ maxNrofServingCells,
+ maxNrofServingCells-1,
+ maxNrofServingCellsEUTRA,
+ maxNrofIndexesToReport,
+ MeasQuantityResults,
+ MeasResultSCG-Failure,
+ MeasResultCellListSFTD,
+ MeasResultList2NR,
+ P-Max,
+ PhysCellId,
+ RadioBearerConfig,
+ RAN-NotificationAreaInfo,
+ RRCReconfiguration,
+ ServCellIndex,
+ SetupRelease,
+ SSB-Index,
+ SSB-MTC,
+ SS-RSSI-Measurement,
+ ShortMAC-I,
+ SubcarrierSpacing,
+ UE-CapabilityRAT-ContainerList
FROM NR-RRC-Definitions;
-- TAG_NR-INTER-NODE-DEFINITIONS-STOP
-- TAG-HANDOVER-COMMAND-START
-HandoverCommand ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE{
- handoverCommand HandoverCommand-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
+HandoverCommand ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ handoverCommand HandoverCommand-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
}
-HandoverCommand-IEs ::= SEQUENCE {
- handoverCommandMessage OCTET STRING (CONTAINING RRCReconfiguration),
- nonCriticalExtension SEQUENCE {} OPTIONAL
+HandoverCommand-IEs ::= SEQUENCE {
+ handoverCommandMessage OCTET STRING (CONTAINING RRCReconfiguration),
+ nonCriticalExtension SEQUENCE {} OPTIONAL
}
-- TAG-HANDOVER-COMMAND-STOP
-- TAG-HANDOVER-PREPARATION-INFORMATION-START
-HandoverPreparationInformation ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE{
- handoverPreparationInformation HandoverPreparationInformation-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
+HandoverPreparationInformation ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ handoverPreparationInformation HandoverPreparationInformation-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
}
HandoverPreparationInformation-IEs ::= SEQUENCE {
- ue-CapabilityRAT-List UE-CapabilityRAT-ContainerList,
- sourceConfig OCTET STRING (CONTAINING RRCReconfiguration),
- rrm-Config RRM-Config OPTIONAL,
- as-Context AS-Context OPTIONAL,
- nonCriticalExtension SEQUENCE {} OPTIONAL
+ ue-CapabilityRAT-List UE-CapabilityRAT-ContainerList,
+ sourceConfig AS-Config OPTIONAL, -- Cond HO
+ rrm-Config RRM-Config OPTIONAL,
+ as-Context AS-Context OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
}
-AS-Context ::= SEQUENCE {
- reestablishmentInfo SEQUENCE {
- sourcePhysCellId PhysCellId,
- targetCellShortMAC-I ShortMAC-I,
- additionalReestabInfoList ReestabNCellInfoList OPTIONAL
- } OPTIONAL,
- -- FFS Whether to change e.g. move all re-establishment info to Xx
- configRestrictInfo ConfigRestrictInfoSCG OPTIONAL,
- ...
+AS-Config ::= SEQUENCE {
+ rrcReconfiguration OCTET STRING (CONTAINING RRCReconfiguration),
+ ...
}
-ReestabNCellInfoList ::= SEQUENCE ( SIZE (1..maxCellPrep) ) OF ReestabNCellInfo
+AS-Context ::= SEQUENCE {
+ reestablishmentInfo ReestablishmentInfo OPTIONAL,
+ configRestrictInfo ConfigRestrictInfoSCG OPTIONAL,
+ ...,
+ [[ ran-NotificationAreaInfo RAN-NotificationAreaInfo OPTIONAL
+ ]]
+}
+
+ReestablishmentInfo ::= SEQUENCE {
+ sourcePhysCellId PhysCellId,
+ targetCellShortMAC-I ShortMAC-I,
+ additionalReestabInfoList ReestabNCellInfoList OPTIONAL
+}
+
+ReestabNCellInfoList ::= SEQUENCE ( SIZE (1..maxCellPrep) ) OF ReestabNCellInfo
ReestabNCellInfo::= SEQUENCE{
- cellIdentity CellIdentity,
- key-gNodeB-Star BIT STRING (SIZE (256)),
- shortMAC-I ShortMAC-I
-}
-
-RRM-Config ::= SEQUENCE {
- ue-InactiveTime ENUMERATED {
- s1, s2, s3, s5, s7, s10, s15, s20,
- s25, s30, s40, s50, min1, min1s20c, min1s40,
- min2, min2s30, min3, min3s30, min4, min5, min6,
- min7, min8, min9, min10, min12, min14, min17, min20,
- min24, min28, min33, min38, min44, min50, hr1,
- hr1min30, hr2, hr2min30, hr3, hr3min30, hr4, hr5, hr6,
- hr8, hr10, hr13, hr16, hr20, day1, day1hr12, day2,
- day2hr12, day3, day4, day5, day7, day10, day14, day19,
- day24, day30, dayMoreThan30} OPTIONAL ,
- candidateCellInfoList MeasResultList2NR OPTIONAL,
- ...
+ cellIdentity CellIdentity,
+ key-gNodeB-Star BIT STRING (SIZE (256)),
+ shortMAC-I ShortMAC-I
+}
+
+RRM-Config ::= SEQUENCE {
+ ue-InactiveTime ENUMERATED {
+ s1, s2, s3, s5, s7, s10, s15, s20,
+ s25, s30, s40, s50, min1, min1s20c, min1s40,
+ min2, min2s30, min3, min3s30, min4, min5, min6,
+ min7, min8, min9, min10, min12, min14, min17, min20,
+ min24, min28, min33, min38, min44, min50, hr1,
+ hr1min30, hr2, hr2min30, hr3, hr3min30, hr4, hr5, hr6,
+ hr8, hr10, hr13, hr16, hr20, day1, day1hr12, day2,
+ day2hr12, day3, day4, day5, day7, day10, day14, day19,
+ day24, day30, dayMoreThan30} OPTIONAL,
+ candidateCellInfoList MeasResultList2NR OPTIONAL,
+ ...
}
-- TAG-HANDOVER-PREPARATION-INFORMATION-STOP
-- TAG-CG-CONFIG-START
-CG-Config ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE{
- cg-Config CG-Config-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
+CG-Config ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ cg-Config CG-Config-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
}
-CG-Config-IEs ::= SEQUENCE {
- scg-CellGroupConfig OCTET STRING (CONTAINING RRCReconfiguration) OPTIONAL,
- scg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL,
- configRestrictModReq ConfigRestrictModReqSCG OPTIONAL,
- drx-InfoSCG DRX-Info OPTIONAL,
- candidateCellInfoListSN OCTET STRING (CONTAINING MeasResultList2NR) OPTIONAL,
- measConfigSN MeasConfigSN OPTIONAL,
- selectedBandCombinationNR BandCombinationIndex OPTIONAL,
- fr-InfoListSCG FR-InfoList OPTIONAL,
- nonCriticalExtension SEQUENCE {} OPTIONAL
+CG-Config-IEs ::= SEQUENCE {
+ scg-CellGroupConfig OCTET STRING (CONTAINING RRCReconfiguration) OPTIONAL,
+ scg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL,
+ configRestrictModReq ConfigRestrictModReqSCG OPTIONAL,
+ drx-InfoSCG DRX-Info OPTIONAL,
+ candidateCellInfoListSN OCTET STRING (CONTAINING MeasResultList2NR) OPTIONAL,
+ measConfigSN MeasConfigSN OPTIONAL,
+ selectedBandCombinationNR BandCombinationInfoSN OPTIONAL,
+ fr-InfoListSCG FR-InfoList OPTIONAL,
+ candidateServingFreqListNR CandidateServingFreqListNR OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
}
MeasConfigSN ::= SEQUENCE {
- measuredFrequenciesSN SEQUENCE (SIZE (1.. maxMeasFreqsSN)) OF NR-FreqInfo OPTIONAL,
- ...
+ measuredFrequenciesSN SEQUENCE (SIZE (1..maxMeasFreqsSN)) OF NR-FreqInfo OPTIONAL,
+ ...
}
NR-FreqInfo ::= SEQUENCE {
- measuredFrequency ARFCN-ValueNR OPTIONAL,
- ...
+ measuredFrequency ARFCN-ValueNR OPTIONAL,
+ ...
}
-ConfigRestrictModReqSCG ::= SEQUENCE {
- requestedBC-MRDC BandCombinationIndex OPTIONAL,
- requestedP-MaxFR1 P-Max OPTIONAL,
- ...
+ConfigRestrictModReqSCG ::= SEQUENCE {
+ requestedBC-MRDC BandCombinationInfoSN OPTIONAL,
+ requestedP-MaxFR1 P-Max OPTIONAL,
+ ...
}
BandCombinationIndex ::= INTEGER (1..maxBandComb)
+BandCombinationInfoSN ::= SEQUENCE {
+ bandCombinationIndex BandCombinationIndex,
+ requestedFeatureSets FeatureSetEntryIndex
+}
+
FR-InfoList ::= SEQUENCE (SIZE (1..maxNrofServingCells-1)) OF FR-Info
FR-Info ::= SEQUENCE {
- servCellIndex ServCellIndex,
- fr-Type ENUMERATED {fr1, fr2}
+ servCellIndex ServCellIndex,
+ fr-Type ENUMERATED {fr1, fr2}
}
+CandidateServingFreqListNR ::= SEQUENCE (SIZE (1.. maxFreqIDC-MRDC)) OF ARFCN-ValueNR
+
+
-- TAG-CG-CONFIG-STOP
-- TAG-CG-CONFIG-INFO-START
-CG-ConfigInfo ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE{
- cg-ConfigInfo CG-ConfigInfo-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-CG-ConfigInfo-IEs ::= SEQUENCE {
- ue-CapabilityInfo OCTET STRING (CONTAINING UE-CapabilityRAT-ContainerList) OPTIONAL,-- Cond SN-Addition
- candidateCellInfoListMN MeasResultList2NR OPTIONAL,
- candidateCellInfoListSN OCTET STRING (CONTAINING MeasResultList2NR) OPTIONAL,
- measResultCellListSFTD MeasResultCellListSFTD OPTIONAL,
- scgFailureInfo SEQUENCE {
- failureType ENUMERATED { t310-Expiry, randomAccessProblem,
- rlc-MaxNumRetx, scg-ChangeFailure,
- scg-reconfigFailure,
- srb3-IntegrityFailure},
- measResultSCG OCTET STRING (CONTAINING MeasResultSCG-Failure)
- } OPTIONAL,
- configRestrictInfo ConfigRestrictInfoSCG OPTIONAL,
- drx-InfoMCG DRX-Info OPTIONAL,
- measConfigMN MeasConfigMN OPTIONAL,
- sourceConfigSCG OCTET STRING (CONTAINING RRCReconfiguration) OPTIONAL,
- scg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL,
- mcg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL,
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-ConfigRestrictInfoSCG ::= SEQUENCE {
- allowedBC-ListMRDC BandCombinationIndexList OPTIONAL,
- powerCoordination-FR1 SEQUENCE {
- p-maxNR P-Max OPTIONAL,
- p-maxEUTRA P-Max OPTIONAL
- } OPTIONAL,
- servCellIndexRangeSCG SEQUENCE {
- lowBound ServCellIndex,
- upBound ServCellIndex
- } OPTIONAL, -- Cond SN-Addition
- maxMeasFreqsSCG-NR INTEGER(1..maxMeasFreqsMN) OPTIONAL,
- maxMeasIdentitiesSCG-NR INTEGER(1..maxMeasIdentitiesMN) OPTIONAL,
- ...
-}
-
-BandCombinationIndexList ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationIndex
-
-DRX-Info ::= SEQUENCE {
- 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)
- },
- shortDRX SEQUENCE {
- drx-ShortCycle ENUMERATED {
- ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32,
- 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
+CG-ConfigInfo ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ cg-ConfigInfo CG-ConfigInfo-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+CG-ConfigInfo-IEs ::= SEQUENCE {
+ ue-CapabilityInfo OCTET STRING (CONTAINING UE-CapabilityRAT-ContainerList) OPTIONAL,-- Cond SN-Addition
+ candidateCellInfoListMN MeasResultList2NR OPTIONAL,
+ candidateCellInfoListSN OCTET STRING (CONTAINING MeasResultList2NR) OPTIONAL,
+ measResultCellListSFTD MeasResultCellListSFTD OPTIONAL,
+ scgFailureInfo SEQUENCE {
+ failureType ENUMERATED { t310-Expiry, randomAccessProblem,
+ rlc-MaxNumRetx, scg-ChangeFailure,
+ scg-reconfigFailure,
+ srb3-IntegrityFailure},
+ measResultSCG OCTET STRING (CONTAINING MeasResultSCG-Failure)
+ } OPTIONAL,
+ configRestrictInfo ConfigRestrictInfoSCG OPTIONAL,
+ drx-InfoMCG DRX-Info OPTIONAL,
+ measConfigMN MeasConfigMN OPTIONAL,
+ sourceConfigSCG OCTET STRING (CONTAINING RRCReconfiguration) OPTIONAL,
+ scg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL,
+ mcg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL,
+ mrdc-AssistanceInfo MRDC-AssistanceInfo OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+ConfigRestrictInfoSCG ::= SEQUENCE {
+ allowedBC-ListMRDC BandCombinationInfoList OPTIONAL,
+ powerCoordination-FR1 SEQUENCE {
+ p-maxNR-FR1 P-Max OPTIONAL,
+ p-maxEUTRA P-Max OPTIONAL,
+ p-maxUE-FR1 P-Max OPTIONAL
+ } OPTIONAL,
+ servCellIndexRangeSCG SEQUENCE {
+ lowBound ServCellIndex,
+ upBound ServCellIndex
+ } OPTIONAL, -- Cond SN-Addition
+ maxMeasFreqsSCG-NR INTEGER(1..maxMeasFreqsMN) OPTIONAL,
+ maxMeasIdentitiesSCG-NR INTEGER(1..maxMeasIdentitiesMN) OPTIONAL,
+ ...
+}
+
+BandCombinationInfoList ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationInfo
+
+BandCombinationInfo ::= SEQUENCE {
+ bandCombinationIndex BandCombinationIndex,
+ allowedFeatureSetsList SEQUENCE (SIZE (1..maxFeatureSetsPerBand)) OF FeatureSetEntryIndex
+}
+
+FeatureSetEntryIndex ::= INTEGER (1.. maxFeatureSetsPerBand)
+
+DRX-Info ::= SEQUENCE {
+ 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)
+ },
+ shortDRX SEQUENCE {
+ drx-ShortCycle ENUMERATED {
+ ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32,
+ 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
}
MeasConfigMN ::= SEQUENCE {
- measuredFrequenciesMN SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF NR-FreqInfo OPTIONAL,
- measGapConfig CHOICE { release NULL, setup GapConfig } OPTIONAL,
- gapPurpose ENUMERATED {perUE, perFR1} OPTIONAL,
- ...
+ measuredFrequenciesMN SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF NR-FreqInfo OPTIONAL,
+ measGapConfig CHOICE { release NULL, setup GapConfig } OPTIONAL,
+ gapPurpose ENUMERATED {perUE, perFR1} OPTIONAL,
+ ...
}
+MRDC-AssistanceInfo ::= SEQUENCE {
+ affectedCarrierFreqCombInfoListMRDC SEQUENCE (SIZE (1..maxNrofCombIDC)) OF AffectedCarrierFreqCombInfoMRDC,
+ ...
+}
+
+AffectedCarrierFreqCombInfoMRDC ::= SEQUENCE {
+ victimSystemType VictimSystemType,
+ interferenceDirectionMRDC ENUMERATED {eutra-nr, nr, other, utra-nr-other, nr-other, spare3, spare2, spare1},
+ affectedCarrierFreqCombMRDC SEQUENCE {
+ affectedCarrierFreqCombEUTRA AffectedCarrierFreqCombEUTRA OPTIONAL,
+ affectedCarrierFreqCombNR AffectedCarrierFreqCombNR
+ } OPTIONAL
+}
+
+VictimSystemType ::= SEQUENCE {
+ gps ENUMERATED {true} OPTIONAL,
+ glonass ENUMERATED {true} OPTIONAL,
+ bds ENUMERATED {true} OPTIONAL,
+ galileo ENUMERATED {true} OPTIONAL,
+ wlan ENUMERATED {true} OPTIONAL,
+ bluetooth ENUMERATED {true} OPTIONAL
+}
+
+AffectedCarrierFreqCombEUTRA ::= SEQUENCE (SIZE (1..maxNrofServingCellsEUTRA)) OF ARFCN-ValueEUTRA
+
+AffectedCarrierFreqCombNR ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF ARFCN-ValueNR
-- TAG-CG-CONFIG-INFO-STOP
-- TAG-MEASUREMENT-TIMING-CONFIGURATION-START
-MeasurementTimingConfiguration ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE{
- measTimingConf MeasurementTimingConfiguration-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
+MeasurementTimingConfiguration ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ measTimingConf MeasurementTimingConfiguration-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
}
-MeasurementTimingConfiguration-IEs ::= SEQUENCE {
- measTiming MeasTimingList OPTIONAL,
- nonCriticalExtension SEQUENCE {} OPTIONAL
+MeasurementTimingConfiguration-IEs ::= SEQUENCE {
+ measTiming MeasTimingList OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
}
MeasTimingList ::= SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF MeasTiming
MeasTiming ::= SEQUENCE {
- frequencyAndTiming SEQUENCE {
- carrierFreq ARFCN-ValueNR,
- ssb-MeasurementTimingConfiguration SSB-MTC
- } OPTIONAL,
- ...
+ frequencyAndTiming SEQUENCE {
+ carrierFreq ARFCN-ValueNR,
+ ssbSubcarrierSpacing SubcarrierSpacing,
+ ssb-MeasurementTimingConfiguration SSB-MTC,
+ ss-RSSI-Measurement SS-RSSI-Measurement OPTIONAL
+ } OPTIONAL,
+ ...
}
-- TAG-MEASUREMENT-TIMING-CONFIGURATION-STOP
+
+UERadioPagingInformation ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ ueRadioPagingInformation UERadioPagingInformation-IEs,
+ spare7 NULL,
+ spare6 NULL, spare5 NULL, spare4 NULL,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UERadioPagingInformation-IEs ::= SEQUENCE {
+ supportedBandListNRForPaging SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicatorNR OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+
+UERadioAccessCapabilityInformation ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ ueRadioAccessCapabilityInformation
+ UERadioAccessCapabilityInformation-IEs,
+ spare7 NULL,
+ spare6 NULL, spare5 NULL, spare4 NULL,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UERadioAccessCapabilityInformation-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabilityInfo OCTET STRING (CONTAINING UE-CapabilityRAT-ContainerList),
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
-- TAG_NR-MULTIPLICITY-AND-CONSTRAINTS-START
-maxMeasFreqsMN INTEGER ::= 32 -- Maximum number of MN-configured measurement frequencies
-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
+maxMeasFreqsMN INTEGER ::= 32 -- Maximum number of MN-configured measurement frequencies
+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 96502b461a..7b7bb1b170 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.2.0 (2018-06)
+-- 3GPP TS 38.331 V15.3.0 (2018-09)
NR-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=
@@ -7,152 +7,899 @@ BEGIN
-- TAG-NR-RRC-DEFINITIONS-STOP
-- TAG-BCCH-BCH-MESSAGE-START
-BCCH-BCH-Message ::= SEQUENCE {
- message BCCH-BCH-MessageType
+BCCH-BCH-Message ::= SEQUENCE {
+ message BCCH-BCH-MessageType
}
-BCCH-BCH-MessageType ::= CHOICE {
- mib MIB,
- messageClassExtension SEQUENCE {}
+BCCH-BCH-MessageType ::= CHOICE {
+ mib MIB,
+ messageClassExtension SEQUENCE {}
}
-- TAG-BCCH-BCH-MESSAGE-STOP
+-- TAG-BCCH-DL-SCH-MESSAGE-START
+
+BCCH-DL-SCH-Message ::= SEQUENCE {
+ message BCCH-DL-SCH-MessageType
+}
+
+BCCH-DL-SCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ systemInformation SystemInformation,
+ systemInformationBlockType1 SIB1
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+-- TAG-BCCH-DL-SCH-MESSAGE-STOP
+-- TAG-DL-CCCH-MESSAGE-START
+
+
+DL-CCCH-Message ::= SEQUENCE {
+ message DL-CCCH-MessageType
+}
+
+DL-CCCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ rrcReject RRCReject,
+ rrcSetup RRCSetup,
+ spare2 NULL,
+ spare1 NULL
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+-- TAG-DL-CCCH-MESSAGE-STOP
-- TAG-DL-DCCH-MESSAGE-START
-DL-DCCH-Message ::= SEQUENCE {
- message DL-DCCH-MessageType
+DL-DCCH-Message ::= SEQUENCE {
+ message DL-DCCH-MessageType
}
-DL-DCCH-MessageType ::= CHOICE {
- c1 CHOICE {
- rrcReconfiguration RRCReconfiguration,
- spare15 NULL, spare14 NULL, spare13 NULL,
- spare12 NULL, spare11 NULL, spare10 NULL,
- spare9 NULL, spare8 NULL, spare7 NULL,
- spare6 NULL, spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- messageClassExtension SEQUENCE {}
+DL-DCCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ rrcReconfiguration RRCReconfiguration,
+ rrcResume RRCResume,
+ rrcRelease RRCRelease,
+ rrcReestablishment RRCReestablishment,
+ securityModeCommand SecurityModeCommand,
+ dlInformationTransfer DLInformationTransfer,
+ ueCapabilityEnquiry UECapabilityEnquiry,
+ counterCheck CounterCheck,
+ mobilityFromNRCommand MobilityFromNRCommand,
+ spare7 NULL,
+ spare6 NULL, spare5 NULL, spare4 NULL,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ messageClassExtension SEQUENCE {}
}
-- TAG-DL-DCCH-MESSAGE-STOP
--- TAG-UL-DCCH-MESSAGE-START
+-- TAG-PCCH-PCH-MESSAGE-START
+
+PCCH-Message ::= SEQUENCE {
+ message PCCH-MessageType
+}
-UL-DCCH-Message ::= SEQUENCE {
- message UL-DCCH-MessageType
+PCCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ paging Paging,
+ spare1 NULL
+ },
+ messageClassExtension SEQUENCE {}
}
-UL-DCCH-MessageType ::= CHOICE {
- c1 CHOICE {
- measurementReport MeasurementReport,
- rrcReconfigurationComplete RRCReconfigurationComplete,
- spare14 NULL, spare13 NULL, spare12 NULL,
- spare11 NULL, spare10 NULL, spare9 NULL,
- spare8 NULL, spare7 NULL, spare6 NULL,
- spare5 NULL, spare4 NULL, spare3 NULL,
- spare2 NULL, spare1 NULL
- },
- messageClassExtension SEQUENCE {}
+-- TAG-PCCH-PCH-MESSAGE-STOP
+-- TAG-UL-CCCH-MESSAGE-START
+
+
+UL-CCCH-Message ::= SEQUENCE {
+ message UL-CCCH-MessageType
+}
+
+UL-CCCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ rrcSetupRequest RRCSetupRequest,
+ rrcResumeRequest RRCResumeRequest,
+ rrcReestablishmentRequest RRCReestablishmentRequest,
+ rrcSystemInfoRequest RRCSystemInfoRequest
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+-- TAG-UL-CCCH-MESSAGE-STOP
+-- TAG-UL-CCCH1-MESSAGE-START
+
+
+UL-CCCH1-Message ::= SEQUENCE {
+ message UL-CCCH1-MessageType
+}
+
+UL-CCCH1-MessageType ::= CHOICE {
+ c1 CHOICE {
+ rrcResumeRequest1 RRCResumeRequest1,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+-- TAG-UL-CCCH1-MESSAGE-STOP
+-- TAG-UL-DCCH-MESSAGE-START
+
+UL-DCCH-Message ::= SEQUENCE {
+ message UL-DCCH-MessageType
+}
+
+UL-DCCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ measurementReport MeasurementReport,
+ rrcReconfigurationComplete RRCReconfigurationComplete,
+ rrcSetupComplete RRCSetupComplete,
+ rrcReestablishmentComplete RRCReestablishmentComplete,
+ rrcResumeComplete RRCResumeComplete,
+ securityModeComplete SecurityModeComplete,
+ securityModeFailure SecurityModeFailure,
+ ulInformationTransfer ULInformationTransfer,
+ locationMeasurementIndication LocationMeasurementIndication,
+ ueCapabilityInformation UECapabilityInformation,
+ counterCheckResponse CounterCheckResponse,
+ ueAssistanceInformation UEAssistanceInformation,
+ spare4 NULL, spare3 NULL,
+ spare2 NULL, spare1 NULL
+ },
+ messageClassExtension SEQUENCE {}
}
-- TAG-UL-DCCH-MESSAGE-STOP
+-- TAG-COUNTERCHECK-START
+
+
+CounterCheck ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ counterCheck CounterCheck-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+CounterCheck-IEs ::= SEQUENCE {
+ drb-CountMSB-InfoList DRB-CountMSB-InfoList,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+DRB-CountMSB-InfoList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-CountMSB-Info
+
+DRB-CountMSB-Info ::= SEQUENCE {
+ drb-Identity DRB-Identity,
+ countMSB-Uplink INTEGER(0..33554431),
+ countMSB-Downlink INTEGER(0..33554431)
+}
+
+-- TAG-COUNTERCHECK-STOP
+-- TAG-COUNTERCHECKRESPONSE-START
+
+CounterCheckResponse ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ counterCheckResponse CounterCheckResponse-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+CounterCheckResponse-IEs ::= SEQUENCE {
+ drb-CountInfoList DRB-CountInfoList,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+
+}
+
+DRB-CountInfoList ::= SEQUENCE (SIZE (0..maxDRB)) OF DRB-CountInfo
+
+DRB-CountInfo ::= SEQUENCE {
+ drb-Identity DRB-Identity,
+ count-Uplink INTEGER(0..4294967295),
+ count-Downlink INTEGER(0..4294967295)
+}
+
+-- TAG-COUNTERCHECKRESPONSE-STOP
+-- TAG-DLINFORMATIONTRANSFER-START
+
+DLInformationTransfer ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ dlInformationTransfer DLInformationTransfer-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+DLInformationTransfer-IEs ::= SEQUENCE {
+ dedicatedNAS-Message DedicatedNAS-Message OPTIONAL, -- Need N
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-DLINFORMATIONTRANSFER-STOP
+-- TAG-LOCATIONMEASUREMENTINDICATION-START
+
+LocationMeasurementIndication ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ locationMeasurementIndication LocationMeasurementIndication-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+LocationMeasurementIndication-IEs ::= SEQUENCE {
+ measurementIndication CHOICE { release NULL, setup LocationMeasurementInfo},
+
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+-- TAG-LOCATIONMEASUREMENTINDICATION-STOP
-- TAG-MIB-START
-MIB ::= SEQUENCE {
- systemFrameNumber BIT STRING (SIZE (6)),
- subCarrierSpacingCommon ENUMERATED {scs15or60, scs30or120},
- ssb-SubcarrierOffset INTEGER (0..15),
- dmrs-TypeA-Position ENUMERATED {pos2, pos3},
- pdcch-ConfigSIB1 INTEGER (0..255),
- cellBarred ENUMERATED {barred, notBarred},
- intraFreqReselection ENUMERATED {allowed, notAllowed},
- spare BIT STRING (SIZE (1))
+MIB ::= SEQUENCE {
+ systemFrameNumber BIT STRING (SIZE (6)),
+ subCarrierSpacingCommon ENUMERATED {scs15or60, scs30or120},
+ ssb-SubcarrierOffset INTEGER (0..15),
+ dmrs-TypeA-Position ENUMERATED {pos2, pos3},
+ pdcch-ConfigSIB1 PDCCH-ConfigSIB1,
+ cellBarred ENUMERATED {barred, notBarred},
+ intraFreqReselection ENUMERATED {allowed, notAllowed},
+ spare BIT STRING (SIZE (1))
}
-- TAG-MIB-STOP
-- TAG-MEASUREMENTREPORT-START
-MeasurementReport ::= SEQUENCE {
- criticalExtensions CHOICE {
- measurementReport MeasurementReport-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
+MeasurementReport ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ measurementReport MeasurementReport-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
}
-MeasurementReport-IEs ::= SEQUENCE {
- measResults MeasResults,
+MeasurementReport-IEs ::= SEQUENCE {
+ measResults MeasResults,
- lateNonCriticalExtension OCTET STRING OPTIONAL,
- nonCriticalExtension SEQUENCE{} OPTIONAL
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
}
-- TAG-MEASUREMENTREPORT-STOP
--- TAG-RRCRECONFIGURATION-START
+-- TAG-MOBILITYFROMNRCOMMAND-START
+
+MobilityFromNRCommand ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ mobilityFromNRCommand MobilityFromNRCommand-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+MobilityFromNRCommand-IEs ::= SEQUENCE {
+ targetRAT-Type ENUMERATED { eutra, spare3, spare2, spare1, ...},
+ targetRAT-MessageContainer OCTET STRING,
+ nas-SecurityParamFromNR OCTET STRING OPTIONAL, -- Cond HO-ToEPC
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-MOBILITYFROMNRCOMMAND-STOP
+-- TAG-PAGING-START
+
+Paging ::= SEQUENCE {
+ pagingRecordList PagingRecordList OPTIONAL, -- Need N
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+PagingRecordList ::= SEQUENCE (SIZE(1..maxNrofPageRec)) OF PagingRecord
+
+PagingRecord ::= SEQUENCE {
+ ue-Identity PagingUE-Identity,
+ accessType ENUMERATED {non3GPP} OPTIONAL, -- Need N
+ ...
+}
+
+PagingUE-Identity ::= CHOICE {
+ ng-5G-S-TMSI NG-5G-S-TMSI,
+ i-RNTI I-RNTI-Value,
+ ...
+}
+
+-- TAG-PAGING-STOP
+-- TAG-RRCREESTABLISHMENT-START
+
+RRCReestablishment ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcReestablishment RRCReestablishment-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCReestablishment-IEs ::= SEQUENCE {
+ nextHopChainingCount NextHopChainingCount,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-RRCREESTABLISHMENT-STOP
+-- TAG-RRCREESTABLISHMENTCOMPLETE-START
+
+RRCReestablishmentComplete ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcReestablishmentComplete RRCReestablishmentComplete-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCReestablishmentComplete-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-RRCREESTABLISHMENTCOMPLETE-STOP
+-- TAG-RRCREESTABLISHMENTREQUEST-START
-RRCReconfiguration ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- rrcReconfiguration RRCReconfiguration-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
+
+RRCReestablishmentRequest ::= SEQUENCE {
+ rrcReestablishmentRequest RRCReestablishmentRequest-IEs
+}
+
+RRCReestablishmentRequest-IEs ::= SEQUENCE {
+ ue-Identity ReestabUE-Identity,
+ reestablishmentCause ReestablishmentCause,
+ spare BIT STRING (SIZE (1))
}
-RRCReconfiguration-IEs ::= SEQUENCE {
- radioBearerConfig RadioBearerConfig OPTIONAL, -- Need M
- secondaryCellGroup OCTET STRING (CONTAINING CellGroupConfig) OPTIONAL, -- Need M
- measConfig MeasConfig OPTIONAL, -- Need M
+ReestabUE-Identity ::= SEQUENCE {
+ c-RNTI RNTI-Value,
+ physCellId PhysCellId,
+ shortMAC-I ShortMAC-I
+}
+
+ReestablishmentCause ::= ENUMERATED {reconfigurationFailure, handoverFailure, otherFailure, spare1}
+
+-- TAG-RRCREESTABLISHMENTREQUEST-STOP
+-- TAG-RRCRECONFIGURATION-START
- lateNonCriticalExtension OCTET STRING OPTIONAL,
- nonCriticalExtension SEQUENCE {} OPTIONAL
+RRCReconfiguration ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcReconfiguration RRCReconfiguration-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCReconfiguration-IEs ::= SEQUENCE {
+ radioBearerConfig RadioBearerConfig OPTIONAL, -- Need M
+ secondaryCellGroup OCTET STRING (CONTAINING CellGroupConfig) OPTIONAL, -- Need M
+ measConfig MeasConfig OPTIONAL, -- Need M
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCReconfiguration-v1530-IEs OPTIONAL
+}
+
+RRCReconfiguration-v1530-IEs ::= SEQUENCE {
+ masterCellGroup OCTET STRING (CONTAINING CellGroupConfig) OPTIONAL, -- Need M
+ fullConfig ENUMERATED {true} OPTIONAL, -- Cond FullConfig
+ dedicatedNAS-MessageList SEQUENCE (SIZE(1..maxDRB)) OF DedicatedNAS-Message OPTIONAL, -- Cond nonHO
+ masterKeyUpdate MasterKeyUpdate OPTIONAL, -- Cond MasterKeyChange
+ dedicatedSIB1-Delivery OCTET STRING (CONTAINING SIB1) OPTIONAL, -- Need N
+ dedicatedSystemInformationDelivery OCTET STRING (CONTAINING SystemInformation) OPTIONAL, -- Need N
+ otherConfig OtherConfig OPTIONAL, -- Need N
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+MasterKeyUpdate ::= SEQUENCE {
+ keySetChangeIndicator BOOLEAN,
+ nextHopChainingCount NextHopChainingCount,
+ nas-Container OCTET STRING OPTIONAL, -- Cond securityNASC
+ ...
}
-- TAG-RRCRECONFIGURATION-STOP
-- TAG-RRCRECONFIGURATIONCOMPLETE-START
-RRCReconfigurationComplete ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- rrcReconfigurationComplete RRCReconfigurationComplete-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
+RRCReconfigurationComplete ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcReconfigurationComplete RRCReconfigurationComplete-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCReconfigurationComplete-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCReconfigurationComplete-v1530-IEs OPTIONAL
}
-RRCReconfigurationComplete-IEs ::= SEQUENCE {
- lateNonCriticalExtension OCTET STRING OPTIONAL,
- nonCriticalExtension SEQUENCE {} OPTIONAL
+RRCReconfigurationComplete-v1530-IEs ::= SEQUENCE {
+ uplinkTxDirectCurrentList UplinkTxDirectCurrentList OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
}
-- TAG-RRCRECONFIGURATIONCOMPLETE-STOP
--- TAG-SIB1-START
+-- TAG-RRCREJECT-START
+
+RRCReject ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ rrcReject RRCReject-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCReject-IEs ::= SEQUENCE {
+ waitTime RejectWaitTime OPTIONAL, -- Need N
+
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+RejectWaitTime ::= INTEGER (1..16)
+
+-- TAG-RRCREJECT-STOP
+-- TAG-RRCRELEASE-START
+
+RRCRelease ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcRelease RRCRelease-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCRelease-IEs ::= SEQUENCE {
+ redirectedCarrierInfo RedirectedCarrierInfo OPTIONAL, -- Need N
+ cellReselectionPriorities CellReselectionPriorities OPTIONAL, -- Need R
+ suspendConfig SuspendConfig OPTIONAL, -- Need R
+ deprioritisationReq SEQUENCE {
+ deprioritisationType ENUMERATED {frequency, nr},
+ deprioritisationTimer ENUMERATED {min5, min10, min15, min30}
+ } OPTIONAL, -- Need N
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+
+}
+
+RedirectedCarrierInfo ::= CHOICE {
+ nr CarrierInfoNR,
+ eutra RedirectedCarrierInfo-EUTRA,
+ ...
+}
+
+RedirectedCarrierInfo-EUTRA ::= SEQUENCE {
+ eutraFrequency ARFCN-ValueEUTRA,
+ cnType-r15 ENUMERATED {epc,fiveGC} OPTIONAL
+}
-SIB1 ::= SEQUENCE {
+CarrierInfoNR ::= SEQUENCE {
+ carrierFreq ARFCN-ValueNR,
+ ssbSubcarrierSpacing SubcarrierSpacing,
+ smtc SSB-MTC OPTIONAL, -- Need S
+ ...
+}
+
+SuspendConfig ::= SEQUENCE {
+ fullI-RNTI I-RNTI-Value,
+ shortI-RNTI ShortI-RNTI-Value,
+ ran-PagingCycle PagingCycle,
+ ran-NotificationAreaInfo RAN-NotificationAreaInfo OPTIONAL, -- Need M
+ t380 PeriodicRNAU-TimerValue OPTIONAL, -- Need R
+ nextHopChainingCount NextHopChainingCount,
+ ...
+}
+
+
+PeriodicRNAU-TimerValue ::= ENUMERATED { min5, min10, min20, min30, min60, min120, min360, min720}
+
+
+CellReselectionPriorities ::= SEQUENCE {
+ freqPriorityListEUTRA FreqPriorityListEUTRA OPTIONAL, -- Need M
+ freqPriorityListNR FreqPriorityListNR OPTIONAL, -- Need M
+ t320 ENUMERATED {min5, min10, min20, min30, min60, min120, min180, spare1} OPTIONAL, -- Need R
+ ...
+}
+
+PagingCycle ::= ENUMERATED {rf32, rf64, rf128, rf256}
+
+FreqPriorityListEUTRA ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA
+
+FreqPriorityListNR ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityNR
+
+FreqPriorityEUTRA ::= SEQUENCE {
+ carrierFreq ARFCN-ValueEUTRA,
+ cellReselectionPriority CellReselectionPriority,
+ cellReselectionSubPriority CellReselectionSubPriority OPTIONAL -- Need R
+}
+
+FreqPriorityNR ::= SEQUENCE {
+ carrierFreq ARFCN-ValueNR,
+ cellReselectionPriority CellReselectionPriority,
+ cellReselectionSubPriority CellReselectionSubPriority OPTIONAL -- Need R
+}
+
+RAN-NotificationAreaInfo ::= CHOICE {
+ cellList PLMN-RAN-AreaCellList,
+ ran-AreaConfigList PLMN-RAN-AreaConfigList,
+ ...
+}
+
+PLMN-RAN-AreaCellList ::= SEQUENCE (SIZE (1.. maxPLMNIdentities)) OF PLMN-RAN-AreaCell
+
+PLMN-RAN-AreaCell ::= SEQUENCE {
+ plmn-Identity PLMN-Identity OPTIONAL, -- Need S
+ ran-AreaCells SEQUENCE (SIZE (1..32)) OF CellIdentity
+}
+
+PLMN-RAN-AreaConfigList ::= SEQUENCE (SIZE (1..maxPLMNIdentities)) OF PLMN-RAN-AreaConfig
+
+PLMN-RAN-AreaConfig ::= SEQUENCE {
+ plmn-Identity PLMN-Identity OPTIONAL, -- Need S
+ ran-Area SEQUENCE (SIZE (1..16)) OF RAN-AreaConfig
+}
+
+RAN-AreaConfig ::= SEQUENCE {
+ trackingAreaCode TrackingAreaCode,
+ ran-AreaCodeList SEQUENCE (SIZE (1..32)) OF RAN-AreaCode OPTIONAL -- Need R
+}
+
+-- TAG-RRCRELEASE-STOP
+-- TAG-RRCRESUME-START
+
+RRCResume ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcResume RRCResume-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCResume-IEs ::= SEQUENCE {
+ radioBearerConfig RadioBearerConfig OPTIONAL, -- Need M
+ masterCellGroup OCTET STRING (CONTAINING CellGroupConfig) OPTIONAL, -- Need M
+ measConfig MeasConfig OPTIONAL, -- Need M
+ fullConfig ENUMERATED {true} OPTIONAL, -- Need N
+
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+
+}
+
+-- TAG-RRCRESUME-STOP
+-- TAG-RRCRESUMECOMPLETE-START
+
+RRCResumeComplete ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcResumeComplete RRCResumeComplete-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCResumeComplete-IEs ::= SEQUENCE {
+ dedicatedNAS-Message DedicatedNAS-Message OPTIONAL,
+ selectedPLMN-Identity INTEGER (1..maxPLMN) OPTIONAL,
+ uplinkTxDirectCurrentList UplinkTxDirectCurrentList OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+-- TAG-RRCRESUMECOMPLETE-STOP
+-- TAG-RRCRESUMEREQUEST-START
+
+RRCResumeRequest ::= SEQUENCE {
+ rrcResumeRequest RRCResumeRequest-IEs
+}
+
+RRCResumeRequest-IEs ::= SEQUENCE {
+ resumeIdentity ShortI-RNTI-Value,
+ resumeMAC-I BIT STRING (SIZE (16)),
+ resumeCause ResumeCause,
+ spare BIT STRING (SIZE (1))
+}
+
+-- TAG-RRCRESUMEREQUEST-STOP
+-- TAG-RRCRESUMEREQUEST1-START
+
+RRCResumeRequest1 ::= SEQUENCE {
+ rrcResumeRequest1 RRCResumeRequest1-IEs
+}
+
+RRCResumeRequest1-IEs ::= SEQUENCE {
+ resumeIdentity I-RNTI-Value,
+ resumeMAC-I BIT STRING (SIZE (16)),
+ resumeCause ResumeCause,
+ spare BIT STRING (SIZE (1))
+}
+
+-- TAG-RRCRESUMEREQUEST1-STOP
+-- TAG-RRCSETUP-START
+
+RRCSetup ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcSetup RRCSetup-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCSetup-IEs ::= SEQUENCE {
+ radioBearerConfig RadioBearerConfig,
+ masterCellGroup OCTET STRING (CONTAINING CellGroupConfig),
+
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+-- TAG-RRCSETUP-STOP
+-- TAG-RRCSETUPCOMPLETE-START
+
+RRCSetupComplete ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcSetupComplete RRCSetupComplete-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCSetupComplete-IEs ::= SEQUENCE {
+ selectedPLMN-Identity INTEGER (1..maxPLMN),
+ registeredAMF RegisteredAMF OPTIONAL,
+ guami-Type ENUMERATED {native, mapped} OPTIONAL,
+ s-nssai-List SEQUENCE (SIZE (1..maxNrofS-NSSAI)) OF S-NSSAI OPTIONAL,
+ dedicatedNAS-Message DedicatedNAS-Message,
+ ng-5G-S-TMSI-Value CHOICE {
+ ng-5G-S-TMSI NG-5G-S-TMSI,
+ ng-5G-S-TMSI-Part2 BIT STRING (SIZE (9))
+ } OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+RegisteredAMF ::= SEQUENCE {
+ plmn-Identity PLMN-Identity OPTIONAL,
+ amf-Identifier AMF-Identifier
+}
+
+-- TAG-RRCSETUPCOMPLETE-STOP
+-- TAG-RRCSETUPREQUEST-START
+
+RRCSetupRequest ::= SEQUENCE {
+ rrcSetupRequest RRCSetupRequest-IEs
+}
+
+RRCSetupRequest-IEs ::= SEQUENCE {
+ ue-Identity InitialUE-Identity,
+ establishmentCause EstablishmentCause,
+ spare BIT STRING (SIZE (1))
+}
+
+InitialUE-Identity ::= CHOICE {
+ ng-5G-S-TMSI-Part1 BIT STRING (SIZE (39)),
+ randomValue BIT STRING (SIZE (39))
+}
+
+EstablishmentCause ::= ENUMERATED {
+ emergency, highPriorityAccess, mt-Access, mo-Signalling,
+ mo-Data, mo-VoiceCall, mo-VideoCall, mo-SMS, mps-PriorityAccess, mcs-PriorityAccess,
+ spare6, spare5, spare4, spare3, spare2, spare1}
+
+-- TAG-RRCSETUPREQUEST-STOP
+-- TAG-RRCSYETEMINFOREQUEST-START
+
+RRCSystemInfoRequest ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ rrcSystemInfoRequest-r15 RRCSystemInfoRequest-r15-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCSystemInfoRequest-r15-IEs ::= SEQUENCE {
+ requested-SI-List BIT STRING (SIZE (maxSI-Message)), --32bits
+ spare BIT STRING (SIZE (12))
+}
+
+-- TAG-RRCSYETEMINFOREQUEST-STOP
+-- TAG-SECURITYMODECOMMAND-START
+
+SecurityModeCommand ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ securityModeCommand SecurityModeCommand-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+SecurityModeCommand-IEs ::= SEQUENCE {
+ securityConfigSMC SecurityConfigSMC,
+
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+SecurityConfigSMC ::= SEQUENCE {
+ securityAlgorithmConfig SecurityAlgorithmConfig,
+ ...
+}
- -- FFS / TODO: Add other parameters.
- frequencyOffsetSSB ENUMERATED {khz-5, khz5} OPTIONAL, -- Need R
- ssb-PositionsInBurst SEQUENCE {
- inOneGroup BIT STRING (SIZE (8)),
- groupPresence BIT STRING (SIZE (8)) OPTIONAL -- Cond above6GHzOnly
- },
- ssb-PeriodicityServingCell ENUMERATED {ms5, ms10, ms20, ms40, ms80, ms160, spare1, spare2},
- ss-PBCH-BlockPower INTEGER (-60..50),
+-- TAG-SECURITYMODECOMMAND-STOP
+-- TAG-SECURITYMODECOMPLETE-START
- uplinkConfigCommon UplinkConfigCommon OPTIONAL,
- supplementaryUplink SEQUENCE {
- uplinkConfigCommon UplinkConfigCommon OPTIONAL
- -- FFS: Add additional (selection) criteria determining when/whether the UE shall use the SUL frequency
- } OPTIONAL, -- Cond SUL
+SecurityModeComplete ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ securityModeComplete SecurityModeComplete-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
- tdd-UL-DL-Configuration TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD
- tdd-UL-DL-configurationCommon2 TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD
+SecurityModeComplete-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
- pdcch-ConfigCommon PDCCH-ConfigCommon OPTIONAL,
- pucch-ConfigCommon PUCCH-ConfigCommon OPTIONAL,
+-- TAG-SECURITYMODECOMPLETE-STOP
+-- TAG-SECURITYMODEFAILURE-START
- lateNonCriticalExtension OCTET STRING OPTIONAL,
- nonCriticalExtension SEQUENCE{} OPTIONAL
+SecurityModeFailure ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ securityModeFailure SecurityModeFailure-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
}
+SecurityModeFailure-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+-- TAG-SECURITYMODEFAILURE-STOP
+-- TAG-SIB1-START
+
+SIB1 ::= SEQUENCE {
+ cellSelectionInfo SEQUENCE {
+ q-RxLevMin Q-RxLevMin,
+ q-RxLevMinOffset INTEGER (1..8) OPTIONAL, -- Need R
+ q-RxLevMinSUL Q-RxLevMin OPTIONAL, -- Need R
+ q-QualMin Q-QualMin OPTIONAL, -- Need R
+ q-QualMinOffset INTEGER (1..8) OPTIONAL -- Need R
+ } OPTIONAL, -- Need S
+ cellAccessRelatedInfo CellAccessRelatedInfo,
+ connEstFailureControl ConnEstFailureControl OPTIONAL, -- Need R
+ si-SchedulingInfo SI-SchedulingInfo OPTIONAL, -- Need R
+ servingCellConfigCommon ServingCellConfigCommonSIB OPTIONAL, -- Need R
+ ims-EmergencySupport ENUMERATED {true} OPTIONAL, -- Need R
+ eCallOverIMS-Support ENUMERATED {true} OPTIONAL, -- Cond Absent
+ ue-TimersAndConstants UE-TimersAndConstants OPTIONAL, -- Need R
+
+ uac-BarringInfo SEQUENCE {
+ uac-BarringForCommon UAC-BarringPerCatList OPTIONAL, -- Need S
+ uac-BarringPerPLMN-List UAC-BarringPerPLMN-List OPTIONAL, -- Need S
+ uac-BarringInfoSetList UAC-BarringInfoSetList,
+ uac-AccessCategory1-SelectionAssistanceInfo CHOICE {
+ plmnCommon UAC-AccessCategory1-SelectionAssistanceInfo,
+ individualPLMNList SEQUENCE (SIZE (2..maxPLMN)) OF UAC-AccessCategory1-SelectionAssistanceInfo
+ } OPTIONAL
+ } OPTIONAL, -- Need R
+
+ useFullResumeID ENUMERATED {true} OPTIONAL, -- Need N
+
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+UAC-AccessCategory1-SelectionAssistanceInfo ::= ENUMERATED {a, b, c}
+
-- TAG-SIB1-STOP
+
+SystemInformation ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ systemInformation-r15 SystemInformation-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+SystemInformation-IEs ::= SEQUENCE {
+ sib-TypeAndInfo SEQUENCE (SIZE (1..maxSIB)) OF CHOICE {
+ sib2 SIB2,
+ sib3 SIB3,
+ sib4 SIB4,
+ sib5 SIB5,
+ sib6 SIB6,
+ sib7 SIB7,
+ sib8 SIB8,
+ sib9 SIB9,
+ ...
+ },
+
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-UEASSISTANCEINFORMATION-START
+
+UEAssistanceInformation ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ ueAssistanceInformation UEAssistanceInformation-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UEAssistanceInformation-IEs ::= SEQUENCE {
+ delayBudgetReport DelayBudgetReport OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+DelayBudgetReport::= CHOICE {
+ type1 ENUMERATED {
+ msMinus1280, msMinus640, msMinus320, msMinus160,msMinus80, msMinus60, msMinus40,
+ msMinus20, ms0, ms20,ms40, ms60, ms80, ms160, ms320, ms640, ms1280},
+ ...
+}
+
+-- TAG-UEASSISTANCEINFORMATION-STOP
+-- TAG-UECAPABILITYENQUIRY-START
+
+UECapabilityEnquiry ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ ueCapabilityEnquiry UECapabilityEnquiry-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UECapabilityEnquiry-IEs ::= SEQUENCE {
+ ue-CapabilityRAT-RequestList UE-CapabilityRAT-RequestList,
+
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+-- TAG-UECAPABILITYENQUIRY-STOP
+-- TAG-UECAPABILITYINFORMATION-START
+
+UECapabilityInformation ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ ueCapabilityInformation UECapabilityInformation-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UECapabilityInformation-IEs ::= SEQUENCE {
+ ue-CapabilityRAT-ContainerList UE-CapabilityRAT-ContainerList OPTIONAL,
+
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+-- TAG-UECAPABILITYINFORMATION-STOP
+-- TAG-ULINFORMATIONTRANSFER-START
+
+ULInformationTransfer ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ ulInformationTransfer ULInformationTransfer-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+ULInformationTransfer-IEs ::= SEQUENCE {
+ dedicatedNAS-Message DedicatedNAS-Message OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-ULINFORMATIONTRANSFER-STOP
-- TAG-SETUP-RELEASE-START
-- WS modification: asn2wrs does not support this syntax; replace all occurrences
@@ -162,1109 +909,1563 @@ SIB1 ::= SEQUENCE {
-- }
-- TAG-SETUP-RELEASE-STOP
+-- TAG-SIB2-START
+
+SIB2 ::= SEQUENCE {
+ cellReselectionInfoCommon SEQUENCE {
+ nrofSS-BlocksToAverage INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL, -- Need R
+ absThreshSS-BlocksConsolidation ThresholdNR OPTIONAL, -- Need R
+ rangeToBestCell RangeToBestCell OPTIONAL, -- Need R
+ q-Hyst ENUMERATED {
+ dB0, dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10,
+ dB12, dB14, dB16, dB18, dB20, dB22, dB24},
+ speedStateReselectionPars SEQUENCE {
+ mobilityStateParameters MobilityStateParameters,
+ q-HystSF SEQUENCE {
+ sf-Medium ENUMERATED {
+ dB-6, dB-4, dB-2, dB0},
+ sf-High ENUMERATED {
+ dB-6, dB-4, dB-2, dB0}
+ }
+ } OPTIONAL, -- Need R
+ ...
+ },
+ cellReselectionServingFreqInfo SEQUENCE {
+ s-NonIntraSearchP ReselectionThreshold OPTIONAL, -- Need R
+ s-NonIntraSearchQ ReselectionThresholdQ OPTIONAL, -- Need R
+ threshServingLowP ReselectionThreshold,
+ threshServingLowQ ReselectionThresholdQ OPTIONAL, -- Need R
+ cellReselectionPriority CellReselectionPriority,
+ cellReselectionSubPriority CellReselectionSubPriority OPTIONAL, -- Need R
+ ...
+ },
+ intraFreqCellReselectionInfo SEQUENCE {
+ q-RxLevMin Q-RxLevMin,
+ q-RxLevMinSUL Q-RxLevMin OPTIONAL, -- Need R
+ q-QualMin Q-QualMin OPTIONAL, -- Need S
+ s-IntraSearchP ReselectionThreshold, -- Need S
+ s-IntraSearchQ ReselectionThresholdQ OPTIONAL, -- Cond RSRQ
+ t-ReselectionNR T-Reselection,
+ frequencyBandList MultiFrequencyBandListNR-SIB OPTIONAL, -- Need R
+ frequencyBandListSUL MultiFrequencyBandListNR-SIB OPTIONAL, -- Need R
+ p-Max P-Max OPTIONAL, -- Need R
+ smtc SSB-MTC OPTIONAL, -- Need R
+ ss-RSSI-Measurement SS-RSSI-Measurement OPTIONAL, -- Need R
+ ssb-ToMeasure SSB-ToMeasure OPTIONAL, -- Need R
+ deriveSSB-IndexFromCell BOOLEAN,
+ ...
+ },
+ ...
+}
+
+RangeToBestCell ::= Q-OffsetRange
+
+-- TAG-SIB2-STOP
+-- TAG-SIB3-START
+
+SIB3 ::= SEQUENCE {
+ intraFreqNeighCellList IntraFreqNeighCellList OPTIONAL, -- Need R
+ intraFreqBlackCellList IntraFreqBlackCellList OPTIONAL, -- Need R
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+IntraFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo
+
+IntraFreqNeighCellInfo ::= SEQUENCE {
+ physCellId PhysCellId,
+ q-OffsetCell Q-OffsetRange,
+ q-RxLevMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R
+ q-RxLevMinOffsetCellSUL INTEGER (1..8) OPTIONAL, -- Need R
+ q-QualMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R
+ ...
+}
+
+IntraFreqBlackCellList ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PCI-Range
+
+-- TAG-SIB3-STOP
+-- TAG-SIB4-START
+
+SIB4 ::= SEQUENCE {
+ interFreqCarrierFreqList InterFreqCarrierFreqList,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+InterFreqCarrierFreqList ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo
+
+InterFreqCarrierFreqInfo ::= SEQUENCE {
+ dl-CarrierFreq ARFCN-ValueNR,
+ frequencyBandList MultiFrequencyBandListNR-SIB OPTIONAL, -- Need R
+ frequencyBandListSUL MultiFrequencyBandListNR-SIB OPTIONAL, -- Need R
+ nrofSS-BlocksToAverage INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL,
+ absThreshSS-BlocksConsolidation ThresholdNR OPTIONAL,
+ smtc SSB-MTC OPTIONAL, -- Need R
+ ssbSubcarrierSpacing SubcarrierSpacing,
+ ssb-ToMeasure SSB-ToMeasure OPTIONAL, -- Need R
+ deriveSSB-IndexFromCell BOOLEAN,
+ ss-RSSI-Measurement SS-RSSI-Measurement OPTIONAL,
+ q-RxLevMin Q-RxLevMin,
+ q-RxLevMinSUL Q-RxLevMin OPTIONAL, -- Need R
+ q-QualMin Q-QualMin OPTIONAL, -- Need R,
+ p-Max P-Max OPTIONAL, -- Need R
+ t-ReselectionNR T-Reselection,
+ t-ReselectionNR-SF SpeedStateScaleFactors OPTIONAL, -- Need N
+ threshX-HighP ReselectionThreshold,
+ threshX-LowP ReselectionThreshold,
+ threshX-Q SEQUENCE {
+ threshX-HighQ ReselectionThresholdQ,
+ threshX-LowQ ReselectionThresholdQ
+ } OPTIONAL, -- Cond RSRQ
+ cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need R
+ cellReselectionSubPriority CellReselectionSubPriority OPTIONAL, -- Need R
+ q-OffsetFreq Q-OffsetRange DEFAULT dB0,
+ interFreqNeighCellList InterFreqNeighCellList OPTIONAL, -- Need R
+ interFreqBlackCellList InterFreqBlackCellList OPTIONAL, -- Need R
+ ...
+}
+
+InterFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo
+
+InterFreqNeighCellInfo ::= SEQUENCE {
+ physCellId PhysCellId,
+ q-OffsetCell Q-OffsetRange,
+ q-RxLevMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R
+ q-RxLevMinOffsetCellSUL INTEGER (1..8) OPTIONAL, -- Need R
+ q-QualMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R
+ ...
+
+}
+
+InterFreqBlackCellList ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PCI-Range
+
+-- TAG-SIB4-STOP
+-- TAG-SIB5-START
+
+SIB5 ::= SEQUENCE {
+ carrierFreqListEUTRA CarrierFreqListEUTRA OPTIONAL, -- Need R
+ t-ReselectionEUTRA T-Reselection,
+ t-ReselectionEUTRA-SF SpeedStateScaleFactors OPTIONAL, -- Need N
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+CarrierFreqListEUTRA ::= SEQUENCE (SIZE (1..maxEUTRA-Carrier)) OF CarrierFreqEUTRA
+
+CarrierFreqEUTRA ::= SEQUENCE {
+ carrierFreq ARFCN-ValueEUTRA,
+ eutra-multiBandInfoList EUTRA-MultiBandInfoList OPTIONAL, -- Need R
+ eutra-FreqNeighCellList EUTRA-FreqNeighCellList OPTIONAL, -- Need R
+ eutra-BlackCellList EUTRA-FreqBlackCellList OPTIONAL, -- Need R
+ allowedMeasBandwidth EUTRA-AllowedMeasBandwidth,
+ presenceAntennaPort1 EUTRA-PresenceAntennaPort1,
+ cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need R
+ cellReselectionSubPriority CellReselectionSubPriority OPTIONAL, -- Need R
+ threshX-High ReselectionThreshold,
+ threshX-Low ReselectionThreshold,
+ q-RxLevMin INTEGER (-70..-22),
+ q-QualMin INTEGER (-34..-3),
+ p-MaxEUTRA INTEGER (-30..33),
+ threshX-Q SEQUENCE {
+ threshX-HighQ ReselectionThresholdQ,
+ threshX-LowQ ReselectionThresholdQ
+ } OPTIONAL -- Cond RSRQ
+}
+
+EUTRA-FreqBlackCellList ::= SEQUENCE (SIZE (1..maxEUTRA-CellBlack)) OF EUTRA-PhysCellIdRange
+
+EUTRA-FreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellEUTRA)) OF EUTRA-FreqNeighCellInfo
+
+EUTRA-FreqNeighCellInfo ::= SEQUENCE {
+ physCellId EUTRA-PhysCellId,
+ q-OffsetCell EUTRA-Q-OffsetRange,
+ q-RxLevMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R
+ q-QualMinOffsetCell INTEGER (1..8) OPTIONAL -- Need R
+}
+
+-- TAG-SIB5-STOP
+-- TAG-SIB6-START
+
+SIB6 ::= SEQUENCE {
+ messageIdentifier BIT STRING (SIZE (16)),
+ serialNumber BIT STRING (SIZE (16)),
+ warningType OCTET STRING (SIZE (2)),
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+-- TAG-SIB6-STOP
+-- TAG-SIB7-START
+
+SIB7 ::= SEQUENCE {
+ messageIdentifier BIT STRING (SIZE (16)),
+ serialNumber BIT STRING (SIZE (16)),
+ warningMessageSegmentType ENUMERATED {notLastSegment, lastSegment},
+ warningMessageSegmentNumber INTEGER (0..63),
+ warningMessageSegment OCTET STRING,
+ dataCodingScheme OCTET STRING (SIZE (1)) OPTIONAL, -- Cond Segment1
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+-- TAG-SIB7-STOP
+-- TAG-SIB8-START
+
+SIB8 ::= SEQUENCE {
+ messageIdentifier BIT STRING (SIZE (16)),
+ serialNumber BIT STRING (SIZE (16)),
+ warningMessageSegmentType ENUMERATED {notLastSegment, lastSegment},
+ warningMessageSegmentNumber INTEGER (0..63),
+ warningMessageSegment OCTET STRING,
+ dataCodingScheme OCTET STRING (SIZE (1)) OPTIONAL, -- Cond Segment1
+ warningAreaCoordinatesSegment OCTET STRING OPTIONAL, -- Need R
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+-- TAG-SIB8-STOP
+-- TAG-SIB9-START
+
+SIB9 ::= SEQUENCE {
+ timeInfo SEQUENCE {
+ timeInfoUTC INTEGER (0..549755813887),
+ dayLightSavingTime BIT STRING (SIZE (2)) OPTIONAL, -- Need R
+ leapSeconds INTEGER (-127..128) OPTIONAL, -- Need R
+ localTimeOffset INTEGER (-63..64) OPTIONAL -- Need R
+ } OPTIONAL, -- Need R
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+-- TAG-SIB9-STOP
-- TAG-ADDITIONALSPECTRUMEMISSION-START
-AdditionalSpectrumEmission ::= INTEGER (0..7)
+AdditionalSpectrumEmission ::= INTEGER (0..7)
-- TAG-ADDITIONALSPECTRUMEMISSION-STOP
-- TAG-ALPHA-START
-Alpha ::= ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1}
+Alpha ::= ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1}
-- TAG-ALPHA-STOP
+-- TAG-AMF-IDENTIFIER-START
+
+AMF-Identifier ::= BIT STRING (SIZE (24))
+
+-- TAG-AMF-IDENTIFIER-STOP
+-- TAG-ARFCN-VALUEEUTRA-START
+
+ARFCN-ValueEUTRA ::= INTEGER (0..maxEARFCN)
+
+-- TAG-ARFCN-VALUEEUTRA-STOP
-- TAG-ARFCN-VALUE-NR-START
-ARFCN-ValueNR ::= INTEGER (0..3279165)
+ARFCN-ValueNR ::= INTEGER (0..maxNARFCN)
-- TAG-ARFCN-VALUE-NR-STOP
--- TAG-BANDWIDTH-PART-START
+-- TAG-BEAM-FAILURE-RECOVERY-CONFIG-START
-BWP ::= SEQUENCE {
- locationAndBandwidth INTEGER (0..37949),
- subcarrierSpacing SubcarrierSpacing,
- cyclicPrefix ENUMERATED { extended } OPTIONAL -- Need R
+BeamFailureRecoveryConfig ::= SEQUENCE {
+ 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
+ ...,
+ [[
+ msg1-SubcarrierSpacing-v1530 SubcarrierSpacing OPTIONAL -- Need M
+ ]]
+}
+
+PRACH-ResourceDedicatedBFR ::= CHOICE {
+ ssb BFR-SSB-Resource,
+ csi-RS BFR-CSIRS-Resource
+}
+
+BFR-SSB-Resource ::= SEQUENCE {
+ ssb SSB-Index,
+ ra-PreambleIndex INTEGER (0..63),
+ ...
}
-BWP-Uplink ::= SEQUENCE {
- bwp-Id BWP-Id,
- bwp-Common BWP-UplinkCommon OPTIONAL, -- Need M
- bwp-Dedicated BWP-UplinkDedicated OPTIONAL, -- Need M
- ...
+BFR-CSIRS-Resource ::= SEQUENCE {
+ csi-RS NZP-CSI-RS-ResourceId,
+ ra-OccasionList SEQUENCE (SIZE(1..maxRA-OccasionsPerCSIRS)) OF INTEGER (0..maxRA-Occasions-1) OPTIONAL, -- Need R
+ ra-PreambleIndex INTEGER (0..63) OPTIONAL, -- Need R
+ ...
}
-BWP-UplinkCommon ::= SEQUENCE {
- genericParameters BWP,
- 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
- ...
+-- TAG-BEAM-FAILURE-RECOVERY-CONFIG-STOP
+-- TAG-BSR-CONFIG-START
+
+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
+ ...
}
-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
- ...
+-- TAG-BSR-CONFIG-STOP
+-- TAG-BANDWIDTH-PART-START
+
+BWP ::= SEQUENCE {
+ locationAndBandwidth INTEGER (0..37949),
+ subcarrierSpacing SubcarrierSpacing,
+ cyclicPrefix ENUMERATED { extended } OPTIONAL -- Need R
}
-BWP-Downlink ::= SEQUENCE {
- bwp-Id BWP-Id,
- bwp-Common BWP-DownlinkCommon OPTIONAL, -- Need M
- bwp-Dedicated BWP-DownlinkDedicated OPTIONAL, -- Need M
- ...
+
+-- TAG-BANDWIDTH-PART-STOP
+-- TAG-BWP-DOWNLINK-START
+
+BWP-Downlink ::= SEQUENCE {
+ bwp-Id BWP-Id,
+ bwp-Common BWP-DownlinkCommon OPTIONAL, -- Cond SetupOtherBWP
+ 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
- ...
+-- TAG-BWP-DOWNLINK-STOP
+-- TAG-BWP-DOWNLINKCOMMON-START
+
+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
+ ...
}
-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
- ...
+-- TAG-BWP-DOWNLINKCOMMON-STOP
+-- TAG-BWP-DOWNLINKDEDICATED-START
+
+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
+ ...
}
--- TAG-BANDWIDTH-PART-STOP
+-- TAG-BWP-DOWNLINKDEDICATED-STOP
-- TAG-BWP-ID-START
-BWP-Id ::= INTEGER (0..maxNrofBWPs)
+BWP-Id ::= INTEGER (0..maxNrofBWPs)
-- TAG-BWP-ID-STOP
--- TAG-BEAM-FAILURE-RECOVERY-CONFIG-START
+-- TAG-BWP-UPLINK-START
-BeamFailureRecoveryConfig ::= SEQUENCE {
- 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
- ...
+BWP-Uplink ::= SEQUENCE {
+ bwp-Id BWP-Id,
+ bwp-Common BWP-UplinkCommon OPTIONAL, -- Cond SetupOtherBWP
+ bwp-Dedicated BWP-UplinkDedicated OPTIONAL, -- Need M
+ ...
}
-PRACH-ResourceDedicatedBFR ::= CHOICE {
- ssb BFR-SSB-Resource,
- csi-RS BFR-CSIRS-Resource
+-- TAG-BWP-UPLINK-STOP
+-- TAG-BWP-UPLINKCOMMON-START
+
+BWP-UplinkCommon ::= SEQUENCE {
+ genericParameters BWP,
+ 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
+ ...
}
-BFR-SSB-Resource ::= SEQUENCE {
- ssb SSB-Index,
- ra-PreambleIndex INTEGER (0..63),
- ...
+-- TAG-BWP-UPLINKCOMMON-STOP
+-- TAG-BWP-UPLINKDEDICATED-START
+
+BWP-UplinkDedicated ::= SEQUENCE {
+ pucch-Config CHOICE { release NULL, setup PUCCH-Config } OPTIONAL, -- Need M
+ pusch-Config CHOICE { release NULL, setup PUSCH-Config } OPTIONAL, -- Need M
+ 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
+ ...
}
-BFR-CSIRS-Resource ::= SEQUENCE {
- csi-RS NZP-CSI-RS-ResourceId,
- ra-OccasionList SEQUENCE (SIZE(1..maxRA-OccasionsPerCSIRS)) OF INTEGER (0..maxRA-Occasions-1) OPTIONAL, -- Need R
- ra-PreambleIndex INTEGER (0..63) OPTIONAL, -- Need R
- ...
+-- TAG-BWP-UPLINKDEDICATED-STOP
+-- TAG-CELL-ACCESS-RELATED-INFO-START
+
+CellAccessRelatedInfo ::= SEQUENCE {
+ plmn-IdentityList PLMN-IdentityInfoList,
+ cellReservedForOtherUse ENUMERATED {true} OPTIONAL, -- Need R
+ ...
}
--- TAG-BEAM-FAILURE-RECOVERY-CONFIG-STOP
+-- TAG- CELL-ACCESS-RELATED-INFO-STOP
+-- TAG-CELL-ACCESS-RELATED-INFO-EUTRA-5GC-START
+
+CellAccessRelatedInfo-EUTRA-5GC ::= SEQUENCE {
+ plmn-IdentityList-eutra-5gc PLMN-IdentityList-EUTRA-5GC,
+ trackingAreaCode-eutra-5gc TrackingAreaCode,
+ ranac-5gc RAN-AreaCode OPTIONAL,
+ cellIdentity-eutra-5gc CellIdentity-EUTRA-5GC
+}
+
+PLMN-IdentityList-EUTRA-5GC::= SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity-EUTRA-5GC
+
+PLMN-Identity-EUTRA-5GC ::= CHOICE {
+ plmn-Identity-EUTRA-5GC PLMN-Identity,
+plmn-index INTEGER (1..maxPLMN)
+}
+
+CellIdentity-EUTRA-5GC ::= CHOICE {
+ cellIdentity-EUTRA BIT STRING (SIZE (28)),
+cellId-index INTEGER (1..maxPLMN)
+}
+
+-- TAG-CELL-ACCESS-RELATED-INFO-EUTRA-5GC-STOP
+-- TAG-CELL-ACCESS-RELATED-INFO-EUTRA-EPC-START
+
+CellAccessRelatedInfo-EUTRA-EPC ::= SEQUENCE {
+ plmn-IdentityList-eutra-epc PLMN-IdentityList-EUTRA-EPC,
+ trackingAreaCode-eutra-epc BIT STRING (SIZE (16)),
+ cellIdentity-eutra-epc BIT STRING (SIZE (28))
+}
+
+PLMN-IdentityList-EUTRA-EPC::= SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity
+
+-- TAG-CELL-ACCESS-RELATED-INFO-EUTRA-5GC-STOP
-- TAG-CELL-GROUP-CONFIG-START
-- Configuration of one Cell-Group:
-CellGroupConfig ::= SEQUENCE {
- cellGroupId CellGroupId,
+CellGroupConfig ::= SEQUENCE {
+ cellGroupId CellGroupId,
- 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
+ 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
- mac-CellGroupConfig MAC-CellGroupConfig OPTIONAL, -- Need M
+ mac-CellGroupConfig MAC-CellGroupConfig OPTIONAL, -- Need M
- physicalCellGroupConfig PhysicalCellGroupConfig OPTIONAL, -- Need M
+ physicalCellGroupConfig PhysicalCellGroupConfig OPTIONAL, -- Need M
- spCellConfig SpCellConfig OPTIONAL, -- Need M
- sCellToAddModList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellConfig OPTIONAL, -- Need N
- sCellToReleaseList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellIndex OPTIONAL, -- Need N
- ...
+ spCellConfig SpCellConfig OPTIONAL, -- Need M
+ sCellToAddModList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellConfig OPTIONAL, -- Need N
+ sCellToReleaseList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellIndex OPTIONAL, -- Need N
+ ...,
+ [[
+ reportUplinkTxDirectCurrent-v1530 ENUMERATED {true} OPTIONAL -- Cond BWP-Reconfig
+ ]]
}
-- Serving cell specific MAC and PHY parameters for a SpCell:
-SpCellConfig ::= SEQUENCE {
- servCellIndex ServCellIndex OPTIONAL, -- Cond SCG
- reconfigurationWithSync ReconfigurationWithSync OPTIONAL, -- Cond ReconfWithSync
- rlf-TimersAndConstants CHOICE { release NULL, setup RLF-TimersAndConstants } OPTIONAL, -- Need M
- rlmInSyncOutOfSyncThreshold ENUMERATED {n1} OPTIONAL, -- Need S
- spCellConfigDedicated ServingCellConfig OPTIONAL, -- Need M
- ...
+SpCellConfig ::= SEQUENCE {
+ servCellIndex ServCellIndex OPTIONAL, -- Cond SCG
+ reconfigurationWithSync ReconfigurationWithSync OPTIONAL, -- Cond ReconfWithSync
+ rlf-TimersAndConstants CHOICE { release NULL, setup RLF-TimersAndConstants } OPTIONAL, -- Need M
+ rlmInSyncOutOfSyncThreshold ENUMERATED {n1} OPTIONAL, -- Need S
+ spCellConfigDedicated ServingCellConfig OPTIONAL, -- Need M
+ ...
}
-ReconfigurationWithSync ::= SEQUENCE {
- spCellConfigCommon ServingCellConfigCommon OPTIONAL, -- Need M
- newUE-Identity RNTI-Value,
- t304 ENUMERATED {ms50, ms100, ms150, ms200, ms500, ms1000, ms2000, ms10000},
- rach-ConfigDedicated CHOICE {
- uplink RACH-ConfigDedicated,
- supplementaryUplink RACH-ConfigDedicated
- } OPTIONAL, -- Need N
- ...
+ReconfigurationWithSync ::= SEQUENCE {
+ spCellConfigCommon ServingCellConfigCommon OPTIONAL, -- Need M
+ newUE-Identity RNTI-Value,
+ t304 ENUMERATED {ms50, ms100, ms150, ms200, ms500, ms1000, ms2000, ms10000},
+ rach-ConfigDedicated CHOICE {
+ uplink RACH-ConfigDedicated,
+ supplementaryUplink RACH-ConfigDedicated
+ } OPTIONAL, -- Need N
+ ...,
+ [[
+ smtc SSB-MTC OPTIONAL -- Need S
+ ]]
}
-SCellConfig ::= SEQUENCE {
- sCellIndex SCellIndex,
- sCellConfigCommon ServingCellConfigCommon OPTIONAL, -- Cond SCellAdd
- sCellConfigDedicated ServingCellConfig OPTIONAL, -- Cond SCellAddMod
- ...
+SCellConfig ::= SEQUENCE {
+ sCellIndex SCellIndex,
+ sCellConfigCommon ServingCellConfigCommon OPTIONAL, -- Cond SCellAdd
+ sCellConfigDedicated ServingCellConfig OPTIONAL, -- Cond SCellAddMod
+ ...,
+ [[
+ smtc SSB-MTC OPTIONAL -- Need S
+ ]]
}
-- TAG-CELL-GROUP-CONFIG-STOP
-- TAG-CELLGROUPID-START
-CellGroupId ::= INTEGER (0.. maxSecondaryCellGroups)
+CellGroupId ::= INTEGER (0.. maxSecondaryCellGroups)
-- TAG-CELLGROUPID-STOP
+
+CellIdentity ::= BIT STRING (SIZE (36))
+
+-- TAG-CELLRESELECTIONPRIORITY-START
+
+CellReselectionPriority ::= INTEGER (0..7)
+
+-- TAG-CELLRESELECTIONPRIORITY-STOP
+
+CellReselectionSubPriority ::= ENUMERATED {oDot2, oDot4, oDot6, oDot8}
+
+-- TAG-CGI-Info-START
+
+CGI-Info ::= SEQUENCE {
+ plmn-IdentityInfoList PLMN-IdentityInfoList OPTIONAL,
+ frequencyBandList MultiFrequencyBandListNR OPTIONAL,
+ noSIB1 SEQUENCE {
+ ssb-SubcarrierOffset INTEGER (0..15),
+ pdcch-ConfigSIB1 PDCCH-ConfigSIB1
+ } OPTIONAL,
+ ...
+}
+
+-- TAG-CGI-Info -STOP
-- TAG-CODEBOOKCONFIG-START
-CodebookConfig ::= SEQUENCE {
- codebookType CHOICE {
- type1 SEQUENCE {
- subType CHOICE {
- typeI-SinglePanel SEQUENCE {
- nrOfAntennaPorts CHOICE {
- two SEQUENCE {
- twoTX-CodebookSubsetRestriction BIT STRING (SIZE (6))
- },
- moreThanTwo SEQUENCE {
- n1-n2 CHOICE {
- two-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (8)),
- two-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (64)),
- four-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (16)),
- three-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (96)),
- six-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (24)),
- four-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (128)),
- eight-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (32)),
- four-three-TypeI-SinglePanel-Restriction BIT STRING (SIZE (192)),
- six-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (192)),
- twelve-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (48)),
- four-four-TypeI-SinglePanel-Restriction BIT STRING (SIZE (256)),
- eight-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (256)),
- sixteen-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (64))
- },
- typeI-SinglePanel-codebookSubsetRestriction-i2 BIT STRING (SIZE (16)) OPTIONAL
- }
- },
- typeI-SinglePanel-ri-Restriction BIT STRING (SIZE (8))
- },
- typeI-MultiPanel SEQUENCE {
- ng-n1-n2 CHOICE {
- two-two-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (8)),
- 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))
- },
- ri-Restriction BIT STRING (SIZE (4))
- }
- },
- codebookMode INTEGER (1..2)
-
- },
- type2 SEQUENCE {
- subType CHOICE {
- typeII SEQUENCE {
- n1-n2-codebookSubsetRestriction CHOICE {
- two-one BIT STRING (SIZE (16)),
- two-two BIT STRING (SIZE (43)),
- four-one BIT STRING (SIZE (32)),
- three-two BIT STRING (SIZE (59)),
- six-one BIT STRING (SIZE (48)),
- four-two BIT STRING (SIZE (75)),
- eight-one BIT STRING (SIZE (64)),
- four-three BIT STRING (SIZE (107)),
- six-two BIT STRING (SIZE (107)),
- twelve-one BIT STRING (SIZE (96)),
- four-four BIT STRING (SIZE (139)),
- eight-two BIT STRING (SIZE (139)),
- sixteen-one BIT STRING (SIZE (128))
- },
- typeII-RI-Restriction BIT STRING (SIZE (2))
- },
- typeII-PortSelection SEQUENCE {
- portSelectionSamplingSize ENUMERATED {n1, n2, n3, n4} OPTIONAL, -- Cond TypeII-PortSelection
- typeII-PortSelectionRI-Restriction BIT STRING (SIZE (2))
- }
- },
- phaseAlphabetSize ENUMERATED {n4, n8},
- subbandAmplitude BOOLEAN,
- numberOfBeams ENUMERATED {two, three, four}
- }
- }
+CodebookConfig ::= SEQUENCE {
+ codebookType CHOICE {
+ type1 SEQUENCE {
+ subType CHOICE {
+ typeI-SinglePanel SEQUENCE {
+ nrOfAntennaPorts CHOICE {
+ two SEQUENCE {
+ twoTX-CodebookSubsetRestriction BIT STRING (SIZE (6))
+ },
+ moreThanTwo SEQUENCE {
+ n1-n2 CHOICE {
+ two-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (8)),
+ two-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (64)),
+ four-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (16)),
+ three-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (96)),
+ six-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (24)),
+ four-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (128)),
+ eight-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (32)),
+ four-three-TypeI-SinglePanel-Restriction BIT STRING (SIZE (192)),
+ six-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (192)),
+ twelve-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (48)),
+ four-four-TypeI-SinglePanel-Restriction BIT STRING (SIZE (256)),
+ eight-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (256)),
+ sixteen-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (64))
+ },
+ typeI-SinglePanel-codebookSubsetRestriction-i2 BIT STRING (SIZE (16)) OPTIONAL -- Need R
+ }
+ },
+ typeI-SinglePanel-ri-Restriction BIT STRING (SIZE (8))
+ },
+ typeI-MultiPanel SEQUENCE {
+ ng-n1-n2 CHOICE {
+ two-two-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (8)),
+ 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))
+ },
+ ri-Restriction BIT STRING (SIZE (4))
+ }
+ },
+ codebookMode INTEGER (1..2)
+
+ },
+ type2 SEQUENCE {
+ subType CHOICE {
+ typeII SEQUENCE {
+ n1-n2-codebookSubsetRestriction CHOICE {
+ two-one BIT STRING (SIZE (16)),
+ two-two BIT STRING (SIZE (43)),
+ four-one BIT STRING (SIZE (32)),
+ three-two BIT STRING (SIZE (59)),
+ six-one BIT STRING (SIZE (48)),
+ four-two BIT STRING (SIZE (75)),
+ eight-one BIT STRING (SIZE (64)),
+ four-three BIT STRING (SIZE (107)),
+ six-two BIT STRING (SIZE (107)),
+ twelve-one BIT STRING (SIZE (96)),
+ four-four BIT STRING (SIZE (139)),
+ eight-two BIT STRING (SIZE (139)),
+ sixteen-one BIT STRING (SIZE (128))
+ },
+ typeII-RI-Restriction BIT STRING (SIZE (2))
+ },
+ typeII-PortSelection SEQUENCE {
+ portSelectionSamplingSize ENUMERATED {n1, n2, n3, n4} OPTIONAL, -- Need R
+ typeII-PortSelectionRI-Restriction BIT STRING (SIZE (2))
+ }
+ },
+ phaseAlphabetSize ENUMERATED {n4, n8},
+ subbandAmplitude BOOLEAN,
+ numberOfBeams ENUMERATED {two, three, four}
+ }
+ }
}
-- TAG-CODEBOOKCONFIG-STOP
-- TAG-CONFIGUREDGRANTCONFIG-START
-ConfiguredGrantConfig ::= SEQUENCE {
- 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},
- p0-PUSCH-Alpha P0-PUSCH-AlphaSetId,
- transformPrecoder ENUMERATED {enabled} OPTIONAL, -- Need S
- nrofHARQ-Processes INTEGER(1..16),
- repK ENUMERATED {n1, n2, n4, n8},
- 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
- },
- 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 -- Need R
+ConfiguredGrantConfig ::= SEQUENCE {
+ frequencyHopping ENUMERATED {intraSlot, interSlot} OPTIONAL, -- Need S,
+ cg-DMRS-Configuration DMRS-UplinkConfig,
+ mcs-Table ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S
+ mcs-TableTransformPrecoder ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S
+ uci-OnPUSCH CHOICE { release NULL, setup CG-UCI-OnPUSCH } OPTIONAL, -- Need M
+ resourceAllocation ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch },
+ rbg-Size ENUMERATED {config2} OPTIONAL, -- Need S
+ powerControlLoopToUse ENUMERATED {n0, n1},
+ p0-PUSCH-Alpha P0-PUSCH-AlphaSetId,
+ transformPrecoder ENUMERATED {enabled, disabled} OPTIONAL, -- Need S
+ nrofHARQ-Processes INTEGER(1..16),
+ repK ENUMERATED {n1, n2, n4, n8},
+ repK-RV ENUMERATED {s1-0231, s2-0303, s3-0000} OPTIONAL, -- Need R
+ 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
+ },
+ 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, -- Need R
+ precodingAndNumberOfLayers INTEGER (0..63),
+ srs-ResourceIndicator INTEGER (0..15) OPTIONAL, -- Need R
+ mcsAndTBS INTEGER (0..31),
+ frequencyHoppingOffset INTEGER (1.. maxNrofPhysicalResourceBlocks-1) OPTIONAL, -- Need R
+ pathlossReferenceIndex INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1),
+ ...
+ } OPTIONAL, -- Need R
+ ...
}
CG-UCI-OnPUSCH ::= CHOICE {
- dynamic SEQUENCE (SIZE (1..4)) OF BetaOffsets,
- semiStatic BetaOffsets
+ dynamic SEQUENCE (SIZE (1..4)) OF BetaOffsets,
+ semiStatic BetaOffsets
}
-- TAG-CONFIGUREDGRANTCONFIG-STOP
+-- TAG-CONNESTFAILURECONTROL-START
+
+ConnEstFailureControl ::= SEQUENCE {
+ connEstFailCount ENUMERATED {n1, n2, n3, n4},
+ connEstFailOffsetValidity ENUMERATED {s30, s60, s120, s240, s300, s420, s600, s900},
+ connEstFailOffset INTEGER (0..15) OPTIONAL -- Need S
+}
+
+-- TAG-CONNESTFAILURECONTROL-STOP
-- TAG-CONTROLRESOURCESET-START
-ControlResourceSet ::= SEQUENCE {
- controlResourceSetId ControlResourceSetId,
-
- frequencyDomainResources BIT STRING (SIZE (45)),
- duration INTEGER (1..maxCoReSetDuration),
- cce-REG-MappingType CHOICE {
- interleaved SEQUENCE {
- reg-BundleSize ENUMERATED {n2, n3, n6},
- interleaverSize ENUMERATED {n2, n3, n6},
- shiftIndex INTEGER(0..maxNrofPhysicalResourceBlocks-1) OPTIONAL -- Need S
- },
- nonInterleaved NULL
- },
- precoderGranularity ENUMERATED {sameAsREG-bundle, allContiguousRBs},
- 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
- ...
+ControlResourceSet ::= SEQUENCE {
+ controlResourceSetId ControlResourceSetId,
+
+ frequencyDomainResources BIT STRING (SIZE (45)),
+ duration INTEGER (1..maxCoReSetDuration),
+ cce-REG-MappingType CHOICE {
+ interleaved SEQUENCE {
+ reg-BundleSize ENUMERATED {n2, n3, n6},
+ interleaverSize ENUMERATED {n2, n3, n6},
+ shiftIndex INTEGER(0..maxNrofPhysicalResourceBlocks-1) OPTIONAL -- Need S
+ },
+ nonInterleaved NULL
+ },
+ precoderGranularity ENUMERATED {sameAsREG-bundle, allContiguousRBs},
+ 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
-- TAG-CONTROL-RESOURCE-SET-ID-START
-ControlResourceSetId ::= INTEGER (0..maxNrofControlResourceSets-1)
+ControlResourceSetId ::= INTEGER (0..maxNrofControlResourceSets-1)
-- TAG-CONTROL-RESOURCE-SET-ID-STOP
-
-CrossCarrierSchedulingConfig ::= SEQUENCE {
- schedulingCellInfo CHOICE {
- own SEQUENCE { -- No cross carrier scheduling
- cif-Presence BOOLEAN
- },
- other SEQUENCE { -- Cross carrier scheduling
- schedulingCellId ServCellIndex,
- cif-InSchedulingCell INTEGER (1..7)
- } -- Cond SCellOnly
- },
- ...
+-- TAG-CONTROLRESOURCESETZERO-START
+
+ControlResourceSetZero ::= INTEGER (0..15)
+
+-- TAG-CONTROLRESOURCESETZERO-STOP
+
+CrossCarrierSchedulingConfig ::= SEQUENCE {
+ schedulingCellInfo CHOICE {
+ own SEQUENCE { -- No cross carrier scheduling
+ cif-Presence BOOLEAN
+ },
+ other SEQUENCE { -- Cross carrier scheduling
+ schedulingCellId ServCellIndex,
+ cif-InSchedulingCell INTEGER (1..7)
+ }
+ },
+ ...
}
-- TAG-CSI-APERIODICTRIGGERSTATELIST-START
-CSI-AperiodicTriggerStateList ::= SEQUENCE (SIZE (1..maxNrOfCSI-AperiodicTriggers)) OF CSI-AperiodicTriggerState
+CSI-AperiodicTriggerStateList ::= SEQUENCE (SIZE (1..maxNrOfCSI-AperiodicTriggers)) OF CSI-AperiodicTriggerState
-CSI-AperiodicTriggerState ::= SEQUENCE {
- associatedReportConfigInfoList SEQUENCE (SIZE(1..maxNrofReportConfigPerAperiodicTrigger)) OF CSI-AssociatedReportConfigInfo,
- ...
+CSI-AperiodicTriggerState ::= SEQUENCE {
+ associatedReportConfigInfoList SEQUENCE (SIZE(1..maxNrofReportConfigPerAperiodicTrigger)) OF CSI-AssociatedReportConfigInfo,
+ ...
}
-CSI-AssociatedReportConfigInfo ::= SEQUENCE {
- reportConfigId CSI-ReportConfigId,
- resourcesForChannel CHOICE {
- 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 INTEGER (1..maxNrofCSI-SSB-ResourceSetsPerConfig)
- },
- 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
- ...
+CSI-AssociatedReportConfigInfo ::= SEQUENCE {
+ reportConfigId CSI-ReportConfigId,
+ resourcesForChannel CHOICE {
+ 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 INTEGER (1..maxNrofCSI-SSB-ResourceSetsPerConfig)
+ },
+ csi-IM-ResourcesForInterference 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 {
- startingRB INTEGER (0..maxNrofPhysicalResourceBlocks-1),
- nrofRBs INTEGER (24..maxNrofPhysicalResourceBlocksPlus1),
- ...
+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,
- csi-IM-ResourceElementPattern CHOICE {
- pattern0 SEQUENCE {
- subcarrierLocation-p0 ENUMERATED { s0, s2, s4, s6, s8, s10 },
- symbolLocation-p0 INTEGER (0..12)
- },
- pattern1 SEQUENCE {
- subcarrierLocation-p1 ENUMERATED { s0, s4, s8 },
- symbolLocation-p1 INTEGER (0..13)
- }
- } OPTIONAL, -- Need M
- freqBand CSI-FrequencyOccupation OPTIONAL, -- Need M
- periodicityAndOffset CSI-ResourcePeriodicityAndOffset OPTIONAL, -- Cond PeriodicOrSemiPersistent
- ...
+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 {
+ subcarrierLocation-p1 ENUMERATED { s0, s4, s8 },
+ symbolLocation-p1 INTEGER (0..13)
+ }
+ } 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 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 {
- 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
- 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
- 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
- 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
- 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
- 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
- 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
-
- 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
- ...
+CSI-MeasConfig ::= SEQUENCE {
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+
+ reportTriggerSize INTEGER (0..6) OPTIONAL, -- Need M
+ aperiodicTriggerStateList CHOICE { release NULL, setup CSI-AperiodicTriggerStateList } OPTIONAL, -- Need M
+ semiPersistentOnPUSCH-TriggerStateList CHOICE { release NULL, setup CSI-SemiPersistentOnPUSCH-TriggerStateList } OPTIONAL, -- Need M
+ ...
}
-- TAG-CSI-MEAS-CONFIG-STOP
-- TAG-CSI-REPORTCONFIG-START
-CSI-ReportConfig ::= SEQUENCE {
- reportConfigId CSI-ReportConfigId,
- carrier ServCellIndex OPTIONAL, -- Need S
- resourcesForChannelMeasurement CSI-ResourceConfigId,
- csi-IM-ResourcesForInterference CSI-ResourceConfigId OPTIONAL, -- Need R
- nzp-CSI-RS-ResourcesForInterference CSI-ResourceConfigId OPTIONAL, -- Need R
- reportConfigType CHOICE {
- periodic SEQUENCE {
- reportSlotConfig CSI-ReportPeriodicityAndOffset,
- pucch-CSI-ResourceList SEQUENCE (SIZE (1..maxNrofBWPs)) OF PUCCH-CSI-Resource
- },
- semiPersistentOnPUCCH SEQUENCE {
- reportSlotConfig CSI-ReportPeriodicityAndOffset,
- pucch-CSI-ResourceList SEQUENCE (SIZE (1..maxNrofBWPs)) OF PUCCH-CSI-Resource
- },
- semiPersistentOnPUSCH SEQUENCE {
- reportSlotConfig ENUMERATED {sl5, sl10, sl20, sl40, sl80, sl160, sl320},
- reportSlotOffsetList SEQUENCE (SIZE (1.. maxNrofUL-Allocations)) OF INTEGER(0..32),
- p0alpha P0-PUSCH-AlphaSetId
- },
- aperiodic SEQUENCE {
- reportSlotOffsetList SEQUENCE (SIZE (1..maxNrofUL-Allocations)) OF INTEGER(0..32)
- }
- },
- reportQuantity CHOICE {
- none NULL,
- cri-RI-PMI-CQI NULL,
- cri-RI-i1 NULL,
- cri-RI-i1-CQI SEQUENCE {
- pdsch-BundleSizeForCSI ENUMERATED {n2, n4} OPTIONAL
- },
- cri-RI-CQI NULL,
- cri-RSRP NULL,
- ssb-Index-RSRP NULL,
- cri-RI-LI-PMI-CQI NULL
- },
- reportFreqConfiguration SEQUENCE {
- 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)),
- subbands5 BIT STRING(SIZE(5)),
- subbands6 BIT STRING(SIZE(6)),
- subbands7 BIT STRING(SIZE(7)),
- subbands8 BIT STRING(SIZE(8)),
- subbands9 BIT STRING(SIZE(9)),
- subbands10 BIT STRING(SIZE(10)),
- subbands11 BIT STRING(SIZE(11)),
- subbands12 BIT STRING(SIZE(12)),
- subbands13 BIT STRING(SIZE(13)),
- subbands14 BIT STRING(SIZE(14)),
- subbands15 BIT STRING(SIZE(15)),
- subbands16 BIT STRING(SIZE(16)),
- subbands17 BIT STRING(SIZE(17)),
- subbands18 BIT STRING(SIZE(18)),
- ...
- } OPTIONAL -- Need S
-
- } OPTIONAL, -- Need R
- timeRestrictionForChannelMeasurements ENUMERATED {configured, notConfigured},
- timeRestrictionForInterferenceMeasurements ENUMERATED {configured, notConfigured},
- codebookConfig CodebookConfig OPTIONAL, -- Need R
- nrofCQIsPerReport ENUMERATED {n1, n2} OPTIONAL, -- Need R
- groupBasedBeamReporting CHOICE {
- enabled NULL,
- disabled SEQUENCE {
- nrofReportedRS ENUMERATED {n1, n2, n3, n4} OPTIONAL -- Need S
- }
- },
- cqi-Table ENUMERATED {table1, table2, spare2, spare1} OPTIONAL, -- Need R
- subbandSize ENUMERATED {value1, value2},
- 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),
- slots10 INTEGER(0..9),
- slots16 INTEGER(0..15),
- slots20 INTEGER(0..19),
- slots40 INTEGER(0..39),
- slots80 INTEGER(0..79),
- slots160 INTEGER(0..159),
- slots320 INTEGER(0..319)
-}
-
-PUCCH-CSI-Resource ::= SEQUENCE {
- uplinkBandwidthPartId BWP-Id,
- 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 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 OPTIONAL, -- Need R
- rank2-2 SEQUENCE(SIZE(2)) OF PortIndex2 OPTIONAL -- Need R
- },
- portIndex1 NULL
-}
-
-PortIndex8::= INTEGER (0..7)
-PortIndex4::= INTEGER (0..3)
-PortIndex2::= INTEGER (0..1)
+CSI-ReportConfig ::= SEQUENCE {
+ reportConfigId CSI-ReportConfigId,
+ carrier ServCellIndex OPTIONAL, -- Need S
+ resourcesForChannelMeasurement CSI-ResourceConfigId,
+ csi-IM-ResourcesForInterference CSI-ResourceConfigId OPTIONAL, -- Need R
+ nzp-CSI-RS-ResourcesForInterference CSI-ResourceConfigId OPTIONAL, -- Need R
+ reportConfigType CHOICE {
+ periodic SEQUENCE {
+ reportSlotConfig CSI-ReportPeriodicityAndOffset,
+ pucch-CSI-ResourceList SEQUENCE (SIZE (1..maxNrofBWPs)) OF PUCCH-CSI-Resource
+ },
+ semiPersistentOnPUCCH SEQUENCE {
+ reportSlotConfig CSI-ReportPeriodicityAndOffset,
+ pucch-CSI-ResourceList SEQUENCE (SIZE (1..maxNrofBWPs)) OF PUCCH-CSI-Resource
+ },
+ semiPersistentOnPUSCH SEQUENCE {
+ reportSlotConfig ENUMERATED {sl5, sl10, sl20, sl40, sl80, sl160, sl320},
+ reportSlotOffsetList SEQUENCE (SIZE (1.. maxNrofUL-Allocations)) OF INTEGER(0..32),
+ p0alpha P0-PUSCH-AlphaSetId
+ },
+ aperiodic SEQUENCE {
+ reportSlotOffsetList SEQUENCE (SIZE (1..maxNrofUL-Allocations)) OF INTEGER(0..32)
+ }
+ },
+ reportQuantity CHOICE {
+ none NULL,
+ cri-RI-PMI-CQI NULL,
+ cri-RI-i1 NULL,
+ cri-RI-i1-CQI SEQUENCE {
+ pdsch-BundleSizeForCSI ENUMERATED {n2, n4} OPTIONAL -- Need S
+ },
+ cri-RI-CQI NULL,
+ cri-RSRP NULL,
+ ssb-Index-RSRP NULL,
+ cri-RI-LI-PMI-CQI NULL
+ },
+ reportFreqConfiguration SEQUENCE {
+ 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)),
+ subbands5 BIT STRING(SIZE(5)),
+ subbands6 BIT STRING(SIZE(6)),
+ subbands7 BIT STRING(SIZE(7)),
+ subbands8 BIT STRING(SIZE(8)),
+ subbands9 BIT STRING(SIZE(9)),
+ subbands10 BIT STRING(SIZE(10)),
+ subbands11 BIT STRING(SIZE(11)),
+ subbands12 BIT STRING(SIZE(12)),
+ subbands13 BIT STRING(SIZE(13)),
+ subbands14 BIT STRING(SIZE(14)),
+ subbands15 BIT STRING(SIZE(15)),
+ subbands16 BIT STRING(SIZE(16)),
+ subbands17 BIT STRING(SIZE(17)),
+ subbands18 BIT STRING(SIZE(18)),
+ ...,
+ subbands19-v1530 BIT STRING(SIZE(19))
+ } OPTIONAL -- Need S
+
+ } OPTIONAL, -- Need R
+ timeRestrictionForChannelMeasurements ENUMERATED {configured, notConfigured},
+ timeRestrictionForInterferenceMeasurements ENUMERATED {configured, notConfigured},
+ codebookConfig CodebookConfig OPTIONAL, -- Need R
+ nrofCQIsPerReport ENUMERATED {n1, n2} OPTIONAL, -- Need R
+ groupBasedBeamReporting CHOICE {
+ enabled NULL,
+ disabled SEQUENCE {
+ nrofReportedRS ENUMERATED {n1, n2, n3, n4} OPTIONAL -- Need S
+ }
+ },
+ cqi-Table ENUMERATED {table1, table2, table3, spare1} OPTIONAL, -- Need R
+ subbandSize ENUMERATED {value1, value2},
+ non-PMI-PortIndication SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourcesPerConfig)) OF PortIndexFor8Ranks OPTIONAL, -- Need R
+ ...,
+ [[
+ semiPersistentOnPUSCH-v1530 SEQUENCE {
+ reportSlotConfig-v1530 ENUMERATED {sl4, sl8, sl16}
+ } OPTIONAL -- Need R
+ ]]
+}
+
+CSI-ReportPeriodicityAndOffset ::= 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),
+ slots40 INTEGER(0..39),
+ slots80 INTEGER(0..79),
+ slots160 INTEGER(0..159),
+ slots320 INTEGER(0..319)
+}
+
+PUCCH-CSI-Resource ::= SEQUENCE {
+ uplinkBandwidthPartId BWP-Id,
+ 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 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 OPTIONAL, -- Need R
+ rank2-2 SEQUENCE(SIZE(2)) OF PortIndex2 OPTIONAL -- Need R
+ },
+ portIndex1 NULL
+}
+
+PortIndex8::= INTEGER (0..7)
+PortIndex4::= INTEGER (0..3)
+PortIndex2::= INTEGER (0..1)
-- 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
-CSI-ResourceConfig ::= SEQUENCE {
- csi-ResourceConfigId CSI-ResourceConfigId,
- 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,
- 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
- },
-
- bwp-Id BWP-Id,
- resourceType ENUMERATED { aperiodic, semiPersistent, periodic },
- ...
+CSI-ResourceConfig ::= SEQUENCE {
+ csi-ResourceConfigId CSI-ResourceConfigId,
+ 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, -- Need R
+ csi-SSB-ResourceSetList SEQUENCE (SIZE (1..maxNrofCSI-SSB-ResourceSetsPerConfig)) OF CSI-SSB-ResourceSetId OPTIONAL -- Need R
+ },
+ csi-IM-ResourceSetList SEQUENCE (SIZE (1..maxNrofCSI-IM-ResourceSetsPerConfig)) OF CSI-IM-ResourceSetId
+ },
+
+ bwp-Id BWP-Id,
+ 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)
+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)
}
-- 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)
+CSI-RS-ResourceConfigMobility ::= SEQUENCE {
+ subcarrierSpacing SubcarrierSpacing,
+ csi-RS-CellList-Mobility SEQUENCE (SIZE (1..maxNrofCSI-RS-CellsRRM)) OF CSI-RS-CellMobility,
+ ... ,
+ [[
+ refServCellIndex-v1530 ServCellIndex OPTIONAL -- Need S
+ ]]
+
+
+}
+
+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, -- Need R
+ 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 {
- frequencyDomainAllocation CHOICE {
- row1 BIT STRING (SIZE (4)),
- row2 BIT STRING (SIZE (12)),
- row4 BIT STRING (SIZE (3)),
- other BIT STRING (SIZE (6))
- },
- nrofPorts ENUMERATED {p1,p2,p4,p8,p12,p16,p24,p32},
- firstOFDMSymbolInTimeDomain INTEGER (0..13),
- 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
- },
- freqBand CSI-FrequencyOccupation,
- ...
+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))
+ },
+ nrofPorts ENUMERATED {p1,p2,p4,p8,p12,p16,p24,p32},
+ firstOFDMSymbolInTimeDomain INTEGER (0..13),
+ 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
+ },
+ freqBand CSI-FrequencyOccupation,
+ ...
}
-- TAG-CSI-RS-RESOURCEMAPPING-STOP
-- TAG-CSI-SEMIPERSISTENTONPUSCHTRIGGERSTATELIST-START
-CSI-SemiPersistentOnPUSCH-TriggerStateList ::= SEQUENCE(SIZE (1..maxNrOfSemiPersistentPUSCH-Triggers)) OF CSI-SemiPersistentOnPUSCH-TriggerState
+CSI-SemiPersistentOnPUSCH-TriggerStateList ::= SEQUENCE(SIZE (1..maxNrOfSemiPersistentPUSCH-Triggers)) OF CSI-SemiPersistentOnPUSCH-TriggerState
-CSI-SemiPersistentOnPUSCH-TriggerState ::= SEQUENCE {
- associatedReportConfigInfo CSI-ReportConfigId,
- ...
+CSI-SemiPersistentOnPUSCH-TriggerState ::= SEQUENCE {
+ associatedReportConfigInfo CSI-ReportConfigId,
+ ...
}
-- TAG-CSI-SEMIPERSISTENTONPUSCHTRIGGERSTATELIST-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,
+ ...
+}
+
+-- TAG-CSI-SSB-RESOURCESET-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
+-- TAG-DEDICATED-NAS-MESSAGE-START
-CSI-SSB-ResourceSet ::= SEQUENCE {
- csi-SSB-ResourceSetId CSI-SSB-ResourceSetId,
- csi-SSB-ResourceList SEQUENCE (SIZE(1..maxNrofCSI-SSB-ResourcePerSet)) OF SSB-Index,
- ...
-}
+DedicatedNAS-Message ::= OCTET STRING
--- TAG-CSI-SSB-RESOURCESET-STOP
+-- TAG-DEDICATED-NAS-MESSAGE-STOP
-- TAG-DMRS-DOWNLINKCONFIG-START
-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
- ...
+DMRS-DownlinkConfig ::= SEQUENCE {
+ dmrs-Type ENUMERATED {type2} OPTIONAL, -- Need S
+ dmrs-AdditionalPosition ENUMERATED {pos0, pos1, pos3} OPTIONAL, -- Need S
+ 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 {
- 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
-
- 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
- ...
+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
+
+ 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
+ sequenceGroupHopping ENUMERATED {disabled} OPTIONAL, -- Need S
+ sequenceHopping ENUMERATED {enabled} OPTIONAL, -- Need S
+ ...
+ } OPTIONAL, -- Need R
+ ...
}
-- TAG-DMRS-UPLINKCONFIG-STOP
-- TAG-DOWNLINK-CONFIG-COMMON-START
-DownlinkConfigCommon ::= SEQUENCE {
- frequencyInfoDL FrequencyInfoDL OPTIONAL, -- Cond InterFreqHOAndServCellAdd
- initialDownlinkBWP BWP-DownlinkCommon OPTIONAL, -- Cond ServCellAdd
- ...
+DownlinkConfigCommon ::= SEQUENCE {
+ frequencyInfoDL FrequencyInfoDL OPTIONAL, -- Cond InterFreqHOAndServCellAdd
+ initialDownlinkBWP BWP-DownlinkCommon OPTIONAL, -- Cond ServCellAdd
+ ...
}
-- TAG-DOWNLINK-CONFIG-COMMON-STOP
+-- TAG-DOWNLINK-CONFIG-COMMON-SIB-START
+
+DownlinkConfigCommonSIB ::= SEQUENCE {
+ frequencyInfoDL FrequencyInfoDL-SIB,
+ initialDownlinkBWP BWP-DownlinkCommon,
+ bcch-Config BCCH-Config,
+ pcch-Config PCCH-Config,
+ ...
+}
+
+
+BCCH-Config ::= SEQUENCE { modificationPeriodCoeff ENUMERATED {n2, n4, n8, n16},
+ ...
+}
+
+
+PCCH-Config ::= SEQUENCE {
+ defaultPagingCycle PagingCycle,
+ nAndPagingFrameOffset CHOICE {
+ oneT NULL,
+ halfT INTEGER (0..1),
+ quarterT INTEGER (0..3),
+ oneEighthT INTEGER (0..7),
+ oneSixteenthT INTEGER (0..15)
+ },
+ ns ENUMERATED {four, two, one},
+ firstPDCCH-MonitoringOccasionOfPO CHOICE {
+ sCS15KHZoneT SEQUENCE (SIZE (1..4)) OF INTEGER (0..139),
+ sCS30KHZoneT-SCS15KHZhalfT SEQUENCE (SIZE (1..4)) OF INTEGER (0..279),
+ sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT SEQUENCE (SIZE (1..4)) OF INTEGER (0..559),
+ sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT SEQUENCE (SIZE (1..4)) OF INTEGER (0..1119),
+ sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT SEQUENCE (SIZE (1..4)) OF INTEGER (0..2239),
+ sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT SEQUENCE (SIZE (1..4)) OF INTEGER (0..4479),
+ sCS120KHZoneEighthT-SCS60KHZoneSixteenthT SEQUENCE (SIZE (1..4)) OF INTEGER (0..8959),
+ sCS120KHZoneSixteenthT SEQUENCE (SIZE (1..4)) OF INTEGER (0..17919)
+ } OPTIONAL, -- Need R
+ ...
+}
+
+-- TAG-DOWNLINK-CONFIG-COMMON-SIB-STOP
-- TAG-DOWNLINKPREEMPTION-START
-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,
- ...
+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,
- positionInDCI INTEGER (0..maxINT-DCI-PayloadSize-1)
+ servingCellId ServCellIndex,
+ positionInDCI INTEGER (0..maxINT-DCI-PayloadSize-1)
}
-- TAG-DOWNLINKPREEMPTION-STOP
-- TAG-DRB-IDENTITY-START
-DRB-Identity ::= INTEGER (1..32)
+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-SubframeConfig ::= SEQUENCE {
- radioframeAllocationPeriod ENUMERATED {n1, n2, n4, n8, n16, n32},
- radioframeAllocationOffset INTEGER (0..7),
- subframeAllocation CHOICE {
- oneFrame BIT STRING (SIZE(6)),
- fourFrames BIT STRING (SIZE(24))
- },
- subframeAllocation-v1430 CHOICE {
- oneFrame-v1430 BIT STRING (SIZE(2)),
- fourFrames-v1430 BIT STRING (SIZE(8))
- } OPTIONAL, -- Need R
- ...
-}
-
--- TAG-EUTRA-MBSFN-SUBFRAMECONFIGLIST-STOP
+-- TAG-DRX-CONFIG-START
+
+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, 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,
+ ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare9, spare8,
+ spare7, spare6, spare5, spare4, spare3, spare2, spare1},
+ drx-HARQ-RTT-TimerDL INTEGER (0..56),
+ drx-HARQ-RTT-TimerUL INTEGER (0..56),
+ drx-RetransmissionTimerDL ENUMERATED {
+ 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-RetransmissionTimerUL ENUMERATED {
+ 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)
+ },
+
+ shortDRX SEQUENCE {
+ drx-ShortCycle ENUMERATED {
+ ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32,
+ 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
+ drx-SlotOffset INTEGER (0..31)
+}
+
+-- TAG-DRX-CONFIG-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)
+FreqBandIndicatorNR ::= INTEGER (1..1024)
-- TAG-FREQBANDINDICATORNR-STOP
-- TAG-FREQUENCY-INFO-DL-START
-FrequencyInfoDL ::= SEQUENCE {
- absoluteFrequencySSB ARFCN-ValueNR OPTIONAL, -- Cond SpCellAdd
- frequencyBandList MultiFrequencyBandListNR,
- absoluteFrequencyPointA ARFCN-ValueNR,
- scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,
- ...
+FrequencyInfoDL ::= SEQUENCE {
+ absoluteFrequencySSB ARFCN-ValueNR OPTIONAL, -- Cond SpCellAdd
+ frequencyBandList MultiFrequencyBandListNR,
+ absoluteFrequencyPointA ARFCN-ValueNR,
+ scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,
+ ...
}
-- TAG-FREQUENCY-INFO-UL-STOP
+-- TAG-FREQUENCY-INFO-DL-SIB-START
+
+FrequencyInfoDL-SIB ::= SEQUENCE {
+ frequencyBandList MultiFrequencyBandListNR-SIB,
+ offsetToPointA INTEGER (0..2199),
+ scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier
+}
+
+-- TAG-FREQUENCY-INFO-DL-SIB-STOP
-- TAG-FREQUENCY-INFO-UL-START
-FrequencyInfoUL ::= SEQUENCE {
- frequencyBandList MultiFrequencyBandListNR OPTIONAL, -- Cond FDD-OrSUL
- absoluteFrequencyPointA ARFCN-ValueNR OPTIONAL, -- Cond FDD-OrSUL
- scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,
- additionalSpectrumEmission AdditionalSpectrumEmission OPTIONAL, -- Need S
- p-Max P-Max OPTIONAL, -- Need S
- frequencyShift7p5khz ENUMERATED {true} OPTIONAL, -- Cond FDD-OrSUL-Optional
- ...
+FrequencyInfoUL ::= SEQUENCE {
+ frequencyBandList MultiFrequencyBandListNR OPTIONAL, -- Cond FDD-OrSUL
+ absoluteFrequencyPointA ARFCN-ValueNR OPTIONAL, -- Cond FDD-OrSUL
+ scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,
+ additionalSpectrumEmission AdditionalSpectrumEmission OPTIONAL, -- Need S
+ p-Max P-Max OPTIONAL, -- Need S
+ frequencyShift7p5khz ENUMERATED {true} OPTIONAL, -- Cond FDD-OrSUL-Optional
+ ...
}
-- TAG-FREQUENCY-INFO-UL-STOP
+-- TAG-FREQUENCY-INFO-UL-SIB-START
+
+FrequencyInfoUL-SIB ::= SEQUENCE {
+ frequencyBandList MultiFrequencyBandListNR-SIB OPTIONAL, -- Cond FDD-OrSUL
+ absoluteFrequencyPointA ARFCN-ValueNR OPTIONAL, -- Cond FDD-OrSUL
+ scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,
+ p-Max P-Max OPTIONAL, -- Need S
+ frequencyShift7p5khz ENUMERATED {true} OPTIONAL, -- Cond FDD-OrSUL-Optional
+ ...
+}
-Hysteresis ::= INTEGER (0..30)
+-- TAG-FREQUENCY-INFO-UL-SIB-STOP
--- TAG-LOGICAL-CHANNEL-CONFIG-START
+Hysteresis ::= INTEGER (0..30)
+
+-- TAG-I-RNTI-VALUE-START
+
+I-RNTI-Value ::= BIT STRING (SIZE(40))
-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 {ms5, ms10, ms20, ms50, ms100, ms150, ms300, ms500, ms1000,
- spare7, spare6, spare5, spare4, spare3,spare2, spare1},
+-- TAG-I-RNTI-VALUE-STOP
+-- TAG-LOCATION-MEASUREMENT-INFO-START
- 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
+LocationMeasurementInfo ::= CHOICE {
+ eutra-RSTD EUTRA-RSTD-InfoList,
+ ...
+}
+
+EUTRA-RSTD-InfoList ::= SEQUENCE (SIZE (1..maxInterRAT-RSTD-Freq)) OF EUTRA-RSTD-Info
+
+EUTRA-RSTD-Info ::= SEQUENCE {
+ carrierFreq ARFCN-ValueEUTRA,
+ measPRS-Offset INTEGER (0..39),
+ ...
+}
+
+-- TAG-LOCATION-MEASUREMENT-INFO-STOP
+-- TAG-LOGICAL-CHANNEL-CONFIG-START
- logicalChannelGroup INTEGER (0..maxLCG-ID) OPTIONAL, -- Need R
- schedulingRequestID SchedulingRequestId OPTIONAL, -- Need R
- logicalChannelSR-Mask BOOLEAN,
- logicalChannelSR-DelayTimerApplied BOOLEAN,
- ...
- } OPTIONAL, -- Cond UL
+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 {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, -- PDCP-CADuplication
+ 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,
+ ...,
+ bitRateQueryProhibitTimer ENUMERATED { s0, s0dot4, s0dot8, s1dot6, s3, s6, s12,s30} OPTIONAL -- Need R
+ } OPTIONAL, -- Cond UL
- ...
+ ...
}
-- TAG-LOGICAL-CHANNEL-CONFIG-STOP
-- TAG-LOGICALCHANNELIDENTITY-START
-LogicalChannelIdentity ::= INTEGER (1..maxLC-ID)
+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
- 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, 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,
- ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare9, spare8,
- spare7, spare6, spare5, spare4, spare3, spare2, spare1},
- drx-HARQ-RTT-TimerDL INTEGER (0..56),
- drx-HARQ-RTT-TimerUL INTEGER (0..56),
- drx-RetransmissionTimerDL ENUMERATED {
- 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-RetransmissionTimerUL ENUMERATED {
- 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)
- },
- -- FFS need for finer offset granulary
- -- FFS need for shorter values for long and short cycles
- shortDRX SEQUENCE {
- drx-ShortCycle ENUMERATED {
- ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32,
- 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
- drx-SlotOffset INTEGER (0..31)
-
-}
-
-PHR-Config ::= SEQUENCE {
- phr-PeriodicTimer ENUMERATED {sf10, sf20, sf50, sf100, sf200,sf500, sf1000, infinity},
- phr-ProhibitTimer ENUMERATED {sf0, sf10, sf20, sf50, sf100,sf200, sf500, sf1000},
- phr-Tx-PowerFactorChange ENUMERATED {dB1, dB3, dB6, infinity},
- multiplePHR BOOLEAN,
- phr-Type2SpCell BOOLEAN,
- phr-Type2OtherCell BOOLEAN,
- 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 OPTIONAL -- Need N
-}
-
-TAG ::= SEQUENCE {
- tag-Id TAG-Id,
- timeAlignmentTimer TimeAlignmentTimer,
- ...
-}
-
-TAG-Id ::= INTEGER (0..maxNrofTAGs-1)
-
-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
- ...
+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
+ skipUplinkTxDynamic BOOLEAN,
+ ...,
+ [[
+ csi-Mask-v1530 BOOLEAN OPTIONAL , -- Need M
+ dataInactivityTimer-v1530 CHOICE { release NULL, setup DataInactivityTimer } OPTIONAL -- Need PCellOnly
+ ]]
}
+DataInactivityTimer ::= ENUMERATED {s1, s2, s3, s5, s7, s10, s15, s20, s40, s50, s60, s80, s100, s120, s150, s180}
+
-- TAG-MAC-CELL-GROUP-CONFIG-STOP
-- TAG-MEAS-CONFIG-START
-MeasConfig ::= SEQUENCE {
- measObjectToRemoveList MeasObjectToRemoveList OPTIONAL, -- Need N
- measObjectToAddModList MeasObjectToAddModList OPTIONAL, -- Need N
+MeasConfig ::= SEQUENCE {
+ measObjectToRemoveList MeasObjectToRemoveList OPTIONAL, -- Need N
+ measObjectToAddModList MeasObjectToAddModList OPTIONAL, -- Need N
- reportConfigToRemoveList ReportConfigToRemoveList OPTIONAL, -- Need N
- reportConfigToAddModList ReportConfigToAddModList OPTIONAL, -- Need N
+ reportConfigToRemoveList ReportConfigToRemoveList OPTIONAL, -- Need N
+ reportConfigToAddModList ReportConfigToAddModList OPTIONAL, -- Need N
- measIdToRemoveList MeasIdToRemoveList OPTIONAL, -- Need N
- measIdToAddModList MeasIdToAddModList OPTIONAL, -- Need N
+ measIdToRemoveList MeasIdToRemoveList OPTIONAL, -- Need N
+ measIdToAddModList MeasIdToAddModList OPTIONAL, -- Need N
- s-MeasureConfig CHOICE {
- ssb-RSRP RSRP-Range,
- csi-RSRP RSRP-Range
- } OPTIONAL, -- Need M
+ s-MeasureConfig CHOICE {
+ ssb-RSRP RSRP-Range,
+ csi-RSRP RSRP-Range
+ } OPTIONAL, -- Need M
- quantityConfig QuantityConfig OPTIONAL, -- Need M
+ quantityConfig QuantityConfig OPTIONAL, -- Need M
- measGapConfig MeasGapConfig OPTIONAL, -- Need M
- measGapSharingConfig MeasGapSharingConfig OPTIONAL, -- Need M
- ...
+ measGapConfig MeasGapConfig OPTIONAL, -- Need M
+ measGapSharingConfig MeasGapSharingConfig OPTIONAL, -- Need M
+ ...
}
-MeasObjectToRemoveList ::= SEQUENCE (SIZE (1..maxNrofObjectId)) OF MeasObjectId
+MeasObjectToRemoveList ::= SEQUENCE (SIZE (1..maxNrofObjectId)) OF MeasObjectId
-MeasIdToRemoveList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasId
+MeasIdToRemoveList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasId
-ReportConfigToRemoveList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigId
+ReportConfigToRemoveList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigId
-- TAG-MEAS-CONFIG-STOP
--TAG-MEAS-GAP-CONFIG-START
-MeasGapConfig ::= SEQUENCE {
- gapFR2 CHOICE { release NULL, setup GapConfig } OPTIONAL, -- Need M
- ...
+MeasGapConfig ::= SEQUENCE {
+ gapFR2 CHOICE { release NULL, setup GapConfig } OPTIONAL, -- Need M
+ ...,
+ [[
+ gapFR1 CHOICE { release NULL, setup GapConfig } OPTIONAL, -- Need M
+ gapUE 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
- ...
+MeasGapSharingConfig ::= SEQUENCE {
+ gapSharingFR2 CHOICE { release NULL, setup MeasGapSharingScheme } OPTIONAL, -- Need M
+ ...,
+ [[
+ gapSharingFR1 CHOICE { release NULL, setup MeasGapSharingScheme } OPTIONAL, --Need M
+ gapSharingUE CHOICE { release NULL, setup MeasGapSharingScheme } OPTIONAL --Need M
+ ]]
+
}
-MeasGapSharingScheme ::= ENUMERATED { scheme00, scheme01, scheme10, scheme11 }
+MeasGapSharingScheme::= ENUMERATED {scheme00, scheme01, scheme10, scheme11}
--TAG-MEAS-GAP-SHARING-CONFIG-STOP
-- TAG-MEAS-ID-START
-MeasId ::= INTEGER (1..maxNrofMeasId)
+MeasId ::= INTEGER (1..maxNrofMeasId)
-- TAG-MEAS-ID-STOP
-- TAG-MEAS-ID-TO-ADD-MOD-LIST-START
-MeasIdToAddModList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasIdToAddMod
+MeasIdToAddModList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasIdToAddMod
-MeasIdToAddMod ::= SEQUENCE {
- measId MeasId,
- measObjectId MeasObjectId,
- reportConfigId ReportConfigId
+MeasIdToAddMod ::= SEQUENCE {
+ measId MeasId,
+ measObjectId MeasObjectId,
+ reportConfigId ReportConfigId
}
-- TAG-MEAS-ID-TO-ADD-MOD-LIST-STOP
--- TAG-MEAS-OBJECT-ID-START
+-- TAG-MEAS-OBJECT-EUTRA-NR-START
+
+MeasObjectEUTRA::= SEQUENCE {
+ carrierFreq ARFCN-ValueEUTRA,
+ allowedMeasBandwidth EUTRA-AllowedMeasBandwidth,
+ cellsToRemoveListEUTRAN EUTRA-CellIndexList OPTIONAL, -- Need N
+ cellsToAddModListEUTRAN SEQUENCE (SIZE (1..maxCellMeasEUTRA)) OF EUTRA-Cell OPTIONAL, -- Need N
+ blackCellsToRemoveListEUTRAN EUTRA-CellIndexList OPTIONAL, -- Need N
+ blackCellsToAddModListEUTRAN SEQUENCE (SIZE (1..maxCellMeasEUTRA)) OF EUTRA-BlackCell OPTIONAL, -- Need N
+ eutra-PresenceAntennaPort1 EUTRA-PresenceAntennaPort1 ,
+ eutra-Q-OffsetRange EUTRA-Q-OffsetRange OPTIONAL, -- Need R
+ widebandRSRQ-Meas BOOLEAN,
+ ...
+}
-MeasObjectId ::= INTEGER (1..maxNrofObjectId)
+EUTRA-CellIndexList ::= SEQUENCE (SIZE (1..maxCellMeasEUTRA)) OF EUTRA-CellIndex
--- TAG-MEAS-OBJECT-ID-STOP
--- TAG-MEAS-OBJECT-NR-START
+EUTRA-CellIndex ::= INTEGER (1..maxCellMeasEUTRA)
+
+
+EUTRA-Cell ::= SEQUENCE {
+ cellIndexEUTRA EUTRA-CellIndex,
+ physCellId EUTRA-PhysCellId,
+ cellIndividualOffset EUTRA-Q-OffsetRange
+}
-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
- refFreqCSI-RS ARFCN-ValueNR OPTIONAL,
- referenceSignalConfig ReferenceSignalConfig,
+EUTRA-BlackCell ::= SEQUENCE {
+ cellIndexEUTRA EUTRA-CellIndex,
+ physCellIdRange EUTRA-PhysCellIdRange
+}
- absThreshSS-BlocksConsolidation ThresholdNR OPTIONAL, -- Need R
- absThreshCSI-RS-Consolidation ThresholdNR OPTIONAL, -- Need R
+-- TAG-MEAS-OBJECT-EUTRA-NR-STOP
+-- TAG-MEAS-OBJECT-ID-START
- nrofSS-BlocksToAverage INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL, -- Need R
- nrofCSI-RS-ResourcesToAverage INTEGER (2..maxNrofCSI-RS-ResourcesToAverage) OPTIONAL, -- Need R
+MeasObjectId ::= INTEGER (1..maxNrofObjectId)
- quantityConfigIndex INTEGER (1..maxNrofQuantityConfig),
+-- TAG-MEAS-OBJECT-ID-STOP
+-- TAG-MEAS-OBJECT-NR-START
- offsetMO Q-OffsetRangeList,
+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
- cellsToRemoveList PCI-List OPTIONAL, -- Need N
- cellsToAddModList CellsToAddModList OPTIONAL, -- Need N
+ refFreqCSI-RS ARFCN-ValueNR OPTIONAL,
+ referenceSignalConfig ReferenceSignalConfig,
+ absThreshSS-BlocksConsolidation ThresholdNR OPTIONAL, -- Need R
+ absThreshCSI-RS-Consolidation ThresholdNR OPTIONAL, -- Need R
+ nrofSS-BlocksToAverage INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL, -- Need R
+ nrofCSI-RS-ResourcesToAverage INTEGER (2..maxNrofCSI-RS-ResourcesToAverage) OPTIONAL, -- Need R
+ quantityConfigIndex INTEGER (1..maxNrofQuantityConfig),
- blackCellsToRemoveList PCI-RangeIndexList OPTIONAL, -- Need N
- blackCellsToAddModList SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeElement OPTIONAL, -- Need N
+ offsetMO Q-OffsetRangeList,
- whiteCellsToRemoveList PCI-RangeIndexList OPTIONAL, -- Need N
- whiteCellsToAddModList SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeElement OPTIONAL, -- Need N
- ...
-}
+ cellsToRemoveList PCI-List OPTIONAL, -- Need N
+ cellsToAddModList CellsToAddModList OPTIONAL, -- Need N
+
+ blackCellsToRemoveList PCI-RangeIndexList OPTIONAL, -- Need N
+ blackCellsToAddModList SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeElement OPTIONAL, -- Need N
-ReferenceSignalConfig::= SEQUENCE {
- ssb-ConfigMobility SSB-ConfigMobility OPTIONAL, -- Need M
- csi-rs-ResourceConfigMobility CHOICE { release NULL, setup CSI-RS-ResourceConfigMobility } OPTIONAL -- Need M
+ whiteCellsToRemoveList PCI-RangeIndexList OPTIONAL, -- Need N
+ whiteCellsToAddModList SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeElement OPTIONAL, -- Need N
+ ... ,
+ [[
+ freqBandIndicatorNR-v1530 FreqBandIndicatorNR OPTIONAL, -- Need R
+ measCycleSCell-v1530 ENUMERATED {sf160, sf256, sf320, sf512,sf640, sf1024, sf1280} OPTIONAL -- Need R
+ ]]
}
-SSB-ConfigMobility ::= SEQUENCE {
- ssb-ToMeasure CHOICE { release NULL, setup SSB-ToMeasure } OPTIONAL, -- Need M
- useServingCellTimingForSync BOOLEAN,
- ss-RSSI-Measurement SS-RSSI-Measurement 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
}
+SSB-ConfigMobility::= SEQUENCE {
-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 { release NULL, setup SSB-ToMeasure } OPTIONAL, -- Need M
+ deriveSSB-IndexFromCell BOOLEAN,
+ ss-RSSI-Measurement SS-RSSI-Measurement OPTIONAL, -- Need M
+ ...
}
-SSB-ToMeasure ::= CHOICE {
- shortBitmap BIT STRING (SIZE (4)),
- mediumBitmap BIT STRING (SIZE (8)),
- longBitmap BIT STRING (SIZE (64))
+
+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
}
-ThresholdNR ::= SEQUENCE{
- thresholdRSRP RSRP-Range OPTIONAL,
- thresholdRSRQ RSRQ-Range OPTIONAL,
- thresholdSINR SINR-Range OPTIONAL
+
+ThresholdNR ::= SEQUENCE{
+ thresholdRSRP RSRP-Range OPTIONAL, -- Need R
+ thresholdRSRQ RSRQ-Range OPTIONAL, -- Need R
+ thresholdSINR SINR-Range OPTIONAL -- Need R
}
-CellsToAddModList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CellsToAddMod
+CellsToAddModList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CellsToAddMod
-CellsToAddMod ::= SEQUENCE {
- physCellId PhysCellId,
- cellIndividualOffset Q-OffsetRangeList
+CellsToAddMod ::= SEQUENCE {
+ physCellId PhysCellId,
+ cellIndividualOffset Q-OffsetRangeList
}
@@ -1273,721 +2474,839 @@ CellsToAddMod ::= SEQUENCE {
-- TAG-MEAS-OBJECT-NR-STOP
-- TAG-MEAS-OBJECT-TO-ADD-MOD-LIST-START
-MeasObjectToAddModList ::= SEQUENCE (SIZE (1..maxNrofObjectId)) OF MeasObjectToAddMod
+MeasObjectToAddModList ::= SEQUENCE (SIZE (1..maxNrofObjectId)) OF MeasObjectToAddMod
-MeasObjectToAddMod ::= SEQUENCE {
- measObjectId MeasObjectId,
- measObject CHOICE {
- measObjectNR MeasObjectNR,
- ...
- }
+MeasObjectToAddMod ::= SEQUENCE {
+ measObjectId MeasObjectId,
+ measObject CHOICE {
+ measObjectNR MeasObjectNR,
+ ... ,
+ measObjectEUTRA MeasObjectEUTRA
+ }
}
-- TAG-MEAS-OBJECT-TO-ADD-MOD-LIST-STOP
+-- TAG-MEASRESULT-CELL-LIST-SFTD-START
+
+MeasResultCellListSFTD ::= SEQUENCE (SIZE (1..maxCellSFTD)) OF MeasResultCellSFTD
+
+MeasResultCellSFTD ::= SEQUENCE {
+ physCellId PhysCellId,
+ sfn-OffsetResult INTEGER (0..1023),
+ frameBoundaryOffsetResult INTEGER (-30720..30719),
+ rsrp-Result RSRP-Range OPTIONAL
+}
+
+-- TAG-MEASRESULT-CELL-LIST-SFTD-STOP
-- TAG-MEAS-RESULTS-START
-MeasResults ::= SEQUENCE {
- measId MeasId,
- measResultServingMOList MeasResultServMOList,
- measResultNeighCells CHOICE {
- measResultListNR MeasResultListNR,
- ...
- } OPTIONAL,
- ...
+MeasResults ::= SEQUENCE {
+ measId MeasId,
+ measResultServingMOList MeasResultServMOList,
+ measResultNeighCells CHOICE {
+ measResultListNR MeasResultListNR,
+ ...,
+ measResultListEUTRA MeasResultListEUTRA
+ } OPTIONAL,
+ ...
}
-MeasResultServMOList ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF MeasResultServMO
+MeasResultServMOList ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF MeasResultServMO
-MeasResultServMO ::= SEQUENCE {
- servCellId ServCellIndex,
- measResultServingCell MeasResultNR,
- measResultBestNeighCell MeasResultNR OPTIONAL,
- ...
+MeasResultServMO ::= SEQUENCE {
+ servCellId ServCellIndex,
+ measResultServingCell MeasResultNR,
+ measResultBestNeighCell MeasResultNR OPTIONAL,
+ ...
}
-MeasResultListNR ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultNR
+MeasResultListNR ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultNR
+
+MeasResultNR ::= SEQUENCE {
+ physCellId PhysCellId OPTIONAL,
+ measResult SEQUENCE {
+ cellResults SEQUENCE{
+ resultsSSB-Cell MeasQuantityResults OPTIONAL,
+ resultsCSI-RS-Cell MeasQuantityResults OPTIONAL
+ },
+ rsIndexResults SEQUENCE{
+ resultsSSB-Indexes ResultsPerSSB-IndexList OPTIONAL,
+ resultsCSI-RS-Indexes ResultsPerCSI-RS-IndexList OPTIONAL
+ } OPTIONAL
+ },
+ ...,
+ [[
+ cgi-Info CGI-Info OPTIONAL
+ ]]
+}
+
+MeasResultListEUTRA ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultEUTRA
+
+MeasResultEUTRA ::= SEQUENCE {
+ physCellId PhysCellId,
+ measResult MeasQuantityResultsEUTRA,
+
+ cgi-Info SEQUENCE {
+ cgi-info-EPC SEQUENCE {
+ cgi-info-EPC-legacy CellAccessRelatedInfo-EUTRA-EPC,
+ cgi-info-EPC-list SEQUENCE (SIZE (1..maxPLMN)) OF CellAccessRelatedInfo-EUTRA-EPC OPTIONAL
+ } OPTIONAL,
+
+ cgi-info-5GC SEQUENCE (SIZE (1..maxPLMN)) OF CellAccessRelatedInfo-EUTRA-5GC OPTIONAL,
+ freqBandIndicator FreqBandIndicatorEUTRA,
+ multiBandInfoList MultiBandInfoListEUTRA OPTIONAL,
+ freqBandIndicatorPriority ENUMERATED {true} OPTIONAL
+ } OPTIONAL,
+ ...
+}
+
+MultiBandInfoListEUTRA ::= SEQUENCE (SIZE (1..maxMultiBands)) OF FreqBandIndicatorEUTRA
-MeasResultNR ::= SEQUENCE {
- physCellId PhysCellId OPTIONAL,
- --FFS: Details of cgi info
- measResult SEQUENCE {
- cellResults SEQUENCE{
- resultsSSB-Cell MeasQuantityResults OPTIONAL,
- resultsCSI-RS-Cell MeasQuantityResults OPTIONAL
- },
- rsIndexResults SEQUENCE{
- resultsSSB-Indexes ResultsPerSSB-IndexList OPTIONAL,
- resultsCSI-RS-Indexes ResultsPerCSI-RS-IndexList OPTIONAL
- } OPTIONAL
- },
- ...
+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
+MeasQuantityResultsEUTRA ::= SEQUENCE {
+ rsrp RSRP-RangeEUTRA OPTIONAL,
+ rsrq RSRQ-RangeEUTRA OPTIONAL,
+ sinr SINR-RangeEUTRA OPTIONAL
}
-ResultsPerSSB-IndexList::= SEQUENCE (SIZE (1..maxNrofSSBs)) OF ResultsPerSSB-Index
-ResultsPerSSB-Index ::= SEQUENCE {
- ssb-Index SSB-Index,
- ssb-Results MeasQuantityResults OPTIONAL
+ResultsPerSSB-IndexList::= SEQUENCE (SIZE (1..maxNrofIndexesToReport2)) OF ResultsPerSSB-Index
+
+ResultsPerSSB-Index ::= SEQUENCE {
+ ssb-Index SSB-Index,
+ ssb-Results MeasQuantityResults OPTIONAL
}
-ResultsPerCSI-RS-IndexList::= SEQUENCE (SIZE (1..maxNrofCSI-RS)) OF ResultsPerCSI-RS-Index
+ResultsPerCSI-RS-IndexList::= SEQUENCE (SIZE (1..maxNrofIndexesToReport2)) OF ResultsPerCSI-RS-Index
-ResultsPerCSI-RS-Index ::= SEQUENCE {
- csi-RS-Index CSI-RS-Index,
- csi-RS-Results MeasQuantityResults OPTIONAL
+ResultsPerCSI-RS-Index ::= SEQUENCE {
+ csi-RS-Index CSI-RS-Index,
+ csi-RS-Results MeasQuantityResults OPTIONAL
}
-- TAG-MEAS-RESULTS-STOP
-- TAG-MEAS-RESULT-SCG-FAILURE-START
-MeasResultSCG-Failure ::= SEQUENCE {
- measResultPerMOList MeasResultList2NR,
- ...
+MeasResultSCG-Failure ::= SEQUENCE {
+ measResultPerMOList MeasResultList2NR,
+ ...
}
+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,
- measResultServingCell MeasResultNR OPTIONAL,
- measResultNeighCellListNR MeasResultListNR
+MeasResult2NR ::= SEQUENCE {
+ ssbFrequency ARFCN-ValueNR OPTIONAL,
+ refFreqCSI-RS ARFCN-ValueNR OPTIONAL,
+ measResultServingCell MeasResultNR OPTIONAL,
+ measResultNeighCellListNR MeasResultListNR OPTIONAL,
+ ...
}
-- TAG-MEAS-RESULT-SCG-FAILURE-STOP
--- TAG-MEASRESULT-CELL-LIST-SFTD-START
+-- TAG-MOBILITY-STATE-PARAMETERS-START
-MeasResultCellListSFTD ::= SEQUENCE (SIZE (1..maxCellSFTD)) OF MeasResultCellSFTD
-
-MeasResultCellSFTD ::= SEQUENCE {
- physCellId PhysCellId,
- sfn-OffsetResult INTEGER (0..1023),
- frameBoundaryOffsetResult INTEGER (-30720..30719),
- rsrp-Result RSRP-Range OPTIONAL
+MobilityStateParameters ::= SEQUENCE{
+ t-Evaluation ENUMERATED {
+ s30, s60, s120, s180, s240, spare3, spare2, spare1},
+ t-HystNormal ENUMERATED {
+ s30, s60, s120, s180, s240, spare3, spare2, spare1},
+ n-CellChangeMedium INTEGER (1..16),
+ n-CellChangeHigh INTEGER (1..16)
}
--- TAG-MEASRESULT-CELL-LIST-SFTD-STOP
+-- TAG-MOBILITY-STATE-PARAMETERS-STOP
-- TAG-MULTIFREQUENCYBANDLISTNR-START
-MultiFrequencyBandListNR ::= SEQUENCE (SIZE (1..maxNrofMultiBands)) OF FreqBandIndicatorNR
+MultiFrequencyBandListNR ::= SEQUENCE (SIZE (1..maxNrofMultiBands)) OF FreqBandIndicatorNR
-- TAG-MULTIFREQUENCYBANDLISTNR-STOP
+-- TAG-NEXTHOPCHAININGCOUNT-START
+
+NextHopChainingCount ::= INTEGER (0..7)
+
+-- TAG-NEXTHOPCHAININGCOUNT-STOP
+-- TAG-NG-5G-S-TMSI-START
+
+NG-5G-S-TMSI::= BIT STRING (SIZE (48))
+
+-- TAG-NG-5G-S-TMSI-STOP
-- TAG-NZP-CSI-RS-RESOURCE-START
-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
- ...
+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
+ ...
}
-- TAG-NZP-CSI-RS-RESOURCE-STOP
-- TAG-NZP-CSI-RS-RESOURCEID-START
-NZP-CSI-RS-ResourceId ::= INTEGER (0..maxNrofNZP-CSI-RS-Resources-1)
+NZP-CSI-RS-ResourceId ::= INTEGER (0..maxNrofNZP-CSI-RS-Resources-1)
-- 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
- ...
+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, -- Need S
+ 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)
+NZP-CSI-RS-ResourceSetId ::= INTEGER (0..maxNrofNZP-CSI-RS-ResourceSets-1)
-- 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
-PCI-List ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF PhysCellId
+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 S
+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-RANGEELEMENT-START
-PCI-RangeElement ::= SEQUENCE {
- pci-RangeIndex PCI-RangeIndex,
- pci-Range PCI-Range
+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)
+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 {
- 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
- ...
+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 {
- 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
- ...
+PDCCH-ConfigCommon ::= SEQUENCE {
+ controlResourceSetZero ControlResourceSetZero OPTIONAL, -- Cond InitialBWP-Only
+ commonControlResourceSet ControlResourceSet OPTIONAL, -- Need R
+ searchSpaceZero SearchSpaceZero OPTIONAL, -- Cond InitialBWP-Only
+ commonSearchSpaceList SEQUENCE (SIZE(1..4)) OF SearchSpace OPTIONAL, -- Need R
+ searchSpaceSIB1 SearchSpaceId OPTIONAL, -- Need S
+ searchSpaceOtherSystemInformation SearchSpaceId OPTIONAL, -- Need S
+ pagingSearchSpace SearchSpaceId OPTIONAL, -- Need S
+ ra-SearchSpace SearchSpaceId OPTIONAL, -- Need S
+ ...
}
-- TAG-PDCCH-CONFIGCOMMON-STOP
+-- TAG-PDCCH-CONFIGSIB1-START
+
+PDCCH-ConfigSIB1 ::= SEQUENCE {
+ controlResourceSetZero ControlResourceSetZero,
+ searchSpaceZero SearchSpaceZero
+}
+
+-- TAG-PDCCH-CONFIGSIB1-STOP
-- TAG-PDCCH-SERVINGCELLCONFIG-START
-PDCCH-ServingCellConfig ::= SEQUENCE {
- slotFormatIndicator CHOICE { release NULL, setup SlotFormatIndicator } OPTIONAL, -- Need M
- ...
+PDCCH-ServingCellConfig ::= SEQUENCE {
+ slotFormatIndicator CHOICE { release NULL, setup SlotFormatIndicator } OPTIONAL, -- Need M
+ ...
}
-- TAG-PDCCH-SERVINGCELLCONFIG-STOP
-- TAG-PDCP-CONFIG-START
-PDCP-Config ::= SEQUENCE {
- drb SEQUENCE {
- discardTimer ENUMERATED {ms10, ms20, ms30, ms40, ms50, ms60, ms75, ms100, ms150, ms200, ms250, ms300, ms500, ms750, ms1500, infinity} OPTIONAL, -- Cond Setup
- pdcp-SN-SizeUL ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup2
- pdcp-SN-SizeDL ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup2
- headerCompression CHOICE {
- notUsed NULL,
- rohc SEQUENCE {
- maxCID INTEGER (1..16383) DEFAULT 15,
- profiles SEQUENCE {
- profile0x0001 BOOLEAN,
- profile0x0002 BOOLEAN,
- profile0x0003 BOOLEAN,
- profile0x0004 BOOLEAN,
- profile0x0006 BOOLEAN,
- profile0x0101 BOOLEAN,
- profile0x0102 BOOLEAN,
- profile0x0103 BOOLEAN,
- profile0x0104 BOOLEAN
- },
- drb-ContinueROHC ENUMERATED { true } OPTIONAL -- Need R
- },
- uplinkOnlyROHC SEQUENCE {
- maxCID INTEGER (1..16383) DEFAULT 15,
- profiles SEQUENCE {
- profile0x0006 BOOLEAN
- },
- drb-ContinueROHC ENUMERATED { true } OPTIONAL -- Need R
- },
- ...
- },
- integrityProtection ENUMERATED { enabled } OPTIONAL, -- Cond ConnectedTo5GC
- statusReportRequired ENUMERATED { true } OPTIONAL, -- Cond Rlc-AM
- outOfOrderDelivery ENUMERATED { true } OPTIONAL -- Need R
- } OPTIONAL, -- Cond DRB
- moreThanOneRLC SEQUENCE {
- primaryPath SEQUENCE {
- cellGroup CellGroupId OPTIONAL, -- Need R
- logicalChannel LogicalChannelIdentity OPTIONAL -- Need R
- },
- ul-DataSplitThreshold UL-DataSplitThreshold OPTIONAL, -- Cond SplitBearer
- pdcp-Duplication BOOLEAN OPTIONAL -- Need R
- } OPTIONAL, -- Cond MoreThanOneRLC
-
- t-Reordering ENUMERATED {
- ms0, ms1, ms2, ms4, ms5, ms8, ms10, ms15, ms20, ms30, ms40, ms50, ms60, ms80, ms100, ms120, ms140, ms160, ms180, ms200, ms220,
- ms240, ms260, ms280, ms300, ms500, ms750, ms1000, ms1250, ms1500, ms1750, ms2000, ms2250, ms2500, ms2750,
- ms3000, spare28, spare27, spare26, spare25, spare24, spare23, spare22, spare21, spare20,
- spare19, spare18, spare17, spare16, spare15, spare14, spare13, spare12, spare11, spare10, spare09,
- spare08, spare07, spare06, spare05, spare04, spare03, spare02, spare01 } OPTIONAL, -- Need S
-
-
- ...
+PDCP-Config ::= SEQUENCE {
+ drb SEQUENCE {
+ discardTimer ENUMERATED {ms10, ms20, ms30, ms40, ms50, ms60, ms75, ms100, ms150, ms200,
+ ms250, ms300, ms500, ms750, ms1500, infinity} OPTIONAL, -- Cond Setup
+ pdcp-SN-SizeUL ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup2
+ pdcp-SN-SizeDL ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup2
+ headerCompression CHOICE {
+ notUsed NULL,
+ rohc SEQUENCE {
+ maxCID INTEGER (1..16383) DEFAULT 15,
+ profiles SEQUENCE {
+ profile0x0001 BOOLEAN,
+ profile0x0002 BOOLEAN,
+ profile0x0003 BOOLEAN,
+ profile0x0004 BOOLEAN,
+ profile0x0006 BOOLEAN,
+ profile0x0101 BOOLEAN,
+ profile0x0102 BOOLEAN,
+ profile0x0103 BOOLEAN,
+ profile0x0104 BOOLEAN
+ },
+ drb-ContinueROHC ENUMERATED { true } OPTIONAL -- Need N
+ },
+ uplinkOnlyROHC SEQUENCE {
+ maxCID INTEGER (1..16383) DEFAULT 15,
+ profiles SEQUENCE {
+ profile0x0006 BOOLEAN
+ },
+ drb-ContinueROHC ENUMERATED { true } OPTIONAL -- Need N
+ },
+ ...
+ },
+ integrityProtection ENUMERATED { enabled } OPTIONAL, -- Cond ConnectedTo5GC
+ statusReportRequired ENUMERATED { true } OPTIONAL, -- Cond Rlc-AM
+ outOfOrderDelivery ENUMERATED { true } OPTIONAL -- Need R
+ } OPTIONAL, -- Cond DRB
+ moreThanOneRLC SEQUENCE {
+ primaryPath SEQUENCE {
+ cellGroup CellGroupId OPTIONAL, -- Need R
+ logicalChannel LogicalChannelIdentity OPTIONAL -- Need R
+ },
+ ul-DataSplitThreshold UL-DataSplitThreshold OPTIONAL, -- Cond SplitBearer
+ pdcp-Duplication BOOLEAN OPTIONAL -- Need R
+ } OPTIONAL, -- Cond MoreThanOneRLC
+
+ t-Reordering ENUMERATED {
+ ms0, ms1, ms2, ms4, ms5, ms8, ms10, ms15, ms20, ms30, ms40,
+ ms50, ms60, ms80, ms100, ms120, ms140, ms160, ms180, ms200, ms220,
+ ms240, ms260, ms280, ms300, ms500, ms750, ms1000, ms1250,
+ ms1500, ms1750, ms2000, ms2250, ms2500, ms2750,
+ ms3000, spare28, spare27, spare26, spare25, spare24,
+ spare23, spare22, spare21, spare20,
+ spare19, spare18, spare17, spare16, spare15, spare14,
+ spare13, spare12, spare11, spare10, spare09,
+ spare08, spare07, spare06, spare05, spare04, spare03,
+ spare02, spare01 } OPTIONAL, -- Need S
+ ...,
+ [[
+ cipheringDisabled ENUMERATED {true} OPTIONAL -- Cond ConnectedTo5GC
+ ]]
+
}
UL-DataSplitThreshold ::= ENUMERATED {
- b0, b100, b200, b400, b800, b1600, b3200, b6400, b12800, b25600, b51200, b102400, b204800,
- b409600, b819200, b1228800, b1638400, b2457600, b3276800, b4096000, b4915200, b5734400,
- b6553600, infinity, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1}
+ b0, b100, b200, b400, b800, b1600, b3200, b6400, b12800, b25600, b51200, b102400, b204800,
+ b409600, b819200, b1228800, b1638400, b2457600, b3276800, b4096000, b4915200, b5734400,
+ b6553600, infinity, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1}
-- TAG-PDCP-CONFIG-STOP
-- TAG-PDSCH-CONFIG-START
-PDSCH-Config ::= SEQUENCE {
- 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
-
- 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
-
- prb-BundlingType CHOICE {
- staticBundling SEQUENCE {
- bundleSize 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
- }
- },
- 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
+PDSCH-Config ::= SEQUENCE {
+ dataScramblingIdentityPDSCH INTEGER (0..1023) OPTIONAL, -- Need S
+ dmrs-DownlinkForPDSCH-MappingTypeA CHOICE { release NULL, setup DMRS-DownlinkConfig } OPTIONAL, -- Need M
+ dmrs-DownlinkForPDSCH-MappingTypeB CHOICE { release NULL, setup DMRS-DownlinkConfig } OPTIONAL, -- Need M
+
+ 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, qam64LowSE} OPTIONAL, -- Need S
+ maxNrofCodeWordsScheduledByDCI ENUMERATED {n1, n2} OPTIONAL, -- Need R
+
+ prb-BundlingType CHOICE {
+ staticBundling SEQUENCE {
+ bundleSize 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
+ }
+ },
+ 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,
+ -- NeedN
+ 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 {
- pdsch-TimeDomainAllocationList PDSCH-TimeDomainResourceAllocationList OPTIONAL, -- Need R
- ...
+PDSCH-ConfigCommon ::= SEQUENCE {
+ pdsch-TimeDomainAllocationList PDSCH-TimeDomainResourceAllocationList OPTIONAL, -- Need R
+ ...
}
-- TAG-PDSCH-CONFIGCOMMON-STOP
-- TAG-PDSCH-SERVINGCELLCONFIG-START
-PDSCH-ServingCellConfig ::= SEQUENCE {
- codeBlockGroupTransmission CHOICE { release NULL, setup PDSCH-CodeBlockGroupTransmission } OPTIONAL, -- Need M
- xOverhead ENUMERATED { xOh6, xOh12, xOh18 } OPTIONAL, -- Need S
- nrofHARQ-ProcessesForPDSCH ENUMERATED {n2, n4, n6, n10, n12, n16} OPTIONAL, -- Need S
- pucch-Cell ServCellIndex OPTIONAL , -- Cond SCellAddOnly
- ...
+PDSCH-ServingCellConfig ::= SEQUENCE {
+ codeBlockGroupTransmission CHOICE { release NULL, setup PDSCH-CodeBlockGroupTransmission } OPTIONAL, -- Need M
+ xOverhead ENUMERATED { xOh6, xOh12, xOh18 } OPTIONAL, -- Need S
+ nrofHARQ-ProcessesForPDSCH ENUMERATED {n2, n4, n6, n10, n12, n16} OPTIONAL, -- Need S
+ pucch-Cell ServCellIndex OPTIONAL , -- Cond SCellAddOnly
+ ...
}
-PDSCH-CodeBlockGroupTransmission ::= SEQUENCE {
- maxCodeBlockGroupsPerTransportBlock ENUMERATED {n2, n4, n6, n8},
- codeBlockGroupFlushIndicator BOOLEAN,
- ...
+PDSCH-CodeBlockGroupTransmission ::= SEQUENCE {
+ maxCodeBlockGroupsPerTransportBlock ENUMERATED {n2, n4, n6, n8},
+ codeBlockGroupFlushIndicator BOOLEAN,
+ ...
}
-- TAG-PDSCH-SERVINGCELLCONFIG-STOP
-- TAG-PDSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-START
-PDSCH-TimeDomainResourceAllocationList ::= SEQUENCE (SIZE(1..maxNrofDL-Allocations)) OF PDSCH-TimeDomainResourceAllocation
+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)
+ k0 INTEGER(0..32) OPTIONAL, -- Need S
+ mappingType ENUMERATED {typeA, typeB},
+ startSymbolAndLength INTEGER (0..127)
}
-- TAG-PDSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-STOP
+-- TAG-PHR-CONFIG-START
+
+PHR-Config ::= SEQUENCE {
+ phr-PeriodicTimer ENUMERATED {sf10, sf20, sf50, sf100, sf200,sf500, sf1000, infinity},
+ phr-ProhibitTimer ENUMERATED {sf0, sf10, sf20, sf50, sf100,sf200, sf500, sf1000},
+ phr-Tx-PowerFactorChange ENUMERATED {dB1, dB3, dB6, infinity},
+ multiplePHR BOOLEAN,
+ dummy BOOLEAN,
+ phr-Type2OtherCell BOOLEAN,
+ phr-ModeOtherCG ENUMERATED {real, virtual},
+ ...
+}
+
+-- TAG-PHR-CONFIG-STOP
-- TAG-PHYS-CELL-ID-START
-PhysCellId ::= INTEGER (0..1007)
+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
- ...
+PhysicalCellGroupConfig ::= SEQUENCE {
+ harq-ACK-SpatialBundlingPUCCH ENUMERATED {true} OPTIONAL, -- Need S
+ harq-ACK-SpatialBundlingPUSCH ENUMERATED {true} OPTIONAL, -- Need S
+ p-NR-FR1 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 M
+ ...,
+ [[
+ mcs-C-RNTI RNTI-Value OPTIONAL, -- Need R
+ p-UE-FR1 P-Max OPTIONAL -- Cond MCG-Only
+ ]]
}
-- TAG-PHYSICALCELLGROUPCONFIG-STOP
+-- TAG-PLMN-IDENTITY-INFORMATION-START
+
+PLMN-Identity ::= SEQUENCE {
+ mcc MCC OPTIONAL, -- Cond MCC
+ mnc MNC
+}
+
+MCC ::= SEQUENCE (SIZE (3)) OF MCC-MNC-Digit
+
+MNC ::= SEQUENCE (SIZE (2..3)) OF MCC-MNC-Digit
+
+MCC-MNC-Digit ::= INTEGER (0..9)
+
+
+-- TAG-PLMN-IDENTITY-INFORMATION-STOP
+-- TAG-PLMN-IDENTITY-LIST-START
+
+PLMN-IdentityInfoList ::= SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-IdentityInfo
+
+PLMN-IdentityInfo ::= SEQUENCE {
+ plmn-IdentityList SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity,
+ trackingAreaCode TrackingAreaCode OPTIONAL, -- Need R
+ ranac RAN-AreaCode OPTIONAL, -- Need R
+ cellIdentity CellIdentity,
+ cellReservedForOperatorUse ENUMERATED {reserved, notReserved},
+ ...
+}
+-- TAG-PLMN-IDENTITY-LIST-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 {
- 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
- ...
+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
+ ...
}
-- TAG-PTRS-DOWNLINKCONFIG-STOP
-- TAG-PTRS-UPLINKCONFIG-START
-PTRS-UplinkConfig ::= SEQUENCE {
- modeSpecificParameters CHOICE {
- cp-OFDM SEQUENCE {
- 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}
- },
- dft-S-OFDM SEQUENCE {
- sampleDensity SEQUENCE (SIZE (5)) OF INTEGER (1..276),
- timeDensityTransformPrecoding ENUMERATED {d2} OPTIONAL -- Need S
- }
- } OPTIONAL, -- Need M
- ...
+PTRS-UplinkConfig ::= SEQUENCE {
+ transformPrecoderDisabled SEQUENCE {
+ 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}
+ } OPTIONAL, -- Need R
+ transformPrecoderEnabled SEQUENCE {
+ sampleDensity SEQUENCE (SIZE (5)) OF INTEGER (1..276),
+ timeDensityTransformPrecoding ENUMERATED {d2} OPTIONAL -- Need S
+ } OPTIONAL, -- Need R
+ ...
}
-- TAG-PTRS-UPLINKCONFIG-STOP
-- TAG-PUCCH-CONFIG-START
-PUCCH-Config ::= SEQUENCE {
- resourceSetToAddModList SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets)) OF PUCCH-ResourceSet OPTIONAL, -- Need N
- resourceSetToReleaseList SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets)) OF PUCCH-ResourceSetId 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
+PUCCH-Config ::= SEQUENCE {
+ resourceSetToAddModList SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets)) OF PUCCH-ResourceSet OPTIONAL, -- Need N
+ resourceSetToReleaseList SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets)) OF PUCCH-ResourceSetId OPTIONAL, -- Need N
- 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
+ resourceToAddModList SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-Resource OPTIONAL, -- Need N
+ resourceToReleaseList SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-ResourceId OPTIONAL, -- Need N
- schedulingRequestResourceToAddModList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceConfig OPTIONAL, -- Need N
- schedulingRequestResourceToReleaseList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceId OPTIONAL, -- Need N
+ 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
- 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
+ schedulingRequestResourceToAddModList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceConfig OPTIONAL, -- Need N
+ schedulingRequestResourceToReleaseList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceId OPTIONAL, -- Need N
- spatialRelationInfoToAddModList SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfo OPTIONAL, -- Need N
- spatialRelationInfoToReleaseList SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfoId 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
- pucch-PowerControl PUCCH-PowerControl OPTIONAL, -- Need M
- ...
-}
+ spatialRelationInfoToAddModList SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfo OPTIONAL, -- Need N
+ spatialRelationInfoToReleaseList SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfoId OPTIONAL, -- Need N
-PUCCH-FormatConfig ::= SEQUENCE {
- interslotFrequencyHopping ENUMERATED {enabled} OPTIONAL, -- Need R
- additionalDMRS ENUMERATED {true} OPTIONAL, -- Need R
- maxCodeRate PUCCH-MaxCodeRate OPTIONAL, -- Need R
- nrofSlots ENUMERATED {n2,n4,n8} OPTIONAL, -- Need S
- pi2BPSK ENUMERATED {enabled} OPTIONAL, -- Need R
- simultaneousHARQ-ACK-CSI ENUMERATED {true} OPTIONAL -- Need R
+ pucch-PowerControl PUCCH-PowerControl OPTIONAL, -- Need M
+ ...
}
-PUCCH-MaxCodeRate ::= ENUMERATED {zeroDot08, zeroDot15, zeroDot25, zeroDot35, zeroDot45, zeroDot60, zeroDot80}
-
-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 SEQUENCE {
- resource SRS-ResourceId,
- uplinkBWP BWP-Id
- }
- },
- pucch-PathlossReferenceRS-Id PUCCH-PathlossReferenceRS-Id,
- p0-PUCCH-Id P0-PUCCH-Id,
- closedLoopIndex ENUMERATED { i0, i1 }
+PUCCH-FormatConfig ::= SEQUENCE {
+ interslotFrequencyHopping ENUMERATED {enabled} OPTIONAL, -- Need R
+ additionalDMRS ENUMERATED {true} OPTIONAL, -- Need R
+ maxCodeRate PUCCH-MaxCodeRate OPTIONAL, -- Need R
+ nrofSlots ENUMERATED {n2,n4,n8} OPTIONAL, -- Need S
+ pi2BPSK ENUMERATED {enabled} OPTIONAL, -- Need R
+ simultaneousHARQ-ACK-CSI ENUMERATED {true} OPTIONAL -- Need R
}
-PUCCH-SpatialRelationInfoId ::= INTEGER (1..maxNrofSpatialRelationInfos)
+PUCCH-MaxCodeRate ::= ENUMERATED {zeroDot08, zeroDot15, zeroDot25, zeroDot35, zeroDot45, zeroDot60, zeroDot80}
-- A set with one or more PUCCH resources
-PUCCH-ResourceSet ::= SEQUENCE {
- pucch-ResourceSetId PUCCH-ResourceSetId,
- resourceList SEQUENCE (SIZE (1..maxNrofPUCCH-ResourcesPerSet)) OF PUCCH-ResourceId,
- maxPayloadMinus1 INTEGER (4..256) OPTIONAL -- Need R
+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-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-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,
+ format1 PUCCH-format1,
+ format2 PUCCH-format2,
+ format3 PUCCH-format3,
+ format4 PUCCH-format4
+ }
}
-PUCCH-ResourceId ::= INTEGER (0..maxNrofPUCCH-Resources-1)
+PUCCH-ResourceId ::= INTEGER (0..maxNrofPUCCH-Resources-1)
-PUCCH-format0 ::= SEQUENCE {
- initialCyclicShift INTEGER(0..11),
- nrofSymbols INTEGER (1..2),
- startingSymbolIndex INTEGER(0..13)
+PUCCH-format0 ::= SEQUENCE {
+ initialCyclicShift INTEGER(0..11),
+ nrofSymbols INTEGER (1..2),
+ startingSymbolIndex INTEGER(0..13)
}
-PUCCH-format1 ::= SEQUENCE {
- initialCyclicShift INTEGER(0..11),
- nrofSymbols INTEGER (4..14),
- startingSymbolIndex INTEGER(0..10),
- timeDomainOCC INTEGER(0..6)
+PUCCH-format1 ::= SEQUENCE {
+ initialCyclicShift INTEGER(0..11),
+ nrofSymbols INTEGER (4..14),
+ startingSymbolIndex INTEGER(0..10),
+ timeDomainOCC INTEGER(0..6)
}
-PUCCH-format2 ::= SEQUENCE {
- nrofPRBs INTEGER (1..16),
- nrofSymbols INTEGER (1..2),
- startingSymbolIndex INTEGER(0..13)
+PUCCH-format2 ::= SEQUENCE {
+ nrofPRBs INTEGER (1..16),
+ nrofSymbols INTEGER (1..2),
+ startingSymbolIndex INTEGER(0..13)
}
-PUCCH-format3 ::= SEQUENCE {
- nrofPRBs INTEGER (1..16),
- nrofSymbols INTEGER (4..14),
- startingSymbolIndex INTEGER(0..10)
+PUCCH-format3 ::= SEQUENCE {
+ nrofPRBs INTEGER (1..16),
+ nrofSymbols INTEGER (4..14),
+ startingSymbolIndex INTEGER(0..10)
}
-PUCCH-format4 ::= SEQUENCE {
- nrofSymbols INTEGER (4..14),
- occ-Length ENUMERATED {n2,n4},
- occ-Index ENUMERATED {n0,n1,n2,n3},
- startingSymbolIndex INTEGER(0..10)
+PUCCH-format4 ::= SEQUENCE {
+ nrofSymbols INTEGER (4..14),
+ occ-Length ENUMERATED {n2,n4},
+ occ-Index ENUMERATED {n0,n1,n2,n3},
+ startingSymbolIndex INTEGER(0..10)
}
-- TAG-PUCCH-CONFIG-STOP
-- TAG-PUCCH-CONFIGCOMMON-START
-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
- ...
+PUCCH-ConfigCommon ::= SEQUENCE {
+ pucch-ResourceCommon INTEGER (0..15) OPTIONAL, -- Need R
+ pucch-GroupHopping ENUMERATED { neither, enable, disable },
+ hoppingId INTEGER (0..1023) 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)
+PUCCH-PathlossReferenceRS-Id ::= INTEGER (0..maxNrofPUCCH-PathlossReferenceRSs-1)
-- TAG-PUCCH-PATHLOSSREFERENCERS-ID-STOP
-- TAG-PUCCH-POWERCONTROL-START
-PUCCH-PowerControl ::= SEQUENCE {
- 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
- twoPUCCH-PC-AdjustmentStates ENUMERATED {twoStates} OPTIONAL, -- Need S
- ...
+PUCCH-PowerControl ::= SEQUENCE {
+ 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
+ twoPUCCH-PC-AdjustmentStates ENUMERATED {twoStates} OPTIONAL, -- Need S
+ ...
}
-P0-PUCCH ::= SEQUENCE {
- p0-PUCCH-Id P0-PUCCH-Id,
- p0-PUCCH-Value INTEGER (-16..15)
+P0-PUCCH ::= SEQUENCE {
+ p0-PUCCH-Id P0-PUCCH-Id,
+ p0-PUCCH-Value INTEGER (-16..15)
}
-P0-PUCCH-Id ::= INTEGER (1..8)
+P0-PUCCH-Id ::= INTEGER (1..8)
-PUCCH-PathlossReferenceRS ::= SEQUENCE {
- pucch-PathlossReferenceRS-Id PUCCH-PathlossReferenceRS-Id,
- referenceSignal CHOICE {
- ssb-Index SSB-Index,
- csi-RS-Index NZP-CSI-RS-ResourceId
- }
+PUCCH-PathlossReferenceRS ::= SEQUENCE {
+ pucch-PathlossReferenceRS-Id PUCCH-PathlossReferenceRS-Id,
+ referenceSignal CHOICE {
+ ssb-Index SSB-Index,
+ csi-RS-Index NZP-CSI-RS-ResourceId
+ }
}
-- TAG-PUCCH-POWERCONTROL-STOP
+-- TAG-PUCCH-SPATIALRELATIONINFO-START
+
+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 SEQUENCE {
+ resource SRS-ResourceId,
+ uplinkBWP BWP-Id
+ }
+ },
+ pucch-PathlossReferenceRS-Id PUCCH-PathlossReferenceRS-Id,
+ p0-PUCCH-Id P0-PUCCH-Id,
+ closedLoopIndex ENUMERATED { i0, i1 }
+}
+
+PUCCH-SpatialRelationInfoId ::= INTEGER (1..maxNrofSpatialRelationInfos)
+
+
+-- TAG-PUCCH-SPATIALRELATIONINFO-STOP
-- TAG-PUCCH-TPC-COMMANDCONFIG-START
-PUCCH-TPC-CommandConfig ::= SEQUENCE {
- tpc-IndexPCell INTEGER (1..15) OPTIONAL, -- Cond PDCCH-OfSpcell
- tpc-IndexPUCCH-SCell INTEGER (1..15) OPTIONAL, -- Cond PDCCH-ofSpCellOrPUCCH-Scell
+PUCCH-TPC-CommandConfig ::= SEQUENCE {
+ tpc-IndexPCell INTEGER (1..15) OPTIONAL, -- Cond PDCCH-OfSpcell
+ tpc-IndexPUCCH-SCell INTEGER (1..15) OPTIONAL, -- Cond PDCCH-ofSpCellOrPUCCH-Scell
...
}
-- TAG-PUCCH-TPC-COMMANDCONFIG-STOP
-- TAG-PUSCH-CONFIG-START
-PUSCH-Config ::= SEQUENCE {
- 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
- frequencyHopping ENUMERATED {mode1, mode2} OPTIONAL, -- Need S
- frequencyHoppingOffsetLists SEQUENCE (SIZE (1..4)) OF INTEGER (1.. maxNrofPhysicalResourceBlocks-1) OPTIONAL, -- Need M
- resourceAllocation ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch},
- 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
- 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
- } OPTIONAL, -- Need M
- scaling ENUMERATED { f0p5, f0p65, f0p8, f1 }
+PUSCH-Config ::= SEQUENCE {
+ dataScramblingIdentityPUSCH INTEGER (0..1023) OPTIONAL, -- Need S
+ 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
+ frequencyHopping ENUMERATED {intraSlot, interSlot} OPTIONAL, -- Need S
+ frequencyHoppingOffsetLists SEQUENCE (SIZE (1..4)) OF INTEGER (1.. maxNrofPhysicalResourceBlocks-1) OPTIONAL, -- Need M
+ resourceAllocation ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch},
+ pusch-TimeDomainAllocationList CHOICE { release NULL, setup PUSCH-TimeDomainResourceAllocationList } OPTIONAL, -- Need M
+ pusch-AggregationFactor ENUMERATED { n2, n4, n8 } OPTIONAL, -- Need S
+ mcs-Table ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S
+ mcs-TableTransformPrecoder ENUMERATED {qam256, qam64LowSE} 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
+ 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
+ } OPTIONAL, -- Need M
+ scaling ENUMERATED { f0p5, f0p65, f0p8, f1 }
}
-- TAG-PUSCH-CONFIG-STOP
-- TAG-PUSCH-CONFIGCOMMON-START
-PUSCH-ConfigCommon ::= SEQUENCE {
- 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
- ...
+PUSCH-ConfigCommon ::= SEQUENCE {
+ 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 {
- 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
+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
--- 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 INTEGER (-16..15) OPTIONAL,
- alpha Alpha OPTIONAL -- Need S
+-- be used for a particular PUSCH transmission. (see 38.213, section 7.1.1)
+P0-PUSCH-AlphaSet ::= SEQUENCE {
+ p0-PUSCH-AlphaSetId P0-PUSCH-AlphaSetId,
+ p0 INTEGER (-16..15) OPTIONAL, -- Need S
+ 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 {
- 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-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 {
- 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
+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 {
- codeBlockGroupTransmission CHOICE { release NULL, setup PUSCH-CodeBlockGroupTransmission } OPTIONAL, -- Need M
- rateMatching ENUMERATED {limitedBufferRM} OPTIONAL, -- Need S
- xOverhead ENUMERATED {xoh6, xoh12, xoh18} OPTIONAL, -- Need S
- ...
+PUSCH-ServingCellConfig ::= SEQUENCE {
+ codeBlockGroupTransmission CHOICE { release NULL, setup PUSCH-CodeBlockGroupTransmission } OPTIONAL, -- Need M
+ rateMatching ENUMERATED {limitedBufferRM} OPTIONAL, -- Need S
+ xOverhead ENUMERATED {xoh6, xoh12, xoh18} OPTIONAL, -- Need S
+ ...
}
-PUSCH-CodeBlockGroupTransmission ::= SEQUENCE {
- maxCodeBlockGroupsPerTransportBlock ENUMERATED {n2, n4, n6, n8},
- ...
+PUSCH-CodeBlockGroupTransmission ::= SEQUENCE {
+ maxCodeBlockGroupsPerTransportBlock ENUMERATED {n2, n4, n6, n8},
+ ...
}
-- TAG-PUSCH-SERVINGCELLCONFIG-STOP
@@ -1996,565 +3315,673 @@ PUSCH-CodeBlockGroupTransmission ::= SEQUENCE {
PUSCH-TimeDomainResourceAllocationList ::= SEQUENCE (SIZE(1..maxNrofUL-Allocations)) OF PUSCH-TimeDomainResourceAllocation
PUSCH-TimeDomainResourceAllocation ::= SEQUENCE {
- k2 INTEGER(0..32) OPTIONAL, -- Need S
- mappingType ENUMERATED {typeA, typeB},
- startSymbolAndLength INTEGER (0..127)
+ k2 INTEGER(0..32) OPTIONAL, -- Need S
+ mappingType ENUMERATED {typeA, typeB},
+ startSymbolAndLength INTEGER (0..127)
}
-- TAG-PUSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-STOP
-- TAG-PUSCH-TPC-COMMANDCONFIG-START
-PUSCH-TPC-CommandConfig ::= SEQUENCE {
- tpc-Index INTEGER (1..15) OPTIONAL, -- Cond SUL
- tpc-IndexSUL INTEGER (1..15) OPTIONAL, -- Cond SUL-Only
- targetCell ServCellIndex OPTIONAL, -- Need S
- ...
+PUSCH-TPC-CommandConfig ::= SEQUENCE {
+ tpc-Index INTEGER (1..15) OPTIONAL, -- Cond SUL
+ tpc-IndexSUL INTEGER (1..15) OPTIONAL, -- Cond SUL-Only
+ targetCell ServCellIndex OPTIONAL, -- Need S
+ ...
}
-- TAG-PUSCH-TPC-COMMANDCONFIG-STOP
+-- TAG-Q-OFFSET-START
+
+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,
+ dB6, dB8, dB10, dB12, dB14, dB16, dB18,
+ dB20, dB22, dB24}
+
+-- TAG-Q-OFFSET-STOP
+-- TAG-Q-QUALMIN-START
-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,
- dB6, dB8, dB10, dB12, dB14, dB16, dB18,
- dB20, dB22, dB24}
+Q-QualMin ::= INTEGER (-34..-3) -- FFS range
+-- TAG-Q-QUALMIN-STOP
+-- TAG-Q-RXLEVMIN-START
+
+Q-RxLevMin ::= INTEGER (-70..-22) -- FFS range
+
+-- TAG-Q-RXLEVMIN-STOP
-- TAG-QUANTITY-CONFIG-START
-QuantityConfig ::= SEQUENCE {
- quantityConfigNR-List SEQUENCE (SIZE (1..maxNrofQuantityConfig)) OF QuantityConfigNR OPTIONAL, -- Need M
- ...
+QuantityConfig ::= SEQUENCE {
+ quantityConfigNR-List SEQUENCE (SIZE (1..maxNrofQuantityConfig)) OF QuantityConfigNR OPTIONAL, -- Need M
+ ...,
+ [[
+ quantityConfigEUTRA FilterConfig OPTIONAL -- Need M
+ ]]
}
-QuantityConfigNR::= SEQUENCE {
- quantityConfigCell QuantityConfigRS,
- quantityConfigRS-Index QuantityConfigRS OPTIONAL -- Need M
+QuantityConfigNR::= SEQUENCE {
+ quantityConfigCell QuantityConfigRS,
+ quantityConfigRS-Index QuantityConfigRS OPTIONAL -- Need M
}
-QuantityConfigRS ::= SEQUENCE {
- ssb-FilterConfig FilterConfig,
- 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 {
- rach-ConfigGeneric RACH-ConfigGeneric,
- totalNumberOfRA-Preambles INTEGER (1..63) OPTIONAL, -- Need S
- 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},
- oneHalf ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
- one ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
- two ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32},
- four INTEGER (1..16),
- eight INTEGER (1..8),
- sixteen INTEGER (1..4)
- } OPTIONAL, -- Need M
-
- groupBconfigured SEQUENCE {
- 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},
- numberOfRA-PreamblesGroupA INTEGER (1..64)
- } OPTIONAL, -- Need R
- ra-ContentionResolutionTimer ENUMERATED { sf8, sf16, sf24, sf32, sf40, sf48, sf56, sf64},
- rsrp-ThresholdSSB RSRP-Range OPTIONAL, -- Need R
- rsrp-ThresholdSSB-SUL RSRP-Range OPTIONAL, -- Cond SUL
- prach-RootSequenceIndex CHOICE {
- l839 INTEGER (0..837),
- l139 INTEGER (0..137)
- },
- msg1-SubcarrierSpacing SubcarrierSpacing OPTIONAL, --Need S
- restrictedSetConfig ENUMERATED {unrestrictedSet, restrictedSetTypeA, restrictedSetTypeB},
- msg3-transformPrecoding ENUMERATED {enabled} OPTIONAL, -- Need R
- ...
+RACH-ConfigCommon ::= SEQUENCE {
+ rach-ConfigGeneric RACH-ConfigGeneric,
+ totalNumberOfRA-Preambles INTEGER (1..63) OPTIONAL, -- Need S
+ 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},
+ oneHalf ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
+ one ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
+ two ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32},
+ four INTEGER (1..16),
+ eight INTEGER (1..8),
+ sixteen INTEGER (1..4)
+ } OPTIONAL, -- Need M
+
+ groupBconfigured SEQUENCE {
+ ra-Msg3SizeGroupA ENUMERATED {b56, b144, b208, b256, b282, b480, b640,
+ b800, b1000, b72, spare6, spare5,spare4, spare3, spare2, spare1},
+ messagePowerOffsetGroupB ENUMERATED { minusinfinity, dB0, dB5, dB8, dB10, dB12, dB15, dB18},
+ numberOfRA-PreamblesGroupA INTEGER (1..64)
+ } OPTIONAL, -- Need R
+ ra-ContentionResolutionTimer ENUMERATED { sf8, sf16, sf24, sf32, sf40, sf48, sf56, sf64},
+ rsrp-ThresholdSSB RSRP-Range OPTIONAL, -- Need R
+ rsrp-ThresholdSSB-SUL RSRP-Range OPTIONAL, -- Cond SUL
+ prach-RootSequenceIndex CHOICE {
+ l839 INTEGER (0..837),
+ l139 INTEGER (0..137)
+ },
+ msg1-SubcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond L139Need S
+ restrictedSetConfig ENUMERATED {unrestrictedSet, restrictedSetTypeA, restrictedSetTypeB},
+ msg3-transformPrecoder ENUMERATED {enabled} OPTIONAL, -- Need R
+ ...
}
-- TAG-RACH-CONFIG-COMMON-STOP
--- TAG-RACH-CONFIG-GENERIC-START
-
-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
-- TAG-RACH-CONFIG-DEDICATED-START
--- FFS_Standlone: resources for msg1-based on-demand SI request
-RACH-ConfigDedicated ::= SEQUENCE {
- cfra CFRA OPTIONAL, -- Need N
- ra-Prioritization RA-Prioritization OPTIONAL, -- Need N
- ...
+RACH-ConfigDedicated ::= SEQUENCE {
+ cfra CFRA OPTIONAL, -- Need S
+ ra-Prioritization RA-Prioritization OPTIONAL, --Need N
+ ...
}
-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
- }
- },
- ...
+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
+ }
+ },
+ ...,
+ [[
+ totalNumberOfRA-Preambles-v1530 INTEGER (1..63) OPTIONAL -- Cond Occasions
+ ]]
+}
+
+CFRA-SSB-Resource ::= SEQUENCE {
+ ssb SSB-Index,
+ ra-PreambleIndex INTEGER (0..63),
+ ...
}
-CFRA-SSB-Resource ::= SEQUENCE {
- ssb SSB-Index,
- ra-PreambleIndex INTEGER (0..63),
- ...
+CFRA-CSIRS-Resource ::= SEQUENCE {
+ csi-RS CSI-RS-Index,
+ ra-OccasionList SEQUENCE (SIZE(1..maxRA-OccasionsPerCSIRS)) OF INTEGER (0..maxRA-Occasions-1),
+ ra-PreambleIndex INTEGER (0..63),
+ ...
}
-CFRA-CSIRS-Resource ::= SEQUENCE {
- csi-RS CSI-RS-Index,
- ra-OccasionList SEQUENCE (SIZE(1..maxRA-OccasionsPerCSIRS)) OF INTEGER (0..maxRA-Occasions-1),
- ra-PreambleIndex INTEGER (0..63),
- ...
+-- TAG-RACH-CONFIG-DEDICATED-STOP
+-- TAG-RACH-CONFIG-GENERIC-START
+
+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-DEDICATED-STOP
+-- TAG-RACH-CONFIG-GENERIC-STOP
-- TAG-RA-PRIORITIZATION-START
-RA-Prioritization ::= SEQUENCE {
- powerRampingStepHighPriority ENUMERATED {dB0, dB2, dB4, dB6},
- scalingFactorBI ENUMERATED {zero, dot25, dot5, dot75} OPTIONAL, -- Need R
- ...
+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, -- Need M
- ...
+RadioBearerConfig ::= SEQUENCE {
+ srb-ToAddModList SRB-ToAddModList OPTIONAL, -- Cond HO-Conn
+ srb3-ToRelease ENUMERATED{true} OPTIONAL, -- Need N
+ drb-ToAddModList DRB-ToAddModList OPTIONAL, -- Cond HO-toNR
+ 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,
- reestablishPDCP ENUMERATED{true} OPTIONAL, -- Need N
- discardOnPDCP ENUMERATED{true} OPTIONAL, -- Need N
- pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP
- ...
+SRB-ToAddModList ::= SEQUENCE (SIZE (1..2)) OF SRB-ToAddMod
+SRB-ToAddMod ::= SEQUENCE {
+ srb-Identity SRB-Identity,
+ reestablishPDCP ENUMERATED{true} OPTIONAL, -- Need N
+ discardOnPDCP ENUMERATED{true} OPTIONAL, -- Need N
+ pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP
+ ...
}
-
-DRB-ToAddModList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod
-DRB-ToAddMod ::= SEQUENCE {
- cnAssociation CHOICE {
- eps-BearerIdentity INTEGER (0..15), -- EPS-DRB-Setup
- sdap-Config SDAP-Config -- 5GC
- } OPTIONAL, -- Cond DRBSetup
- drb-Identity DRB-Identity,
- reestablishPDCP ENUMERATED{true} OPTIONAL, -- Need N
- recoverPDCP ENUMERATED{true} OPTIONAL, -- Need N
- pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP
- ...
+DRB-ToAddModList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod
+DRB-ToAddMod ::= SEQUENCE {
+ cnAssociation CHOICE {
+ eps-BearerIdentity INTEGER (0..15), -- EPS-DRB-Setup
+ sdap-Config SDAP-Config -- 5GC
+ } OPTIONAL, -- Cond DRBSetup
+ drb-Identity DRB-Identity,
+ 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
+DRB-ToReleaseList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity
-SecurityConfig ::= SEQUENCE {
- securityAlgorithmConfig SecurityAlgorithmConfig OPTIONAL, -- Cond RBTermChange
- keyToUse ENUMERATED{keNB, s-KgNB} OPTIONAL, -- Cond RBTermChange
- ...
+SecurityConfig ::= SEQUENCE {
+ securityAlgorithmConfig SecurityAlgorithmConfig OPTIONAL, -- Cond RBTermChange
+ keyToUse ENUMERATED{master, secondary} OPTIONAL, -- Cond RBTermChange
+ ...
}
+
+
-- TAG-RADIO-BEARER-CONFIG-STOP
-- TAG-RADIOLINKMONITORINGCONFIG-START
-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
- beamFailureDetectionTimer ENUMERATED {pbfd1, pbfd2, pbfd3, pbfd4, pbfd5, pbfd6, pbfd8, pbfd10} OPTIONAL, -- Need R
- ...
+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 R
+ beamFailureDetectionTimer ENUMERATED {pbfd1, pbfd2, pbfd3, pbfd4, pbfd5, pbfd6, pbfd8, pbfd10} OPTIONAL, -- Need R
+ ...
}
-RadioLinkMonitoringRS ::= SEQUENCE {
- radioLinkMonitoringRS-Id RadioLinkMonitoringRS-Id,
- purpose ENUMERATED {beamFailure, rlf, both},
- 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)
+RadioLinkMonitoringRS-Id ::= INTEGER (0..maxNrofFailureDetectionResources-1)
-- TAG-RADIOLINKMONITORINGRSID-STOP
+-- TAG-RAN-AREACODE-START
+
+RAN-AreaCode ::= INTEGER (0..255)
+
+-- TAG-RAN-AREACODE-STOP
-- TAG-RATEMATCHPATTERN-START
-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
- ...
- },
- controlResourceSet ControlResourceSetId
- },
- subcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond CellLevel
- mode ENUMERATED { dynamic, semiStatic },
- ...
+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
+ ...
+ },
+ controlResourceSet ControlResourceSetId
+ },
+ subcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond CellLevel
+ dummy 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 {
- 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}
+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
-- TAG-REPORT-CONFIG-ID-START
-ReportConfigId ::= INTEGER (1..maxReportConfigId)
+ReportConfigId ::= INTEGER (1..maxReportConfigId)
-- TAG-REPORT-CONFIG-ID-STOP
+-- TAG-REPORT-CONFIG-INTER-RAT-START
+
+ReportConfigInterRAT ::= SEQUENCE {
+ reportType CHOICE {
+ periodical PeriodicalReportConfigInterRAT,
+ eventTriggered EventTriggerConfigInterRAT,
+ reportCGI ReportCGI-EUTRA,
+ ...
+ }
+}
+
+ReportCGI-EUTRA ::= SEQUENCE {
+ cellForWhichToReportCGI EUTRA-PhysCellId,
+ ...
+}
+
+EventTriggerConfigInterRAT ::= SEQUENCE {
+ eventId CHOICE {
+ eventB1 SEQUENCE {
+ b1-ThresholdEUTRA MeasTriggerQuantityEUTRA,
+ reportOnLeave BOOLEAN,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ ...
+ },
+ eventB2 SEQUENCE {
+ b2-Threshold1 MeasTriggerQuantity,
+ b2-Threshold2EUTRA MeasTriggerQuantityEUTRA,
+ reportOnLeave BOOLEAN,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ ...
+ },
+ ...
+ },
+ rsType NR-RS-Type,
+
+ reportInterval ReportInterval,
+ reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
+ reportQuantity MeasReportQuantity,
+ maxReportCells INTEGER (1..maxCellReport),
+ ...
+
+}
+
+PeriodicalReportConfigInterRAT ::= SEQUENCE {
+ reportInterval ReportInterval,
+ reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
+ reportQuantity MeasReportQuantity,
+ maxReportCells INTEGER (1..maxCellReport),
+ ...
+}
+
+MeasTriggerQuantityEUTRA::= CHOICE {
+ rsrp RSRP-RangeEUTRA,
+ rsrq RSRQ-RangeEUTRA,
+ sinr SINR-RangeEUTRA
+}
+
+RSRP-RangeEUTRA ::= INTEGER (0..97)
+RSRQ-RangeEUTRA ::= INTEGER (0..34)
+SINR-RangeEUTRA ::= INTEGER (0..127)
+
+-- TAG-REPORT-CONFIG-INTER-RAT-STOP
-- TAG-REPORT-CONFIG-START
-ReportConfigNR ::= SEQUENCE {
- reportType CHOICE {
- periodical PeriodicalReportConfig,
- eventTriggered EventTriggerConfig,
--- reportCGI is to be completed before the end of Rel-15.
- ...
- }
-}
-
--- 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 {
- eventId CHOICE {
- eventA1 SEQUENCE {
- a1-Threshold MeasTriggerQuantity,
- reportOnLeave BOOLEAN,
- hysteresis Hysteresis,
- timeToTrigger TimeToTrigger
- },
- eventA2 SEQUENCE {
- a2-Threshold MeasTriggerQuantity,
- reportOnLeave BOOLEAN,
- hysteresis Hysteresis,
- timeToTrigger TimeToTrigger
- },
- eventA3 SEQUENCE {
- a3-Offset MeasTriggerQuantityOffset,
- reportOnLeave BOOLEAN,
- hysteresis Hysteresis,
- timeToTrigger TimeToTrigger,
- useWhiteCellList BOOLEAN
- },
- eventA4 SEQUENCE {
- a4-Threshold MeasTriggerQuantity,
- reportOnLeave BOOLEAN,
- hysteresis Hysteresis,
- timeToTrigger TimeToTrigger,
- useWhiteCellList BOOLEAN
- },
- eventA5 SEQUENCE {
- a5-Threshold1 MeasTriggerQuantity,
- a5-Threshold2 MeasTriggerQuantity,
- reportOnLeave BOOLEAN,
- hysteresis Hysteresis,
- timeToTrigger TimeToTrigger,
- useWhiteCellList BOOLEAN
- },
- eventA6 SEQUENCE {
- a6-Offset MeasTriggerQuantityOffset,
- reportOnLeave BOOLEAN,
- hysteresis Hysteresis,
- timeToTrigger TimeToTrigger,
- useWhiteCellList BOOLEAN
- },
- ...
- },
-
- rsType NR-RS-Type,
-
- reportInterval ReportInterval,
- reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
-
- reportQuantityCell MeasReportQuantity,
- maxReportCells INTEGER (1..maxCellReport),
-
- reportQuantityRsIndexes MeasReportQuantity OPTIONAL, -- Need R
- maxNrofRSIndexesToReport INTEGER (1..maxNrofIndexesToReport) OPTIONAL, -- Need R
- includeBeamMeasurements BOOLEAN,
- reportAddNeighMeas ENUMERATED {setup} OPTIONAL, -- Need R
- ...
-
-}
-
-PeriodicalReportConfig ::= SEQUENCE {
- rsType NR-RS-Type,
-
- reportInterval ReportInterval,
- reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
-
- reportQuantityCell MeasReportQuantity,
- maxReportCells INTEGER (1..maxCellReport),
-
- reportQuantityRsIndexes MeasReportQuantity OPTIONAL, -- Need R
- maxNrofRsIndexesToReport INTEGER (1..maxNrofIndexesToReport) OPTIONAL, -- Need R
- includeBeamMeasurements BOOLEAN,
- useWhiteCellList BOOLEAN,
- ...
-
-}
-
-NR-RS-Type ::= ENUMERATED {ssb, csi-rs}
-
-MeasTriggerQuantity ::= CHOICE {
- rsrp RSRP-Range,
- rsrq RSRQ-Range,
- sinr SINR-Range
-}
-
-MeasTriggerQuantityOffset ::= CHOICE {
- rsrp INTEGER (-30..30),
- rsrq INTEGER (-30..30),
- sinr INTEGER (-30..30)
-}
-
-
-MeasReportQuantity ::= SEQUENCE {
- rsrp BOOLEAN,
- rsrq BOOLEAN,
- sinr BOOLEAN
+ReportConfigNR ::= SEQUENCE {
+ reportType CHOICE {
+ periodical PeriodicalReportConfig,
+ eventTriggered EventTriggerConfig,
+ ...,
+ reportCGI ReportCGI
+ }
+}
+
+ReportCGI ::= SEQUENCE {
+ cellForWhichToReportCGI PhysCellId,
+ ...
+}
+
+EventTriggerConfig::= SEQUENCE {
+ eventId CHOICE {
+ eventA1 SEQUENCE {
+ a1-Threshold MeasTriggerQuantity,
+ reportOnLeave BOOLEAN,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger
+ },
+ eventA2 SEQUENCE {
+ a2-Threshold MeasTriggerQuantity,
+ reportOnLeave BOOLEAN,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger
+ },
+ eventA3 SEQUENCE {
+ a3-Offset MeasTriggerQuantityOffset,
+ reportOnLeave BOOLEAN,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ useWhiteCellList BOOLEAN
+ },
+ eventA4 SEQUENCE {
+ a4-Threshold MeasTriggerQuantity,
+ reportOnLeave BOOLEAN,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ useWhiteCellList BOOLEAN
+ },
+ eventA5 SEQUENCE {
+ a5-Threshold1 MeasTriggerQuantity,
+ a5-Threshold2 MeasTriggerQuantity,
+ reportOnLeave BOOLEAN,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ useWhiteCellList BOOLEAN
+ },
+ eventA6 SEQUENCE {
+ a6-Offset MeasTriggerQuantityOffset,
+ reportOnLeave BOOLEAN,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ useWhiteCellList BOOLEAN
+ },
+ ...
+ },
+
+ rsType NR-RS-Type,
+
+ reportInterval ReportInterval,
+ reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
+
+ reportQuantityCell MeasReportQuantity,
+ maxReportCells INTEGER (1..maxCellReport),
+
+ reportQuantityRsIndexes MeasReportQuantity OPTIONAL, -- Need R
+ maxNrofRSIndexesToReport INTEGER (1..maxNrofIndexesToReport) OPTIONAL, -- Need R
+ includeBeamMeasurements BOOLEAN,
+ reportAddNeighMeas ENUMERATED {setup} OPTIONAL, -- Need R
+ ...
+}
+
+PeriodicalReportConfig ::= SEQUENCE {
+ rsType NR-RS-Type,
+
+ reportInterval ReportInterval,
+ reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
+
+ reportQuantityCell MeasReportQuantity,
+ maxReportCells INTEGER (1..maxCellReport),
+
+ reportQuantityRsIndexes MeasReportQuantity OPTIONAL, -- Need R
+ maxNrofRsIndexesToReport INTEGER (1..maxNrofIndexesToReport) OPTIONAL, -- Need R
+ includeBeamMeasurements BOOLEAN,
+ useWhiteCellList BOOLEAN,
+ ...
+}
+
+NR-RS-Type ::= ENUMERATED {ssb, csi-rs}
+
+MeasTriggerQuantity ::= CHOICE {
+ rsrp RSRP-Range,
+ rsrq RSRQ-Range,
+ sinr SINR-Range
+}
+
+MeasTriggerQuantityOffset ::= CHOICE {
+ rsrp INTEGER (-30..30),
+ rsrq INTEGER (-30..30),
+ sinr INTEGER (-30..30)
+}
+
+
+MeasReportQuantity ::= SEQUENCE {
+ rsrp BOOLEAN,
+ rsrq BOOLEAN,
+ sinr BOOLEAN
}
-- TAG-REPORT-CONFIG-START
-- TAG-REPORT-CONFIG-TO-ADD-MOD-LIST-START
-ReportConfigToAddModList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod
+ReportConfigToAddModList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod
-ReportConfigToAddMod ::= SEQUENCE {
- reportConfigId ReportConfigId,
- reportConfig CHOICE {
- reportConfigNR ReportConfigNR,
- ...
- }
+ReportConfigToAddMod ::= SEQUENCE {
+ reportConfigId ReportConfigId,
+ reportConfig CHOICE {
+ reportConfigNR ReportConfigNR,
+ ...,
+ reportConfigInterRAT ReportConfigInterRAT
+ }
}
-- 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-RESELECTION-THRESHOLD-START
+
+ReselectionThreshold ::= INTEGER (0..31)
+
+-- TAG-RESELECTION-THRESHOLD-STOP
+-- TAG-RESELECTION-THRESHOLDQ-START
+
+ReselectionThresholdQ ::= INTEGER (0..31)
+
+-- TAG-RESELECTION-THRESHOLDQ-STOP
+-- TAG-RESUME-CAUSE-START
+ResumeCause ::= ENUMERATED {emergency, highPriorityAccess, mt-Access, mo-Signalling,
+ mo-Data, mo-VoiceCall, mo-VideoCall, mo-SMS, rna-Update, mps-PriorityAccess, mcs-PriorityAccess, spare1, spare2, spare3, spare4, spare5 }
+
+-- TAG-RESUME-CAUSE-STOP
-- TAG-RLC-BEARERCONFIG-START
-RLC-BearerConfig ::= SEQUENCE {
- logicalChannelIdentity LogicalChannelIdentity,
- servedRadioBearer CHOICE {
- srb-Identity SRB-Identity,
- drb-Identity DRB-Identity
- } OPTIONAL, -- Cond LCH-SetupOnly
+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
+ reestablishRLC ENUMERATED {true} OPTIONAL, -- Need N
+ rlc-Config RLC-Config OPTIONAL, -- Cond LCH-Setup
- mac-LogicalChannelConfig LogicalChannelConfig OPTIONAL, -- Cond LCH-Setup
- ...
+ mac-LogicalChannelConfig LogicalChannelConfig OPTIONAL, -- Cond LCH-Setup
+ ...
}
-- TAG-RLC-BEARERCONFIG-STOP
-- TAG-RLC-CONFIG-START
-RLC-Config ::= CHOICE {
- am SEQUENCE {
- ul-AM-RLC UL-AM-RLC,
- dl-AM-RLC DL-AM-RLC
- },
- um-Bi-Directional SEQUENCE {
- ul-UM-RLC UL-UM-RLC,
- dl-UM-RLC DL-UM-RLC
- },
- um-Uni-Directional-UL SEQUENCE {
- ul-UM-RLC UL-UM-RLC
- },
- um-Uni-Directional-DL SEQUENCE {
- dl-UM-RLC DL-UM-RLC
- },
- ...
-}
-
-UL-AM-RLC ::= SEQUENCE {
- sn-FieldLength SN-FieldLengthAM OPTIONAL, -- Cond Reestab
- t-PollRetransmit T-PollRetransmit,
- pollPDU PollPDU,
- pollByte PollByte,
- maxRetxThreshold ENUMERATED { t1, t2, t3, t4, t6, t8, t16, t32 }
-}
-
-DL-AM-RLC ::= SEQUENCE {
- sn-FieldLength SN-FieldLengthAM OPTIONAL, -- Cond Reestab
- t-Reassembly T-Reassembly,
- t-StatusProhibit T-StatusProhibit
-}
-
-UL-UM-RLC ::= SEQUENCE {
- sn-FieldLength SN-FieldLengthUM OPTIONAL -- Cond Reestab
-}
-
-DL-UM-RLC ::= SEQUENCE {
- sn-FieldLength SN-FieldLengthUM OPTIONAL, -- Cond Reestab
- t-Reassembly T-Reassembly
-}
-
-T-PollRetransmit ::= ENUMERATED {
- ms5, ms10, ms15, ms20, ms25, ms30, ms35,
- ms40, ms45, ms50, ms55, ms60, ms65, ms70,
- ms75, ms80, ms85, ms90, ms95, ms100, ms105,
- ms110, ms115, ms120, ms125, ms130, ms135,
- ms140, ms145, ms150, ms155, ms160, ms165,
- ms170, ms175, ms180, ms185, ms190, ms195,
- ms200, ms205, ms210, ms215, ms220, ms225,
- ms230, ms235, ms240, ms245, ms250, ms300,
- ms350, ms400, ms450, ms500, ms800, ms1000,
- ms2000, ms4000, spare5, spare4, spare3,
- spare2, spare1}
-
-
-PollPDU ::= ENUMERATED {
- p4, p8, p16, p32, p64, p128, p256, p512, p1024, p2048, p4096, p6144, p8192, p12288, p16384, p20480,
- p24576, p28672, p32768, p40960, p49152, p57344, p65536, infinity, spare8, spare7, spare6, spare5, spare4,
- spare3, spare2, spare1}
-
-PollByte ::= ENUMERATED {
- kB1, kB2, kB5, kB8, kB10, kB15, kB25, kB50, kB75,
- kB100, kB125, kB250, kB375, kB500, kB750, kB1000,
- kB1250, kB1500, kB2000, kB3000, kB4000, kB4500,
- kB5000, kB5500, kB6000, kB6500, kB7000, kB7500,
- mB8, mB9, mB10, mB11, mB12, mB13, mB14, mB15,
- mB16, mB17, mB18, mB20, mB25, mB30, mB40, infinity,
- spare20, spare19, spare18, spare17, spare16,
- spare15, spare14, spare13, spare12, spare11,
- spare10, spare9, spare8, spare7, spare6, spare5,
- spare4, spare3, spare2, spare1}
-
-T-Reassembly ::= ENUMERATED {
- ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35,
- ms40, ms45, ms50, ms55, ms60, ms65, ms70,
- ms75, ms80, ms85, ms90, ms95, ms100, ms110,
- ms120, ms130, ms140, ms150, ms160, ms170,
- ms180, ms190, ms200, spare1}
-
-T-StatusProhibit ::= ENUMERATED {
- ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35,
- ms40, ms45, ms50, ms55, ms60, ms65, ms70,
- ms75, ms80, ms85, ms90, ms95, ms100, ms105,
- ms110, ms115, ms120, ms125, ms130, ms135,
- ms140, ms145, ms150, ms155, ms160, ms165,
- ms170, ms175, ms180, ms185, ms190, ms195,
- ms200, ms205, ms210, ms215, ms220, ms225,
- ms230, ms235, ms240, ms245, ms250, ms300,
- ms350, ms400, ms450, ms500, ms800, ms1000,
- ms1200, ms1600, ms2000, ms2400, spare2, spare1}
-
-SN-FieldLengthUM ::= ENUMERATED {size6, size12}
-SN-FieldLengthAM ::= ENUMERATED {size12, size18}
+RLC-Config ::= CHOICE {
+ am SEQUENCE {
+ ul-AM-RLC UL-AM-RLC,
+ dl-AM-RLC DL-AM-RLC
+ },
+ um-Bi-Directional SEQUENCE {
+ ul-UM-RLC UL-UM-RLC,
+ dl-UM-RLC DL-UM-RLC
+ },
+ um-Uni-Directional-UL SEQUENCE {
+ ul-UM-RLC UL-UM-RLC
+ },
+ um-Uni-Directional-DL SEQUENCE {
+ dl-UM-RLC DL-UM-RLC
+ },
+ ...
+}
+
+UL-AM-RLC ::= SEQUENCE {
+ sn-FieldLength SN-FieldLengthAM OPTIONAL, -- Cond Reestab
+ t-PollRetransmit T-PollRetransmit,
+ pollPDU PollPDU,
+ pollByte PollByte,
+ maxRetxThreshold ENUMERATED { t1, t2, t3, t4, t6, t8, t16, t32 }
+}
+
+DL-AM-RLC ::= SEQUENCE {
+ sn-FieldLength SN-FieldLengthAM OPTIONAL, -- Cond Reestab
+ t-Reassembly T-Reassembly,
+ t-StatusProhibit T-StatusProhibit
+}
+
+UL-UM-RLC ::= SEQUENCE {
+ sn-FieldLength SN-FieldLengthUM OPTIONAL -- Cond Reestab
+}
+
+DL-UM-RLC ::= SEQUENCE {
+ sn-FieldLength SN-FieldLengthUM OPTIONAL, -- Cond Reestab
+ t-Reassembly T-Reassembly
+}
+
+T-PollRetransmit ::= ENUMERATED {
+ ms5, ms10, ms15, ms20, ms25, ms30, ms35,
+ ms40, ms45, ms50, ms55, ms60, ms65, ms70,
+ ms75, ms80, ms85, ms90, ms95, ms100, ms105,
+ ms110, ms115, ms120, ms125, ms130, ms135,
+ ms140, ms145, ms150, ms155, ms160, ms165,
+ ms170, ms175, ms180, ms185, ms190, ms195,
+ ms200, ms205, ms210, ms215, ms220, ms225,
+ ms230, ms235, ms240, ms245, ms250, ms300,
+ ms350, ms400, ms450, ms500, ms800, ms1000,
+ ms2000, ms4000, spare5, spare4, spare3,
+ spare2, spare1}
+
+
+PollPDU ::= ENUMERATED {
+ p4, p8, p16, p32, p64, p128, p256, p512, p1024, p2048, p4096, p6144, p8192, p12288, p16384, p20480,
+ p24576, p28672, p32768, p40960, p49152, p57344, p65536, infinity, spare8, spare7, spare6, spare5, spare4,
+ spare3, spare2, spare1}
+
+PollByte ::= ENUMERATED {
+ kB1, kB2, kB5, kB8, kB10, kB15, kB25, kB50, kB75,
+ kB100, kB125, kB250, kB375, kB500, kB750, kB1000,
+ kB1250, kB1500, kB2000, kB3000, kB4000, kB4500,
+ kB5000, kB5500, kB6000, kB6500, kB7000, kB7500,
+ mB8, mB9, mB10, mB11, mB12, mB13, mB14, mB15,
+ mB16, mB17, mB18, mB20, mB25, mB30, mB40, infinity,
+ spare20, spare19, spare18, spare17, spare16,
+ spare15, spare14, spare13, spare12, spare11,
+ spare10, spare9, spare8, spare7, spare6, spare5,
+ spare4, spare3, spare2, spare1}
+
+T-Reassembly ::= ENUMERATED {
+ ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35,
+ ms40, ms45, ms50, ms55, ms60, ms65, ms70,
+ ms75, ms80, ms85, ms90, ms95, ms100, ms110,
+ ms120, ms130, ms140, ms150, ms160, ms170,
+ ms180, ms190, ms200, spare1}
+
+T-StatusProhibit ::= ENUMERATED {
+ ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35,
+ ms40, ms45, ms50, ms55, ms60, ms65, ms70,
+ ms75, ms80, ms85, ms90, ms95, ms100, ms105,
+ ms110, ms115, ms120, ms125, ms130, ms135,
+ ms140, ms145, ms150, ms155, ms160, ms165,
+ ms170, ms175, ms180, ms185, ms190, ms195,
+ ms200, ms205, ms210, ms215, ms220, ms225,
+ ms230, ms235, ms240, ms245, ms250, ms300,
+ ms350, ms400, ms450, ms500, ms800, ms1000,
+ ms1200, ms1600, ms2000, ms2400, spare2, spare1}
+
+SN-FieldLengthUM ::= ENUMERATED {size6, size12}
+SN-FieldLengthAM ::= ENUMERATED {size12, size18}
-- TAG-RLC-CONFIG-STOP
-- TAG-RLF-TIMERS-AND-CONSTANTS-START
-RLF-TimersAndConstants ::= SEQUENCE {
- t310 ENUMERATED {ms0, ms50, ms100, ms200, ms500, ms1000, ms2000, ms4000, ms6000},
- n310 ENUMERATED {n1, n2, n3, n4, n6, n8, n10, n20},
- n311 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10},
- ...
+RLF-TimersAndConstants ::= SEQUENCE {
+ t310 ENUMERATED {ms0, ms50, ms100, ms200, ms500, ms1000, ms2000, ms4000, ms6000},
+ n310 ENUMERATED {n1, n2, n3, n4, n6, n8, n10, n20},
+ n311 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10},
+ ...,
+ [[
+ t311-v1530 ENUMERATED {ms1000, ms3000, ms5000, ms10000, ms15000, ms20000, ms30000}
+ ]]
}
-- TAG-RLF-TIMERS-AND-CONSTANTS-STOP
-- TAG-RNTI-VALUE-START
-RNTI-Value ::= INTEGER (0..65535)
+RNTI-Value ::= INTEGER (0..65535)
-- TAG-RNTI-VALUE-STOP
-- TAG-RSRP-RANGE-START
-RSRP-Range ::= INTEGER(0..127)
+RSRP-Range ::= INTEGER(0..127)
-- TAG-RSRP-RANGE-STOP
-- TAG-RSRQ-RANGE-START
-RSRQ-Range ::= INTEGER(0..127)
+RSRQ-Range ::= INTEGER(0..127)
-- TAG-RSRQ-RANGE-STOP
-- TAG-SCELL-INDEX-START
-SCellIndex ::= INTEGER (1..31)
+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
+SchedulingRequestConfig ::= SEQUENCE {
+ schedulingRequestToAddModList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestToAddMod OPTIONAL, -- Need N
+ schedulingRequestToReleaseList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestId OPTIONAL-- Need N
}
-SchedulingRequestToAddMod ::= SEQUENCE {
- schedulingRequestId SchedulingRequestId,
+SchedulingRequestToAddMod ::= SEQUENCE {
+ schedulingRequestId SchedulingRequestId,
- 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}
+ 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}
}
@@ -2562,897 +3989,1123 @@ SchedulingRequestToAddMod ::= SEQUENCE {
-- TAG-SCHEDULING-REQUEST-CONFIG-STOP
-- TAG-SCHEDULINGREQUESTID-START
-SchedulingRequestId ::= INTEGER (0..7)
+SchedulingRequestId ::= INTEGER (0..7)
-- TAG-SCHEDULINGREQUESTID-STOP
-- TAG-SCHEDULING-REQUEST-RESOURCE-CONFIG-START
-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
+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
-ScramblingId ::= INTEGER (0..1023)
+ScramblingId ::= INTEGER(0..1023)
-- TAG-SCRAMBLING-ID-STOP
-- TAG-SCS-SPECIFIC-CARRIER-START
-SCS-SpecificCarrier ::= SEQUENCE {
- offsetToCarrier INTEGER (0..2199),
- subcarrierSpacing SubcarrierSpacing,
- carrierBandwidth INTEGER (1..maxNrofPhysicalResourceBlocks),
- ...
+SCS-SpecificCarrier ::= SEQUENCE {
+ offsetToCarrier INTEGER (0..2199),
+ subcarrierSpacing SubcarrierSpacing,
+ carrierBandwidth INTEGER (1..maxNrofPhysicalResourceBlocks),
+ ...,
+ [[
+ txDirectCurrentLocation-v1530 INTEGER (0..4095) OPTIONAL -- Need S
+ ]]
}
-- TAG-SCS-SPECIFIC-CARRIER-STOP
-- TAG-SDAP-CONFIG-START
-SDAP-Config ::= SEQUENCE {
- pdu-Session PDU-SessionID,
- sdap-HeaderDL ENUMERATED {present, absent},
- sdap-HeaderUL ENUMERATED {present, absent},
- defaultDRB BOOLEAN,
- mappedQoS-FlowsToAdd SEQUENCE (SIZE (1..maxNrofQFIs)) OF QFI OPTIONAL, -- Need N
- mappedQoS-FlowsToRelease SEQUENCE (SIZE (1..maxNrofQFIs)) OF QFI OPTIONAL, -- Need N
- ...
+SDAP-Config ::= SEQUENCE {
+ pdu-Session PDU-SessionID,
+ sdap-HeaderDL ENUMERATED {present, absent},
+ sdap-HeaderUL ENUMERATED {present, absent},
+ defaultDRB BOOLEAN,
+ mappedQoS-FlowsToAdd SEQUENCE (SIZE (1..maxNrofQFIs)) OF QFI OPTIONAL, -- Need N
+ mappedQoS-FlowsToRelease SEQUENCE (SIZE (1..maxNrofQFIs)) OF QFI OPTIONAL, -- Need N
+ ...
}
-QFI ::= INTEGER (0..maxQFI)
+QFI ::= INTEGER (0..maxQFI)
-PDU-SessionID ::= INTEGER (0..255)
+PDU-SessionID ::= INTEGER (0..255)
-- TAG-SDAP-CONFIG-STOP
-- TAG-SEARCHSPACE-START
-SearchSpace ::= SEQUENCE {
- searchSpaceId SearchSpaceId,
- controlResourceSetId ControlResourceSetId OPTIONAL, -- Cond SetupOnly
- monitoringSlotPeriodicityAndOffset CHOICE {
- sl1 NULL,
- 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),
- sl1280 INTEGER (0..1279),
- sl2560 INTEGER (0..2559)
- } OPTIONAL, -- Cond Setup
- 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},
- aggregationLevel4 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8},
- aggregationLevel8 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8},
- aggregationLevel16 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8}
- } OPTIONAL, -- Cond Setup
- searchSpaceType CHOICE {
- common SEQUENCE {
- dci-Format0-0-AndFormat1-0 SEQUENCE {
- ...
- } 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
- dci-Format2-1 SEQUENCE {
- ...
- } OPTIONAL, -- Need R
- dci-Format2-2 SEQUENCE {
- ...
- } OPTIONAL, -- Need R
- 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
- },
- ue-Specific SEQUENCE {
- dci-Formats ENUMERATED {formats0-0-And-1-0, formats0-1-And-1-1},
- ...
- }
- } OPTIONAL -- Cond Setup
+SearchSpace ::= SEQUENCE {
+ searchSpaceId SearchSpaceId,
+ controlResourceSetId ControlResourceSetId OPTIONAL, -- Cond SetupOnly
+ monitoringSlotPeriodicityAndOffset CHOICE {
+ sl1 NULL,
+ 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),
+ sl1280 INTEGER (0..1279),
+ sl2560 INTEGER (0..2559)
+ } OPTIONAL, -- Cond Setup
+ 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},
+ aggregationLevel4 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8},
+ aggregationLevel8 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8},
+ aggregationLevel16 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8}
+ } OPTIONAL, -- Cond Setup
+ searchSpaceType CHOICE {
+ common SEQUENCE {
+ dci-Format0-0-AndFormat1-0 SEQUENCE {
+ ...
+ } 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
+ dci-Format2-1 SEQUENCE {
+ ...
+ } OPTIONAL, -- Need R
+ dci-Format2-2 SEQUENCE {
+ ...
+ } OPTIONAL, -- Need R
+ dci-Format2-3 SEQUENCE {
+ dummy1 ENUMERATED {sl1, sl2, sl4, sl5, sl8, sl10, sl16, sl20} OPTIONAL, -- Cond Setup
+ dummy2 ENUMERATED {n1, n2},
+ ...
+ } OPTIONAL -- Need R
+ },
+ ue-Specific SEQUENCE {
+ 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-SEARCHSPACEZERO-START
+
+SearchSpaceZero ::= INTEGER (0..15)
+
+-- TAG-SEARCHSPACEZERO-STOP
-- TAG-SECURITY-ALGORITHM-CONFIG-START
-SecurityAlgorithmConfig ::= SEQUENCE {
- cipheringAlgorithm CipheringAlgorithm,
- integrityProtAlgorithm IntegrityProtAlgorithm OPTIONAL, -- Need R
- ...
+SecurityAlgorithmConfig ::= SEQUENCE {
+ cipheringAlgorithm CipheringAlgorithm,
+ integrityProtAlgorithm IntegrityProtAlgorithm OPTIONAL, -- Need R
+ ...
}
-IntegrityProtAlgorithm ::= ENUMERATED {
- nia0, nia1, nia2, nia3, spare4, spare3,
- spare2, spare1, ...}
+IntegrityProtAlgorithm ::= ENUMERATED {
+ nia0, nia1, nia2, nia3, spare4, spare3,
+ spare2, spare1, ...}
-CipheringAlgorithm ::= ENUMERATED {
- nea0, nea1, nea2, nea3, spare4, spare3,
- spare2, spare1, ...}
+CipheringAlgorithm ::= ENUMERATED {
+ nea0, nea1, nea2, nea3, spare4, spare3,
+ spare2, spare1, ...}
-- TAG-SECURITY-ALGORITHM-CONFIG-STOP
-- TAG-SERV-CELL-INDEX-START
-ServCellIndex ::= INTEGER (0..maxNrofServingCells-1)
+ServCellIndex ::= INTEGER (0..maxNrofServingCells-1)
-- TAG-SERV-CELL-INDEX-STOP
-- TAG-SERVING-CELL-CONFIG-START
-ServingCellConfig ::= SEQUENCE {
- tdd-UL-DL-ConfigurationDedicated TDD-UL-DL-ConfigDedicated OPTIONAL, -- Cond TDD
-
- initialDownlinkBWP BWP-DownlinkDedicated OPTIONAL, -- Cond ServCellAdd
- downlinkBWP-ToReleaseList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id OPTIONAL, -- Need N
- downlinkBWP-ToAddModList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Downlink OPTIONAL, -- Need N
- 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
-
- 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
- tag-Id TAG-Id,
- ue-BeamLockFunction ENUMERATED {enabled} OPTIONAL, -- Need R
- pathlossReferenceLinking ENUMERATED {pCell, sCell} OPTIONAL, -- Cond SCellOnly
- servingCellMO MeasObjectId OPTIONAL, -- Cond MeasObject
- ...
-}
-
-UplinkConfig ::= SEQUENCE {
- initialUplinkBWP BWP-UplinkDedicated OPTIONAL, -- Cond ServCellAdd
- 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
-
- pusch-ServingCellConfig CHOICE { release NULL, setup PUSCH-ServingCellConfig } OPTIONAL, -- Need M
- carrierSwitching CHOICE { release NULL, setup SRS-CarrierSwitching } OPTIONAL, -- Need M
- ...
+ServingCellConfig ::= SEQUENCE {
+ tdd-UL-DL-ConfigurationDedicated TDD-UL-DL-ConfigDedicated OPTIONAL, -- Cond TDD
+
+ initialDownlinkBWP BWP-DownlinkDedicated OPTIONAL, -- Need M
+ downlinkBWP-ToReleaseList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id OPTIONAL, -- Need N
+ downlinkBWP-ToAddModList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Downlink OPTIONAL, -- Need N
+ 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, -- Need M
+ supplementaryUplink UplinkConfig OPTIONAL, -- Need M
+
+ 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
+ tag-Id TAG-Id,
+ ue-BeamLockFunction ENUMERATED {enabled} OPTIONAL, -- Need R
+ pathlossReferenceLinking ENUMERATED {pCell, sCell} OPTIONAL, -- Cond SCellOnly
+ servingCellMO MeasObjectId OPTIONAL, -- Cond MeasObject
+ ...
+}
+
+UplinkConfig ::= SEQUENCE {
+ initialUplinkBWP BWP-UplinkDedicated OPTIONAL, -- Need M
+ 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
+
+ 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 {
- physCellId PhysCellId OPTIONAL, -- Cond HOAndServCellAdd,
- downlinkConfigCommon DownlinkConfigCommon OPTIONAL, -- Cond InterFreqHOAndServCellAdd
-
- uplinkConfigCommon UplinkConfigCommon OPTIONAL, -- Cond ServCellAdd-UL
- supplementaryUplinkConfig UplinkConfigCommon OPTIONAL, -- Cond ServCellAdd-SUL
- n-TimingAdvanceOffset ENUMERATED { n0, n25600, n39936 } OPTIONAL,-- Need S
- ssb-PositionsInBurst CHOICE {
- shortBitmap BIT STRING (SIZE (4)),
- mediumBitmap BIT STRING (SIZE (8)),
- longBitmap BIT STRING (SIZE (64))
- } OPTIONAL, -- Cond AbsFreqSSB
- ssb-periodicityServingCell ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, spare2, spare1 } OPTIONAL, -- Need S
- dmrs-TypeA-Position ENUMERATED {pos2, pos3},
- 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),
- ...
+ServingCellConfigCommon ::= SEQUENCE {
+ physCellId PhysCellId OPTIONAL, -- Cond HOAndServCellAdd,
+ downlinkConfigCommon DownlinkConfigCommon OPTIONAL, -- Cond HOAndServCellAdd
+
+ uplinkConfigCommon UplinkConfigCommon OPTIONAL, -- Need M
+ supplementaryUplinkConfig UplinkConfigCommon OPTIONAL, -- Need S
+ n-TimingAdvanceOffset ENUMERATED { n0, n25600, n39936 } OPTIONAL, -- Need S
+ ssb-PositionsInBurst CHOICE {
+ shortBitmap BIT STRING (SIZE (4)),
+ mediumBitmap BIT STRING (SIZE (8)),
+ longBitmap BIT STRING (SIZE (64))
+ } OPTIONAL, -- Cond AbsFreqSSB
+ ssb-periodicityServingCell ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, spare2, spare1 } OPTIONAL, -- Need S
+ dmrs-TypeA-Position ENUMERATED {pos2, pos3},
+ 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, -- Cond HOAndServCellAdd
+ tdd-UL-DL-ConfigurationCommon TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD
+ ss-PBCH-BlockPower INTEGER (-60..50),
+ ...
}
-- TAG-SERVING-CELL-CONFIG-COMMON-STOP
+-- TAG-SERVINGCELLCONFIGCOMMONSIB-START
+
+ServingCellConfigCommonSIB ::= SEQUENCE {
+ downlinkConfigCommon DownlinkConfigCommonSIB,
+ uplinkConfigCommon UplinkConfigCommonSIB OPTIONAL, -- Need R
+ supplementaryUplink UplinkConfigCommonSIB OPTIONAL, -- Need R
+ n-TimingAdvanceOffset ENUMERATED { n0, n25560, n39936 } OPTIONAL, -- Need S
+ ssb-PositionsInBurst SEQUENCE {
+ inOneGroup BIT STRING (SIZE (8)),
+ groupPresence BIT STRING (SIZE (8)) OPTIONAL -- Cond Above6GHzOnly
+ },
+ ssb-PeriodicityServingCell ENUMERATED {ms5, ms10, ms20, ms40, ms80, ms160},
+
+ tdd-UL-DL-ConfigurationCommon TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD
+ ss-PBCH-BlockPower INTEGER (-60..50),
+ ...
+}
+
+-- TAG-SERVINGCELLCONFIGCOMMONSIB-STOP
+-- TAG-ShortI-RNTI-VALUE-START
+
+ShortI-RNTI-Value ::= BIT STRING (SIZE(24))
+
+-- TAG-ShortI-RNTI-VALUE-STOP
+-- TAG-SHORTMAC-I-START
+
+ShortMAC-I ::= BIT STRING (SIZE (16))
+
+-- TAG-SHORTMAC-I-STOP
-- TAG-SINR-RANGE-START
-SINR-Range ::= INTEGER (0..127)
+SINR-Range ::= INTEGER(0..127)
-- TAG-SINR-RANGE-STOP
+-- TAG-OTHER-SI-INFO-START
+
+SI-SchedulingInfo ::= SEQUENCE {
+ schedulingInfoList SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo,
+ si-WindowLength ENUMERATED {s5, s10, s20, s40, s80, s160, s320, s640, s1280},
+ si-RequestConfig SI-RequestConfig OPTIONAL, -- Cond MSG-1
+ si-RequestConfigSUL SI-RequestConfig OPTIONAL, -- Cond SUL-MSG-1
+ systemInformationAreaID BIT STRING (SIZE (24)) OPTIONAL, -- Need R
+ ...
+}
+
+SchedulingInfo ::= SEQUENCE {
+ si-BroadcastStatus ENUMERATED {broadcasting, notBroadcasting},
+ si-Periodicity ENUMERATED {rf8, rf16, rf32, rf64, rf128, rf256, rf512},
+ sib-MappingInfo SIB-Mapping
+}
+
+SIB-Mapping ::= SEQUENCE (SIZE (1..maxSIB)) OF SIB-TypeInfo
+
+SIB-TypeInfo ::= SEQUENCE {
+ type ENUMERATED {sibType2, sibType3, sibType4, sibType5, sibType6, sibType7, sibType8, sibType9,
+ spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1,... },
+ valueTag INTEGER (0..31) OPTIONAL, -- Cond SIB-TYPE
+ areaScope ENUMERATED {true} OPTIONAL -- Cond AREA-ID
+}
+
+-- Configuration for Msg1 based SI Request
+SI-RequestConfig::= SEQUENCE {
+ rach-OccasionsSI SEQUENCE {
+ rach-ConfigSI RACH-ConfigGeneric,
+ ssb-perRACH-Occasion ENUMERATED {oneEighth, oneFourth, oneHalf, one, two, four, eight, sixteen}
+ } OPTIONAL, -- Need R
+ si-RequestPeriod ENUMERATED {one, two, four, six, eight, ten, twelve, sixteen} OPTIONAL, -- Need R
+ si-RequestResources SEQUENCE (SIZE (1..maxSI-Message)) OF SI-RequestResources
+}
+
+SI-RequestResources ::= SEQUENCE {
+ ra-PreambleStartIndex INTEGER (0..63),
+ ra-AssociationPeriodIndex INTEGER (0..15) OPTIONAL, -- Need R
+ ra-ssb-OccasionMaskIndex INTEGER (0..15) OPTIONAL -- Need R
+}
+
+-- TAG-OTHER-SI-INFO-STOP
-- TAG-SLOTFORMATCOMBINATIONSPERCELL-START
-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,
- ...
+SlotFormatCombinationsPerCell ::= SEQUENCE {
+ servingCellId ServCellIndex,
+ subcarrierSpacing SubcarrierSpacing,
+ subcarrierSpacing2 SubcarrierSpacing OPTIONAL, -- Need R
+ slotFormatCombinations SEQUENCE (SIZE (1..maxNrofSlotFormatCombinationsPerSet)) OF SlotFormatCombination OPTIONAL, -- Need M
+ positionInDCI INTEGER(0..maxSFI-DCI-PayloadSize-1) OPTIONAL, -- Need M
+ ...
}
-SlotFormatCombination ::= SEQUENCE {
- slotFormatCombinationId SlotFormatCombinationId,
- slotFormats SEQUENCE (SIZE (1..maxNrofSlotFormatsPerCombination)) OF INTEGER (0..255)
+SlotFormatCombination ::= SEQUENCE {
+ slotFormatCombinationId SlotFormatCombinationId,
+ slotFormats SEQUENCE (SIZE (1..maxNrofSlotFormatsPerCombination)) OF INTEGER (0..255)
}
-SlotFormatCombinationId ::= INTEGER (0..maxNrofSlotFormatCombinationsPerSet-1)
+SlotFormatCombinationId ::= INTEGER (0..maxNrofSlotFormatCombinationsPerSet-1)
-- TAG-SLOTFORMATCOMBINATIONSPERCELL-STOP
-- TAG-SLOTFORMATINDICATOR-START
-SlotFormatIndicator ::= SEQUENCE {
- sfi-RNTI RNTI-Value,
- dci-PayloadSize INTEGER (1..maxSFI-DCI-PayloadSize),
- slotFormatCombToAddModList SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF SlotFormatCombinationsPerCell OPTIONAL, -- Need N
- slotFormatCombToReleaseList SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF ServCellIndex OPTIONAL, -- Need N
- ...
+SlotFormatIndicator ::= SEQUENCE {
+ sfi-RNTI RNTI-Value,
+ dci-PayloadSize INTEGER (1..maxSFI-DCI-PayloadSize),
+ slotFormatCombToAddModList SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF SlotFormatCombinationsPerCell OPTIONAL, -- Need N
+ slotFormatCombToReleaseList SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF ServCellIndex OPTIONAL, -- Need N
+ ...
}
-- TAG-SLOTFORMATINDICATOR-STOP
+-- TAG-S-NSSAI-START
+
+S-NSSAI ::= CHOICE{
+ sst BIT STRING (SIZE (8)),
+ sst-SD BIT STRING (SIZE (32))
+}
+
+-- TAG-S-NSSAI-STOP
+-- TAG-SPEEDSTATESCALEFACTORS-START
+
+SpeedStateScaleFactors ::= SEQUENCE {
+ sf-Medium ENUMERATED {oDot25, oDot5, oDot75, lDot0},
+ sf-High ENUMERATED {oDot25, oDot5, oDot75, lDot0}
+}
+-- TAG-SPEEDSTATESCALEFACTORS-STOP
-- TAG-SS-RSSI-MEASUREMENT-START
-SS-RSSI-Measurement ::= SEQUENCE {
- measurementSlots BIT STRING (SIZE(1..80)),
- endSymbol INTEGER(0..3)
+SS-RSSI-Measurement ::= SEQUENCE {
+ measurementSlots BIT STRING (SIZE (1..80)),
+ endSymbol INTEGER(0..3)
}
-- TAG-SS-RSSI-MEASUREMENT-STOP
-- TAG-SPS-CONFIG-START
-SPS-Config ::= SEQUENCE {
- periodicity ENUMERATED {ms10, ms20, ms32, ms40, ms64, ms80, ms128, ms160, ms320, ms640,
- spare6, spare5, spare4, spare3, spare2, spare1},
- nrofHARQ-Processes INTEGER (1..8),
- n1PUCCH-AN PUCCH-ResourceId OPTIONAL -- Need M
+SPS-Config ::= SEQUENCE {
+ periodicity ENUMERATED {ms10, ms20, ms32, ms40, ms64, ms80, ms128, ms160, ms320, ms640,
+ spare6, spare5, spare4, spare3, spare2, spare1},
+ nrofHARQ-Processes INTEGER (1..8),
+ n1PUCCH-AN PUCCH-ResourceId OPTIONAL, -- Need M
+ mcs-Table ENUMERATED {qam64LowSE} OPTIONAL, -- Need S
+ ...
}
-- TAG-SPS-CONFIG-STOP
-- TAG-SRB-IDENTITY-START
-SRB-Identity ::= INTEGER (1..3)
+SRB-Identity ::= INTEGER (1..3)
-- TAG-SRB-IDENTITY-STOP
+-- TAG-SRS-CARRIERSWITCHING-START
+
+SRS-CarrierSwitching ::= SEQUENCE {
+ srs-SwitchFromServCellIndex INTEGER (0..31) OPTIONAL, -- Need M
+ srs-SwitchFromCarrier ENUMERATED {sUL, nUL},
+ srs-TPC-PDCCH-Group CHOICE {
+ typeA SEQUENCE (SIZE (1..32)) OF SRS-TPC-PDCCH-Config,
+ typeB SRS-TPC-PDCCH-Config
+ } OPTIONAL, -- Need M
+ monitoringCells SEQUENCE (SIZE (1..maxNrofServingCells)) OF ServCellIndex OPTIONAL, -- Need M
+ ...
+}
+
+-- One trigger configuration for SRS-Carrier Switching. (see 38.212, 38.213, section 7.3.1, 11.3)
+SRS-TPC-PDCCH-Config ::= SEQUENCE {
+ srs-CC-SetIndexlist SEQUENCE (SIZE(1..4)) OF SRS-CC-SetIndex OPTIONAL -- Need M
+}
+
+SRS-CC-SetIndex ::= SEQUENCE {
+ cc-SetIndex INTEGER (0..3) OPTIONAL, -- Need M
+ cc-IndexInOneCC-Set INTEGER (0..7) OPTIONAL -- Need M
+}
+
+-- TAG-SRS-CARRIERSWITCHING-STOP
-- TAG-SRS-CONFIG-START
-SRS-Config ::= SEQUENCE {
- 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
-
- tpc-Accumulation ENUMERATED {disabled} OPTIONAL, -- Need S
- ...
-}
-
-SRS-ResourceSet ::= SEQUENCE {
- srs-ResourceSetId SRS-ResourceSetId,
- srs-ResourceIdList SEQUENCE (SIZE(1..maxNrofSRS-ResourcesPerSet)) OF SRS-ResourceId OPTIONAL, -- Cond Setup
-
- resourceType CHOICE {
- aperiodic SEQUENCE {
- 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 {
- associatedCSI-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook
- ...
- },
- periodic SEQUENCE {
- associatedCSI-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook
- ...
- }
- },
- usage ENUMERATED {beamManagement, codebook, nonCodebook, antennaSwitching},
- 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
- srs-PowerControlAdjustmentStates ENUMERATED { sameAsFci2, separateClosedLoop} OPTIONAL, -- Need S
- ...
-}
-
-SRS-ResourceSetId ::= INTEGER (0..maxNrofSRS-ResourceSets-1)
-
-SRS-Resource ::= SEQUENCE {
- srs-ResourceId SRS-ResourceId,
- nrofSRS-Ports ENUMERATED {port1, ports2, ports4},
- ptrs-PortIndex ENUMERATED {n0, n1 } OPTIONAL, -- Need R
- transmissionComb CHOICE {
- n2 SEQUENCE {
- combOffset-n2 INTEGER (0..1),
- cyclicShift-n2 INTEGER (0..7)
- },
- n4 SEQUENCE {
- combOffset-n4 INTEGER (0..3),
- cyclicShift-n4 INTEGER (0..11)
- }
- },
- resourceMapping SEQUENCE {
- startPosition INTEGER (0..5),
- nrofSymbols ENUMERATED {n1, n2, n4},
- repetitionFactor ENUMERATED {n1, n2, n4}
- },
- freqDomainPosition INTEGER (0..67),
- freqDomainShift INTEGER (0..268),
- freqHopping SEQUENCE {
- c-SRS INTEGER (0..63),
- b-SRS INTEGER (0..3),
- b-hop INTEGER (0..3)
- },
- groupOrSequenceHopping ENUMERATED { neither, groupHopping, sequenceHopping },
- resourceType CHOICE {
- aperiodic SEQUENCE {
- ...
- },
- semi-persistent SEQUENCE {
- periodicityAndOffset-sp SRS-PeriodicityAndOffset,
- ...
- },
- periodic SEQUENCE {
- periodicityAndOffset-p SRS-PeriodicityAndOffset,
- ...
- }
- },
- sequenceId BIT STRING (SIZE (10)),
- 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 {
- sl1 NULL,
- 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),
- sl32 INTEGER(0..31),
- sl40 INTEGER(0..39),
- sl64 INTEGER(0..63),
- sl80 INTEGER(0..79),
- sl160 INTEGER(0..159),
- sl320 INTEGER(0..319),
- sl640 INTEGER(0..639),
- sl1280 INTEGER(0..1279),
- sl2560 INTEGER(0..2559)
+SRS-Config ::= SEQUENCE {
+ 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
+
+ tpc-Accumulation ENUMERATED {disabled} OPTIONAL, -- Need S
+ ...
}
--- TAG-SRS-CONFIG-STOP
--- TAG-SRS-CARRIERSWITCHING-START
-SRS-CarrierSwitching ::= SEQUENCE {
- srs-SwitchFromServCellIndex INTEGER (0..31) OPTIONAL, -- Cond Setup
- srs-SwitchFromCarrier ENUMERATED {sUL, nUL},
- srs-TPC-PDCCH-Group CHOICE {
- typeA SEQUENCE (SIZE (1..32)) OF SRS-TPC-PDCCH-Config,
- typeB SRS-TPC-PDCCH-Config
- } OPTIONAL, -- Cond Setup
- monitoringCells SEQUENCE (SIZE (1..maxNrofServingCells)) OF ServCellIndex OPTIONAL, -- Cond Setup
- ...
+SRS-ResourceSet ::= SEQUENCE {
+ srs-ResourceSetId SRS-ResourceSetId,
+ srs-ResourceIdList SEQUENCE (SIZE(1..maxNrofSRS-ResourcesPerSet)) OF SRS-ResourceId OPTIONAL, -- Cond Setup
+
+ resourceType CHOICE {
+ aperiodic SEQUENCE {
+ aperiodicSRS-ResourceTrigger INTEGER (1..maxNrofSRS-TriggerStates-1),
+ csi-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook
+ slotOffset INTEGER (1..32) OPTIONAL, -- Need S
+ ...,
+ [[
+ aperiodicSRS-ResourceTriggerList-v1530 SEQUENCE (SIZE(1..maxNrofSRS-TriggerStates-2))
+ OF INTEGER (1..maxNrofSRS-TriggerStates-1) OPTIONAL -- Need M
+ ]]
+ },
+ semi-persistent SEQUENCE {
+ associatedCSI-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook
+ ...
+ },
+ periodic SEQUENCE {
+ associatedCSI-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook
+ ...
+ }
+ },
+ usage ENUMERATED {beamManagement, codebook, nonCodebook, antennaSwitching},
+ 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
+ srs-PowerControlAdjustmentStates ENUMERATED { sameAsFci2, separateClosedLoop} OPTIONAL, -- Need S
+ ...
}
--- One trigger configuration for SRS-Carrier Switching. (see 38.212, 38.213, section 7.3.1, 11.3)
-SRS-TPC-PDCCH-Config ::= SEQUENCE {
- srs-CC-SetIndexlist SEQUENCE (SIZE(1..4)) OF SRS-CC-SetIndex OPTIONAL -- Cond Setup
+SRS-ResourceSetId ::= INTEGER (0..maxNrofSRS-ResourceSets-1)
+
+SRS-Resource ::= SEQUENCE {
+ srs-ResourceId SRS-ResourceId,
+ nrofSRS-Ports ENUMERATED {port1, ports2, ports4},
+ ptrs-PortIndex ENUMERATED {n0, n1 } OPTIONAL, -- Need R
+ transmissionComb CHOICE {
+ n2 SEQUENCE {
+ combOffset-n2 INTEGER (0..1),
+ cyclicShift-n2 INTEGER (0..7)
+ },
+ n4 SEQUENCE {
+ combOffset-n4 INTEGER (0..3),
+ cyclicShift-n4 INTEGER (0..11)
+ }
+ },
+ resourceMapping SEQUENCE {
+ startPosition INTEGER (0..5),
+ nrofSymbols ENUMERATED {n1, n2, n4},
+ repetitionFactor ENUMERATED {n1, n2, n4}
+ },
+ freqDomainPosition INTEGER (0..67),
+ freqDomainShift INTEGER (0..268),
+ freqHopping SEQUENCE {
+ c-SRS INTEGER (0..63),
+ b-SRS INTEGER (0..3),
+ b-hop INTEGER (0..3)
+ },
+ groupOrSequenceHopping ENUMERATED { neither, groupHopping, sequenceHopping },
+ resourceType CHOICE {
+ aperiodic SEQUENCE {
+ ...
+ },
+ semi-persistent SEQUENCE {
+ periodicityAndOffset-sp SRS-PeriodicityAndOffset,
+ ...
+ },
+ periodic SEQUENCE {
+ periodicityAndOffset-p SRS-PeriodicityAndOffset,
+ ...
+ }
+ },
+ sequenceId INTEGER (0..1023),
+ spatialRelationInfo SRS-SpatialRelationInfo OPTIONAL, -- Need R
+ ...
}
-SRS-CC-SetIndex ::= SEQUENCE {
- cc-SetIndex INTEGER (0..3) OPTIONAL, -- Cond Setup
- cc-IndexInOneCC-Set INTEGER (0..7) OPTIONAL -- Cond Setup
+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 {
+ sl1 NULL,
+ 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),
+ sl32 INTEGER(0..31),
+ sl40 INTEGER(0..39),
+ sl64 INTEGER(0..63),
+ sl80 INTEGER(0..79),
+ sl160 INTEGER(0..159),
+ sl320 INTEGER(0..319),
+ sl640 INTEGER(0..639),
+ sl1280 INTEGER(0..1279),
+ sl2560 INTEGER(0..2559)
}
--- TAG-SRS-CARRIERSWITCHING-STOP
+-- TAG-SRS-CONFIG-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
- ...
+SRS-TPC-CommandConfig ::= SEQUENCE {
+ startingBitOfFormat2-3 INTEGER (1..31) OPTIONAL, -- Cond Setup
+ fieldTypeFormat2-3 INTEGER (0..1) OPTIONAL, -- Cond Setup
+ ...,
+ [[
+ startingBitOfFormat2-3SUL-v1530 INTEGER (1..31) OPTIONAL -- Cond Setup
+ ]]
}
-- TAG-SRS-TPC-COMMANDCONFIG-STOP
-- TAG-SSB-INDEX-START
-SSB-Index ::= INTEGER (0..63)
+SSB-Index ::= INTEGER (0..maxNrofSSBs-1)
-- TAG-SSB-INDEX-STOP
-- 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-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}
+SSB-MTC2 ::= SEQUENCE {
+ pci-List SEQUENCE (SIZE (1..maxNrofPCIsPerSMTC)) OF PhysCellId OPTIONAL, -- Need M
+ periodicity ENUMERATED {sf5, sf10, sf20, sf40, sf80, spare3, spare2, spare1}
}
-- TAG-SSB-MTC-STOP
+-- TAG-SSB-TOMEASURE-START
+
+SSB-ToMeasure ::= CHOICE {
+ shortBitmap BIT STRING (SIZE (4)),
+ mediumBitmap BIT STRING (SIZE (8)),
+ longBitmap BIT STRING (SIZE (64))
+}
+
+-- TAG-SSB-TOMEASURE-STOP
-- TAG-SUBCARRIER-SPACING-START
-SubcarrierSpacing ::= ENUMERATED {kHz15, kHz30, kHz60, kHz120, kHz240, spare3, spare2, spare1}
+SubcarrierSpacing ::= ENUMERATED {kHz15, kHz30, kHz60, kHz120, kHz240, spare3, spare2, spare1}
-- TAG-SUBCARRIER-SPACING-STOP
+-- TAG-TAG-CONFIG-START
+
+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 ::= SEQUENCE {
+ tag-Id TAG-Id,
+ timeAlignmentTimer TimeAlignmentTimer,
+ ...
+}
+
+TAG-Id ::= INTEGER (0..maxNrofTAGs-1)
+
+TimeAlignmentTimer ::= ENUMERATED {ms500, ms750, ms1280, ms1920, ms2560, ms5120, ms10240, infinity}
+
+-- TAG-TAG-CONFIG-STOP
-- TAG-TCI-STATE-START
-TCI-State ::= SEQUENCE {
- tci-StateId TCI-StateId,
- qcl-Type1 QCL-Info,
- qcl-Type2 QCL-Info OPTIONAL, -- Need R
- ...
+TCI-State ::= SEQUENCE {
+ tci-StateId TCI-StateId,
+ qcl-Type1 QCL-Info,
+ qcl-Type2 QCL-Info OPTIONAL, -- Need R
+ ...
}
-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-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},
+ ...
}
-- 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 {
- referenceSubcarrierSpacing SubcarrierSpacing,
- pattern1 TDD-UL-DL-Pattern,
- pattern2 TDD-UL-DL-Pattern OPTIONAL, -- Need R
- ...
+TDD-UL-DL-ConfigCommon ::= SEQUENCE {
+ referenceSubcarrierSpacing SubcarrierSpacing,
+ pattern1 TDD-UL-DL-Pattern,
+ pattern2 TDD-UL-DL-Pattern 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-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),
+ ...,
+ [[
+ dl-UL-TransmissionPeriodicity-v1530 ENUMERATED {ms3, ms4} OPTIONAL -- Need R
+ ]]
}
-TDD-UL-DL-ConfigDedicated ::= SEQUENCE {
- 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-ConfigDedicated ::= SEQUENCE {
+ 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 {
- slotIndex TDD-UL-DL-SlotIndex,
- symbols CHOICE {
- allDownlink NULL,
- allUplink NULL,
- explicit SEQUENCE {
- nrofDownlinkSymbols INTEGER (1..maxNrofSymbols-1) OPTIONAL, -- Need S
- nrofUplinkSymbols INTEGER (1..maxNrofSymbols-1) OPTIONAL -- Need S
- }
- }
+TDD-UL-DL-SlotConfig ::= SEQUENCE {
+ slotIndex TDD-UL-DL-SlotIndex,
+ symbols CHOICE {
+ allDownlink NULL,
+ allUplink NULL,
+ explicit SEQUENCE {
+ nrofDownlinkSymbols INTEGER (1..maxNrofSymbols-1) OPTIONAL, -- Need S
+ nrofUplinkSymbols INTEGER (1..maxNrofSymbols-1) OPTIONAL -- Need S
+ }
+ }
}
-TDD-UL-DL-SlotIndex ::= INTEGER (0..maxNrofSlots-1)
+TDD-UL-DL-SlotIndex ::= INTEGER (0..maxNrofSlots-1)
-- TAG-TDD-UL-DL-CONFIG-STOP
+-- TAG-TRACKINGAREACODE-START
+
+TrackingAreaCode ::= BIT STRING (SIZE (24))
+
+-- TAG-TRACKINGAREACODE-STOP
+-- TAG-TRESELECTION-START
+
+T-Reselection ::= INTEGER (0..7)
+
+-- TAG-TRESELECTION-STOP
+-- TAG-TIMETOTRIGGER-START
+
+TimeToTrigger ::= ENUMERATED {
+ ms0, ms40, ms64, ms80, ms100, ms128, ms160, ms256,
+ ms320, ms480, ms512, ms640, ms1024, ms1280, ms2560,
+ ms5120}
+
+-- TAG-TIMETOTRIGGER-STOP
+-- TAG-UAC-BARRING-INFO-SET-INDEX-START
-TimeToTrigger ::= ENUMERATED {
- ms0, ms40, ms64, ms80, ms100, ms128, ms160, ms256,
- ms320, ms480, ms512, ms640, ms1024, ms1280, ms2560,
- ms5120}
+UAC-BarringInfoSetIndex ::= INTEGER (1..maxBarringInfoSet)
+-- TAG-UAC-BARRING-INFO-SET-INDEX-STOP
+-- TAG-UAC-BARRING-INFO-SET-LIST-START
+
+UAC-BarringInfoSetList ::= SEQUENCE (SIZE(1..maxBarringInfoSet)) OF UAC-BarringInfoSet
+
+UAC-BarringInfoSet ::= SEQUENCE {
+ uac-BarringFactor ENUMERATED {p00, p05, p10, p15, p20, p25, p30, p40,
+ p50, p60, p70, p75, p80, p85, p90, p95},
+ uac-BarringTime ENUMERATED {s4, s8, s16, s32, s64, s128, s256, s512},
+ uac-BarringForAccessIdentity BIT STRING (SIZE(7))
+}
+
+-- TAG-UAC-BARRING-INFO-SET-LIST-STOP
+-- TAG-UAC-BARRING-PER-CAT-LIST-START
+
+UAC-BarringPerCatList ::= SEQUENCE (SIZE (1..maxAccessCat-1)) OF UAC-BarringPerCat
+
+UAC-BarringPerCat ::= SEQUENCE {
+ accessCategory INTEGER (1..maxAccessCat-1),
+ uac-barringInfoSetIndex UAC-BarringInfoSetIndex
+}
+
+-- TAG-UAC-BARRING-PER-CAT-LIST-STOP
+-- TAG-UAC-BARRING-PER-PLMN-LIST-START
+
+UAC-BarringPerPLMN-List ::= SEQUENCE (SIZE (1.. maxPLMN)) OF UAC-BarringPerPLMN
+
+UAC-BarringPerPLMN ::= SEQUENCE {
+ plmn-IdentityIndex INTEGER (1..maxPLMN),
+ uac-ACBarringListType CHOICE{
+ uac-ImplicitACBarringList SEQUENCE (SIZE(maxAccessCat-1)) OF UAC-BarringInfoSetIndex,
+ uac-ExplicitACBarringList UAC-BarringPerCatList
+ } OPTIONAL
+}
+
+-- TAG-UAC-BARRING-PER-PLMN-LIST-STOP
+-- TAG-UE-TIMERS-AND-CONSTANTS-START
+
+UE-TimersAndConstants ::= SEQUENCE {
+ t300 ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000},
+ t301 ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000},
+ t310 ENUMERATED {ms0, ms50, ms100, ms200, ms500, ms1000, ms2000},
+ n310 ENUMERATED {n1, n2, n3, n4, n6, n8, n10, n20},
+ t311 ENUMERATED {ms1000, ms3000, ms5000, ms10000, ms15000, ms20000, ms30000},
+ n311 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10},
+ t319 ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000},
+ ...
+}
+
+-- TAG-UE-TIMERS-AND-CONSTANTS-STOP
+-- TAG-UPLINK-CONFIG-COMMON-START
+
+UplinkConfigCommon ::= SEQUENCE {
+ frequencyInfoUL FrequencyInfoUL OPTIONAL, -- Cond InterFreqHOAndServCellAddAndSIB1
+ initialUplinkBWP BWP-UplinkCommon OPTIONAL, -- Cond ServCellAddAndSIB1
+ dummy TimeAlignmentTimer
+}
+
+-- TAG-UPLINK-CONFIG-COMMON-STOP
-- TAG-UPLINK-CONFIG-COMMON-START
-UplinkConfigCommon ::= SEQUENCE {
- frequencyInfoUL FrequencyInfoUL OPTIONAL, -- Cond InterFreqHOAndServCellAddAndSIB1
- initialUplinkBWP BWP-UplinkCommon OPTIONAL, -- Cond ServCellAddAndSIB1
- timeAlignmentTimerCommon TimeAlignmentTimer
+UplinkConfigCommonSIB ::= SEQUENCE {
+ frequencyInfoUL FrequencyInfoUL-SIB,
+ initialUplinkBWP BWP-UplinkCommon,
+ timeAlignmentTimerCommon TimeAlignmentTimer
}
-- TAG-UPLINK-CONFIG-COMMON-STOP
+-- TAG-UPLINKTXDIRECTCURRENTLIST-START
+
+UplinkTxDirectCurrentList ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF UplinkTxDirectCurrentCell
+
+UplinkTxDirectCurrentCell ::= SEQUENCE {
+ servCellIndex ServCellIndex,
+ uplinkDirectCurrentBWP SEQUENCE (SIZE (1..maxNrofBWPs)) OF UplinkTxDirectCurrentBWP,
+ ...
+}
+
+UplinkTxDirectCurrentBWP ::= SEQUENCE {
+ bwp-Id BWP-Id,
+ shift7dot5kHz BOOLEAN,
+ txDirectCurrentLocation INTEGER (0..3301)
+}
+
+-- TAG-UPLINKTXDIRECTCURRENTLIST-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-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,
- zp-CSI-RS-ResourceIdList SEQUENCE (SIZE(1..maxNrofZP-CSI-RS-ResourcesPerSet)) OF ZP-CSI-RS-ResourceId,
- ...
+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,
+ ...
}
-- TAG-ZP-CSI-RS-RESOURCESET-STOP
-- TAG-ZP-CSI-RS-RESOURCESETID-START
-ZP-CSI-RS-ResourceSetId ::= INTEGER (0..maxNrofZP-CSI-RS-ResourceSets-1)
+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, ... }
+ 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 {
+ bandList SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParameters,
+ featureSetCombination FeatureSetCombinationId,
- ca-ParametersEUTRA CA-ParametersEUTRA OPTIONAL,
- ca-ParametersNR CA-ParametersNR OPTIONAL,
- mrdc-Parameters MRDC-Parameters OPTIONAL,
- supportedBandwidthCombinationSet BIT STRING (SIZE (1..32)) OPTIONAL
+ ca-ParametersEUTRA CA-ParametersEUTRA OPTIONAL,
+ ca-ParametersNR CA-ParametersNR OPTIONAL,
+ mrdc-Parameters MRDC-Parameters OPTIONAL,
+ supportedBandwidthCombinationSet BIT STRING (SIZE (1..32)) OPTIONAL,
+ powerClass-v1530 ENUMERATED {pc2} 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
- }
+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
+ }
}
-
-- TAG-BANDCOMBINATIONLIST-STOP
--- TAG-CA-BANDWIDTHCLASSNR-START
-
-CA-BandwidthClassNR ::= ENUMERATED {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, ...}
-
--- TAG-CA-BANDWIDTHCLASSNR-STOP
-- TAG-CA-BANDWIDTHCLASSEUTRA-START
-CA-BandwidthClassEUTRA ::= ENUMERATED {a, b, c, d, e, f, ...}
+CA-BandwidthClassEUTRA ::= ENUMERATED {a, b, c, d, e, f, ...}
-- TAG-CA-BANDWIDTHCLASSEUTRA-STOP
--- TAG-CA-PARAMETERSNR-START
+-- TAG-CA-BANDWIDTHCLASSNR-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,
- ...
-}
+CA-BandwidthClassNR ::= ENUMERATED {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, ...}
--- TAG-CA-PARAMETERSNR-STOP
+-- TAG-CA-BANDWIDTHCLASSNR-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,
- ...
+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,
+ supportedBandwidthCombinationSetEUTRA-v1530 BIT STRING (SIZE (1..32)) OPTIONAL,
+ ...
}
-- TAG-CA-PARAMETERSEUTRA-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,
+ ...
+}
+
+-- TAG-CA-PARAMETERSNR-STOP
-- TAG-FEATURESETCOMBINATION-START
-FeatureSetCombination ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF FeatureSetsPerBand
+FeatureSetCombination ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF FeatureSetsPerBand
-FeatureSetsPerBand ::= SEQUENCE (SIZE (1..maxFeatureSetsPerBand)) OF FeatureSet
+FeatureSetsPerBand ::= SEQUENCE (SIZE (1..maxFeatureSetsPerBand)) OF FeatureSet
-FeatureSet ::= CHOICE {
- eutra SEQUENCE {
- downlinkSetEUTRA FeatureSetEUTRA-DownlinkId,
- uplinkSetEUTRA FeatureSetEUTRA-UplinkId
- },
- nr SEQUENCE {
- downlinkSetNR FeatureSetDownlinkId,
- uplinkSetNR FeatureSetUplinkId
- }
+FeatureSet ::= CHOICE {
+ eutra SEQUENCE {
+ downlinkSetEUTRA FeatureSetEUTRA-DownlinkId,
+ uplinkSetEUTRA FeatureSetEUTRA-UplinkId
+ },
+ nr SEQUENCE {
+ downlinkSetNR FeatureSetDownlinkId,
+ uplinkSetNR FeatureSetUplinkId
+ }
}
-- TAG-FEATURESET-COMBINATION-ID-START
-FeatureSetCombinationId ::= INTEGER (0.. maxFeatureSetCombinations)
+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)
+FeatureSetDownlink ::= SEQUENCE {
+ featureSetListPerDownlinkCC SEQUENCE (SIZE (1..maxNrofServingCells)) OF FeatureSetDownlinkPerCC-Id,
+
+ intraBandFreqSeparationDL FreqSeparationClass OPTIONAL,
+ scalingFactor ENUMERATED {f0p4, f0p75, f0p8} OPTIONAL,
+ crossCarrierScheduling-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,
+ pdcch-MonitoringAnyOccasions ENUMERATED {withoutDCI-Gap, withDCI-Gap} OPTIONAL,
+ pdcch-MonitoringAnyOccasionsWithSpanGap 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)
+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
+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)
+FeatureSetDownlinkPerCC-Id ::= INTEGER (1..maxPerCC-FeatureSets)
-- TAG-FEATURESET-DOWNLINK-PER-CC-ID-STOP
+-- TAG-FEATURESET-EUTRA-DOWNLINK-ID-START
+
+FeatureSetEUTRA-DownlinkId ::= INTEGER (0..maxEUTRA-DL-FeatureSets)
+
+-- TAG-FEATURESET-EUTRA-DOWNLINK-ID-STOP
+-- TAG-FEATURESET-EUTRA-UPLINK-ID-START
+
+FeatureSetEUTRA-UplinkId ::= INTEGER (0..maxEUTRA-UL-FeatureSets)
+
+-- TAG-FEATURESET-EUTRA-UPLINK-ID-STOP
+-- TAG-FEATURESETS-START
+
+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-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
-}
-
-
-CSI-ReportFramework ::= SEQUENCE {
- maxNumberPeriodicCSI-ReportPerBWP INTEGER (1..4),
- maxNumberAperiodicCSI-ReportPerBWP INTEGER (1..4),
- maxNumberSemiPersistentCSI-ReportPerBWP INTEGER (0..4),
- simultaneousCSI-ReportsAllCC INTEGER (5..32)
+FeatureSetUplink ::= SEQUENCE {
+ featureSetListPerUplinkCC SEQUENCE (SIZE (1.. maxNrofServingCells)) OF FeatureSetUplinkPerCC-Id,
+ scalingFactor ENUMERATED {f0p4, f0p75, f0p8} OPTIONAL,
+ crossCarrierScheduling-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,
+ simultaneousTxSUL-NonSUL-v1530 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
+}
+
+CSI-ReportFramework ::= SEQUENCE {
+ maxNumberPeriodicCSI-ReportPerBWP INTEGER (1..4),
+ maxNumberAperiodicCSI-ReportPerBWP INTEGER (1..4),
+ maxNumberSemiPersistentCSI-ReportPerBWP INTEGER (0..4),
+ simultaneousCSI-ReportsAllCC INTEGER (5..32)
}
-- TAG- FEATURESETUPLINK-STOP
-- TAG-FEATURESET-UPLINK-ID-START
-FeatureSetUplinkId ::= INTEGER (0..maxUplinkFeatureSets)
+FeatureSetUplinkId ::= INTEGER (0..maxUplinkFeatureSets)
-- TAG-FEATURESET-UPLINK-ID-STOP
--- TAG-FEATURESET-EUTRA-UPLINK-ID-START
-
-FeatureSetEUTRA-UplinkId ::= INTEGER (0..maxEUTRA-UL-FeatureSets)
-
--- TAG-FEATURESET-EUTRA-UPLINK-ID-STOP
-- TAG-FEATURESETUPLINKPERCC-START
-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
+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
+
}
-- TAG-FEATURESETUPLINKPERCC-STOP
-- TAG-FEATURESET-UPLINK-PER-CC-ID-START
-FeatureSetUplinkPerCC-Id ::= INTEGER (1..maxPerCC-FeatureSets)
+FeatureSetUplinkPerCC-Id ::= INTEGER (1..maxPerCC-FeatureSets)
-- TAG-FEATURESET-UPLINK-PER-CC-ID-STOP
--- TAG-FEATURESETS-START
-
-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-FREQ-BAND-INDICATOR-EUTRA-START
-FreqBandIndicatorEUTRA ::= INTEGER (1..maxBandsEUTRA)
+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
+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
+FreqBandInformationEUTRA ::= SEQUENCE {
+ bandEUTRA FreqBandIndicatorEUTRA,
+ ca-BandwidthClassDL-EUTRA CA-BandwidthClassEUTRA OPTIONAL, -- Need N
+ ca-BandwidthClassUL-EUTRA CA-BandwidthClassEUTRA OPTIONAL -- Need N
}
-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
+FreqBandInformationNR ::= SEQUENCE {
+ bandNR FreqBandIndicatorNR,
+ maxBandwidthRequestedDL AggregatedBandwidth OPTIONAL, -- Need N
+ maxBandwidthRequestedUL AggregatedBandwidth 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}
+AggregatedBandwidth ::= ENUMERATED {mhz50, mhz100, mhz150, mhz200, mhz250, mhz300, mhz350,
+ mhz400, mhz450, mhz500, mhz550, mhz600, mhz650, mhz700, mhz750, mhz800}
-- TAG-FREQBANDLIST-STOP
-- TAG-FREQSEPARATIONCLASS-START
@@ -3460,13 +5113,247 @@ AggregatedBandwith ::= ENUMERATED {mhz50, mhz100, mhz150, mhz200, mhz250, mhz3
FreqSeparationClass ::= ENUMERATED {c1, c2, c3, ...}
-- TAG-FREQSEPARATIONCLASS-STOP
+-- TAG-INTERRAT-PARAMETERS-START
+
+InterRAT-Parameters ::= SEQUENCE {
+ eutra EUTRA-Parameters OPTIONAL,
+ ...
+}
+
+EUTRA-Parameters ::= SEQUENCE {
+ supportedBandListEUTRA SEQUENCE (SIZE (1..maxBandsEUTRA)) OF FreqBandIndicatorEUTRA,
+ eutra-ParametersCommon EUTRA-ParametersCommon OPTIONAL,
+ eutra-ParametersXDD-Diff EUTRA-ParametersXDD-Diff OPTIONAL,
+ ...
+}
+
+EUTRA-ParametersCommon ::= SEQUENCE {
+ mfbi-EUTRA ENUMERATED {supported} OPTIONAL,
+ modifiedMRP-BehaviorEUTRA BIT STRING (SIZE (32)) OPTIONAL,
+ multiNS-Pmax-EUTRA ENUMERATED {supported} OPTIONAL,
+ rs-SINR-MeasEUTRA ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+EUTRA-ParametersXDD-Diff ::= SEQUENCE {
+ rsrqMeasWidebandEUTRA ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+-- TAG-INTERRAT-PARAMETERS-STOP
+-- TAG-MAC-PARAMETERS-START
+
+MAC-Parameters ::= SEQUENCE {
+ mac-ParametersCommon MAC-ParametersCommon OPTIONAL,
+ mac-ParametersXDD-Diff MAC-ParametersXDD-Diff OPTIONAL
+}
+
+MAC-ParametersCommon ::= SEQUENCE {
+ lcp-Restriction ENUMERATED {supported} OPTIONAL,
+ pucch-SpatialRelInfoMAC-CE ENUMERATED {supported} OPTIONAL,
+ lch-ToSCellRestriction ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ recommendedBitRate ENUMERATED {supported} OPTIONAL,
+ recommendedBitRateQuery ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+MAC-ParametersXDD-Diff ::= SEQUENCE {
+ skipUplinkTxDynamic ENUMERATED {supported} OPTIONAL,
+ logicalChannelSR-DelayTimer ENUMERATED {supported} OPTIONAL,
+ longDRX-Cycle ENUMERATED {supported} OPTIONAL,
+ shortDRX-Cycle ENUMERATED {supported} OPTIONAL,
+ multipleSR-Configurations ENUMERATED {supported} OPTIONAL,
+ multipleConfiguredGrants ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+-- TAG-MAC-PARAMETERS-STOP
+-- TAG-MEASANDMOBPARAMETERS-START
+
+MeasAndMobParameters ::= SEQUENCE {
+ measAndMobParametersCommon MeasAndMobParametersCommon OPTIONAL,
+ measAndMobParametersXDD-Diff MeasAndMobParametersXDD-Diff OPTIONAL,
+ measAndMobParametersFRX-Diff MeasAndMobParametersFRX-Diff OPTIONAL
+}
+
+MeasAndMobParametersCommon ::= SEQUENCE {
+ supportedGapPattern BIT STRING (SIZE (22)) OPTIONAL,
+ ssb-RLM ENUMERATED {supported} OPTIONAL,
+ ssb-AndCSI-RS-RLM ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ eventB-MeasAndReport ENUMERATED {supported} OPTIONAL,
+ handoverFDD-TDD ENUMERATED {supported} OPTIONAL,
+ eutra-CGI-Reporting ENUMERATED {supported} OPTIONAL,
+ nr-CGI-Reporting ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+MeasAndMobParametersXDD-Diff ::= SEQUENCE {
+ intraAndInterF-MeasAndReport ENUMERATED {supported} OPTIONAL,
+ eventA-MeasAndReport ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ handoverInterF ENUMERATED {supported} OPTIONAL,
+ handoverLTE ENUMERATED {supported} OPTIONAL,
+ handover-eLTE ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+MeasAndMobParametersFRX-Diff ::= SEQUENCE {
+ ss-SINR-Meas ENUMERATED {supported} OPTIONAL,
+ csi-RSRP-AndRSRQ-MeasWithSSB ENUMERATED {supported} OPTIONAL,
+ csi-RSRP-AndRSRQ-MeasWithoutSSB ENUMERATED {supported} OPTIONAL,
+ csi-SINR-Meas ENUMERATED {supported} OPTIONAL,
+ csi-RS-RLM ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ handoverInterF ENUMERATED {supported} OPTIONAL,
+ handoverLTE ENUMERATED {supported} OPTIONAL,
+ handover-eLTE ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+-- TAG-MEASANDMOBPARAMETERS-STOP
+-- TAG-MEASANDMOBPARAMETERSMRDC-START
+
+MeasAndMobParametersMRDC ::= SEQUENCE {
+ measAndMobParametersMRDC-Common MeasAndMobParametersMRDC-Common OPTIONAL,
+ measAndMobParametersMRDC-XDD-Diff MeasAndMobParametersMRDC-XDD-Diff OPTIONAL,
+ measAndMobParametersMRDC-FRX-Diff MeasAndMobParametersMRDC-FRX-Diff OPTIONAL
+}
+
+MeasAndMobParametersMRDC-Common ::= SEQUENCE {
+ independentGapConfig ENUMERATED {supported} OPTIONAL
+}
+
+MeasAndMobParametersMRDC-XDD-Diff ::= SEQUENCE {
+ sftd-MeasPSCell ENUMERATED {supported} OPTIONAL,
+ sftd-MeasNR-Cell ENUMERATED {supported} OPTIONAL
+}
+
+MeasAndMobParametersMRDC-FRX-Diff ::= SEQUENCE {
+ simultaneousRxDataSSB-DiffNumerology ENUMERATED {supported} OPTIONAL
+}
+
+-- TAG-MEASANDMOBPARAMETERSMRDC-STOP
-- TAG-MIMO-LAYERS-START
-MIMO-LayersDL ::= ENUMERATED {twoLayers, fourLayers, eightLayers}
+MIMO-LayersDL ::= ENUMERATED {twoLayers, fourLayers, eightLayers}
-MIMO-LayersUL ::= ENUMERATED {oneLayer, twoLayers, fourLayers}
+MIMO-LayersUL ::= ENUMERATED {oneLayer, twoLayers, fourLayers}
-- TAG-MIMO-LAYERS-STOP
+-- TAG-MIMO-PARAMETERSPERBAND-START
+
+MIMO-ParametersPerBand ::= SEQUENCE {
+ tci-StatePDSCH SEQUENCE {
+ maxNumberConfiguredTCIstatesPerCC ENUMERATED {n4, n8, n16, n32, n64, n128} OPTIONAL,
+ maxNumberActiveTCI-PerBWP ENUMERATED {n1, n2, n4, n8} OPTIONAL
+ } OPTIONAL,
+ additionalActiveTCI-StatePDCCH ENUMERATED {supported} OPTIONAL,
+ pusch-TransCoherence ENUMERATED {nonCoherent, partialNonCoherent, fullCoherent} OPTIONAL,
+ beamCorrespondence ENUMERATED {supported} OPTIONAL,
+ periodicBeamReport ENUMERATED {supported} OPTIONAL,
+ aperiodicBeamReport ENUMERATED {supported} OPTIONAL,
+ sp-BeamReportPUCCH ENUMERATED {supported} OPTIONAL,
+ sp-BeamReportPUSCH ENUMERATED {supported} OPTIONAL,
+ beamManagementSSB-CSI-RS BeamManagementSSB-CSI-RS OPTIONAL,
+ maxNumberRxBeam INTEGER (2..8) OPTIONAL,
+ maxNumberRxTxBeamSwitchDL SEQUENCE {
+ scs-15kHz ENUMERATED {n4, n7, n14} OPTIONAL,
+ scs-30kHz ENUMERATED {n4, n7, n14} OPTIONAL,
+ scs-60kHz ENUMERATED {n4, n7, n14} OPTIONAL,
+ scs-120kHz ENUMERATED {n4, n7, n14} OPTIONAL,
+ scs-240kHz ENUMERATED {n4, n7, n14} OPTIONAL
+ } OPTIONAL,
+ maxNumberNonGroupBeamReporting ENUMERATED {n1, n2, n4} OPTIONAL,
+ groupBeamReporting ENUMERATED {supported} OPTIONAL,
+ uplinkBeamManagement SEQUENCE {
+ maxNumberSRS-ResourcePerSet-BM ENUMERATED {n2, n4, n8, n16},
+ maxNumberSRS-ResourceSet INTEGER (1..8)
+ } OPTIONAL,
+ maxNumberCSI-RS-BFR INTEGER (1..64) OPTIONAL,
+ maxNumberSSB-BFR INTEGER (1..64) OPTIONAL,
+ maxNumberCSI-RS-SSB-BFR INTEGER (1..256) OPTIONAL,
+ twoPortsPTRS-DL ENUMERATED {supported} OPTIONAL,
+ twoPortsPTRS-UL ENUMERATED {supported} OPTIONAL,
+ supportedSRS-Resources SRS-Resources OPTIONAL,
+ maxNumberSimultaneousSRS-PerCC INTEGER (1..4) 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,
+ ...
+}
+
+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}
+}
+
+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 {n1, n2, n4, n8, n16},
+ maxNumberSP-SRS-PerBWP-PerSlot INTEGER (1..6),
+ maxNumberSRS-Ports-PerResource ENUMERATED {n1, n2, n4}
+}
+
+SRS-TxSwitch ::= SEQUENCE {
+ supportedSRS-TxPortSwitch ENUMERATED {t1r2, t1r4, t2r4, t1r4-t2r4, tr-equal},
+ txSwitchImpactToRx ENUMERATED {true} OPTIONAL
+}
+
-- TAG-MODULATION-ORDER-START
ModulationOrder ::= ENUMERATED {bpsk-halfpi, bpsk, qpsk, qam16, qam64, qam256}
@@ -3475,27 +5362,264 @@ ModulationOrder ::= ENUMERATED {bpsk-halfpi, bpsk, qpsk, qam16, qam64, qam256}
-- 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,
- ...
+ 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-PDCP-PARAMETERS-START
+
+PDCP-Parameters ::= SEQUENCE {
+ supportedROHC-Profiles SEQUENCE {
+ profile0x0000 BOOLEAN,
+ profile0x0001 BOOLEAN,
+ profile0x0002 BOOLEAN,
+ profile0x0003 BOOLEAN,
+ profile0x0004 BOOLEAN,
+ profile0x0006 BOOLEAN,
+ profile0x0101 BOOLEAN,
+ profile0x0102 BOOLEAN,
+ profile0x0103 BOOLEAN,
+ profile0x0104 BOOLEAN
+ },
+ 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,
+ outOfOrderDelivery ENUMERATED {supported} OPTIONAL,
+ shortSN ENUMERATED {supported} OPTIONAL,
+ pdcp-DuplicationSRB3 ENUMERATED {supported} OPTIONAL,
+ pdcp-DuplicationMCG-OrSCG ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+-- TAG-PDCP-PARAMETERS-STOP
+-- TAG-PDCP-PARAMETERSMRDC-START
+
+PDCP-ParametersMRDC ::= SEQUENCE {
+ pdcp-DuplicationSplitSRB ENUMERATED {supported} OPTIONAL,
+ pdcp-DuplicationSplitDRB ENUMERATED {supported} OPTIONAL
+}
+
+-- TAG-PDCP-PARAMETERSMRDC-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
+}
+
+Phy-ParametersCommon ::= SEQUENCE {
+ csi-RS-CFRA-ForHO ENUMERATED {supported} OPTIONAL,
+ dynamicPRB-BundlingDL ENUMERATED {supported} OPTIONAL,
+ sp-CSI-ReportPUCCH ENUMERATED {supported} OPTIONAL,
+ sp-CSI-ReportPUSCH ENUMERATED {supported} OPTIONAL,
+ nzp-CSI-RS-IntefMgmt ENUMERATED {supported} OPTIONAL,
+ type2-SP-CSI-Feedback-LongPUCCH ENUMERATED {supported} OPTIONAL,
+ precoderGranularityCORESET ENUMERATED {supported} OPTIONAL,
+ dynamicHARQ-ACK-Codebook ENUMERATED {supported} OPTIONAL,
+ semiStaticHARQ-ACK-Codebook ENUMERATED {supported} OPTIONAL,
+ spatialBundlingHARQ-ACK ENUMERATED {supported} OPTIONAL,
+ dynamicBetaOffsetInd-HARQ-ACK-CSI ENUMERATED {supported} OPTIONAL,
+ pucch-Repetition-F1-3-4 ENUMERATED {supported} OPTIONAL,
+ ra-Type0-PUSCH ENUMERATED {supported} OPTIONAL,
+ dynamicSwitchRA-Type0-1-PDSCH ENUMERATED {supported} OPTIONAL,
+ dynamicSwitchRA-Type0-1-PUSCH ENUMERATED {supported} OPTIONAL,
+ pdsch-MappingTypeA ENUMERATED {supported} OPTIONAL,
+ pdsch-MappingTypeB ENUMERATED {supported} OPTIONAL,
+ interleavingVRB-ToPRB-PDSCH ENUMERATED {supported} OPTIONAL,
+ interSlotFreqHopping-PUSCH ENUMERATED {supported} OPTIONAL,
+ type1-PUSCH-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL,
+ type2-PUSCH-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL,
+ pusch-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL,
+ pdsch-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL,
+ downlinkSPS ENUMERATED {supported} OPTIONAL,
+ configuredUL-GrantType1 ENUMERATED {supported} OPTIONAL,
+ configuredUL-GrantType2 ENUMERATED {supported} OPTIONAL,
+ pre-EmptIndication-DL ENUMERATED {supported} OPTIONAL,
+ cbg-TransIndication-DL ENUMERATED {supported} OPTIONAL,
+ cbg-TransIndication-UL ENUMERATED {supported} OPTIONAL,
+ cbg-FlushIndication-DL ENUMERATED {supported} OPTIONAL,
+ dynamicHARQ-ACK-CodeB-CBG-Retx-DL ENUMERATED {supported} OPTIONAL,
+ rateMatchingResrcSetSemi-Static ENUMERATED {supported} OPTIONAL,
+ rateMatchingResrcSetDynamic ENUMERATED {supported} OPTIONAL,
+ bwp-SwitchingDelay ENUMERATED {type1, type2} OPTIONAL,
+ ... ,
+ [[
+ eutra-RS-SINR-measurement ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+Phy-ParametersXDD-Diff ::= SEQUENCE {
+ dynamicSFI ENUMERATED {supported} OPTIONAL,
+ twoPUCCH-F0-2-ConsecSymbols ENUMERATED {supported} OPTIONAL,
+ twoDifferentTPC-Loop-PUSCH ENUMERATED {supported} OPTIONAL,
+ twoDifferentTPC-Loop-PUCCH ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+Phy-ParametersFRX-Diff ::= SEQUENCE {
+ dynamicSFI ENUMERATED {supported} OPTIONAL,
+ oneFL-DMRS-TwoAdditionalDMRS BIT STRING (SIZE (2)) OPTIONAL,
+ twoFL-DMRS BIT STRING (SIZE (2)) OPTIONAL,
+ twoFL-DMRS-TwoAdditionalDMRS BIT STRING (SIZE (2)) OPTIONAL,
+ oneFL-DMRS-ThreeAdditionalDMRS BIT STRING (SIZE (2)) OPTIONAL,
+ supportedDMRS-TypeDL ENUMERATED {type1, type1And2} OPTIONAL,
+ supportedDMRS-TypeUL ENUMERATED {type1, type1And2} OPTIONAL,
+ semiOpenLoopCSI ENUMERATED {supported} OPTIONAL,
+ csi-ReportWithoutPMI ENUMERATED {supported} OPTIONAL,
+ csi-ReportWithoutCQI ENUMERATED {supported} OPTIONAL,
+ onePortsPTRS BIT STRING (SIZE (2)) OPTIONAL,
+ twoPUCCH-F0-2-ConsecSymbols ENUMERATED {supported} OPTIONAL,
+ pucch-F2-WithFH ENUMERATED {supported} OPTIONAL,
+ pucch-F3-WithFH ENUMERATED {supported} OPTIONAL,
+ pucch-F4-WithFH ENUMERATED {supported} OPTIONAL,
+ freqHoppingPUCCH-F0-2 ENUMERATED {notSupported} OPTIONAL,
+ freqHoppingPUCCH-F1-3-4 ENUMERATED {notSupported} OPTIONAL,
+ mux-SR-HARQ-ACK-CSI-PUCCH ENUMERATED {supported} OPTIONAL,
+ uci-CodeBlockSegmentation ENUMERATED {supported} OPTIONAL,
+ onePUCCH-LongAndShortFormat ENUMERATED {supported} OPTIONAL,
+ twoPUCCH-AnyOthersInSlot ENUMERATED {supported} OPTIONAL,
+ intraSlotFreqHopping-PUSCH ENUMERATED {supported} OPTIONAL,
+ pusch-LBRM ENUMERATED {supported} OPTIONAL,
+ pdcch-BlindDetectionCA INTEGER (4..16) OPTIONAL,
+ tpc-PUSCH-RNTI ENUMERATED {supported} OPTIONAL,
+ tpc-PUCCH-RNTI ENUMERATED {supported} OPTIONAL,
+ tpc-SRS-RNTI ENUMERATED {supported} OPTIONAL,
+ absoluteTPC-Command ENUMERATED {supported} OPTIONAL,
+ twoDifferentTPC-Loop-PUSCH ENUMERATED {supported} OPTIONAL,
+ twoDifferentTPC-Loop-PUCCH ENUMERATED {supported} OPTIONAL,
+ pusch-HalfPi-BPSK ENUMERATED {supported} OPTIONAL,
+ pucch-F3-4-HalfPi-BPSK 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 {
+ pdcchMonitoringSingleOccasion ENUMERATED {supported} OPTIONAL,
+ scs-60kHz ENUMERATED {supported} OPTIONAL,
+ pdsch-256QAM-FR1 ENUMERATED {supported} OPTIONAL,
+ pdsch-RE-MappingFR1 ENUMERATED {n10, n20} OPTIONAL,
+ ...
+}
+
+Phy-ParametersFR2 ::= SEQUENCE {
+ calibrationGapPA ENUMERATED {supported} OPTIONAL,
+ pdsch-RE-MappingFR2 ENUMERATED {n6, n20} OPTIONAL,
+ ...
+}
+
+-- TAG-PHY-PARAMETERS-STOP
+-- TAG-PHY-PARAMETERSMRDC-START
+
+Phy-ParametersMRDC ::= SEQUENCE {
+ naics-Capability-List SEQUENCE (SIZE (1..maxNrofNAICS-Entries)) OF NAICS-Capability-Entry OPTIONAL,
+ ...
+}
+
+NAICS-Capability-Entry ::= SEQUENCE {
+ numberOfNAICS-CapableCC INTEGER(1..5),
+ numberOfAggregatedPRB ENUMERATED {n50, n75, n100, n125, n150, n175, n200, n225,
+ n250, n275, n300, n350, n400, n450, n500, spare},
+ ...
+}
+
+-- TAG-PHY-PARAMETERSMRDC-STOP
-- TAG-RAT-TYPE-START
-RAT-Type ::= ENUMERATED {nr, eutra-nr, spare2, spare1, ...}
+RAT-Type ::= ENUMERATED {nr, eutra-nr, eutra, spare1, ...}
-- TAG-RAT-TYPE-STOP
+-- TAG-RF-PARAMETERS-START
+
+RF-Parameters ::= SEQUENCE {
+ supportedBandListNR SEQUENCE (SIZE (1..maxBands)) OF BandNR,
+ supportedBandCombinationList BandCombinationList OPTIONAL,
+ appliedFreqBandListFilter FreqBandList OPTIONAL,
+ ...
+}
+
+BandNR ::= SEQUENCE {
+ bandNR FreqBandIndicatorNR,
+ modifiedMPR-Behaviour BIT STRING (SIZE (8)) OPTIONAL,
+ mimo-ParametersPerBand MIMO-ParametersPerBand OPTIONAL,
+ extendedCP ENUMERATED {supported} OPTIONAL,
+ multipleTCI ENUMERATED {supported} OPTIONAL,
+ bwp-WithoutRestriction ENUMERATED {supported} OPTIONAL,
+ bwp-SameNumerology ENUMERATED {upto2, upto4} OPTIONAL,
+ bwp-DiffNumerology ENUMERATED {upto4} OPTIONAL,
+ crossCarrierScheduling-SameSCS ENUMERATED {supported} OPTIONAL,
+ pdsch-256QAM-FR2 ENUMERATED {supported} OPTIONAL,
+ pusch-256QAM ENUMERATED {supported} OPTIONAL,
+ ue-PowerClass ENUMERATED {pc1, pc2, pc3, pc4} OPTIONAL,
+ rateMatchingLTE-CRS ENUMERATED {supported} OPTIONAL,
+ channelBWs-DL-v1530 CHOICE {
+ fr1 SEQUENCE {
+ scs-15kHz BIT STRING (SIZE (10)) OPTIONAL,
+ scs-30kHz BIT STRING (SIZE (10)) OPTIONAL,
+ scs-60kHz BIT STRING (SIZE (10)) OPTIONAL
+ },
+ fr2 SEQUENCE {
+ scs-60kHz BIT STRING (SIZE (3)) OPTIONAL,
+ scs-120kHz BIT STRING (SIZE (3)) OPTIONAL
+ }
+ } OPTIONAL,
+ channelBWs-UL-v1530 CHOICE {
+ fr1 SEQUENCE {
+ scs-15kHz BIT STRING (SIZE (10)) OPTIONAL,
+ scs-30kHz BIT STRING (SIZE (10)) OPTIONAL,
+ scs-60kHz BIT STRING (SIZE (10)) OPTIONAL
+ },
+ fr2 SEQUENCE {
+ scs-60kHz BIT STRING (SIZE (3)) OPTIONAL,
+ scs-120kHz BIT STRING (SIZE (3)) OPTIONAL
+ }
+ } OPTIONAL,
+ ...,
+ [[
+ maxUplinkDutyCycle ENUMERATED {n60, n70, n80, n90, n100} OPTIONAL
+ ]]
+
+}
+
+-- TAG-RF-PARAMETERS-STOP
+-- TAG-RF-PARAMETERSMRDC-START
+
+RF-ParametersMRDC ::= SEQUENCE {
+ supportedBandCombinationList BandCombinationList OPTIONAL,
+ appliedFreqBandListFilter FreqBandList OPTIONAL,
+ ...
+}
+
+-- TAG-RF-PARAMETERSMRDC-STOP
+-- TAG-RLC-PARAMETERS-START
+
+RLC-Parameters ::= SEQUENCE {
+ am-WithShortSN ENUMERATED {supported} OPTIONAL,
+ um-WithShortSN ENUMERATED {supported} OPTIONAL,
+ um-WithLongSN ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+-- TAG-RLC-PARAMETERS-STOP
-- TAG-SUPPORTEDBANDWIDTH-START
-SupportedBandwidth ::= CHOICE {
- fr1 ENUMERATED {mhz5, mhz10, mhz15, mhz20, mhz25, mhz30, mhz40, mhz50, mhz60, mhz80, mhz100},
- fr2 ENUMERATED {mhz50, mhz100, mhz200, mhz400}
+SupportedBandwidth ::= CHOICE {
+ fr1 ENUMERATED {mhz5, mhz10, mhz15, mhz20, mhz25, mhz30, mhz40, mhz50, mhz60, mhz80, mhz100},
+ fr2 ENUMERATED {mhz50, mhz100, mhz200, mhz400}
}
-- TAG-SUPPORTEDBANDWIDTH-STOP
@@ -3504,616 +5628,408 @@ SupportedBandwidth ::= CHOICE {
UE-CapabilityRAT-ContainerList ::=SEQUENCE (SIZE (0..maxRAT-CapabilityContainers)) OF UE-CapabilityRAT-Container
UE-CapabilityRAT-Container ::= SEQUENCE {
- rat-Type RAT-Type,
- ue-CapabilityRAT-Container OCTET STRING
+ rat-Type RAT-Type,
+ ue-CapabilityRAT-Container OCTET STRING
}
-- TAG-UE-CAPABILITY-RAT-CONTAINER-LIST-STOP
--- TAG-UE-MRDC-CAPABILITY-START
-
-UE-MRDC-Capability ::= SEQUENCE {
- measParametersMRDC MeasParametersMRDC OPTIONAL,
- rf-ParametersMRDC RF-ParametersMRDC,
- 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 {
- measParametersMRDC-XDD-Diff MeasParametersMRDC-XDD-Diff OPTIONAL,
- generalParametersMRDC-XDD-Diff GeneralParametersMRDC-XDD-Diff OPTIONAL
-}
+-- TAG-UE-CAPABILITYRAT-REQUESTLIST-START
-UE-MRDC-CapabilityAddFRX-Mode ::= SEQUENCE {
- measParametersMRDC-FRX-Diff MeasParametersMRDC-FRX-Diff
-}
+UE-CapabilityRAT-RequestList ::= SEQUENCE (SIZE (1..maxRAT-CapabilityContainers)) OF UE-CapabilityRAT-Request
-GeneralParametersMRDC-XDD-Diff ::= SEQUENCE {
- splitSRB-WithOneUL-Path ENUMERATED {supported} OPTIONAL,
- splitDRB-withUL-Both-MCG-SCG ENUMERATED {supported} OPTIONAL,
- srb3 ENUMERATED {supported} OPTIONAL,
- ...
+UE-CapabilityRAT-Request ::= SEQUENCE {
+ rat-Type RAT-Type,
+ capabilityRequestFilter OCTET STRING OPTIONAL, -- Need N
+ ...
}
--- TAG-UE-MRDC-CAPABILITY-STOP
--- TAG-RF-PARAMETERSMRDC-START
+-- TAG-UE-CAPABILITYRAT-REQUESTLIST-STOP
+-- TAG-UE-CAPABILITYREQUESTFILTERNR-START
-RF-ParametersMRDC ::= SEQUENCE {
- supportedBandCombinationList BandCombinationList OPTIONAL,
- appliedFreqBandListFilter FreqBandList OPTIONAL
+UE-CapabilityRequestFilterNR ::= SEQUENCE {
+ frequencyBandList FreqBandList OPTIONAL, -- Need N
+ nonCriticalExtension SEQUENCE {} OPTIONAL
}
--- TAG-RF-PARAMETERSMRDC-STOP
--- TAG-MEASPARAMETERSMRDC-START
+-- TAG-UE-CAPABILITYREQUESTFILTERNR-STOP
+-- TAG-UE-MRDC-CAPABILITY-START
-MeasParametersMRDC ::= SEQUENCE {
- measParametersMRDC-Common MeasParametersMRDC-Common OPTIONAL,
- measParametersMRDC-XDD-Diff MeasParametersMRDC-XDD-Diff OPTIONAL,
- measParametersMRDC-FRX-Diff MeasParametersMRDC-FRX-Diff OPTIONAL
+UE-MRDC-Capability ::= SEQUENCE {
+ measAndMobParametersMRDC MeasAndMobParametersMRDC OPTIONAL,
+ phy-ParametersMRDC-v1530 Phy-ParametersMRDC OPTIONAL,
+ rf-ParametersMRDC RF-ParametersMRDC,
+ 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,
+ pdcp-ParametersMRDC-v1530 PDCP-ParametersMRDC OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
}
-MeasParametersMRDC-Common ::= SEQUENCE {
- independentGapConfig ENUMERATED {supported} OPTIONAL
+UE-MRDC-CapabilityAddXDD-Mode ::= SEQUENCE {
+ measAndMobParametersMRDC-XDD-Diff MeasAndMobParametersMRDC-XDD-Diff OPTIONAL,
+ generalParametersMRDC-XDD-Diff GeneralParametersMRDC-XDD-Diff OPTIONAL
}
-MeasParametersMRDC-XDD-Diff ::= SEQUENCE {
- sftd-MeasPSCell ENUMERATED {supported} OPTIONAL,
- sftd-MeasNR-Cell ENUMERATED {supported} OPTIONAL
+UE-MRDC-CapabilityAddFRX-Mode ::= SEQUENCE {
+ measAndMobParametersMRDC-FRX-Diff MeasAndMobParametersMRDC-FRX-Diff
}
-MeasParametersMRDC-FRX-Diff ::= SEQUENCE {
- 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,
+ v2x-EUTRA-v1530 ENUMERATED {supported} OPTIONAL,
+ ...
}
--- TAG-MEASPARAMETERSMRDC-STOP
+-- TAG-UE-MRDC-CAPABILITY-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,
- phy-Parameters Phy-Parameters,
- rf-Parameters RF-Parameters,
- measParameters MeasParameters OPTIONAL,
- fdd-Add-UE-NR-Capabilities UE-NR-CapabilityAddXDD-Mode OPTIONAL,
- 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,
+UE-NR-Capability ::= SEQUENCE {
+ accessStratumRelease AccessStratumRelease,
+ pdcp-Parameters PDCP-Parameters,
+ rlc-Parameters RLC-Parameters OPTIONAL,
+ mac-Parameters MAC-Parameters OPTIONAL,
+ phy-Parameters Phy-Parameters,
+ rf-Parameters RF-Parameters,
+ measAndMobParameters MeasAndMobParameters OPTIONAL,
+ fdd-Add-UE-NR-Capabilities UE-NR-CapabilityAddXDD-Mode OPTIONAL,
+ 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 UE-NR-Capability-1530 OPTIONAL
+}
+
+UE-NR-Capability-1530 ::= SEQUENCE {
+ fdd-Add-UE-NR-Capabilities-1530 UE-NR-CapabilityAddXDD-Mode-1530 OPTIONAL,
+ tdd-Add-UE-NR-Capabilities-1530 UE-NR-CapabilityAddXDD-Mode-1530 OPTIONAL,
+ voiceOverMCG-Bearer ENUMERATED {supported} OPTIONAL,
+ interRAT-Parameters InterRAT-Parameters OPTIONAL,
+ inactiveState ENUMERATED {supported} OPTIONAL,
+ delayBudgetReporting ENUMERATED {supported} OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
- lateNonCriticalExtension OCTET STRING OPTIONAL,
- nonCriticalExtension SEQUENCE {} OPTIONAL
+UE-NR-CapabilityAddXDD-Mode ::= SEQUENCE {
+ phy-ParametersXDD-Diff Phy-ParametersXDD-Diff OPTIONAL,
+ mac-ParametersXDD-Diff MAC-ParametersXDD-Diff OPTIONAL,
+ measAndMobParametersXDD-Diff MeasAndMobParametersXDD-Diff OPTIONAL
}
-UE-NR-CapabilityAddXDD-Mode ::= SEQUENCE {
- phy-ParametersXDD-Diff Phy-ParametersXDD-Diff OPTIONAL,
- mac-ParametersXDD-Diff MAC-ParametersXDD-Diff OPTIONAL,
- measParametersXDD-Diff MeasParametersXDD-Diff OPTIONAL
+UE-NR-CapabilityAddXDD-Mode-1530 ::= SEQUENCE {
+ eutra-ParametersXDD-Diff EUTRA-ParametersXDD-Diff
}
UE-NR-CapabilityAddFRX-Mode ::= SEQUENCE {
- phy-ParametersFRX-Diff Phy-ParametersFRX-Diff OPTIONAL,
- measParametersFRX-Diff MeasParametersFRX-Diff OPTIONAL
+ phy-ParametersFRX-Diff Phy-ParametersFRX-Diff OPTIONAL,
+ measAndMobParametersFRX-Diff MeasAndMobParametersFRX-Diff OPTIONAL
}
-- TAG-UE-NR-CAPABILITY-STOP
--- TAG-PHY-PARAMETERS-START
+-- TAG-EUTRA-ALLOWED-MEAS-BANDWIDTH-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
-}
-
-Phy-ParametersCommon ::= SEQUENCE {
- csi-RS-CFRA-ForHO ENUMERATED {supported} OPTIONAL,
- dynamicPRB-BundlingDL ENUMERATED {supported} OPTIONAL,
- sp-CSI-ReportPUCCH ENUMERATED {supported} OPTIONAL,
- sp-CSI-ReportPUSCH ENUMERATED {supported} OPTIONAL,
- nzp-CSI-RS-IntefMgmt ENUMERATED {supported} OPTIONAL,
- type2-SP-CSI-Feedback-LongPUCCH ENUMERATED {supported} OPTIONAL,
- precoderGranularityCORESET ENUMERATED {supported} OPTIONAL,
- dynamicHARQ-ACK-Codebook ENUMERATED {supported} OPTIONAL,
- semiStaticHARQ-ACK-Codebook ENUMERATED {supported} OPTIONAL,
- spatialBundlingHARQ-ACK ENUMERATED {supported} OPTIONAL,
- dynamicBetaOffsetInd-HARQ-ACK-CSI ENUMERATED {supported} OPTIONAL,
- pucch-Repetition-F1-3-4 ENUMERATED {supported} OPTIONAL,
- ra-Type0-PUSCH ENUMERATED {supported} OPTIONAL,
- dynamicSwitchRA-Type0-1-PDSCH ENUMERATED {supported} OPTIONAL,
- dynamicSwitchRA-Type0-1-PUSCH ENUMERATED {supported} OPTIONAL,
- pdsch-MappingTypeA ENUMERATED {supported} OPTIONAL,
- pdsch-MappingTypeB ENUMERATED {supported} OPTIONAL,
- interleavingVRB-ToPRB-PDSCH ENUMERATED {supported} OPTIONAL,
- interSlotFreqHopping-PUSCH ENUMERATED {supported} OPTIONAL,
- type1-PUSCH-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL,
- type2-PUSCH-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL,
- pusch-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL,
- pdsch-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL,
- downlinkSPS ENUMERATED {supported} OPTIONAL,
- configuredUL-GrantType1 ENUMERATED {supported} OPTIONAL,
- configuredUL-GrantType2 ENUMERATED {supported} OPTIONAL,
- pre-EmptIndication-DL ENUMERATED {supported} OPTIONAL,
- cbg-TransIndication-DL ENUMERATED {supported} OPTIONAL,
- cbg-TransIndication-UL ENUMERATED {supported} OPTIONAL,
- cbg-FlushIndication-DL ENUMERATED {supported} OPTIONAL,
- dynamicHARQ-ACK-CodeB-CBG-Retx-DL ENUMERATED {supported} OPTIONAL,
- rateMatchingResrcSetSemi-Static ENUMERATED {supported} OPTIONAL,
- rateMatchingResrcSetDynamic ENUMERATED {supported} OPTIONAL,
- bwp-SwitchingDelay ENUMERATED {type1, type2} OPTIONAL,
- ...
-}
-
-Phy-ParametersXDD-Diff ::= SEQUENCE {
- dynamicSFI ENUMERATED {supported} OPTIONAL,
- twoPUCCH-F0-2-ConsecSymbols ENUMERATED {supported} OPTIONAL,
- twoDifferentTPC-Loop-PUSCH ENUMERATED {supported} OPTIONAL,
- twoDifferentTPC-Loop-PUCCH ENUMERATED {supported} OPTIONAL,
- ...
-}
-
-Phy-ParametersFRX-Diff ::= SEQUENCE {
- dynamicSFI ENUMERATED {supported} OPTIONAL,
- oneFL-DMRS-TwoAdditionalDMRS BIT STRING (SIZE (2)) OPTIONAL,
- twoFL-DMRS BIT STRING (SIZE (2)) OPTIONAL,
- twoFL-DMRS-TwoAdditionalDMRS BIT STRING (SIZE (2)) OPTIONAL,
- oneFL-DMRS-ThreeAdditionalDMRS BIT STRING (SIZE (2)) OPTIONAL,
- supportedDMRS-TypeDL ENUMERATED {type1, type2} OPTIONAL,
- supportedDMRS-TypeUL ENUMERATED {type1, type2} OPTIONAL,
- semiOpenLoopCSI ENUMERATED {supported} OPTIONAL,
- csi-ReportWithoutPMI ENUMERATED {supported} OPTIONAL,
- csi-ReportWithoutCQI ENUMERATED {supported} OPTIONAL,
- onePortsPTRS BIT STRING (SIZE (2)) OPTIONAL,
- twoPUCCH-F0-2-ConsecSymbols ENUMERATED {supported} OPTIONAL,
- pucch-F2-WithFH ENUMERATED {supported} OPTIONAL,
- pucch-F3-WithFH ENUMERATED {supported} OPTIONAL,
- pucch-F4-WithFH ENUMERATED {supported} OPTIONAL,
- freqHoppingPUCCH-F0-2 ENUMERATED {notSupported} OPTIONAL,
- freqHoppingPUCCH-F1-3-4 ENUMERATED {notSupported} OPTIONAL,
- mux-SR-HARQ-ACK-CSI-PUCCH ENUMERATED {supported} OPTIONAL,
- uci-CodeBlockSegmentation ENUMERATED {supported} OPTIONAL,
- onePUCCH-LongAndShortFormat ENUMERATED {supported} OPTIONAL,
- twoPUCCH-AnyOthersInSlot ENUMERATED {supported} OPTIONAL,
- intraSlotFreqHopping-PUSCH ENUMERATED {supported} OPTIONAL,
- pusch-LBRM ENUMERATED {supported} OPTIONAL,
- pdcch-BlindDetectionCA ENUMERATED {supported} OPTIONAL,
- tpc-PUSCH-RNTI ENUMERATED {supported} OPTIONAL,
- tpc-PUCCH-RNTI ENUMERATED {supported} OPTIONAL,
- tpc-SRS-RNTI ENUMERATED {supported} OPTIONAL,
- absoluteTPC-Command ENUMERATED {supported} OPTIONAL,
- twoDifferentTPC-Loop-PUSCH ENUMERATED {supported} OPTIONAL,
- twoDifferentTPC-Loop-PUCCH ENUMERATED {supported} OPTIONAL,
- pusch-HalfPi-BPSK ENUMERATED {supported} OPTIONAL,
- pucch-F3-4-HalfPi-BPSK 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 {
- pdcchMonitoringSingleOccasion ENUMERATED {supported} OPTIONAL,
- scs-60kHz ENUMERATED {supported} OPTIONAL,
- pdsch-256QAM-FR1 ENUMERATED {supported} OPTIONAL,
- pdsch-RE-MappingFR1 ENUMERATED {n10, n20} OPTIONAL,
- ...
-}
-
-Phy-ParametersFR2 ::= SEQUENCE {
- calibrationGapPA ENUMERATED {supported} OPTIONAL,
- pdsch-RE-MappingFR2 ENUMERATED {n6, n20} OPTIONAL,
- ...
-}
+EUTRA-AllowedMeasBandwidth ::= ENUMERATED {mbw6, mbw15, mbw25, mbw50, mbw75, mbw100}
--- TAG-PHY-PARAMETERS-STOP
--- TAG-RF-PARAMETERS-START
+-- TAG-EUTRA-ALLOWED-MEAS-BANDWIDTH-STOP
+-- TAG-EUTRA-MBSFN-SUBFRAMECONFIGLIST-START
-RF-Parameters ::= SEQUENCE {
- supportedBandListNR SEQUENCE (SIZE (1..maxBands)) OF BandNR,
- supportedBandCombinationList BandCombinationList OPTIONAL,
- appliedFreqBandListFilter FreqBandList OPTIONAL
-}
-
-BandNR ::= SEQUENCE {
- bandNR FreqBandIndicatorNR,
- modifiedMPR-Behaviour BIT STRING (SIZE (8)) OPTIONAL,
- mimo-ParametersPerBand MIMO-ParametersPerBand OPTIONAL,
- extendedCP ENUMERATED {supported} OPTIONAL,
- multipleTCI ENUMERATED {supported} OPTIONAL,
- bwp-WithoutRestriction ENUMERATED {supported} OPTIONAL,
- bwp-SameNumerology ENUMERATED {upto2, upto4} OPTIONAL,
- bwp-DiffNumerology ENUMERATED {upto4} OPTIONAL,
- crossCarrierSchedulingDL-SameSCS ENUMERATED {supported} OPTIONAL,
- crossCarrierSchedulingUL-SameSCS ENUMERATED {supported} OPTIONAL,
- pdsch-256QAM-FR2 ENUMERATED {supported} OPTIONAL,
- pusch-256QAM ENUMERATED {supported} OPTIONAL,
- ue-PowerClass ENUMERATED {pc2, pc3} OPTIONAL,
- rateMatchingLTE-CRS ENUMERATED {supported} OPTIONAL,
- ...
+EUTRA-MBSFN-SubframeConfigList ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF EUTRA-MBSFN-SubframeConfig
+
+EUTRA-MBSFN-SubframeConfig ::= SEQUENCE {
+ radioframeAllocationPeriod ENUMERATED {n1, n2, n4, n8, n16, n32},
+ radioframeAllocationOffset INTEGER (0..7),
+ subframeAllocation1 CHOICE {
+ oneFrame BIT STRING (SIZE(6)),
+ fourFrames BIT STRING (SIZE(24))
+ },
+ subframeAllocation2 CHOICE {
+ oneFrame BIT STRING (SIZE(2)),
+ fourFrames BIT STRING (SIZE(8))
+ } OPTIONAL, -- Need R
+ ...
}
--- TAG-RF-PARAMETERS-STOP
--- TAG-MIMO-PARAMETERSPERBAND-START
+-- TAG-EUTRA-MBSFN-SUBFRAMECONFIGLIST-STOP
+-- TAG-EUTRA-MULTI-BAND-INFO-LIST-START
+
+EUTRA-MultiBandInfoList ::= SEQUENCE (SIZE (1..maxMultiBands)) OF EUTRA-MultiBandInfo
-MIMO-ParametersPerBand ::= SEQUENCE {
- tci-StatePDSCH SEQUENCE {
- maxNumberConfiguredTCIstatesPerCC ENUMERATED {n4, n8, n16, n32, n64} OPTIONAL,
- maxNumberActiveTCI-PerBWP ENUMERATED {n1, n2, n4, n8} OPTIONAL
- } OPTIONAL,
- additionalActiveTCI-StatePDCCH ENUMERATED {supported} OPTIONAL,
- pusch-TransCoherence ENUMERATED {nonCoherent, partialNonCoherent, fullCoherent} OPTIONAL,
- beamCorrespondence ENUMERATED {supported} OPTIONAL,
- periodicBeamReport ENUMERATED {supported} OPTIONAL,
- aperiodicBeamReport ENUMERATED {supported} OPTIONAL,
- sp-BeamReportPUCCH ENUMERATED {supported} OPTIONAL,
- sp-BeamReportPUSCH ENUMERATED {supported} OPTIONAL,
- beamManagementSSB-CSI-RS BeamManagementSSB-CSI-RS OPTIONAL,
- maxNumberRxBeam INTEGER (2..8) OPTIONAL,
- maxNumberRxTxBeamSwitchDL SEQUENCE {
- scs-15kHz ENUMERATED {n4, n7, n14} OPTIONAL,
- scs-30kHz ENUMERATED {n4, n7, n14} OPTIONAL,
- scs-60kHz ENUMERATED {n4, n7, n14} OPTIONAL,
- scs-120kHz ENUMERATED {n4, n7, n14} OPTIONAL,
- scs-240kHz ENUMERATED {n4, n7, n14} OPTIONAL
- } OPTIONAL,
- maxNumberNonGroupBeamReporting ENUMERATED {n1, n2, n4} OPTIONAL,
- groupBeamReporting ENUMERATED {supported} OPTIONAL,
- uplinkBeamManagement SEQUENCE {
- maxNumberSRS-ResourcePerSet ENUMERATED {n2, n4, n8, n16, n32},
- maxNumberSRS-ResourceSet INTEGER (1..8)
- } OPTIONAL,
- maxNumberCSI-RS-BFR INTEGER (1..64) OPTIONAL,
- maxNumberSSB-BFR INTEGER (1..64) OPTIONAL,
- maxNumberCSI-RS-SSB-BFR INTEGER (1..256) OPTIONAL,
- twoPortsPTRS-DL ENUMERATED {supported} OPTIONAL,
- twoPortsPTRS-UL ENUMERATED {supported} OPTIONAL,
- supportedSRS-Resources SRS-Resources OPTIONAL,
- srs-TxSwitch SRS-TxSwitch OPTIONAL,
- maxNumberSimultaneousSRS-PerCC INTEGER (1..4) 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,
- ...
-}
-
-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}
-}
-
-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 {n1, n2, n4, n8, n16},
- maxNumberSP-SRS-PerBWP-PerSlot INTEGER (1..6),
- maxNumberSRS-Ports-PerResource ENUMERATED {n1, n2, n4}
-}
-
-SRS-TxSwitch ::= SEQUENCE {
- supportedSRS-TxPortSwitch ENUMERATED {t1r2, t1r4, t2r4, t1r4-t2r4, tr-equal},
- txSwitchImpactToRx ENUMERATED {true} OPTIONAL
+EUTRA-MultiBandInfo ::= SEQUENCE {
+ eutra-FreqBandIndicator FreqBandIndicatorEUTRA,
+ eutra-NS-PmaxList EUTRA-NS-PmaxList OPTIONAL -- Need R
}
--- TAG-PDCP-PARAMETERS-START
+-- TAG-EUTRA-MULTI-BAND-INFO-LIST-STOP
+-- TAG-EUTRA-NS-PMAX-LIST-START
+
+EUTRA-NS-PmaxList ::= SEQUENCE (SIZE (1..maxEUTRA-NS-Pmax)) OF EUTRA-NS-PmaxValue
-PDCP-Parameters ::= SEQUENCE {
- supportedROHC-Profiles SEQUENCE {
- profile0x0000 BOOLEAN,
- profile0x0001 BOOLEAN,
- profile0x0002 BOOLEAN,
- profile0x0003 BOOLEAN,
- profile0x0004 BOOLEAN,
- profile0x0006 BOOLEAN,
- profile0x0101 BOOLEAN,
- profile0x0102 BOOLEAN,
- profile0x0103 BOOLEAN,
- profile0x0104 BOOLEAN
- },
- 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,
- outOfOrderDelivery ENUMERATED {supported} OPTIONAL,
- shortSN ENUMERATED {supported} OPTIONAL,
- ...
+EUTRA-NS-PmaxValue ::= SEQUENCE {
+ additionalPmax INTEGER (-30..33) OPTIONAL, -- Need R
+ additionalSpectrumEmission INTEGER (1..288) OPTIONAL -- Need R
}
--- TAG-PDCP-PARAMETERS-STOP
--- TAG-RLC-PARAMETERS-START
+-- TAG-EUTRA-NS-PMAX-LIST-STOP
+-- TAG-EUTRA-PHYS-CELL-ID-START
-RLC-Parameters ::= SEQUENCE {
- am-WithShortSN ENUMERATED {supported} OPTIONAL,
- um-WithShortSN ENUMERATED {supported} OPTIONAL,
- um-WIthLongSN ENUMERATED {supported} OPTIONAL,
- ...
-}
+EUTRA-PhysCellId ::= INTEGER (0..503)
--- TAG-RLC-PARAMETERS-STOP
--- TAG-MAC-PARAMETERS-START
+-- TAG-EUTRA-PHYS-CELL-ID-STOP
+-- TAG-EUTRA-PHYS-CELL-ID-RANGE-START
-MAC-Parameters ::= SEQUENCE {
- mac-ParametersCommon MAC-ParametersCommon OPTIONAL,
- mac-ParametersXDD-Diff MAC-ParametersXDD-Diff OPTIONAL
+EUTRA-PhysCellIdRange ::= SEQUENCE {
+ start EUTRA-PhysCellId,
+ range ENUMERATED {n4, n8, n12, n16, n24, n32, n48, n64, n84, n96,
+ n128, n168, n252, n504, spare2, spare1} OPTIONAL -- Need N
}
-MAC-ParametersCommon ::= SEQUENCE {
- lcp-Restriction ENUMERATED {supported} OPTIONAL,
- pucch-SpatialRelInfoMAC-CE ENUMERATED {supported} OPTIONAL,
- ...
-}
+-- TAG-EUTRA-PHYS-CELL-ID-RANGE-STOP
+-- TAG-EUTRA-PRESENCE-ANTENNA-PORT1-START
-MAC-ParametersXDD-Diff ::= SEQUENCE {
- skipUplinkTxDynamic ENUMERATED {supported} OPTIONAL,
- logicalChannelSR-DelayTimer ENUMERATED {supported} OPTIONAL,
- longDRX-Cycle ENUMERATED {supported} OPTIONAL,
- shortDRX-Cycle ENUMERATED {supported} OPTIONAL,
- multipleSR-Configurations ENUMERATED {supported} OPTIONAL,
- multipleConfiguredGrants ENUMERATED {supported} OPTIONAL,
- ...
-}
+EUTRA-PresenceAntennaPort1 ::= BOOLEAN
--- TAG-MAC-PARAMETERS-STOP
--- TAG-MEASPARAMETERS-START
+-- TAG-EUTRA-PRESENCE-ANTENNA-PORT1-STOP
-MeasParameters ::= SEQUENCE {
- measParametersCommon MeasParametersCommon OPTIONAL,
- measParametersXDD-Diff MeasParametersXDD-Diff OPTIONAL,
- measParametersFRX-Diff MeasParametersFRX-Diff OPTIONAL
-}
+EUTRA-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,
+ dB6, dB8, dB10, dB12, dB14, dB16, dB18,
+ dB20, dB22, dB24}
+
+-- TAG-MULTIFREQUENCYBANDLISTNR-SIB-START
-MeasParametersCommon ::= SEQUENCE {
- supportedGapPattern BIT STRING (SIZE (22)) OPTIONAL,
- ...
+MultiFrequencyBandListNR-SIB ::= SEQUENCE (SIZE (1.. maxNrofMultiBands)) OF NR-MultiBandInfo
+
+NR-MultiBandInfo ::= SEQUENCE {
+ freqBandIndicatorNR FreqBandIndicatorNR OPTIONAL, -- Cond OptULNotSIB2
+ nr-NS-PmaxList NR-NS-PmaxList OPTIONAL -- Need S
}
-MeasParametersXDD-Diff ::= SEQUENCE {
- intraAndInterF-MeasAndReport ENUMERATED {supported} OPTIONAL,
- eventA-MeasAndReport ENUMERATED {supported} OPTIONAL,
- ...
+-- TAG-MULTIFREQUENCYBANDLISTNR-SIB-STOP
+-- TAG-NR-NS-PMAXLIST-START
+
+NR-NS-PmaxList ::= SEQUENCE (SIZE (1..maxNR-NS-Pmax)) OF NR-NS-PmaxValue
+
+NR-NS-PmaxValue ::= SEQUENCE {
+ additionalPmax P-Max OPTIONAL, -- Need N
+ additionalSpectrumEmission AdditionalSpectrumEmission
}
-MeasParametersFRX-Diff ::= SEQUENCE {
- ss-SINR-Meas ENUMERATED {supported} OPTIONAL,
- csi-RSRP-AndRSRQ-MeasWithSSB ENUMERATED {supported} OPTIONAL,
- csi-RSRP-AndRSRQ-MeasWithoutSSB ENUMERATED {supported} OPTIONAL,
- csi-SINR-Meas ENUMERATED {supported} OPTIONAL,
- csi-RS-RLM ENUMERATED {supported} OPTIONAL,
- ...
+-- TAG-NR-NS-PMAXLIST-STOP
+-- TAG-OTHERCONFIG-START
+
+OtherConfig ::= SEQUENCE {
+ delayBudgetReportingConfig CHOICE{
+ release NULL,
+ setup SEQUENCE{
+ delayBudgetReportingProhibitTimer ENUMERATED {s0, s0dot4, s0dot8, s1dot6, s3, s6, s12, s30}
+ }
+ } OPTIONAL -- Need N
}
--- TAG-UE-NR-CAPABILITY-STOP
+-- TAG-OTHERCONFIG-STOP
-- TAG-RRC-TRANSACTIONIDENTIFIER-START
-RRC-TransactionIdentifier ::= INTEGER (0..3)
+RRC-TransactionIdentifier ::= INTEGER (0..3)
-- TAG-RRC-TRANSACTIONIDENTIFIER-STOP
-- TAG-MULTIPLICITY-AND-TYPE-CONSTRAINT-DEFINITIONS-START
-maxBandComb INTEGER ::= 65536 -- Maximum number of DL band 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
-maxNrofSCells INTEGER ::= 31 -- Max number of secondary serving cells per cell group
-maxNrofCellMeas INTEGER ::= 32 -- Maximum number of entries in each of the cell lists in a measurement object
-maxNrofSS-BlocksToAverage INTEGER ::= 16 -- Max number for the (max) number of SS blocks to average to determine cell
- -- measurement
-maxNrofCSI-RS-ResourcesToAverage INTEGER ::= 16 -- Max number for the (max) number of CSI-RS to average to determine cell
- -- measurement
-maxNrofDL-Allocations INTEGER ::= 16 -- Maximum number of PDSCH time domain resource allocations
-
-maxNrofSR-ConfigPerCellGroup INTEGER ::= 8 -- Maximum number of SR configurations per cell group
-
-maxLCG-ID INTEGER ::= 7 -- Maximum value of LCG ID
-maxLC-ID INTEGER ::= 32 -- Maximum value of Logical Channel ID
-maxNrofTAGs INTEGER ::= 4 -- Maximum number of Timing Advance Groups
-maxNrofTAGs-1 INTEGER ::= 3 -- Maximum number of Timing Advance Groups minus 1
-
-maxNrofBWPs INTEGER ::= 4 -- Maximum number of BWPs per serving cell
-maxNrofSymbols-1 INTEGER ::= 13 -- Maximum index identifying a symbol within a slot (14 symbols, indexed from 0..13)
-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 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
-maxNrofSearchSpaces INTEGER ::= 40 -- Max number of Search Spaces
-maxNrofSearchSpaces-1 INTEGER ::= 39 -- Max number of Search Spaces minus 1
-maxSFI-DCI-PayloadSize INTEGER ::= 128 -- Max number payload of a DCI scrambled with SFI-RNTI
-maxSFI-DCI-PayloadSize-1 INTEGER ::= 127 -- Max number payload of a DCI scrambled with SFI-RNTI minus 1
-maxINT-DCI-PayloadSize INTEGER ::= 126 -- Max number payload of a DCI scrambled with INT-RNTI
-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
-
-maxNrofCSI-ResourceConfigurations INTEGER ::= 112 -- Maximum number of resource configurations
-maxNrofCSI-ResourceConfigurations-1 INTEGER ::= 111 -- Maximum number of resource configurations minus 1
-
-maxNrofAP-CSI-RS-ResourcesPerSet INTEGER ::= 16
-maxNrOfCSI-AperiodicTriggers INTEGER ::= 128 -- Maximum number of triggers for aperiodic CSI reporting
-maxNrofReportConfigPerAperiodicTrigger INTEGER ::= 16 -- Maximum number of report configurations per trigger state for aperiodic reporting
-
-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 ::= 15
-maxNrofZP-CSI-RS-ResourcesPerSet 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
-
-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
-maxNrofQuantityConfig INTEGER ::= 2 -- Maximum number of quantity configurations
-maxNrofCSI-RS-CellsRRM INTEGER ::= 96 -- Maximum number of FFS
-
-maxNrofSRS-ResourceSets INTEGER ::= 16 -- Maximum number of SRS resource sets in a BWP.
-maxNrofSRS-ResourceSets-1 INTEGER ::= 15 -- Maximum number of SRS resource sets in a BWP minus 1.
-maxNrofSRS-Resources INTEGER ::= 64 -- Maximum number of SRS resources in an SRS resource set.
-maxNrofSRS-Resources-1 INTEGER ::= 63 -- Maximum number of SRS resources in an SRS resource set minus 1.
-maxNrofSRS-TriggerStates-1 INTEGER ::= 3 -- Maximum number of SRS trigger states minus 1, i.e., the largest code point.
-maxRAT-CapabilityContainers INTEGER ::= 8 -- Maximum number of interworking RAT containers (incl NR and MRDC)
-maxSimultaneousBands INTEGER ::= 32 -- Maximum number of simultaneously aggregated bands
-
-
-maxNrofSlotFormatCombinationsPerCell INTEGER ::= 16 -- Maximum number of
-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
-maxNrofPUCCH-ResourceSets-1 INTEGER ::= 3 -- Maximum number of PUCCH Resource Sets minus 1.
-maxNrofPUCCH-ResourcesPerSet INTEGER ::= 32 -- Maximum number of PUCCH Resources per PUCCH-ResourceSet
-maxNrofPUCCH-ResourcesPerSet-1 INTEGER ::= 31 -- Maximum number of PUCCH Resources per PUCCH-ResourceSet minus 1.
-maxNrofPUCCH-P0-PerSet INTEGER ::= 8 -- Maximum number of P0-pucch present in a p0-pucch set
-maxNrofPUCCH-PathlossReferenceRSs INTEGER ::= 4 -- Maximum number of RSs used as pathloss reference for PUCCH power control.
-maxNrofPUCCH-PathlossReferenceRSs-1 INTEGER ::= 3 -- Maximum number of RSs used as pathloss reference for PUCCH power control minus 1.
-
-maxNrofP0-PUSCH-AlphaSets INTEGER ::= 30 -- Maximum number of P0-pusch-alpha-sets (see 38,213, section 7.1)
-maxNrofP0-PUSCH-AlphaSets-1 INTEGER ::= 29 -- Maximum number of P0-pusch-alpha-sets minus 1 (see 38,213, section 7.1)
-maxNrofPUSCH-PathlossReferenceRSs INTEGER ::= 4 -- Maximum number of RSs used as pathloss reference for PUSCH power control.
-maxNrofPUSCH-PathlossReferenceRSs-1 INTEGER ::= 3 -- Maximum number of RSs used as pathloss reference for PUSCH power control minus 1.
-
-maxBands INTEGER ::= 1024 -- Maximum number of supported bands in UE capability.
-maxBandsMRDC INTEGER ::= 1280
-maxBandsEUTRA INTEGER ::= 256
-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.
-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
-maxNrofSRS-ResourcesPerSet INTEGER ::= 16
-maxNrofIndexesToReport INTEGER ::= 32
-maxNrofSSBs INTEGER ::= 64 -- Maximum number of SSB resources in a resource set.
-maxNrofSSBs-1 INTEGER ::= 63 -- Maximum number of SSB resources in a resource set minus 1.
-
-maxNrofTCI-StatesPDCCH INTEGER ::= 64
-maxNrofTCI-States INTEGER ::= 64 -- Maximum number of TCI states.
-maxNrofTCI-States-1 INTEGER ::= 63 -- Maximum number of TCI states minus 1.
-maxNrofUL-Allocations INTEGER ::= 16 -- Maximum number of PUSCH time domain resource allocations.
-maxQFI INTEGER ::= 63
-maxRA-CSIRS-Resources INTEGER ::= 96
-maxRA-OccasionsPerCSIRS INTEGER ::= 64 -- Maximum number of RA occasions for one CSI-RS
-maxRA-Occasions-1 INTEGER ::= 511 -- Maximum number of RA occasions in the system
-maxRA-SSB-Resources INTEGER ::= 64
-maxSCSs INTEGER ::= 5
-maxSecondaryCellGroups INTEGER ::= 3
-maxNrofServingCellsEUTRA INTEGER ::= 32
-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
-
-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}
+maxBandComb INTEGER ::= 65536 -- Maximum number of DL band combinations
+maxCellBlack INTEGER ::= 16 -- Maximum number of NR blacklisted cell ranges in SIB3, SIB4
+maxCellInter INTEGER ::= 16 -- Maximum number of inter-Freq cells listed in SIB4
+maxCellIntra INTEGER ::= 16 -- Maximum number of intra-Freq cells listed in SIB3
+maxCellMeasEUTRA INTEGER ::= 32 -- Maximum number of cells in EUTRAN
+maxEARFCN INTEGER ::= 262143 -- Maximum value of EUTRA carrier frequency
+maxEUTRA-CellBlack INTEGER ::= 16 -- Maximum number of EUTRA-blacklisted physical cell identity ranges in SIB5
+maxEUTRA-NS-Pmax INTEGER ::= 8 -- Maximum number of NS and P-Max values per band
+maxMultiBands INTEGER ::= 8 -- Maximum number of additional frequency bands that a cell belongs to
+maxNARFCN INTEGER ::= 3279165 -- Maximum value of NR carrier frequency
+maxNR-NS-Pmax INTEGER ::= 8 -- Maximum number of NS and P-Max values per band
+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
+maxNrofSCells INTEGER ::= 31 -- Max number of secondary serving cells per cell group
+maxNrofCellMeas INTEGER ::= 32 -- Maximum number of entries in each of the cell lists in a measurement object
+maxNrofSS-BlocksToAverage INTEGER ::= 16 -- Max number for the (max) number of SS blocks to average to determine cell
+ -- measurement
+maxNrofCSI-RS-ResourcesToAverage INTEGER ::= 16 -- Max number for the (max) number of CSI-RS to average to determine cell
+ -- measurement
+maxNrofDL-Allocations INTEGER ::= 16 -- Maximum number of PDSCH time domain resource allocations
+
+maxNrofSR-ConfigPerCellGroup INTEGER ::= 8 -- Maximum number of SR configurations per cell group
+
+maxLCG-ID INTEGER ::= 7 -- Maximum value of LCG ID
+maxLC-ID INTEGER ::= 32 -- Maximum value of Logical Channel ID
+maxNrofTAGs INTEGER ::= 4 -- Maximum number of Timing Advance Groups
+maxNrofTAGs-1 INTEGER ::= 3 -- Maximum number of Timing Advance Groups minus 1
+
+maxNrofBWPs INTEGER ::= 4 -- Maximum number of BWPs per serving cell
+maxNrofCombIDC INTEGER ::= 128 -- Maximum number of reported MR-DC combinations for IDC
+maxNrofSymbols-1 INTEGER ::= 13 -- Maximum index identifying a symbol within a slot (14 symbols, indexed from 0..13)
+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 minus 1
+maxNrofPhysicalResourceBlocksPlus1 INTEGER ::= 276 -- Maximum number of PRBs plus 1
+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
+maxNrofSearchSpaces-1 INTEGER ::= 39 -- Max number of Search Spaces minus 1
+maxSFI-DCI-PayloadSize INTEGER ::= 128 -- Max number payload of a DCI scrambled with SFI-RNTI
+maxSFI-DCI-PayloadSize-1 INTEGER ::= 127 -- Max number payload of a DCI scrambled with SFI-RNTI minus 1
+maxINT-DCI-PayloadSize INTEGER ::= 126 -- Max number payload of a DCI scrambled with INT-RNTI
+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
+
+maxNrofCSI-ResourceConfigurations INTEGER ::= 112 -- Maximum number of resource configurations
+maxNrofCSI-ResourceConfigurations-1 INTEGER ::= 111 -- Maximum number of resource configurations minus 1
+
+maxNrofAP-CSI-RS-ResourcesPerSet INTEGER ::= 16
+maxNrOfCSI-AperiodicTriggers INTEGER ::= 128 -- Maximum number of triggers for aperiodic CSI reporting
+maxNrofReportConfigPerAperiodicTrigger INTEGER ::= 16 -- Maximum number of report configurations per trigger state for aperiodic reporting
+
+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 ::= 15
+maxNrofZP-CSI-RS-ResourcesPerSet 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
+
+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
+maxNrofPageRec INTEGER ::= 32 -- Maximum number of page records
+maxNrofPCI-Ranges INTEGER ::= 8 -- Maximum number of PCI ranges
+maxPLMN INTEGER ::= 12 -- Maximum number of PLMNs broadcast and reported by UE at establisghment
+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
+maxNrofQuantityConfig INTEGER ::= 2 -- Maximum number of quantity configurations
+maxNrofCSI-RS-CellsRRM INTEGER ::= 96 -- Maximum number of FFS
+
+maxNrofSRS-ResourceSets INTEGER ::= 16 -- Maximum number of SRS resource sets in a BWP.
+maxNrofSRS-ResourceSets-1 INTEGER ::= 15 -- Maximum number of SRS resource sets in a BWP minus 1.
+maxNrofSRS-Resources INTEGER ::= 64 -- Maximum number of SRS resources.
+maxNrofSRS-Resources-1 INTEGER ::= 63 -- Maximum number of SRS resources in an SRS resource set minus 1.
+maxNrofSRS-ResourcesPerSet INTEGER ::= 16 -- Maximum number of SRS resources in an SRS resource set
+maxNrofSRS-TriggerStates-1 INTEGER ::= 3 -- Maximum number of SRS trigger states minus 1, i.e., the largest code point.
+maxNrofSRS-TriggerStates-2 INTEGER ::= 2 -- Maximum number of SRS trigger states minus 2.
+maxRAT-CapabilityContainers INTEGER ::= 8 -- Maximum number of interworking RAT containers (incl NR and MRDC)
+maxSimultaneousBands INTEGER ::= 32 -- Maximum number of simultaneously aggregated bands
+
+
+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
+maxNrofPUCCH-ResourceSets-1 INTEGER ::= 3 -- Maximum number of PUCCH Resource Sets minus 1.
+maxNrofPUCCH-ResourcesPerSet INTEGER ::= 32 -- Maximum number of PUCCH Resources per PUCCH-Resour©ceSet
+maxNrofPUCCH-P0-PerSet INTEGER ::= 8 -- Maximum number of P0-pucch present in a p0-pucch set
+maxNrofPUCCH-PathlossReferenceRSs INTEGER ::= 4 -- Maximum number of RSs used as pathloss reference for PUCCH power control.
+maxNrofPUCCH-PathlossReferenceRSs-1 INTEGER ::= 3 -- Maximum number of RSs used as pathloss reference for PUCCH power control minus 1.
+
+maxNrofP0-PUSCH-AlphaSets INTEGER ::= 30 -- Maximum number of P0-pusch-alpha-sets (see 38,213, section 7.1)
+maxNrofP0-PUSCH-AlphaSets-1 INTEGER ::= 29 -- Maximum number of P0-pusch-alpha-sets minus 1 (see 38,213, section 7.1)
+maxNrofPUSCH-PathlossReferenceRSs INTEGER ::= 4 -- Maximum number of RSs used as pathloss reference for PUSCH power control.
+maxNrofPUSCH-PathlossReferenceRSs-1 INTEGER ::= 3 -- Maximum number of RSs used as pathloss reference for PUSCH power control minus 1.
+maxNrofNAICS-Entries INTEGER ::= 8 -- Maximum number of supported NAICS capability set
+maxBands INTEGER ::= 1024 -- Maximum number of supported bands in UE capability.
+maxBandsMRDC INTEGER ::= 1280
+maxBandsEUTRA INTEGER ::= 256
+maxCellReport INTEGER ::= 8
+maxDRB INTEGER ::= 29 -- Maximum number of DRBs (that can be added in DRB-ToAddModLIst).
+maxFreq INTEGER ::= 8 -- Max number of frequencies.
+maxFreqIDC-MRDC INTEGER ::= 32 -- Maximum number of candidate NR frequencies for MR-DC IDC indication
+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
+maxNrofIndexesToReport INTEGER ::= 32
+maxNrofIndexesToReport2 INTEGER ::= 64
+maxNrofSSBs INTEGER ::= 64 -- Maximum number of SSB resources in a resource set.
+maxNrofSSBs-1 INTEGER ::= 63 -- Maximum number of SSB resources in a resource set minus 1.
+maxNrofS-NSSAI INTEGER ::= 8 -- Maximum number of S-NSSAI.
+maxNrofTCI-StatesPDCCH INTEGER ::= 64
+maxNrofTCI-States INTEGER ::= 128 -- Maximum number of TCI states.
+maxNrofTCI-States-1 INTEGER ::= 127 -- Maximum number of TCI states minus 1.
+maxNrofUL-Allocations INTEGER ::= 16 -- Maximum number of PUSCH time domain resource allocations.
+maxQFI INTEGER ::= 63
+maxRA-CSIRS-Resources INTEGER ::= 96
+maxRA-OccasionsPerCSIRS INTEGER ::= 64 -- Maximum number of RA occasions for one CSI-RS
+maxRA-Occasions-1 INTEGER ::= 511 -- Maximum number of RA occasions in the system
+maxRA-SSB-Resources INTEGER ::= 64
+maxSCSs INTEGER ::= 5
+maxSecondaryCellGroups INTEGER ::= 3
+maxNrofServingCellsEUTRA INTEGER ::= 32
+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
+maxSIB INTEGER::= 32 -- Maximum number of SIBs
+maxSIB-1 INTEGER::= 31
+maxSI-Message INTEGER::= 32 -- Maximum number of SI messages
+
+maxAccessCat-1 INTEGER ::= 63 -- Maximum number of Acccess Categories minus 1
+maxBarringInfoSet INTEGER ::= 8 -- Maximum number of Acccess Categories
+maxCellEUTRA INTEGER ::= 8 -- Maximum number of EUTRA cells in SIB list
+maxEUTRA-Carrier INTEGER ::= 8 -- Maximum number of EUTRA carriers in SIB list
+maxPLMNIdentities INTEGER ::= 8 -- Maximum number of PLMN identites in RAN area configurations
+
+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)
+
+maxInterRAT-RSTD-Freq INTEGER ::= 3
+
-- TAG-MULTIPLICITY-AND-TYPE-CONSTRAINT-DEFINITIONS-STOP
diff --git a/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn b/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn
index 25151783f5..e20526cdb1 100644
--- a/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn
+++ b/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn
@@ -1,59 +1,87 @@
--- 3GPP TS 38.331 V15.2.0 (2018-06)
+-- 3GPP TS 38.331 V15.3.0 (2018-09)
NR-UE-Variables DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
- MeasId,
- MeasIdToAddModList,
- MeasObjectToAddModList,
- PhysCellId,
- ReportConfigToAddModList,
- RSRP-Range,
- QuantityConfig,
- maxNrofCellMeas,
- maxNrofMeasId
+ CellIdentity,
+ MeasId,
+ MeasIdToAddModList,
+ MeasObjectToAddModList,
+ PhysCellId,
+ RNTI-Value,
+ ReportConfigToAddModList,
+ RSRP-Range,
+ QuantityConfig,
+ maxNrofCellMeas,
+ maxNrofMeasId
FROM NR-RRC-Definitions;
+-- TAG-VAR-PENDING-RNA-UPDATE-START
+
+VarPendingRNA-Update ::= SEQUENCE {
+ pendingRNA-Update BOOLEAN OPTIONAL
+}
+
+-- TAG-VAR-PENDING-RNA-UPDATE-STOP
-- TAG-VAR-MEAS-CONFIG-START
-VarMeasConfig ::= SEQUENCE {
- -- Measurement identities
- measIdList MeasIdToAddModList OPTIONAL,
- -- Measurement objects
- measObjectList MeasObjectToAddModList OPTIONAL,
- -- Reporting configurations
- reportConfigList ReportConfigToAddModList OPTIONAL,
- -- Other parameters
- quantityConfig QuantityConfig OPTIONAL,
-
- s-MeasureConfig CHOICE {
- ssb-RSRP RSRP-Range,
- csi-RSRP RSRP-Range
- } OPTIONAL
+VarMeasConfig ::= SEQUENCE {
+ -- Measurement identities
+ measIdList MeasIdToAddModList OPTIONAL,
+ -- Measurement objects
+ measObjectList MeasObjectToAddModList OPTIONAL,
+ -- Reporting configurations
+ reportConfigList ReportConfigToAddModList OPTIONAL,
+ -- Other parameters
+ quantityConfig QuantityConfig OPTIONAL,
+
+ s-MeasureConfig CHOICE {
+ ssb-RSRP RSRP-Range,
+ csi-RSRP RSRP-Range
+ } OPTIONAL
}
-- TAG-VAR-MEAS-CONFIG-STOP
-- TAG-VAR-MEAS-REPORT-START
-VarMeasReportList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF VarMeasReport
+VarMeasReportList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF VarMeasReport
-VarMeasReport ::= SEQUENCE {
- -- List of measurement that have been triggered
- measId MeasId,
- cellsTriggeredList CellsTriggeredList OPTIONAL,
- numberOfReportsSent INTEGER
+VarMeasReport ::= SEQUENCE {
+ -- List of measurement that have been triggered
+ measId MeasId,
+ cellsTriggeredList CellsTriggeredList OPTIONAL,
+ numberOfReportsSent INTEGER
}
-CellsTriggeredList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CHOICE {
- physCellId PhysCellId,
--- Not needed for EN-DC.
- physCellIdEUTRA ENUMERATED {ffsTypeAndValue}
- }
+CellsTriggeredList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CHOICE {
+ physCellId PhysCellId,
+-- Not needed for EN-DC.
+ physCellIdEUTRA ENUMERATED {ffsTypeAndValue}
+ }
-- TAG-VAR-MEAS-REPORT-STOP
+-- TAG-VAR-RESUMEMACINPUT-START
+
+VarResumeMAC-Input ::= SEQUENCE {
+ sourcePhysCellId PhysCellId,
+ targetCellIdentity CellIdentity,
+ source-c-RNTI RNTI-Value
+
+}
+
+-- TAG-VAR-RESUMEMACINPUT-STOP
+-- TAG-VAR-SHORTMACINPUT-START
+
+VarShortMAC-Input ::= SEQUENCE {
+ sourcePhysCellId PhysCellId,
+ targetCellIdentity CellIdentity,
+ source-c-RNTI RNTI-Value
+}
+
+-- TAG-VAR- SHORTMACINPUT-STOP
END
diff --git a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf
index d96d3acb3a..2b143a726b 100644
--- a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf
+++ b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf
@@ -10,9 +10,11 @@ UNALIGNED
#.USE_VALS_EXT
CA-BandwidthClassNR
ConfiguredGrantConfig/periodicity
+CSI-ReportConfig/reportFreqConfiguration/csi-ReportingBand
CSI-RS-IM-ReceptionForFeedback/maxNumberPortsAcrossNZP-CSI-RS-PerCC
CSI-RS-IM-ReceptionForFeedback/maxNumberSimultaneousCSI-RS-ActBWP-AllCC
CSI-RS-IM-ReceptionForFeedback/totalNumberPortsSimultaneousCSI-RS-ActBWP-AllCC
+DelayBudgetReport/type1
DRX-Config/drx-onDurationTimer/milliSeconds
DRX-Config/drx-InactivityTimer
DRX-Config/drx-RetransmissionTimerDL
@@ -21,9 +23,12 @@ DRX-Config/drx-LongCycleStartOffset
DRX-Config/shortDRX/drx-ShortCycle
DRX-Info/drx-LongCycleStartOffset
DRX-Info/shortDRX/drx-ShortCycle
+EUTRA-Q-OffsetRange
PDCP-Config/t-Reordering
PollByte
PollPDU
+RangeToBestCell
+RRM-Config/ue-InactiveTime
Q-OffsetRange
ServingCellConfig/bwp-InactivityTimer
SPS-Config/periodicity
@@ -57,12 +62,14 @@ UE-NR-Capability_PDU
UL-DCCH-Message_PDU
#.PDU
-BCCH-BCH-Message @bcch.bch
+BCCH-BCH-Message @bcch.bch
+BCCH-DL-SCH-Message @bcch.dl.sch
CellGroupConfig
CG-Config
CG-ConfigInfo
ConfigRestrictInfoSCG
-DL-DCCH-Message @dl.dcch
+DL-CCCH-Message @dl.ccch
+DL-DCCH-Message @dl.dcch
FreqBandList
HandoverCommand
HandoverPreparationInformation
@@ -72,14 +79,20 @@ MeasResults
MeasurementTimingConfiguration
MIB
P-Max
+PCCH-Message @pcch
RadioBearerConfig
-RRCReconfiguration @rrc_reconf
+RRCReconfiguration @rrc_reconf
RRCReconfigurationComplete
SIB1
UE-CapabilityRAT-ContainerList
-UE-MRDC-Capability @ue_mrdc_cap
-UE-NR-Capability @ue_nr_cap
-UL-DCCH-Message @ul.dcch
+UE-CapabilityRequestFilterNR
+UE-MRDC-Capability @ue_mrdc_cap
+UE-NR-Capability @ue_nr_cap
+UL-CCCH-Message @ul.ccch
+UL-CCCH1-Message @ul.ccch1
+UL-DCCH-Message @ul.dcch
+UERadioAccessCapabilityInformation @ue_radio_access_cap_info
+UERadioPagingInformation @ue_radio_paging_info
#.END
#.OMIT_ASSIGNMENT
@@ -87,10 +100,14 @@ CellsTriggeredList
VarMeasConfig
VarMeasReportList
VarMeasReport
+VarPendingRNA-Update
+VarResumeMAC-Input
+VarShortMAC-Input
#.NO_EMIT ONLY_VALS
#.MAKE_ENUM
+MobilityFromNRCommand-IEs/targetRAT-Type TYPE_PREFIX
RAT-Type TYPE_PREFIX
#.FN_HDR BCCH-BCH-Message
@@ -102,7 +119,7 @@ RAT-Type TYPE_PREFIX
ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
tree = proto_item_add_subtree(ti, ett_nr_rrc);
-#.FN_HDR UL-DCCH-Message
+#.FN_HDR BCCH-DL-SCH-Message
proto_item *ti;
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
@@ -111,7 +128,16 @@ RAT-Type TYPE_PREFIX
ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
tree = proto_item_add_subtree(ti, ett_nr_rrc);
- actx->pinfo->link_dir = P2P_DIR_UL;
+#.FN_HDR DL-CCCH-Message
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ actx->pinfo->link_dir = P2P_DIR_DL;
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
#.FN_HDR DL-DCCH-Message
proto_item *ti;
@@ -124,45 +150,661 @@ RAT-Type TYPE_PREFIX
actx->pinfo->link_dir = P2P_DIR_DL;
+#.FN_HDR PCCH-Message
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+#.FN_HDR UL-CCCH-Message
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+ actx->pinfo->link_dir = P2P_DIR_UL;
+
+#.FN_HDR UL-CCCH1-Message
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+ actx->pinfo->link_dir = P2P_DIR_UL;
+
+#.FN_HDR UL-DCCH-Message
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+ actx->pinfo->link_dir = P2P_DIR_UL;
+
#.FN_HDR MIB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MIB");
+#.FN_HDR SystemInformation
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "System Information [");
+
+#.FN_FTR SystemInformation
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " ]");
+
+#.FN_HDR SIB2
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB2");
+
+#.FN_HDR SIB3
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB3");
+
+#.FN_HDR SIB4
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB4");
+
+#.FN_HDR SIB5
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB5");
+
+#.FN_HDR SIB6
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB6");
+
+#.FN_HDR SIB7
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB7");
+
+#.FN_HDR SIB8
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB8");
+
+#.FN_HDR SIB9
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB9");
+
+#.FN_HDR SIB1
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SIB1");
+
+#.FN_HDR RRCReject
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reject");
+
+#.FN_HDR RRCSetup
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup");
+
#.FN_HDR RRCReconfiguration
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration");
+#.FN_HDR RRCResume
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume");
+
+#.FN_HDR RRCRelease
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Release");
+
+#.FN_HDR RRCReestablishment
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment");
+
+#.FN_HDR SecurityModeCommand
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Command");
+
+#.FN_HDR DLInformationTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DL Information Transfer");
+
+#.FN_HDR UECapabilityEnquiry
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Enquiry");
+
+#.FN_HDR CounterCheck
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Counter Check");
+
+#.FN_HDR MobilityFromNRCommand
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Mobility From NR Command");
+
+#.FN_HDR Paging
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging");
+
+#.FN_HDR RRCSetupRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup Request");
+
+#.FN_HDR RRCResumeRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Request");
+
+#.FN_HDR RRCReestablishmentRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment Request");
+
+#.FN_HDR RRCSystemInfoRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC System Info Request");
+
+#.FN_HDR RRCResumeRequest1
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Request 1");
+
#.FN_HDR MeasurementReport
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Measurement Report");
#.FN_HDR RRCReconfigurationComplete
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Complete");
+#.FN_HDR RRCSetupComplete
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup Complete");
+
+#.FN_HDR RRCReestablishmentComplete
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment Complete");
+
+#.FN_HDR RRCResumeComplete
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Complete");
+
+#.FN_HDR SecurityModeComplete
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Complete");
+
+#.FN_HDR SecurityModeFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Failure");
+
+#.FN_HDR ULInformationTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UL Information Transfer");
+
+#.FN_HDR LocationMeasurementIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Location Measurement Indication");
+
+#.FN_HDR UECapabilityInformation
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Information");
+
+#.FN_HDR
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Counter Check Response");
+
+#.FN_HDR
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Assistance Information");
+
+#.FN_BODY DedicatedNAS-Message VAL_PTR = &nas_5gs_tvb
+ tvbuff_t *nas_5gs_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (nas_5gs_tvb && nas_5gs_handle) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_DedicatedNAS_Message);
+ nr_rrc_call_dissector(nas_5gs_handle, nas_5gs_tvb, actx->pinfo, subtree);
+ }
+
+#.FN_BODY MobilityFromNRCommand-IEs/targetRAT-Type VAL_PTR = &target_rat_type
+ guint32 target_rat_type;
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+%(DEFAULT_BODY)s
+ nr_priv->target_rat_type = (guint8)target_rat_type;
+
+#.FN_BODY MobilityFromNRCommand-IEs/targetRAT-MessageContainer VAL_PTR = &target_rat_msg_cont_tvb
+ tvbuff_t *target_rat_msg_cont_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (target_rat_msg_cont_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_rr_rrc_targetRAT_MessageContainer);
+ switch (nr_priv->target_rat_type) {
+ case T_targetRAT_Type_eutra:
+ /* eutra */
+ if (lte_rrc_conn_reconf_handle)
+ nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree);
+ break;
+ default:
+ break;
+ }
+ }
+
+#.FN_BODY MasterKeyUpdate/nas-Container VAL_PTR = &nas_5gs_tvb
+ tvbuff_t *nas_5gs_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (nas_5gs_tvb && nas_5gs_handle) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_nas_Container);
+ nr_rrc_call_dissector(nas_5gs_handle, nas_5gs_tvb, actx->pinfo, subtree);
+ }
+
+#.TYPE_ATTR
+RejectWaitTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+SIB1/cellSelectionInfo/q-RxLevMinOffset DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
+
+#.TYPE_ATTR
+SIB1/cellSelectionInfo/q-QualMinOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+IntraFreqNeighCellInfo/q-RxLevMinOffsetCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
+
+#.TYPE_ATTR
+IntraFreqNeighCellInfo/q-RxLevMinOffsetCellSUL DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
+
+#.TYPE_ATTR
+IntraFreqNeighCellInfo/q-QualMinOffsetCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+InterFreqNeighCellInfo/q-RxLevMinOffsetCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
+
+#.TYPE_ATTR
+InterFreqNeighCellInfo/q-RxLevMinOffsetCellSUL DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
+
+#.TYPE_ATTR
+InterFreqNeighCellInfo/q-QualMinOffsetCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+CarrierFreqEUTRA/q-RxLevMin DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
+
+#.TYPE_ATTR
+CarrierFreqEUTRA/q-QualMin DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+CarrierFreqEUTRA/p-MaxEUTRA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+EUTRA-FreqNeighCellInfo/q-RxLevMinOffsetCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
+
+#.TYPE_ATTR
+EUTRA-FreqNeighCellInfo/q-QualMinOffsetCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+SIB6/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_messageIdentifier_vals_ext
+
+#.FN_BODY SIB6/messageIdentifier VAL_PTR=&msg_id_tvb HF_INDEX=-1
+ tvbuff_t *msg_id_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB6/messageIdentifier
+ if (msg_id_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SIB6/serialNumber VAL_PTR=&serial_nb_tvb
+ tvbuff_t *serial_nb_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB6/serialNumber
+ if (serial_nb_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SIB6/warningType VAL_PTR=&warning_type_tvb
+ tvbuff_t *warning_type_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB6/warningType
+ if (warning_type_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningType);
+ proto_tree_add_item(subtree, hf_nr_rrc_warningType_value, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_warningType_emergency_user_alert, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_warningType_popup, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+SIB7/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_messageIdentifier_vals_ext
+
+#.FN_BODY SIB7/messageIdentifier VAL_PTR=&msg_id_tvb HF_INDEX=-1
+ tvbuff_t *msg_id_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB7/messageIdentifier
+ if (msg_id_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ nr_priv->message_identifier = tvb_get_ntohs(msg_id_tvb, 0) << 16;
+ actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SIB7/serialNumber VAL_PTR=&serial_nb_tvb
+ tvbuff_t *serial_nb_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB7/serialNumber
+ if (serial_nb_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ nr_priv->message_identifier |= tvb_get_ntohs(serial_nb_tvb, 0);
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SIB7/warningMessageSegmentType VAL_PTR=&segment_type
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ guint32 segment_type;
+%(DEFAULT_BODY)s
+ nr_priv->warning_message_segment_type = (guint8)segment_type;
+
+#.FN_BODY SIB7/warningMessageSegmentNumber VAL_PTR=&segment_number
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ guint32 segment_number;
+%(DEFAULT_BODY)s
+ nr_priv->warning_message_segment_number = (guint8)segment_number;
+
+#.FN_BODY SIB7/dataCodingScheme VAL_PTR=&data_coding_scheme_tvb
+ tvbuff_t *data_coding_scheme_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB7/dataCodingScheme
+ if (data_coding_scheme_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ guint32 dataCodingScheme;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dataCodingScheme);
+ dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0);
+ wmem_map_insert(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier),
+ GUINT_TO_POINTER(dataCodingScheme));
+ }
+
+#.FN_BODY SIB7/warningMessageSegment VAL_PTR=&warning_msg_seg_tvb
+ tvbuff_t *warning_msg_seg_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB7/warningMessageSegment
+ if (warning_msg_seg_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ tvbuff_t *frag_tvb;
+ gpointer p_dcs;
+ fragment_head *frag_data = fragment_add_seq_check(&nr_rrc_sib7_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo,
+ nr_priv->message_identifier, NULL,
+ nr_priv->warning_message_segment_number,
+ tvb_reported_length(warning_msg_seg_tvb),
+ nr_priv->warning_message_segment_type ? FALSE : TRUE);
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningMessageSegment);
+ frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB7 warning message",
+ frag_data, &nr_rrc_sib7_frag_items, NULL, subtree);
+ p_dcs = wmem_map_lookup(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier));
+ if (frag_tvb && p_dcs) {
+ dissect_nr_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs));
+ }
+ }
+
+#.TYPE_ATTR
+SIB8/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_messageIdentifier_vals_ext
+
+#.FN_BODY SIB8/messageIdentifier VAL_PTR=&msg_id_tvb HF_INDEX=-1
+ tvbuff_t *msg_id_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB8/messageIdentifier
+ if (msg_id_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ nr_priv->message_identifier = tvb_get_ntohs(msg_id_tvb, 0) << 16;
+ actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SIB8/serialNumber VAL_PTR=&serial_nb_tvb
+ tvbuff_t *serial_nb_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB8/serialNumber
+ if (serial_nb_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ nr_priv->message_identifier |= tvb_get_ntohs(serial_nb_tvb, 0);
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SIB8/warningMessageSegmentType VAL_PTR=&segment_type
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ guint32 segment_type;
+%(DEFAULT_BODY)s
+ nr_priv->warning_message_segment_type = (guint8)segment_type;
+
+#.FN_BODY SIB8/warningMessageSegmentNumber VAL_PTR=&segment_number
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ guint32 segment_number;
+%(DEFAULT_BODY)s
+ nr_priv->warning_message_segment_number = (guint8)segment_number;
+
+#.FN_BODY SIB8/dataCodingScheme VAL_PTR=&data_coding_scheme_tvb
+ tvbuff_t *data_coding_scheme_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB8/dataCodingScheme
+ if (data_coding_scheme_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ guint32 dataCodingScheme;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dataCodingScheme);
+ dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0);
+ wmem_map_insert(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier),
+ GUINT_TO_POINTER(dataCodingScheme));
+ }
+
+#.FN_BODY SIB8/warningMessageSegment VAL_PTR=&warning_msg_seg_tvb
+ tvbuff_t *warning_msg_seg_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB8/warningMessageSegment
+ if (warning_msg_seg_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ tvbuff_t *frag_tvb;
+ gpointer p_dcs;
+ fragment_head *frag_data = fragment_add_seq_check(&nr_rrc_sib8_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo,
+ nr_priv->message_identifier, NULL,
+ nr_priv->warning_message_segment_number,
+ tvb_reported_length(warning_msg_seg_tvb),
+ nr_priv->warning_message_segment_type ? FALSE : TRUE);
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningMessageSegment);
+ frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB8 warning message",
+ frag_data, &nr_rrc_sib8_frag_items, NULL, subtree);
+ p_dcs = wmem_map_lookup(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier));
+ if (frag_tvb && p_dcs) {
+ dissect_nr_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs));
+ }
+ }
+
+#.FN_BODY SIB9/timeInfo/timeInfoUTC VAL_PTR=&timeInfo
+ guint64 timeInfo;
+ proto_tree *subtree;
+ nstime_t ts;
+ guint32 old_offset = offset;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB9/timeInfo/timeInfoUTC
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_timeInfo);
+ ts.secs = (time_t)(timeInfo/100)-2208988800U; /* epoch is 00:00:00 (midnight) UTC on 1900-01-01 */
+ ts.nsecs = (int)(timeInfo%100)*10000000;
+ proto_tree_add_time(subtree, hf_nr_rrc_utc_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts);
+ proto_tree_add_time(subtree, hf_nr_rrc_local_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts);
+
+#.TYPE_ATTR
+SIB9/timeInfo/dayLightSavingTime TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(nr_rrc_daylightSavingTime_vals)
+
+#.FN_BODY SIB9/timeInfo/dayLightSavingTime VAL_PTR=&daylight_saving_time_tvb HF_INDEX=-1
+ tvbuff_t *daylight_saving_time_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB9/timeInfo/dayLightSavingTime
+ if (daylight_saving_time_tvb) {
+ guint bitvalue = tvb_get_bits8(daylight_saving_time_tvb, 0, 2);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, daylight_saving_time_tvb, 0, 1, bitvalue);
+ }
+
+#.TYPE_ATTR
+SIB9/timeInfo/leapSeconds DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+SIB9/timeInfo/localTimeOffset DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_localTimeOffset_fmt)
+
+#.TYPE_ATTR
+ConfiguredGrantConfig/configuredGrantTimer DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_periodicities
+
+#.TYPE_ATTR
+ConnEstFailureControl/connEstFailOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+DRX-Config/drx-SlotOffset DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_drx_SlotOffset_fmt)
+
+#.TYPE_ATTR
+FrequencyInfoDL-SIB/offsetToPointA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_prbs
+
+#.TYPE_ATTR
+Hysteresis DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_Hysteresis_fmt)
+
+#.TYPE_ATTR
+NZP-CSI-RS-Resource/powerControlOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+P-Max DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+PUCCH-ResourceSet/maxPayloadMinus1 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_bits
+
+#.TYPE_ATTR
+PUCCH-ConfigCommon/p0-nominal DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+PUCCH-PowerControl/deltaF-PUCCH-f0 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+PUCCH-PowerControl/deltaF-PUCCH-f1 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+PUCCH-PowerControl/deltaF-PUCCH-f2 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+PUCCH-PowerControl/deltaF-PUCCH-f3 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+PUCCH-PowerControl/deltaF-PUCCH-f4 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+P0-PUCCH/p0-PUCCH-Value DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+PUSCH-ConfigCommon/msg3-DeltaPreamble DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_msg3_DeltaPreamble_fmt)
+
+#.TYPE_ATTR
+PUSCH-ConfigCommon/p0-NominalWithGrant DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+PUSCH-PowerControl/p0-NominalWithoutGrant DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+P0-PUSCH-AlphaSet/p0 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+Q-QualMin DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+Q-RxLevMin DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_Q_RxLevMin_fmt)
+
+#.TYPE_ATTR
+RACH-ConfigGeneric/preambleReceivedTargetPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+RSRP-RangeEUTRA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRP_RangeEUTRA_fmt)
+
+#.TYPE_ATTR
+RSRQ-RangeEUTRA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRQ_RangeEUTRA_fmt)
+
+#.TYPE_ATTR
+SINR-RangeEUTRA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_SINR_RangeEUTRA_fmt)
+
+#.TYPE_ATTR
+MeasTriggerQuantityOffset/rsrp DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+MeasTriggerQuantityOffset/rsrq DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+MeasTriggerQuantityOffset/sinr DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+ReselectionThreshold DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_ReselectionThreshold_fmt)
+
+#.TYPE_ATTR
+ReselectionThresholdQ DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+RSRP-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRP_Range_fmt)
+
+#.TYPE_ATTR
+RSRQ-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRQ_Range_fmt)
+
+#.TYPE_ATTR
+SearchSpace/duration DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_slots
+
+#.TYPE_ATTR
+ServingCellConfigCommon/ss-PBCH-BlockPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+ServingCellConfigCommonSIB/ss-PBCH-BlockPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+SINR-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_SINR_Range_fmt)
+
+#.TYPE_ATTR
+SRS-ResourceSet/p0 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+T-Reselection DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
#.FN_BODY UE-CapabilityRAT-Container
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
/* Initialise to invalid value */
- private_data_set_rat_type(actx, 0xFF);
+ nr_priv->rat_type = 0xFF;
%(DEFAULT_BODY)s
#.FN_BODY RAT-Type VAL_PTR = &rat_type
guint32 rat_type;
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
%(DEFAULT_BODY)s
- private_data_set_rat_type(actx, (guint8)rat_type);
+ nr_priv->rat_type = (guint8)rat_type;
#.FN_BODY UE-CapabilityRAT-Container/ue-CapabilityRAT-Container VAL_PTR = &ue_cap_tvb
- tvbuff_t *ue_cap_tvb=NULL;
+ tvbuff_t *ue_cap_tvb = NULL;
%(DEFAULT_BODY)s
#.FN_FTR UE-CapabilityRAT-Container/ue-CapabilityRAT-Container
if (ue_cap_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_UE_CapabilityRAT_Container);
- switch(private_data_get_rat_type(actx)){
+ switch(nr_priv->rat_type){
case RAT_Type_nr:
dissect_nr_rrc_UE_NR_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
break;
case RAT_Type_eutra_nr:
dissect_nr_rrc_UE_MRDC_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
break;
+ case RAT_Type_eutra:
+ dissect_lte_rrc_UE_EUTRA_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
+ break;
default:
break;
}
}
+
+#.FN_BODY UE-CapabilityRAT-Request
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ /* Initialise to invalid value */
+ nr_priv->rat_type = 0xFF;
+%(DEFAULT_BODY)s
+
+#.FN_BODY UE-CapabilityRAT-Request/capabilityRequestFilter VAL_PTR = &cap_req_filter_tvb
+ tvbuff_t *cap_req_filter_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR UE-CapabilityRAT-Request/capabilityRequestFilter
+ if (cap_req_filter_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_capabilityRequestFilter);
+ switch(nr_priv->rat_type){
+ case RAT_Type_nr:
+ dissect_UE_CapabilityRequestFilterNR_PDU(cap_req_filter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ }
+
+#.TYPE_ATTR
+EUTRA-NS-PmaxValue/additionalPmax DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
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 a1a482de32..5db7bcee68 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.2.0 Release 15) packet dissection
+ * (3GPP TS 38.331 V15.3.0 Release 15) packet dissection
* Copyright 2018, Pascal Quantin
*
* Wireshark - Network traffic analyzer
@@ -17,10 +17,16 @@
#include <epan/packet.h>
#include <epan/asn1.h>
+#include <epan/expert.h>
+#include <epan/reassemble.h>
+#include <epan/exceptions.h>
+#include <epan/show_exception.h>
#include <wsutil/str_util.h>
#include "packet-per.h"
+#include "packet-gsm_map.h"
+#include "packet-cell_broadcast.h"
#include "packet-lte-rrc.h"
#include "packet-nr-rrc.h"
@@ -31,24 +37,87 @@
void proto_register_nr_rrc(void);
void proto_reg_handoff_nr_rrc(void);
+static dissector_handle_t nas_5gs_handle = NULL;
+static dissector_handle_t lte_rrc_conn_reconf_handle = NULL;
+
+static wmem_map_t *nr_rrc_etws_cmas_dcs_hash = NULL;
+
+static reassembly_table nr_rrc_sib7_reassembly_table;
+static reassembly_table nr_rrc_sib8_reassembly_table;
+
/* Include constants */
#include "packet-nr-rrc-val.h"
/* Initialize the protocol and registered fields */
static int proto_nr_rrc = -1;
#include "packet-nr-rrc-hf.c"
+static int hf_nr_rrc_serialNumber_gs = -1;
+static int hf_nr_rrc_serialNumber_msg_code = -1;
+static int hf_nr_rrc_serialNumber_upd_nb = -1;
+static int hf_nr_rrc_warningType_value = -1;
+static int hf_nr_rrc_warningType_emergency_user_alert = -1;
+static int hf_nr_rrc_warningType_popup = -1;
+static int hf_nr_rrc_warningMessageSegment_nb_pages = -1;
+static int hf_nr_rrc_warningMessageSegment_decoded_page = -1;
+static int hf_nr_rrc_sib7_fragments = -1;
+static int hf_nr_rrc_sib7_fragment = -1;
+static int hf_nr_rrc_sib7_fragment_overlap = -1;
+static int hf_nr_rrc_sib7_fragment_overlap_conflict = -1;
+static int hf_nr_rrc_sib7_fragment_multiple_tails = -1;
+static int hf_nr_rrc_sib7_fragment_too_long_fragment = -1;
+static int hf_nr_rrc_sib7_fragment_error = -1;
+static int hf_nr_rrc_sib7_fragment_count = -1;
+static int hf_nr_rrc_sib7_reassembled_in = -1;
+static int hf_nr_rrc_sib7_reassembled_length = -1;
+static int hf_nr_rrc_sib7_reassembled_data = -1;
+static int hf_nr_rrc_sib8_fragments = -1;
+static int hf_nr_rrc_sib8_fragment = -1;
+static int hf_nr_rrc_sib8_fragment_overlap = -1;
+static int hf_nr_rrc_sib8_fragment_overlap_conflict = -1;
+static int hf_nr_rrc_sib8_fragment_multiple_tails = -1;
+static int hf_nr_rrc_sib8_fragment_too_long_fragment = -1;
+static int hf_nr_rrc_sib8_fragment_error = -1;
+static int hf_nr_rrc_sib8_fragment_count = -1;
+static int hf_nr_rrc_sib8_reassembled_in = -1;
+static int hf_nr_rrc_sib8_reassembled_length = -1;
+static int hf_nr_rrc_sib8_reassembled_data = -1;
+static int hf_nr_rrc_utc_time = -1;
+static int hf_nr_rrc_local_time = -1;
/* Initialize the subtree pointers */
static gint ett_nr_rrc = -1;
#include "packet-nr-rrc-ett.c"
-static gint ett_nr_rrc_UECapabilityInformation = -1;
+static gint ett_nr_rrc_DedicatedNAS_Message = -1;
+static gint ett_rr_rrc_targetRAT_MessageContainer = -1;
+static gint ett_nr_rrc_nas_Container = -1;
+static gint ett_nr_rrc_serialNumber = -1;
+static gint ett_nr_rrc_warningType = -1;
+static gint ett_nr_rrc_dataCodingScheme = -1;
+static gint ett_nr_rrc_sib7_fragment = -1;
+static gint ett_nr_rrc_sib7_fragments = -1;
+static gint ett_nr_rrc_sib8_fragment = -1;
+static gint ett_nr_rrc_sib8_fragments = -1;
+static gint ett_nr_rrc_warningMessageSegment = -1;
+static gint ett_nr_rrc_timeInfo = -1;
+static gint ett_nr_rrc_capabilityRequestFilter = -1;
+
+static expert_field ei_nr_rrc_number_pages_le15 = EI_INIT;
+
+static const unit_name_string units_periodicities = { " periodicity", " periodicities" };
+static const unit_name_string units_prbs = { " PRB", " PRBs" };
+static const unit_name_string units_slots = { " slot", " slots" };
typedef struct {
guint8 rat_type;
+ guint8 target_rat_type;
+ guint16 message_identifier;
+ guint8 warning_message_segment_type;
+ guint8 warning_message_segment_number;
} nr_rrc_private_data_t;
/* Helper function to get or create a struct that will be actx->private_data */
-static nr_rrc_private_data_t* nr_rrc_get_private_data(asn1_ctx_t *actx)
+static nr_rrc_private_data_t*
+nr_rrc_get_private_data(asn1_ctx_t *actx)
{
if (actx->private_data == NULL) {
actx->private_data = wmem_new0(wmem_packet_scope(), nr_rrc_private_data_t);
@@ -56,47 +125,421 @@ static nr_rrc_private_data_t* nr_rrc_get_private_data(asn1_ctx_t *actx)
return (nr_rrc_private_data_t*)actx->private_data;
}
-static guint8 private_data_get_rat_type(asn1_ctx_t *actx)
+static void
+nr_rrc_call_dissector(dissector_handle_t handle, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ TRY {
+ call_dissector(handle, tvb, pinfo, tree);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(tvb, pinfo, tree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+}
+
+/* Forward declarations */
+static int dissect_UE_CapabilityRequestFilterNR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+
+static void
+nr_rrc_q_RxLevMin_fmt(gchar *s, guint32 v)
+{
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%u dB (%u)", 2*v, v);
+}
+
+static const value_string nr_rrc_serialNumber_gs_vals[] = {
+ { 0, "Display mode immediate, cell wide"},
+ { 1, "Display mode normal, PLMN wide"},
+ { 2, "Display mode normal, tracking area wide"},
+ { 3, "Display mode normal, cell wide"},
+ { 0, NULL},
+};
+
+static const value_string nr_rrc_warningType_vals[] = {
+ { 0, "Earthquake"},
+ { 1, "Tsunami"},
+ { 2, "Earthquake and Tsunami"},
+ { 3, "Test"},
+ { 4, "Other"},
+ { 0, NULL},
+};
+
+static const fragment_items nr_rrc_sib7_frag_items = {
+ &ett_nr_rrc_sib7_fragment,
+ &ett_nr_rrc_sib7_fragments,
+ &hf_nr_rrc_sib7_fragments,
+ &hf_nr_rrc_sib7_fragment,
+ &hf_nr_rrc_sib7_fragment_overlap,
+ &hf_nr_rrc_sib7_fragment_overlap_conflict,
+ &hf_nr_rrc_sib7_fragment_multiple_tails,
+ &hf_nr_rrc_sib7_fragment_too_long_fragment,
+ &hf_nr_rrc_sib7_fragment_error,
+ &hf_nr_rrc_sib7_fragment_count,
+ &hf_nr_rrc_sib7_reassembled_in,
+ &hf_nr_rrc_sib7_reassembled_length,
+ &hf_nr_rrc_sib7_reassembled_data,
+ "SIB7 warning message segments"
+};
+
+static const fragment_items nr_rrc_sib8_frag_items = {
+ &ett_nr_rrc_sib8_fragment,
+ &ett_nr_rrc_sib8_fragments,
+ &hf_nr_rrc_sib8_fragments,
+ &hf_nr_rrc_sib8_fragment,
+ &hf_nr_rrc_sib8_fragment_overlap,
+ &hf_nr_rrc_sib8_fragment_overlap_conflict,
+ &hf_nr_rrc_sib8_fragment_multiple_tails,
+ &hf_nr_rrc_sib8_fragment_too_long_fragment,
+ &hf_nr_rrc_sib8_fragment_error,
+ &hf_nr_rrc_sib8_fragment_count,
+ &hf_nr_rrc_sib8_reassembled_in,
+ &hf_nr_rrc_sib8_reassembled_length,
+ &hf_nr_rrc_sib8_reassembled_data,
+ "SIB8 warning message segments"
+};
+
+static void
+dissect_nr_rrc_warningMessageSegment(tvbuff_t *warning_msg_seg_tvb, proto_tree *tree, packet_info *pinfo, guint8 dataCodingScheme)
+{
+ guint32 offset;
+ guint8 nb_of_pages, length, *str;
+ proto_item *ti;
+ tvbuff_t *cb_data_page_tvb, *cb_data_tvb;
+ int i;
+
+ nb_of_pages = tvb_get_guint8(warning_msg_seg_tvb, 0);
+ ti = proto_tree_add_uint(tree, hf_nr_rrc_warningMessageSegment_nb_pages, warning_msg_seg_tvb, 0, 1, nb_of_pages);
+ if (nb_of_pages > 15) {
+ expert_add_info_format(pinfo, ti, &ei_nr_rrc_number_pages_le15,
+ "Number of pages should be <=15 (found %u)", nb_of_pages);
+ nb_of_pages = 15;
+ }
+ for (i = 0, offset = 1; i < nb_of_pages; i++) {
+ length = tvb_get_guint8(warning_msg_seg_tvb, offset+82);
+ cb_data_page_tvb = tvb_new_subset_length(warning_msg_seg_tvb, offset, length);
+ cb_data_tvb = dissect_cbs_data(dataCodingScheme, cb_data_page_tvb, tree, pinfo, 0);
+ if (cb_data_tvb) {
+ str = tvb_get_string_enc(wmem_packet_scope(), cb_data_tvb, 0, tvb_reported_length(cb_data_tvb), ENC_UTF_8|ENC_NA);
+ proto_tree_add_string_format(tree, hf_nr_rrc_warningMessageSegment_decoded_page, warning_msg_seg_tvb, offset, 83,
+ str, "Decoded Page %u: %s", i+1, str);
+ }
+ offset += 83;
+ }
+}
+
+static const value_string nr_rrc_daylightSavingTime_vals[] = {
+ { 0, "No adjustment for Daylight Saving Time"},
+ { 1, "+1 hour adjustment for Daylight Saving Time"},
+ { 2, "+2 hours adjustment for Daylight Saving Time"},
+ { 3, "Reserved"},
+ { 0, NULL},
+};
+
+static void
+nr_rrc_localTimeOffset_fmt(gchar *s, guint32 v)
+{
+ gint32 time_offset = (gint32) v;
+
+ g_snprintf(s, ITEM_LABEL_LENGTH, "UTC time %c %dhr %dmin (%d)",
+ (time_offset < 0) ? '-':'+', abs(time_offset) >> 2,
+ (abs(time_offset) & 0x03) * 15, time_offset);
+}
+
+static void
+nr_rrc_drx_SlotOffset_fmt(gchar *s, guint32 v)
+{
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%g ms (%u)", 1./32 * v, v);
+}
+
+static void
+nr_rrc_Hysteresis_fmt(gchar *s, guint32 v)
+{
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%gdB (%u)", 0.5 * v, v);
+}
+
+static void
+nr_rrc_msg3_DeltaPreamble_fmt(gchar *s, guint32 v)
{
- nr_rrc_private_data_t *private_data = (nr_rrc_private_data_t*)nr_rrc_get_private_data(actx);
- return private_data->rat_type;
+ gint32 d = (gint32)v;
+
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%ddB (%d)", 2 * d, d);
+}
+
+static void
+nr_rrc_Q_RxLevMin_fmt(gchar *s, guint32 v)
+{
+ gint32 d = (gint32)v;
+
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%d)", 2 * d, d);
+}
+
+static void
+nr_rrc_RSRP_RangeEUTRA_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "RSRP < -140dBm (0)");
+ } else if (v < 97) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSRP < %ddBm (%u)", v-141, v-140, v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "-44dBm <= RSRP (97)");
+ }
}
-static void private_data_set_rat_type(asn1_ctx_t *actx, guint8 rat_type)
+static void
+nr_rrc_RSRQ_RangeEUTRA_fmt(gchar *s, guint32 v)
{
- nr_rrc_private_data_t *private_data = (nr_rrc_private_data_t*)nr_rrc_get_private_data(actx);
- private_data->rat_type = rat_type;
+ if (v == 0) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -19.5dB (0)");
+ } else if (v < 34) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%u)", ((float)v/2)-20, (((float)v+1)/2)-20, v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "-3dB <= RSRQ (34)");
+ }
+}
+
+static void
+nr_rrc_SINR_RangeEUTRA_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "SINR < -23dB (0)");
+ } else if (v == 127) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "40dB <= SINR (127)");
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SINR < %.1fdB (%u)", (((float)v-1)/2)-23, ((float)v/2)-23, v);
+ }
+}
+
+static void
+nr_rrc_ReselectionThreshold_fmt(gchar *s, guint32 v)
+{
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%udB (%u)", 2 * v, v);
+}
+
+static void
+nr_rrc_RSRP_Range_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "SS-RSRP < -156dBm (0)");
+ } else if (v < 126) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= SS-RSRP < %ddBm (%u)", v-157, v-156, v);
+ } else if (v == 126) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "-31dBm <= SS-RSRP (126)");
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "infinity (127)");
+ }
+}
+
+static void
+nr_rrc_RSRQ_Range_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "SS-RSRQ < -43dB (0)");
+ } else if (v < 127) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SS-RSRQ < %.1fdB (%u)", (((float)v-1)/2)-43, ((float)v/2)-43, v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "-20dB <= SS-RSRQ (127)");
+ }
+}
+
+static void
+nr_rrc_SINR_Range_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "SS-SINR < -23dB (0)");
+ } else if (v < 127) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SS-SINR < %.1fdB (%u)", (((float)v-1)/2)-23, ((float)v/2)-23, v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "40dB <= SS-SINR (127)");
+ }
}
#include "packet-nr-rrc-fn.c"
-void proto_register_nr_rrc(void) {
+void
+proto_register_nr_rrc(void) {
/* List of fields */
static hf_register_info hf[] = {
#include "packet-nr-rrc-hfarr.c"
+ { &hf_nr_rrc_serialNumber_gs,
+ { "Geographical Scope", "nr-rrc.serialNumber.gs",
+ FT_UINT16, BASE_DEC, VALS(nr_rrc_serialNumber_gs_vals), 0xc000,
+ NULL, HFILL }},
+ { &hf_nr_rrc_serialNumber_msg_code,
+ { "Message Code", "nr-rrc.serialNumber.msg_code",
+ FT_UINT16, BASE_DEC, NULL, 0x3ff0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_serialNumber_upd_nb,
+ { "Update Number", "nr-rrc.serialNumber.upd_nb",
+ FT_UINT16, BASE_DEC, NULL, 0x000f,
+ NULL, HFILL }},
+ { &hf_nr_rrc_warningType_value,
+ { "Warning Type Value", "nr-rrc.warningType.value",
+ FT_UINT16, BASE_DEC, VALS(nr_rrc_warningType_vals), 0xfe00,
+ NULL, HFILL }},
+ { &hf_nr_rrc_warningType_emergency_user_alert,
+ { "Emergency User Alert", "nr-rrc.warningType.emergency_user_alert",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0100,
+ NULL, HFILL }},
+ { &hf_nr_rrc_warningType_popup,
+ { "Popup", "nr-rrc.warningType.popup",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0080,
+ NULL, HFILL }},
+ { &hf_nr_rrc_warningMessageSegment_nb_pages,
+ { "Number of Pages", "nr-rrc.warningMessageSegment.nb_pages",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_warningMessageSegment_decoded_page,
+ { "Decoded Page", "nr-rrc.warningMessageSegment.decoded_page",
+ FT_STRING, STR_UNICODE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_fragments,
+ { "Fragments", "nr-rrc.warningMessageSegment.fragments",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_fragment,
+ { "Fragment", "nr-rrc.warningMessageSegment.fragment",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_fragment_overlap,
+ { "Fragment Overlap", "nr-rrc.warningMessageSegment.fragment_overlap",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_fragment_overlap_conflict,
+ { "Fragment Overlap Conflict", "nr-rrc.warningMessageSegment.fragment_overlap_conflict",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_fragment_multiple_tails,
+ { "Fragment Multiple Tails", "nr-rrc.warningMessageSegment.fragment_multiple_tails",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_fragment_too_long_fragment,
+ { "Too Long Fragment", "nr-rrc.warningMessageSegment.fragment_too_long_fragment",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_fragment_error,
+ { "Fragment Error", "nr-rrc.warningMessageSegment.fragment_error",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_fragment_count,
+ { "Fragment Count", "nr-rrc.warningMessageSegment.fragment_count",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_reassembled_in,
+ { "Reassembled In", "nr-rrc.warningMessageSegment.reassembled_in",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_reassembled_length,
+ { "Reassembled Length", "nr-rrc.warningMessageSegment.reassembled_length",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_reassembled_data,
+ { "Reassembled Data", "nr-rrc.warningMessageSegment.reassembled_data",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_fragments,
+ { "Fragments", "nr-rrc.warningMessageSegment.fragments",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_fragment,
+ { "Fragment", "nr-rrc.warningMessageSegment.fragment",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_fragment_overlap,
+ { "Fragment Overlap", "nr-rrc.warningMessageSegment.fragment_overlap",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_fragment_overlap_conflict,
+ { "Fragment Overlap Conflict", "nr-rrc.warningMessageSegment.fragment_overlap_conflict",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_fragment_multiple_tails,
+ { "Fragment Multiple Tails", "nr-rrc.warningMessageSegment.fragment_multiple_tails",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_fragment_too_long_fragment,
+ { "Too Long Fragment", "nr-rrc.warningMessageSegment.fragment_too_long_fragment",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_fragment_error,
+ { "Fragment Error", "nr-rrc.warningMessageSegment.fragment_error",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_fragment_count,
+ { "Fragment Count", "nr-rrc.warningMessageSegment.fragment_count",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_reassembled_in,
+ { "Reassembled In", "nr-rrc.warningMessageSegment.reassembled_in",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_reassembled_length,
+ { "Reassembled Length", "nr-rrc.warningMessageSegment.reassembled_length",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_reassembled_data,
+ { "Reassembled Data", "nr-rrc.warningMessageSegment.reassembled_data",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_utc_time,
+ { "UTC time", "nr-rrc.utc_time",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_UTC, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_local_time,
+ { "Local time", "nr-rrc.local_time",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0,
+ NULL, HFILL }},
};
static gint *ett[] = {
&ett_nr_rrc,
#include "packet-nr-rrc-ettarr.c"
- &ett_nr_rrc_UECapabilityInformation
+ &ett_nr_rrc_DedicatedNAS_Message,
+ &ett_rr_rrc_targetRAT_MessageContainer,
+ &ett_nr_rrc_nas_Container,
+ &ett_nr_rrc_serialNumber,
+ &ett_nr_rrc_warningType,
+ &ett_nr_rrc_dataCodingScheme,
+ &ett_nr_rrc_sib7_fragment,
+ &ett_nr_rrc_sib7_fragments,
+ &ett_nr_rrc_sib8_fragment,
+ &ett_nr_rrc_sib8_fragments,
+ &ett_nr_rrc_warningMessageSegment,
+ &ett_nr_rrc_timeInfo,
+ &ett_nr_rrc_capabilityRequestFilter
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_nr_rrc_number_pages_le15, { "nr-rrc.number_pages_le15", PI_MALFORMED, PI_ERROR, "Number of pages should be <=15", EXPFILL }},
};
+ expert_module_t* expert_nr_rrc;
+
/* Register protocol */
proto_nr_rrc = proto_register_protocol(PNAME, PSNAME, PFNAME);
/* Register fields and subtrees */
proto_register_field_array(proto_nr_rrc, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
+ expert_nr_rrc = expert_register_protocol(proto_nr_rrc);
+ expert_register_field_array(expert_nr_rrc, ei, array_length(ei));
/* Register the dissectors defined in nr-rrc.cnf */
#include "packet-nr-rrc-dis-reg.c"
+
+ nr_rrc_etws_cmas_dcs_hash = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(),
+ g_direct_hash, g_direct_equal);
+
+ reassembly_table_register(&nr_rrc_sib7_reassembly_table,
+ &addresses_reassembly_table_functions);
+ reassembly_table_register(&nr_rrc_sib8_reassembly_table,
+ &addresses_reassembly_table_functions);
}
void
proto_reg_handoff_nr_rrc(void)
{
+ nas_5gs_handle = find_dissector("nas-5gs");
+ lte_rrc_conn_reconf_handle = find_dissector("lte-rrc.rrc_conn_reconf");
}
diff --git a/epan/dissectors/packet-nr-rrc.c b/epan/dissectors/packet-nr-rrc.c
index 34b0bb5e1f..fdb91e422f 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.2.0 Release 15) packet dissection
+ * (3GPP TS 38.331 V15.3.0 Release 15) packet dissection
* Copyright 2018, Pascal Quantin
*
* Wireshark - Network traffic analyzer
@@ -25,10 +25,16 @@
#include <epan/packet.h>
#include <epan/asn1.h>
+#include <epan/expert.h>
+#include <epan/reassemble.h>
+#include <epan/exceptions.h>
+#include <epan/show_exception.h>
#include <wsutil/str_util.h>
#include "packet-per.h"
+#include "packet-gsm_map.h"
+#include "packet-cell_broadcast.h"
#include "packet-lte-rrc.h"
#include "packet-nr-rrc.h"
@@ -39,6 +45,14 @@
void proto_register_nr_rrc(void);
void proto_reg_handoff_nr_rrc(void);
+static dissector_handle_t nas_5gs_handle = NULL;
+static dissector_handle_t lte_rrc_conn_reconf_handle = NULL;
+
+static wmem_map_t *nr_rrc_etws_cmas_dcs_hash = NULL;
+
+static reassembly_table nr_rrc_sib7_reassembly_table;
+static reassembly_table nr_rrc_sib8_reassembly_table;
+
/* Include constants */
/*--- Included file: packet-nr-rrc-val.h ---*/
@@ -48,6 +62,16 @@ void proto_reg_handoff_nr_rrc(void);
#define maxMeasIdentitiesMN 62
#define maxCellPrep 32
#define maxBandComb 65536
+#define maxCellBlack 16
+#define maxCellInter 16
+#define maxCellIntra 16
+#define maxCellMeasEUTRA 32
+#define maxEARFCN 262143
+#define maxEUTRA_CellBlack 16
+#define maxEUTRA_NS_Pmax 8
+#define maxMultiBands 8
+#define maxNARFCN 3279165
+#define maxNR_NS_Pmax 8
#define maxNrofServingCells 32
#define maxNrofServingCells_1 31
#define maxNrofAggregatedCellsPerCellGroup 16
@@ -62,16 +86,15 @@ void proto_reg_handoff_nr_rrc(void);
#define maxNrofTAGs 4
#define maxNrofTAGs_1 3
#define maxNrofBWPs 4
+#define maxNrofCombIDC 128
#define maxNrofSymbols_1 13
#define maxNrofSlots 320
#define maxNrofSlots_1 319
#define maxNrofPhysicalResourceBlocks 275
#define maxNrofPhysicalResourceBlocks_1 274
#define maxNrofPhysicalResourceBlocksPlus1 276
-#define maxNrofControlResourceSets 12
#define maxNrofControlResourceSets_1 11
#define maxCoReSetDuration 3
-#define maxNrofSearchSpaces 40
#define maxNrofSearchSpaces_1 39
#define maxSFI_DCI_PayloadSize 128
#define maxSFI_DCI_PayloadSize_1 127
@@ -112,7 +135,9 @@ void proto_reg_handoff_nr_rrc(void);
#define maxNrofFailureDetectionResources 10
#define maxNrofFailureDetectionResources_1 9
#define maxNrofObjectId 64
+#define maxNrofPageRec 32
#define maxNrofPCI_Ranges 8
+#define maxPLMN 12
#define maxNrofCSI_RS_ResourcesRRM 96
#define maxNrofCSI_RS_ResourcesRRM_1 95
#define maxNrofMeasId 64
@@ -122,10 +147,11 @@ void proto_reg_handoff_nr_rrc(void);
#define maxNrofSRS_ResourceSets_1 15
#define maxNrofSRS_Resources 64
#define maxNrofSRS_Resources_1 63
+#define maxNrofSRS_ResourcesPerSet 16
#define maxNrofSRS_TriggerStates_1 3
+#define maxNrofSRS_TriggerStates_2 2
#define maxRAT_CapabilityContainers 8
#define maxSimultaneousBands 32
-#define maxNrofSlotFormatCombinationsPerCell 16
#define maxNrofSlotFormatCombinationsPerSet 512
#define maxNrofSlotFormatCombinationsPerSet_1 511
#define maxNrofPUCCH_Resources 128
@@ -133,7 +159,6 @@ void proto_reg_handoff_nr_rrc(void);
#define maxNrofPUCCH_ResourceSets 4
#define maxNrofPUCCH_ResourceSets_1 3
#define maxNrofPUCCH_ResourcesPerSet 32
-#define maxNrofPUCCH_ResourcesPerSet_1 31
#define maxNrofPUCCH_P0_PerSet 8
#define maxNrofPUCCH_PathlossReferenceRSs 4
#define maxNrofPUCCH_PathlossReferenceRSs_1 3
@@ -141,12 +166,14 @@ void proto_reg_handoff_nr_rrc(void);
#define maxNrofP0_PUSCH_AlphaSets_1 29
#define maxNrofPUSCH_PathlossReferenceRSs 4
#define maxNrofPUSCH_PathlossReferenceRSs_1 3
+#define maxNrofNAICS_Entries 8
#define maxBands 1024
#define maxBandsMRDC 1280
#define maxBandsEUTRA 256
#define maxCellReport 8
#define maxDRB 29
#define maxFreq 8
+#define maxFreqIDC_MRDC 32
#define maxNrofCSI_RS 64
#define maxNrofCandidateBeams 16
#define maxNrofPCIsPerSMTC 64
@@ -155,13 +182,14 @@ void proto_reg_handoff_nr_rrc(void);
#define maxNrofSR_Resources 8
#define maxNrofSlotFormatsPerCombination 256
#define maxNrofSpatialRelationInfos 8
-#define maxNrofSRS_ResourcesPerSet 16
#define maxNrofIndexesToReport 32
+#define maxNrofIndexesToReport2 64
#define maxNrofSSBs 64
#define maxNrofSSBs_1 63
+#define maxNrofS_NSSAI 8
#define maxNrofTCI_StatesPDCCH 64
-#define maxNrofTCI_States 64
-#define maxNrofTCI_States_1 63
+#define maxNrofTCI_States 128
+#define maxNrofTCI_States_1 127
#define maxNrofUL_Allocations 16
#define maxQFI 63
#define maxRA_CSIRS_Resources 96
@@ -178,6 +206,14 @@ void proto_reg_handoff_nr_rrc(void);
#define maxNrofCodebooks 16
#define maxNrofSRI_PUSCH_Mappings 16
#define maxNrofSRI_PUSCH_Mappings_1 15
+#define maxSIB 32
+#define maxSIB_1 31
+#define maxSI_Message 32
+#define maxAccessCat_1 63
+#define maxBarringInfoSet 8
+#define maxCellEUTRA 8
+#define maxEUTRA_Carrier 8
+#define maxPLMNIdentities 8
#define maxDownlinkFeatureSets 1024
#define maxUplinkFeatureSets 1024
#define maxEUTRA_DL_FeatureSets 256
@@ -185,16 +221,24 @@ void proto_reg_handoff_nr_rrc(void);
#define maxFeatureSetsPerBand 128
#define maxPerCC_FeatureSets 1024
#define maxFeatureSetCombinations 1024
+#define maxInterRAT_RSTD_Freq 3
typedef enum _RAT_Type_enum {
RAT_Type_nr = 0,
RAT_Type_eutra_nr = 1,
- RAT_Type_spare2 = 2,
+ RAT_Type_eutra = 2,
RAT_Type_spare1 = 3
} RAT_Type_enum;
+typedef enum _T_targetRAT_Type_enum {
+ T_targetRAT_Type_eutra = 0,
+ T_targetRAT_Type_spare3 = 1,
+ T_targetRAT_Type_spare2 = 2,
+ T_targetRAT_Type_spare1 = 3
+} T_targetRAT_Type_enum;
+
/*--- End of included file: packet-nr-rrc-val.h ---*/
-#line 36 "./asn1/nr-rrc/packet-nr-rrc-template.c"
+#line 50 "./asn1/nr-rrc/packet-nr-rrc-template.c"
/* Initialize the protocol and registered fields */
static int proto_nr_rrc = -1;
@@ -207,8 +251,15 @@ static int hf_nr_rrc_nr_rrc_CG_Config_PDU = -1; /* CG_Config */
static int hf_nr_rrc_nr_rrc_CG_ConfigInfo_PDU = -1; /* CG_ConfigInfo */
static int hf_nr_rrc_nr_rrc_ConfigRestrictInfoSCG_PDU = -1; /* ConfigRestrictInfoSCG */
static int hf_nr_rrc_nr_rrc_MeasurementTimingConfiguration_PDU = -1; /* MeasurementTimingConfiguration */
+static int hf_nr_rrc_UERadioPagingInformation_PDU = -1; /* UERadioPagingInformation */
+static int hf_nr_rrc_UERadioAccessCapabilityInformation_PDU = -1; /* UERadioAccessCapabilityInformation */
static int hf_nr_rrc_BCCH_BCH_Message_PDU = -1; /* BCCH_BCH_Message */
+static int hf_nr_rrc_BCCH_DL_SCH_Message_PDU = -1; /* BCCH_DL_SCH_Message */
+static int hf_nr_rrc_DL_CCCH_Message_PDU = -1; /* DL_CCCH_Message */
static int hf_nr_rrc_DL_DCCH_Message_PDU = -1; /* DL_DCCH_Message */
+static int hf_nr_rrc_PCCH_Message_PDU = -1; /* PCCH_Message */
+static int hf_nr_rrc_UL_CCCH_Message_PDU = -1; /* UL_CCCH_Message */
+static int hf_nr_rrc_UL_CCCH1_Message_PDU = -1; /* UL_CCCH1_Message */
static int hf_nr_rrc_nr_rrc_UL_DCCH_Message_PDU = -1; /* UL_DCCH_Message */
static int hf_nr_rrc_nr_rrc_MIB_PDU = -1; /* MIB */
static int hf_nr_rrc_nr_rrc_RRCReconfiguration_PDU = -1; /* RRCReconfiguration */
@@ -222,10 +273,12 @@ static int hf_nr_rrc_nr_rrc_P_Max_PDU = -1; /* P_Max */
static int hf_nr_rrc_nr_rrc_RadioBearerConfig_PDU = -1; /* RadioBearerConfig */
static int hf_nr_rrc_nr_rrc_FreqBandList_PDU = -1; /* FreqBandList */
static int hf_nr_rrc_nr_rrc_UE_CapabilityRAT_ContainerList_PDU = -1; /* UE_CapabilityRAT_ContainerList */
+static int hf_nr_rrc_UE_CapabilityRequestFilterNR_PDU = -1; /* UE_CapabilityRequestFilterNR */
static int hf_nr_rrc_nr_rrc_UE_MRDC_Capability_PDU = -1; /* UE_MRDC_Capability */
static int hf_nr_rrc_nr_rrc_UE_NR_Capability_PDU = -1; /* UE_NR_Capability */
static int hf_nr_rrc_MeasResultList2NR_PDU = -1; /* MeasResultList2NR */
static int hf_nr_rrc_MeasResultSCG_Failure_PDU = -1; /* MeasResultSCG_Failure */
+static int hf_nr_rrc_SystemInformation_PDU = -1; /* SystemInformation */
static int hf_nr_rrc_criticalExtensions = -1; /* T_criticalExtensions */
static int hf_nr_rrc_c1 = -1; /* T_c1 */
static int hf_nr_rrc_handoverCommand = -1; /* HandoverCommand_IEs */
@@ -240,15 +293,17 @@ static int hf_nr_rrc_c1_01 = -1; /* T_c1_01 */
static int hf_nr_rrc_handoverPreparationInformation = -1; /* HandoverPreparationInformation_IEs */
static int hf_nr_rrc_criticalExtensionsFuture_01 = -1; /* T_criticalExtensionsFuture_01 */
static int hf_nr_rrc_ue_CapabilityRAT_List = -1; /* UE_CapabilityRAT_ContainerList */
-static int hf_nr_rrc_sourceConfig = -1; /* T_sourceConfig */
+static int hf_nr_rrc_sourceConfig = -1; /* AS_Config */
static int hf_nr_rrc_rrm_Config = -1; /* RRM_Config */
static int hf_nr_rrc_as_Context = -1; /* AS_Context */
static int hf_nr_rrc_nonCriticalExtension_01 = -1; /* T_nonCriticalExtension_01 */
-static int hf_nr_rrc_reestablishmentInfo = -1; /* T_reestablishmentInfo */
+static int hf_nr_rrc_rrcReconfiguration = -1; /* T_rrcReconfiguration */
+static int hf_nr_rrc_reestablishmentInfo = -1; /* ReestablishmentInfo */
+static int hf_nr_rrc_configRestrictInfo = -1; /* ConfigRestrictInfoSCG */
+static int hf_nr_rrc_ran_NotificationAreaInfo = -1; /* RAN_NotificationAreaInfo */
static int hf_nr_rrc_sourcePhysCellId = -1; /* PhysCellId */
static int hf_nr_rrc_targetCellShortMAC_I = -1; /* ShortMAC_I */
static int hf_nr_rrc_additionalReestabInfoList = -1; /* ReestabNCellInfoList */
-static int hf_nr_rrc_configRestrictInfo = -1; /* ConfigRestrictInfoSCG */
static int hf_nr_rrc_ReestabNCellInfoList_item = -1; /* ReestabNCellInfo */
static int hf_nr_rrc_cellIdentity = -1; /* CellIdentity */
static int hf_nr_rrc_key_gNodeB_Star = -1; /* BIT_STRING_SIZE_256 */
@@ -265,17 +320,21 @@ static int hf_nr_rrc_configRestrictModReq = -1; /* ConfigRestrictModReqSCG */
static int hf_nr_rrc_drx_InfoSCG = -1; /* DRX_Info */
static int hf_nr_rrc_candidateCellInfoListSN = -1; /* T_candidateCellInfoListSN */
static int hf_nr_rrc_measConfigSN = -1; /* MeasConfigSN */
-static int hf_nr_rrc_selectedBandCombinationNR = -1; /* BandCombinationIndex */
+static int hf_nr_rrc_selectedBandCombinationNR = -1; /* BandCombinationInfoSN */
static int hf_nr_rrc_fr_InfoListSCG = -1; /* FR_InfoList */
+static int hf_nr_rrc_candidateServingFreqListNR = -1; /* CandidateServingFreqListNR */
static int hf_nr_rrc_nonCriticalExtension_02 = -1; /* T_nonCriticalExtension_02 */
static int hf_nr_rrc_measuredFrequenciesSN = -1; /* SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo */
static int hf_nr_rrc_measuredFrequenciesSN_item = -1; /* NR_FreqInfo */
static int hf_nr_rrc_measuredFrequency = -1; /* ARFCN_ValueNR */
-static int hf_nr_rrc_requestedBC_MRDC = -1; /* BandCombinationIndex */
+static int hf_nr_rrc_requestedBC_MRDC = -1; /* BandCombinationInfoSN */
static int hf_nr_rrc_requestedP_MaxFR1 = -1; /* P_Max */
+static int hf_nr_rrc_bandCombinationIndex = -1; /* BandCombinationIndex */
+static int hf_nr_rrc_requestedFeatureSets = -1; /* FeatureSetEntryIndex */
static int hf_nr_rrc_FR_InfoList_item = -1; /* FR_Info */
static int hf_nr_rrc_servCellIndex = -1; /* ServCellIndex */
static int hf_nr_rrc_fr_Type = -1; /* T_fr_Type */
+static int hf_nr_rrc_CandidateServingFreqListNR_item = -1; /* ARFCN_ValueNR */
static int hf_nr_rrc_criticalExtensions_03 = -1; /* T_criticalExtensions_03 */
static int hf_nr_rrc_c1_03 = -1; /* T_c1_03 */
static int hf_nr_rrc_cg_ConfigInfo = -1; /* CG_ConfigInfo_IEs */
@@ -292,17 +351,21 @@ static int hf_nr_rrc_measConfigMN = -1; /* MeasConfigMN */
static int hf_nr_rrc_sourceConfigSCG = -1; /* T_sourceConfigSCG */
static int hf_nr_rrc_scg_RB_Config_01 = -1; /* T_scg_RB_Config_01 */
static int hf_nr_rrc_mcg_RB_Config = -1; /* T_mcg_RB_Config */
+static int hf_nr_rrc_mrdc_AssistanceInfo = -1; /* MRDC_AssistanceInfo */
static int hf_nr_rrc_nonCriticalExtension_03 = -1; /* T_nonCriticalExtension_03 */
-static int hf_nr_rrc_allowedBC_ListMRDC = -1; /* BandCombinationIndexList */
+static int hf_nr_rrc_allowedBC_ListMRDC = -1; /* BandCombinationInfoList */
static int hf_nr_rrc_powerCoordination_FR1 = -1; /* T_powerCoordination_FR1 */
-static int hf_nr_rrc_p_maxNR = -1; /* P_Max */
+static int hf_nr_rrc_p_maxNR_FR1 = -1; /* P_Max */
static int hf_nr_rrc_p_maxEUTRA = -1; /* P_Max */
+static int hf_nr_rrc_p_maxUE_FR1 = -1; /* P_Max */
static int hf_nr_rrc_servCellIndexRangeSCG = -1; /* T_servCellIndexRangeSCG */
static int hf_nr_rrc_lowBound = -1; /* ServCellIndex */
static int hf_nr_rrc_upBound = -1; /* ServCellIndex */
static int hf_nr_rrc_maxMeasFreqsSCG_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_BandCombinationInfoList_item = -1; /* BandCombinationInfo */
+static int hf_nr_rrc_allowedFeatureSetsList = -1; /* SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex */
+static int hf_nr_rrc_allowedFeatureSetsList_item = -1; /* FeatureSetEntryIndex */
static int hf_nr_rrc_drx_LongCycleStartOffset = -1; /* T_drx_LongCycleStartOffset */
static int hf_nr_rrc_ms10 = -1; /* INTEGER_0_9 */
static int hf_nr_rrc_ms20 = -1; /* INTEGER_0_19 */
@@ -333,6 +396,21 @@ 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_affectedCarrierFreqCombInfoListMRDC = -1; /* SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC */
+static int hf_nr_rrc_affectedCarrierFreqCombInfoListMRDC_item = -1; /* AffectedCarrierFreqCombInfoMRDC */
+static int hf_nr_rrc_victimSystemType = -1; /* VictimSystemType */
+static int hf_nr_rrc_interferenceDirectionMRDC = -1; /* T_interferenceDirectionMRDC */
+static int hf_nr_rrc_affectedCarrierFreqCombMRDC = -1; /* T_affectedCarrierFreqCombMRDC */
+static int hf_nr_rrc_affectedCarrierFreqCombEUTRA = -1; /* AffectedCarrierFreqCombEUTRA */
+static int hf_nr_rrc_affectedCarrierFreqCombNR = -1; /* AffectedCarrierFreqCombNR */
+static int hf_nr_rrc_gps = -1; /* T_gps */
+static int hf_nr_rrc_glonass = -1; /* T_glonass */
+static int hf_nr_rrc_bds = -1; /* T_bds */
+static int hf_nr_rrc_galileo = -1; /* T_galileo */
+static int hf_nr_rrc_wlan = -1; /* T_wlan */
+static int hf_nr_rrc_bluetooth = -1; /* T_bluetooth */
+static int hf_nr_rrc_AffectedCarrierFreqCombEUTRA_item = -1; /* ARFCN_ValueEUTRA */
+static int hf_nr_rrc_AffectedCarrierFreqCombNR_item = -1; /* ARFCN_ValueNR */
static int hf_nr_rrc_criticalExtensions_04 = -1; /* T_criticalExtensions_04 */
static int hf_nr_rrc_c1_04 = -1; /* T_c1_04 */
static int hf_nr_rrc_measTimingConf = -1; /* MeasurementTimingConfiguration_IEs */
@@ -342,107 +420,420 @@ static int hf_nr_rrc_nonCriticalExtension_04 = -1; /* T_nonCriticalExtension_04
static int hf_nr_rrc_MeasTimingList_item = -1; /* MeasTiming */
static int hf_nr_rrc_frequencyAndTiming = -1; /* T_frequencyAndTiming */
static int hf_nr_rrc_carrierFreq = -1; /* ARFCN_ValueNR */
+static int hf_nr_rrc_ssbSubcarrierSpacing = -1; /* SubcarrierSpacing */
static int hf_nr_rrc_ssb_MeasurementTimingConfiguration = -1; /* SSB_MTC */
-static int hf_nr_rrc_message = -1; /* BCCH_BCH_MessageType */
-static int hf_nr_rrc_mib = -1; /* MIB */
-static int hf_nr_rrc_messageClassExtension = -1; /* T_messageClassExtension */
-static int hf_nr_rrc_message_01 = -1; /* DL_DCCH_MessageType */
+static int hf_nr_rrc_ss_RSSI_Measurement = -1; /* SS_RSSI_Measurement */
+static int hf_nr_rrc_criticalExtensions_05 = -1; /* T_criticalExtensions_05 */
static int hf_nr_rrc_c1_05 = -1; /* T_c1_05 */
-static int hf_nr_rrc_rrcReconfiguration = -1; /* RRCReconfiguration */
-static int hf_nr_rrc_spare15 = -1; /* NULL */
-static int hf_nr_rrc_spare14 = -1; /* NULL */
-static int hf_nr_rrc_spare13 = -1; /* NULL */
-static int hf_nr_rrc_spare12 = -1; /* NULL */
-static int hf_nr_rrc_spare11 = -1; /* NULL */
-static int hf_nr_rrc_spare10 = -1; /* NULL */
-static int hf_nr_rrc_spare9 = -1; /* NULL */
-static int hf_nr_rrc_spare8 = -1; /* NULL */
+static int hf_nr_rrc_ueRadioPagingInformation = -1; /* UERadioPagingInformation_IEs */
static int hf_nr_rrc_spare7 = -1; /* NULL */
static int hf_nr_rrc_spare6 = -1; /* NULL */
static int hf_nr_rrc_spare5 = -1; /* NULL */
static int hf_nr_rrc_spare4 = -1; /* NULL */
-static int hf_nr_rrc_messageClassExtension_01 = -1; /* T_messageClassExtension_01 */
-static int hf_nr_rrc_message_02 = -1; /* UL_DCCH_MessageType */
+static int hf_nr_rrc_criticalExtensionsFuture_05 = -1; /* T_criticalExtensionsFuture_05 */
+static int hf_nr_rrc_supportedBandListNRForPaging = -1; /* SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR */
+static int hf_nr_rrc_supportedBandListNRForPaging_item = -1; /* FreqBandIndicatorNR */
+static int hf_nr_rrc_nonCriticalExtension_05 = -1; /* T_nonCriticalExtension_05 */
+static int hf_nr_rrc_criticalExtensions_06 = -1; /* T_criticalExtensions_06 */
static int hf_nr_rrc_c1_06 = -1; /* T_c1_06 */
+static int hf_nr_rrc_ueRadioAccessCapabilityInformation = -1; /* UERadioAccessCapabilityInformation_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_06 = -1; /* T_criticalExtensionsFuture_06 */
+static int hf_nr_rrc_ue_RadioAccessCapabilityInfo = -1; /* T_ue_RadioAccessCapabilityInfo */
+static int hf_nr_rrc_nonCriticalExtension_06 = -1; /* T_nonCriticalExtension_06 */
+static int hf_nr_rrc_message = -1; /* BCCH_BCH_MessageType */
+static int hf_nr_rrc_mib = -1; /* MIB */
+static int hf_nr_rrc_messageClassExtension = -1; /* T_messageClassExtension */
+static int hf_nr_rrc_message_01 = -1; /* BCCH_DL_SCH_MessageType */
+static int hf_nr_rrc_c1_07 = -1; /* T_c1_07 */
+static int hf_nr_rrc_systemInformation = -1; /* SystemInformation */
+static int hf_nr_rrc_systemInformationBlockType1 = -1; /* SIB1 */
+static int hf_nr_rrc_messageClassExtension_01 = -1; /* T_messageClassExtension_01 */
+static int hf_nr_rrc_message_02 = -1; /* DL_CCCH_MessageType */
+static int hf_nr_rrc_c1_08 = -1; /* T_c1_08 */
+static int hf_nr_rrc_rrcReject = -1; /* RRCReject */
+static int hf_nr_rrc_rrcSetup = -1; /* RRCSetup */
+static int hf_nr_rrc_messageClassExtension_02 = -1; /* T_messageClassExtension_02 */
+static int hf_nr_rrc_message_03 = -1; /* DL_DCCH_MessageType */
+static int hf_nr_rrc_c1_09 = -1; /* T_c1_09 */
+static int hf_nr_rrc_rrcReconfiguration_01 = -1; /* RRCReconfiguration */
+static int hf_nr_rrc_rrcResume = -1; /* RRCResume */
+static int hf_nr_rrc_rrcRelease = -1; /* RRCRelease */
+static int hf_nr_rrc_rrcReestablishment = -1; /* RRCReestablishment */
+static int hf_nr_rrc_securityModeCommand = -1; /* SecurityModeCommand */
+static int hf_nr_rrc_dlInformationTransfer = -1; /* DLInformationTransfer */
+static int hf_nr_rrc_ueCapabilityEnquiry = -1; /* UECapabilityEnquiry */
+static int hf_nr_rrc_counterCheck = -1; /* CounterCheck */
+static int hf_nr_rrc_mobilityFromNRCommand = -1; /* MobilityFromNRCommand */
+static int hf_nr_rrc_messageClassExtension_03 = -1; /* T_messageClassExtension_03 */
+static int hf_nr_rrc_message_04 = -1; /* PCCH_MessageType */
+static int hf_nr_rrc_c1_10 = -1; /* T_c1_10 */
+static int hf_nr_rrc_paging = -1; /* Paging */
+static int hf_nr_rrc_messageClassExtension_04 = -1; /* T_messageClassExtension_04 */
+static int hf_nr_rrc_message_05 = -1; /* UL_CCCH_MessageType */
+static int hf_nr_rrc_c1_11 = -1; /* T_c1_11 */
+static int hf_nr_rrc_rrcSetupRequest = -1; /* RRCSetupRequest */
+static int hf_nr_rrc_rrcResumeRequest = -1; /* RRCResumeRequest */
+static int hf_nr_rrc_rrcReestablishmentRequest = -1; /* RRCReestablishmentRequest */
+static int hf_nr_rrc_rrcSystemInfoRequest = -1; /* RRCSystemInfoRequest */
+static int hf_nr_rrc_messageClassExtension_05 = -1; /* T_messageClassExtension_05 */
+static int hf_nr_rrc_message_06 = -1; /* UL_CCCH1_MessageType */
+static int hf_nr_rrc_c1_12 = -1; /* T_c1_12 */
+static int hf_nr_rrc_rrcResumeRequest1 = -1; /* RRCResumeRequest1 */
+static int hf_nr_rrc_messageClassExtension_06 = -1; /* T_messageClassExtension_06 */
+static int hf_nr_rrc_message_07 = -1; /* UL_DCCH_MessageType */
+static int hf_nr_rrc_c1_13 = -1; /* T_c1_13 */
static int hf_nr_rrc_measurementReport = -1; /* MeasurementReport */
static int hf_nr_rrc_rrcReconfigurationComplete = -1; /* RRCReconfigurationComplete */
-static int hf_nr_rrc_messageClassExtension_02 = -1; /* T_messageClassExtension_02 */
+static int hf_nr_rrc_rrcSetupComplete = -1; /* RRCSetupComplete */
+static int hf_nr_rrc_rrcReestablishmentComplete = -1; /* RRCReestablishmentComplete */
+static int hf_nr_rrc_rrcResumeComplete = -1; /* RRCResumeComplete */
+static int hf_nr_rrc_securityModeComplete = -1; /* SecurityModeComplete */
+static int hf_nr_rrc_securityModeFailure = -1; /* SecurityModeFailure */
+static int hf_nr_rrc_ulInformationTransfer = -1; /* ULInformationTransfer */
+static int hf_nr_rrc_locationMeasurementIndication = -1; /* LocationMeasurementIndication */
+static int hf_nr_rrc_ueCapabilityInformation = -1; /* UECapabilityInformation */
+static int hf_nr_rrc_counterCheckResponse = -1; /* CounterCheckResponse */
+static int hf_nr_rrc_ueAssistanceInformation = -1; /* UEAssistanceInformation */
+static int hf_nr_rrc_messageClassExtension_07 = -1; /* T_messageClassExtension_07 */
+static int hf_nr_rrc_rrc_TransactionIdentifier = -1; /* RRC_TransactionIdentifier */
+static int hf_nr_rrc_criticalExtensions_07 = -1; /* T_criticalExtensions_07 */
+static int hf_nr_rrc_counterCheck_01 = -1; /* CounterCheck_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_07 = -1; /* T_criticalExtensionsFuture_07 */
+static int hf_nr_rrc_drb_CountMSB_InfoList = -1; /* DRB_CountMSB_InfoList */
+static int hf_nr_rrc_lateNonCriticalExtension = -1; /* OCTET_STRING */
+static int hf_nr_rrc_nonCriticalExtension_07 = -1; /* T_nonCriticalExtension_07 */
+static int hf_nr_rrc_DRB_CountMSB_InfoList_item = -1; /* DRB_CountMSB_Info */
+static int hf_nr_rrc_drb_Identity = -1; /* DRB_Identity */
+static int hf_nr_rrc_countMSB_Uplink = -1; /* INTEGER_0_33554431 */
+static int hf_nr_rrc_countMSB_Downlink = -1; /* INTEGER_0_33554431 */
+static int hf_nr_rrc_criticalExtensions_08 = -1; /* T_criticalExtensions_08 */
+static int hf_nr_rrc_counterCheckResponse_01 = -1; /* CounterCheckResponse_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_08 = -1; /* T_criticalExtensionsFuture_08 */
+static int hf_nr_rrc_drb_CountInfoList = -1; /* DRB_CountInfoList */
+static int hf_nr_rrc_nonCriticalExtension_08 = -1; /* T_nonCriticalExtension_08 */
+static int hf_nr_rrc_DRB_CountInfoList_item = -1; /* DRB_CountInfo */
+static int hf_nr_rrc_count_Uplink = -1; /* INTEGER_0_4294967295 */
+static int hf_nr_rrc_count_Downlink = -1; /* INTEGER_0_4294967295 */
+static int hf_nr_rrc_criticalExtensions_09 = -1; /* T_criticalExtensions_09 */
+static int hf_nr_rrc_dlInformationTransfer_01 = -1; /* DLInformationTransfer_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_09 = -1; /* T_criticalExtensionsFuture_09 */
+static int hf_nr_rrc_dedicatedNAS_Message = -1; /* DedicatedNAS_Message */
+static int hf_nr_rrc_nonCriticalExtension_09 = -1; /* T_nonCriticalExtension_09 */
+static int hf_nr_rrc_criticalExtensions_10 = -1; /* T_criticalExtensions_10 */
+static int hf_nr_rrc_locationMeasurementIndication_01 = -1; /* LocationMeasurementIndication_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_10 = -1; /* T_criticalExtensionsFuture_10 */
+static int hf_nr_rrc_measurementIndication = -1; /* T_measurementIndication */
+static int hf_nr_rrc_setup_01 = -1; /* LocationMeasurementInfo */
+static int hf_nr_rrc_nonCriticalExtension_10 = -1; /* T_nonCriticalExtension_10 */
static int hf_nr_rrc_systemFrameNumber = -1; /* BIT_STRING_SIZE_6 */
static int hf_nr_rrc_subCarrierSpacingCommon = -1; /* T_subCarrierSpacingCommon */
static int hf_nr_rrc_ssb_SubcarrierOffset = -1; /* INTEGER_0_15 */
static int hf_nr_rrc_dmrs_TypeA_Position = -1; /* T_dmrs_TypeA_Position */
-static int hf_nr_rrc_pdcch_ConfigSIB1 = -1; /* INTEGER_0_255 */
+static int hf_nr_rrc_pdcch_ConfigSIB1 = -1; /* PDCCH_ConfigSIB1 */
static int hf_nr_rrc_cellBarred = -1; /* T_cellBarred */
static int hf_nr_rrc_intraFreqReselection = -1; /* T_intraFreqReselection */
static int hf_nr_rrc_spare = -1; /* BIT_STRING_SIZE_1 */
-static int hf_nr_rrc_criticalExtensions_05 = -1; /* T_criticalExtensions_05 */
+static int hf_nr_rrc_criticalExtensions_11 = -1; /* T_criticalExtensions_11 */
static int hf_nr_rrc_measurementReport_01 = -1; /* MeasurementReport_IEs */
-static int hf_nr_rrc_criticalExtensionsFuture_05 = -1; /* T_criticalExtensionsFuture_05 */
+static int hf_nr_rrc_criticalExtensionsFuture_11 = -1; /* T_criticalExtensionsFuture_11 */
static int hf_nr_rrc_measResults = -1; /* MeasResults */
-static int hf_nr_rrc_lateNonCriticalExtension = -1; /* OCTET_STRING */
-static int hf_nr_rrc_nonCriticalExtension_05 = -1; /* T_nonCriticalExtension_05 */
-static int hf_nr_rrc_rrc_TransactionIdentifier = -1; /* RRC_TransactionIdentifier */
-static int hf_nr_rrc_criticalExtensions_06 = -1; /* T_criticalExtensions_06 */
-static int hf_nr_rrc_rrcReconfiguration_01 = -1; /* RRCReconfiguration_IEs */
-static int hf_nr_rrc_criticalExtensionsFuture_06 = -1; /* T_criticalExtensionsFuture_06 */
+static int hf_nr_rrc_nonCriticalExtension_11 = -1; /* T_nonCriticalExtension_11 */
+static int hf_nr_rrc_criticalExtensions_12 = -1; /* T_criticalExtensions_12 */
+static int hf_nr_rrc_mobilityFromNRCommand_01 = -1; /* MobilityFromNRCommand_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_12 = -1; /* T_criticalExtensionsFuture_12 */
+static int hf_nr_rrc_targetRAT_Type = -1; /* T_targetRAT_Type */
+static int hf_nr_rrc_targetRAT_MessageContainer = -1; /* T_targetRAT_MessageContainer */
+static int hf_nr_rrc_nas_SecurityParamFromNR = -1; /* OCTET_STRING */
+static int hf_nr_rrc_nonCriticalExtension_12 = -1; /* T_nonCriticalExtension_12 */
+static int hf_nr_rrc_pagingRecordList = -1; /* PagingRecordList */
+static int hf_nr_rrc_nonCriticalExtension_13 = -1; /* T_nonCriticalExtension_13 */
+static int hf_nr_rrc_PagingRecordList_item = -1; /* PagingRecord */
+static int hf_nr_rrc_ue_Identity = -1; /* PagingUE_Identity */
+static int hf_nr_rrc_accessType = -1; /* T_accessType */
+static int hf_nr_rrc_ng_5G_S_TMSI = -1; /* NG_5G_S_TMSI */
+static int hf_nr_rrc_i_RNTI = -1; /* I_RNTI_Value */
+static int hf_nr_rrc_criticalExtensions_13 = -1; /* T_criticalExtensions_13 */
+static int hf_nr_rrc_rrcReestablishment_01 = -1; /* RRCReestablishment_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_13 = -1; /* T_criticalExtensionsFuture_13 */
+static int hf_nr_rrc_nextHopChainingCount = -1; /* NextHopChainingCount */
+static int hf_nr_rrc_nonCriticalExtension_14 = -1; /* T_nonCriticalExtension_14 */
+static int hf_nr_rrc_criticalExtensions_14 = -1; /* T_criticalExtensions_14 */
+static int hf_nr_rrc_rrcReestablishmentComplete_01 = -1; /* RRCReestablishmentComplete_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_14 = -1; /* T_criticalExtensionsFuture_14 */
+static int hf_nr_rrc_nonCriticalExtension_15 = -1; /* T_nonCriticalExtension_15 */
+static int hf_nr_rrc_rrcReestablishmentRequest_01 = -1; /* RRCReestablishmentRequest_IEs */
+static int hf_nr_rrc_ue_Identity_01 = -1; /* ReestabUE_Identity */
+static int hf_nr_rrc_reestablishmentCause = -1; /* ReestablishmentCause */
+static int hf_nr_rrc_c_RNTI = -1; /* RNTI_Value */
+static int hf_nr_rrc_physCellId = -1; /* PhysCellId */
+static int hf_nr_rrc_criticalExtensions_15 = -1; /* T_criticalExtensions_15 */
+static int hf_nr_rrc_rrcReconfiguration_02 = -1; /* RRCReconfiguration_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_15 = -1; /* T_criticalExtensionsFuture_15 */
static int hf_nr_rrc_radioBearerConfig = -1; /* RadioBearerConfig */
static int hf_nr_rrc_secondaryCellGroup = -1; /* T_secondaryCellGroup */
static int hf_nr_rrc_measConfig = -1; /* MeasConfig */
-static int hf_nr_rrc_nonCriticalExtension_06 = -1; /* T_nonCriticalExtension_06 */
-static int hf_nr_rrc_criticalExtensions_07 = -1; /* T_criticalExtensions_07 */
+static int hf_nr_rrc_nonCriticalExtension_16 = -1; /* RRCReconfiguration_v1530_IEs */
+static int hf_nr_rrc_masterCellGroup = -1; /* T_masterCellGroup */
+static int hf_nr_rrc_fullConfig = -1; /* T_fullConfig */
+static int hf_nr_rrc_dedicatedNAS_MessageList = -1; /* SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message */
+static int hf_nr_rrc_dedicatedNAS_MessageList_item = -1; /* DedicatedNAS_Message */
+static int hf_nr_rrc_masterKeyUpdate = -1; /* MasterKeyUpdate */
+static int hf_nr_rrc_dedicatedSIB1_Delivery = -1; /* T_dedicatedSIB1_Delivery */
+static int hf_nr_rrc_dedicatedSystemInformationDelivery = -1; /* T_dedicatedSystemInformationDelivery */
+static int hf_nr_rrc_otherConfig = -1; /* OtherConfig */
+static int hf_nr_rrc_nonCriticalExtension_17 = -1; /* T_nonCriticalExtension_16 */
+static int hf_nr_rrc_keySetChangeIndicator = -1; /* BOOLEAN */
+static int hf_nr_rrc_nas_Container = -1; /* T_nas_Container */
+static int hf_nr_rrc_criticalExtensions_16 = -1; /* T_criticalExtensions_16 */
static int hf_nr_rrc_rrcReconfigurationComplete_01 = -1; /* RRCReconfigurationComplete_IEs */
-static int hf_nr_rrc_criticalExtensionsFuture_07 = -1; /* T_criticalExtensionsFuture_07 */
-static int hf_nr_rrc_nonCriticalExtension_07 = -1; /* T_nonCriticalExtension_07 */
-static int hf_nr_rrc_frequencyOffsetSSB = -1; /* T_frequencyOffsetSSB */
-static int hf_nr_rrc_ssb_PositionsInBurst = -1; /* T_ssb_PositionsInBurst */
-static int hf_nr_rrc_inOneGroup = -1; /* BIT_STRING_SIZE_8 */
-static int hf_nr_rrc_groupPresence = -1; /* BIT_STRING_SIZE_8 */
-static int hf_nr_rrc_ssb_PeriodicityServingCell = -1; /* T_ssb_PeriodicityServingCell */
-static int hf_nr_rrc_ss_PBCH_BlockPower = -1; /* INTEGER_M60_50 */
-static int hf_nr_rrc_uplinkConfigCommon = -1; /* UplinkConfigCommon */
-static int hf_nr_rrc_supplementaryUplink = -1; /* T_supplementaryUplink */
-static int hf_nr_rrc_tdd_UL_DL_Configuration = -1; /* TDD_UL_DL_ConfigCommon */
-static int hf_nr_rrc_tdd_UL_DL_configurationCommon2 = -1; /* TDD_UL_DL_ConfigCommon */
-static int hf_nr_rrc_pdcch_ConfigCommon = -1; /* PDCCH_ConfigCommon */
-static int hf_nr_rrc_pucch_ConfigCommon = -1; /* PUCCH_ConfigCommon */
-static int hf_nr_rrc_nonCriticalExtension_08 = -1; /* T_nonCriticalExtension_08 */
-static int hf_nr_rrc_locationAndBandwidth = -1; /* INTEGER_0_37949 */
-static int hf_nr_rrc_subcarrierSpacing = -1; /* SubcarrierSpacing */
-static int hf_nr_rrc_cyclicPrefix = -1; /* T_cyclicPrefix */
-static int hf_nr_rrc_bwp_Id = -1; /* BWP_Id */
-static int hf_nr_rrc_bwp_Common = -1; /* BWP_UplinkCommon */
-static int hf_nr_rrc_bwp_Dedicated = -1; /* BWP_UplinkDedicated */
-static int hf_nr_rrc_genericParameters = -1; /* BWP */
-static int hf_nr_rrc_rach_ConfigCommon = -1; /* T_rach_ConfigCommon */
-static int hf_nr_rrc_setup_01 = -1; /* RACH_ConfigCommon */
-static int hf_nr_rrc_pusch_ConfigCommon = -1; /* T_pusch_ConfigCommon */
-static int hf_nr_rrc_setup_02 = -1; /* PUSCH_ConfigCommon */
-static int hf_nr_rrc_pucch_ConfigCommon_01 = -1; /* T_pucch_ConfigCommon */
-static int hf_nr_rrc_setup_03 = -1; /* PUCCH_ConfigCommon */
-static int hf_nr_rrc_pucch_Config = -1; /* T_pucch_Config */
-static int hf_nr_rrc_setup_04 = -1; /* PUCCH_Config */
-static int hf_nr_rrc_pusch_Config = -1; /* T_pusch_Config */
-static int hf_nr_rrc_setup_05 = -1; /* PUSCH_Config */
-static int hf_nr_rrc_configuredGrantConfig = -1; /* T_configuredGrantConfig */
-static int hf_nr_rrc_setup_06 = -1; /* ConfiguredGrantConfig */
-static int hf_nr_rrc_srs_Config = -1; /* T_srs_Config */
-static int hf_nr_rrc_setup_07 = -1; /* SRS_Config */
-static int hf_nr_rrc_beamFailureRecoveryConfig = -1; /* T_beamFailureRecoveryConfig */
-static int hf_nr_rrc_setup_08 = -1; /* BeamFailureRecoveryConfig */
-static int hf_nr_rrc_bwp_Common_01 = -1; /* BWP_DownlinkCommon */
-static int hf_nr_rrc_bwp_Dedicated_01 = -1; /* BWP_DownlinkDedicated */
-static int hf_nr_rrc_pdcch_ConfigCommon_01 = -1; /* T_pdcch_ConfigCommon */
-static int hf_nr_rrc_setup_09 = -1; /* PDCCH_ConfigCommon */
-static int hf_nr_rrc_pdsch_ConfigCommon = -1; /* T_pdsch_ConfigCommon */
-static int hf_nr_rrc_setup_10 = -1; /* PDSCH_ConfigCommon */
-static int hf_nr_rrc_pdcch_Config = -1; /* T_pdcch_Config */
-static int hf_nr_rrc_setup_11 = -1; /* PDCCH_Config */
-static int hf_nr_rrc_pdsch_Config = -1; /* T_pdsch_Config */
-static int hf_nr_rrc_setup_12 = -1; /* PDSCH_Config */
-static int hf_nr_rrc_sps_Config = -1; /* T_sps_Config */
-static int hf_nr_rrc_setup_13 = -1; /* SPS_Config */
-static int hf_nr_rrc_radioLinkMonitoringConfig = -1; /* T_radioLinkMonitoringConfig */
-static int hf_nr_rrc_setup_14 = -1; /* RadioLinkMonitoringConfig */
+static int hf_nr_rrc_criticalExtensionsFuture_16 = -1; /* T_criticalExtensionsFuture_16 */
+static int hf_nr_rrc_nonCriticalExtension_18 = -1; /* RRCReconfigurationComplete_v1530_IEs */
+static int hf_nr_rrc_uplinkTxDirectCurrentList = -1; /* UplinkTxDirectCurrentList */
+static int hf_nr_rrc_nonCriticalExtension_19 = -1; /* T_nonCriticalExtension_17 */
+static int hf_nr_rrc_criticalExtensions_17 = -1; /* T_criticalExtensions_17 */
+static int hf_nr_rrc_rrcReject_01 = -1; /* RRCReject_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_17 = -1; /* T_criticalExtensionsFuture_17 */
+static int hf_nr_rrc_waitTime = -1; /* RejectWaitTime */
+static int hf_nr_rrc_nonCriticalExtension_20 = -1; /* T_nonCriticalExtension_18 */
+static int hf_nr_rrc_criticalExtensions_18 = -1; /* T_criticalExtensions_18 */
+static int hf_nr_rrc_rrcRelease_01 = -1; /* RRCRelease_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_18 = -1; /* T_criticalExtensionsFuture_18 */
+static int hf_nr_rrc_redirectedCarrierInfo = -1; /* RedirectedCarrierInfo */
+static int hf_nr_rrc_cellReselectionPriorities = -1; /* CellReselectionPriorities */
+static int hf_nr_rrc_suspendConfig = -1; /* SuspendConfig */
+static int hf_nr_rrc_deprioritisationReq = -1; /* T_deprioritisationReq */
+static int hf_nr_rrc_deprioritisationType = -1; /* T_deprioritisationType */
+static int hf_nr_rrc_deprioritisationTimer = -1; /* T_deprioritisationTimer */
+static int hf_nr_rrc_nonCriticalExtension_21 = -1; /* T_nonCriticalExtension_19 */
+static int hf_nr_rrc_nr = -1; /* CarrierInfoNR */
+static int hf_nr_rrc_eutra = -1; /* RedirectedCarrierInfo_EUTRA */
+static int hf_nr_rrc_eutraFrequency = -1; /* ARFCN_ValueEUTRA */
+static int hf_nr_rrc_cnType_r15 = -1; /* T_cnType_r15 */
+static int hf_nr_rrc_smtc = -1; /* SSB_MTC */
+static int hf_nr_rrc_fullI_RNTI = -1; /* I_RNTI_Value */
+static int hf_nr_rrc_shortI_RNTI = -1; /* ShortI_RNTI_Value */
+static int hf_nr_rrc_ran_PagingCycle = -1; /* PagingCycle */
+static int hf_nr_rrc_t380 = -1; /* PeriodicRNAU_TimerValue */
+static int hf_nr_rrc_freqPriorityListEUTRA = -1; /* FreqPriorityListEUTRA */
+static int hf_nr_rrc_freqPriorityListNR = -1; /* FreqPriorityListNR */
+static int hf_nr_rrc_t320 = -1; /* T_t320 */
+static int hf_nr_rrc_FreqPriorityListEUTRA_item = -1; /* FreqPriorityEUTRA */
+static int hf_nr_rrc_FreqPriorityListNR_item = -1; /* FreqPriorityNR */
+static int hf_nr_rrc_carrierFreq_01 = -1; /* ARFCN_ValueEUTRA */
+static int hf_nr_rrc_cellReselectionPriority = -1; /* CellReselectionPriority */
+static int hf_nr_rrc_cellReselectionSubPriority = -1; /* CellReselectionSubPriority */
+static int hf_nr_rrc_cellList = -1; /* PLMN_RAN_AreaCellList */
+static int hf_nr_rrc_ran_AreaConfigList = -1; /* PLMN_RAN_AreaConfigList */
+static int hf_nr_rrc_PLMN_RAN_AreaCellList_item = -1; /* PLMN_RAN_AreaCell */
+static int hf_nr_rrc_plmn_Identity = -1; /* PLMN_Identity */
+static int hf_nr_rrc_ran_AreaCells = -1; /* SEQUENCE_SIZE_1_32_OF_CellIdentity */
+static int hf_nr_rrc_ran_AreaCells_item = -1; /* CellIdentity */
+static int hf_nr_rrc_PLMN_RAN_AreaConfigList_item = -1; /* PLMN_RAN_AreaConfig */
+static int hf_nr_rrc_ran_Area = -1; /* SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig */
+static int hf_nr_rrc_ran_Area_item = -1; /* RAN_AreaConfig */
+static int hf_nr_rrc_trackingAreaCode = -1; /* TrackingAreaCode */
+static int hf_nr_rrc_ran_AreaCodeList = -1; /* SEQUENCE_SIZE_1_32_OF_RAN_AreaCode */
+static int hf_nr_rrc_ran_AreaCodeList_item = -1; /* RAN_AreaCode */
+static int hf_nr_rrc_criticalExtensions_19 = -1; /* T_criticalExtensions_19 */
+static int hf_nr_rrc_rrcResume_01 = -1; /* RRCResume_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_19 = -1; /* T_criticalExtensionsFuture_19 */
+static int hf_nr_rrc_masterCellGroup_01 = -1; /* T_masterCellGroup_01 */
+static int hf_nr_rrc_fullConfig_01 = -1; /* T_fullConfig_01 */
+static int hf_nr_rrc_nonCriticalExtension_22 = -1; /* T_nonCriticalExtension_20 */
+static int hf_nr_rrc_criticalExtensions_20 = -1; /* T_criticalExtensions_20 */
+static int hf_nr_rrc_rrcResumeComplete_01 = -1; /* RRCResumeComplete_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_20 = -1; /* T_criticalExtensionsFuture_20 */
+static int hf_nr_rrc_selectedPLMN_Identity = -1; /* INTEGER_1_maxPLMN */
+static int hf_nr_rrc_nonCriticalExtension_23 = -1; /* T_nonCriticalExtension_21 */
+static int hf_nr_rrc_rrcResumeRequest_01 = -1; /* RRCResumeRequest_IEs */
+static int hf_nr_rrc_resumeIdentity = -1; /* ShortI_RNTI_Value */
+static int hf_nr_rrc_resumeMAC_I = -1; /* BIT_STRING_SIZE_16 */
+static int hf_nr_rrc_resumeCause = -1; /* ResumeCause */
+static int hf_nr_rrc_rrcResumeRequest1_01 = -1; /* RRCResumeRequest1_IEs */
+static int hf_nr_rrc_resumeIdentity_01 = -1; /* I_RNTI_Value */
+static int hf_nr_rrc_criticalExtensions_21 = -1; /* T_criticalExtensions_21 */
+static int hf_nr_rrc_rrcSetup_01 = -1; /* RRCSetup_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_21 = -1; /* T_criticalExtensionsFuture_21 */
+static int hf_nr_rrc_masterCellGroup_02 = -1; /* T_masterCellGroup_02 */
+static int hf_nr_rrc_nonCriticalExtension_24 = -1; /* T_nonCriticalExtension_22 */
+static int hf_nr_rrc_criticalExtensions_22 = -1; /* T_criticalExtensions_22 */
+static int hf_nr_rrc_rrcSetupComplete_01 = -1; /* RRCSetupComplete_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_22 = -1; /* T_criticalExtensionsFuture_22 */
+static int hf_nr_rrc_registeredAMF = -1; /* RegisteredAMF */
+static int hf_nr_rrc_guami_Type = -1; /* T_guami_Type */
+static int hf_nr_rrc_s_nssai_List = -1; /* SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI */
+static int hf_nr_rrc_s_nssai_List_item = -1; /* S_NSSAI */
+static int hf_nr_rrc_ng_5G_S_TMSI_Value = -1; /* T_ng_5G_S_TMSI_Value */
+static int hf_nr_rrc_ng_5G_S_TMSI_Part2 = -1; /* BIT_STRING_SIZE_9 */
+static int hf_nr_rrc_nonCriticalExtension_25 = -1; /* T_nonCriticalExtension_23 */
+static int hf_nr_rrc_amf_Identifier = -1; /* AMF_Identifier */
+static int hf_nr_rrc_rrcSetupRequest_01 = -1; /* RRCSetupRequest_IEs */
+static int hf_nr_rrc_ue_Identity_02 = -1; /* InitialUE_Identity */
+static int hf_nr_rrc_establishmentCause = -1; /* EstablishmentCause */
+static int hf_nr_rrc_ng_5G_S_TMSI_Part1 = -1; /* BIT_STRING_SIZE_39 */
+static int hf_nr_rrc_randomValue = -1; /* BIT_STRING_SIZE_39 */
+static int hf_nr_rrc_criticalExtensions_23 = -1; /* T_criticalExtensions_23 */
+static int hf_nr_rrc_rrcSystemInfoRequest_r15 = -1; /* RRCSystemInfoRequest_r15_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_23 = -1; /* T_criticalExtensionsFuture_23 */
+static int hf_nr_rrc_requested_SI_List = -1; /* BIT_STRING_SIZE_maxSI_Message */
+static int hf_nr_rrc_spare_01 = -1; /* BIT_STRING_SIZE_12 */
+static int hf_nr_rrc_criticalExtensions_24 = -1; /* T_criticalExtensions_24 */
+static int hf_nr_rrc_securityModeCommand_01 = -1; /* SecurityModeCommand_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_24 = -1; /* T_criticalExtensionsFuture_24 */
+static int hf_nr_rrc_securityConfigSMC = -1; /* SecurityConfigSMC */
+static int hf_nr_rrc_nonCriticalExtension_26 = -1; /* T_nonCriticalExtension_24 */
+static int hf_nr_rrc_securityAlgorithmConfig = -1; /* SecurityAlgorithmConfig */
+static int hf_nr_rrc_criticalExtensions_25 = -1; /* T_criticalExtensions_25 */
+static int hf_nr_rrc_securityModeComplete_01 = -1; /* SecurityModeComplete_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_25 = -1; /* T_criticalExtensionsFuture_25 */
+static int hf_nr_rrc_nonCriticalExtension_27 = -1; /* T_nonCriticalExtension_25 */
+static int hf_nr_rrc_criticalExtensions_26 = -1; /* T_criticalExtensions_26 */
+static int hf_nr_rrc_securityModeFailure_01 = -1; /* SecurityModeFailure_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_26 = -1; /* T_criticalExtensionsFuture_26 */
+static int hf_nr_rrc_nonCriticalExtension_28 = -1; /* T_nonCriticalExtension_26 */
+static int hf_nr_rrc_cellSelectionInfo = -1; /* T_cellSelectionInfo */
+static int hf_nr_rrc_q_RxLevMin = -1; /* Q_RxLevMin */
+static int hf_nr_rrc_q_RxLevMinOffset = -1; /* INTEGER_1_8 */
+static int hf_nr_rrc_q_RxLevMinSUL = -1; /* Q_RxLevMin */
+static int hf_nr_rrc_q_QualMin = -1; /* Q_QualMin */
+static int hf_nr_rrc_q_QualMinOffset = -1; /* INTEGER_1_8 */
+static int hf_nr_rrc_cellAccessRelatedInfo = -1; /* CellAccessRelatedInfo */
+static int hf_nr_rrc_connEstFailureControl = -1; /* ConnEstFailureControl */
+static int hf_nr_rrc_si_SchedulingInfo = -1; /* SI_SchedulingInfo */
+static int hf_nr_rrc_servingCellConfigCommon = -1; /* ServingCellConfigCommonSIB */
+static int hf_nr_rrc_ims_EmergencySupport = -1; /* T_ims_EmergencySupport */
+static int hf_nr_rrc_eCallOverIMS_Support = -1; /* T_eCallOverIMS_Support */
+static int hf_nr_rrc_ue_TimersAndConstants = -1; /* UE_TimersAndConstants */
+static int hf_nr_rrc_uac_BarringInfo = -1; /* T_uac_BarringInfo */
+static int hf_nr_rrc_uac_BarringForCommon = -1; /* UAC_BarringPerCatList */
+static int hf_nr_rrc_uac_BarringPerPLMN_List = -1; /* UAC_BarringPerPLMN_List */
+static int hf_nr_rrc_uac_BarringInfoSetList = -1; /* UAC_BarringInfoSetList */
+static int hf_nr_rrc_uac_AccessCategory1_SelectionAssistanceInfo = -1; /* T_uac_AccessCategory1_SelectionAssistanceInfo */
+static int hf_nr_rrc_plmnCommon = -1; /* UAC_AccessCategory1_SelectionAssistanceInfo */
+static int hf_nr_rrc_individualPLMNList = -1; /* SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo */
+static int hf_nr_rrc_individualPLMNList_item = -1; /* UAC_AccessCategory1_SelectionAssistanceInfo */
+static int hf_nr_rrc_useFullResumeID = -1; /* T_useFullResumeID */
+static int hf_nr_rrc_nonCriticalExtension_29 = -1; /* T_nonCriticalExtension_27 */
+static int hf_nr_rrc_criticalExtensions_27 = -1; /* T_criticalExtensions_27 */
+static int hf_nr_rrc_systemInformation_r15 = -1; /* SystemInformation_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_27 = -1; /* T_criticalExtensionsFuture_27 */
+static int hf_nr_rrc_sib_TypeAndInfo = -1; /* T_sib_TypeAndInfo */
+static int hf_nr_rrc_sib_TypeAndInfo_item = -1; /* T_sib_TypeAndInfo_item */
+static int hf_nr_rrc_sib2 = -1; /* SIB2 */
+static int hf_nr_rrc_sib3 = -1; /* SIB3 */
+static int hf_nr_rrc_sib4 = -1; /* SIB4 */
+static int hf_nr_rrc_sib5 = -1; /* SIB5 */
+static int hf_nr_rrc_sib6 = -1; /* SIB6 */
+static int hf_nr_rrc_sib7 = -1; /* SIB7 */
+static int hf_nr_rrc_sib8 = -1; /* SIB8 */
+static int hf_nr_rrc_sib9 = -1; /* SIB9 */
+static int hf_nr_rrc_nonCriticalExtension_30 = -1; /* T_nonCriticalExtension_28 */
+static int hf_nr_rrc_criticalExtensions_28 = -1; /* T_criticalExtensions_28 */
+static int hf_nr_rrc_ueAssistanceInformation_01 = -1; /* UEAssistanceInformation_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_28 = -1; /* T_criticalExtensionsFuture_28 */
+static int hf_nr_rrc_delayBudgetReport = -1; /* DelayBudgetReport */
+static int hf_nr_rrc_nonCriticalExtension_31 = -1; /* T_nonCriticalExtension_29 */
+static int hf_nr_rrc_type1 = -1; /* T_type1 */
+static int hf_nr_rrc_criticalExtensions_29 = -1; /* T_criticalExtensions_29 */
+static int hf_nr_rrc_ueCapabilityEnquiry_01 = -1; /* UECapabilityEnquiry_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_29 = -1; /* T_criticalExtensionsFuture_29 */
+static int hf_nr_rrc_ue_CapabilityRAT_RequestList = -1; /* UE_CapabilityRAT_RequestList */
+static int hf_nr_rrc_nonCriticalExtension_32 = -1; /* T_nonCriticalExtension_30 */
+static int hf_nr_rrc_criticalExtensions_30 = -1; /* T_criticalExtensions_30 */
+static int hf_nr_rrc_ueCapabilityInformation_01 = -1; /* UECapabilityInformation_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_30 = -1; /* T_criticalExtensionsFuture_30 */
+static int hf_nr_rrc_ue_CapabilityRAT_ContainerList = -1; /* UE_CapabilityRAT_ContainerList */
+static int hf_nr_rrc_nonCriticalExtension_33 = -1; /* T_nonCriticalExtension_31 */
+static int hf_nr_rrc_criticalExtensions_31 = -1; /* T_criticalExtensions_31 */
+static int hf_nr_rrc_ulInformationTransfer_01 = -1; /* ULInformationTransfer_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_31 = -1; /* T_criticalExtensionsFuture_31 */
+static int hf_nr_rrc_nonCriticalExtension_34 = -1; /* T_nonCriticalExtension_32 */
+static int hf_nr_rrc_cellReselectionInfoCommon = -1; /* T_cellReselectionInfoCommon */
+static int hf_nr_rrc_nrofSS_BlocksToAverage = -1; /* INTEGER_2_maxNrofSS_BlocksToAverage */
+static int hf_nr_rrc_absThreshSS_BlocksConsolidation = -1; /* ThresholdNR */
+static int hf_nr_rrc_rangeToBestCell = -1; /* RangeToBestCell */
+static int hf_nr_rrc_q_Hyst = -1; /* T_q_Hyst */
+static int hf_nr_rrc_speedStateReselectionPars = -1; /* T_speedStateReselectionPars */
+static int hf_nr_rrc_mobilityStateParameters = -1; /* MobilityStateParameters */
+static int hf_nr_rrc_q_HystSF = -1; /* T_q_HystSF */
+static int hf_nr_rrc_sf_Medium = -1; /* T_sf_Medium */
+static int hf_nr_rrc_sf_High = -1; /* T_sf_High */
+static int hf_nr_rrc_cellReselectionServingFreqInfo = -1; /* T_cellReselectionServingFreqInfo */
+static int hf_nr_rrc_s_NonIntraSearchP = -1; /* ReselectionThreshold */
+static int hf_nr_rrc_s_NonIntraSearchQ = -1; /* ReselectionThresholdQ */
+static int hf_nr_rrc_threshServingLowP = -1; /* ReselectionThreshold */
+static int hf_nr_rrc_threshServingLowQ = -1; /* ReselectionThresholdQ */
+static int hf_nr_rrc_intraFreqCellReselectionInfo = -1; /* T_intraFreqCellReselectionInfo */
+static int hf_nr_rrc_s_IntraSearchP = -1; /* ReselectionThreshold */
+static int hf_nr_rrc_s_IntraSearchQ = -1; /* ReselectionThresholdQ */
+static int hf_nr_rrc_t_ReselectionNR = -1; /* T_Reselection */
+static int hf_nr_rrc_frequencyBandList = -1; /* MultiFrequencyBandListNR_SIB */
+static int hf_nr_rrc_frequencyBandListSUL = -1; /* MultiFrequencyBandListNR_SIB */
+static int hf_nr_rrc_p_Max = -1; /* P_Max */
+static int hf_nr_rrc_ssb_ToMeasure = -1; /* SSB_ToMeasure */
+static int hf_nr_rrc_deriveSSB_IndexFromCell = -1; /* BOOLEAN */
+static int hf_nr_rrc_intraFreqNeighCellList = -1; /* IntraFreqNeighCellList */
+static int hf_nr_rrc_intraFreqBlackCellList = -1; /* IntraFreqBlackCellList */
+static int hf_nr_rrc_IntraFreqNeighCellList_item = -1; /* IntraFreqNeighCellInfo */
+static int hf_nr_rrc_q_OffsetCell = -1; /* Q_OffsetRange */
+static int hf_nr_rrc_q_RxLevMinOffsetCell = -1; /* INTEGER_1_8 */
+static int hf_nr_rrc_q_RxLevMinOffsetCellSUL = -1; /* INTEGER_1_8 */
+static int hf_nr_rrc_q_QualMinOffsetCell = -1; /* INTEGER_1_8 */
+static int hf_nr_rrc_IntraFreqBlackCellList_item = -1; /* PCI_Range */
+static int hf_nr_rrc_interFreqCarrierFreqList = -1; /* InterFreqCarrierFreqList */
+static int hf_nr_rrc_InterFreqCarrierFreqList_item = -1; /* InterFreqCarrierFreqInfo */
+static int hf_nr_rrc_dl_CarrierFreq = -1; /* ARFCN_ValueNR */
+static int hf_nr_rrc_t_ReselectionNR_SF = -1; /* SpeedStateScaleFactors */
+static int hf_nr_rrc_threshX_HighP = -1; /* ReselectionThreshold */
+static int hf_nr_rrc_threshX_LowP = -1; /* ReselectionThreshold */
+static int hf_nr_rrc_threshX_Q = -1; /* T_threshX_Q */
+static int hf_nr_rrc_threshX_HighQ = -1; /* ReselectionThresholdQ */
+static int hf_nr_rrc_threshX_LowQ = -1; /* ReselectionThresholdQ */
+static int hf_nr_rrc_q_OffsetFreq = -1; /* Q_OffsetRange */
+static int hf_nr_rrc_interFreqNeighCellList = -1; /* InterFreqNeighCellList */
+static int hf_nr_rrc_interFreqBlackCellList = -1; /* InterFreqBlackCellList */
+static int hf_nr_rrc_InterFreqNeighCellList_item = -1; /* InterFreqNeighCellInfo */
+static int hf_nr_rrc_InterFreqBlackCellList_item = -1; /* PCI_Range */
+static int hf_nr_rrc_carrierFreqListEUTRA = -1; /* CarrierFreqListEUTRA */
+static int hf_nr_rrc_t_ReselectionEUTRA = -1; /* T_Reselection */
+static int hf_nr_rrc_t_ReselectionEUTRA_SF = -1; /* SpeedStateScaleFactors */
+static int hf_nr_rrc_CarrierFreqListEUTRA_item = -1; /* CarrierFreqEUTRA */
+static int hf_nr_rrc_eutra_multiBandInfoList = -1; /* EUTRA_MultiBandInfoList */
+static int hf_nr_rrc_eutra_FreqNeighCellList = -1; /* EUTRA_FreqNeighCellList */
+static int hf_nr_rrc_eutra_BlackCellList = -1; /* EUTRA_FreqBlackCellList */
+static int hf_nr_rrc_allowedMeasBandwidth = -1; /* EUTRA_AllowedMeasBandwidth */
+static int hf_nr_rrc_presenceAntennaPort1 = -1; /* EUTRA_PresenceAntennaPort1 */
+static int hf_nr_rrc_threshX_High = -1; /* ReselectionThreshold */
+static int hf_nr_rrc_threshX_Low = -1; /* ReselectionThreshold */
+static int hf_nr_rrc_q_RxLevMin_01 = -1; /* INTEGER_M70_M22 */
+static int hf_nr_rrc_q_QualMin_01 = -1; /* INTEGER_M34_M3 */
+static int hf_nr_rrc_p_MaxEUTRA = -1; /* INTEGER_M30_33 */
+static int hf_nr_rrc_threshX_Q_01 = -1; /* T_threshX_Q_01 */
+static int hf_nr_rrc_EUTRA_FreqBlackCellList_item = -1; /* EUTRA_PhysCellIdRange */
+static int hf_nr_rrc_EUTRA_FreqNeighCellList_item = -1; /* EUTRA_FreqNeighCellInfo */
+static int hf_nr_rrc_physCellId_01 = -1; /* EUTRA_PhysCellId */
+static int hf_nr_rrc_q_OffsetCell_01 = -1; /* EUTRA_Q_OffsetRange */
+static int hf_nr_rrc_messageIdentifier = -1; /* T_messageIdentifier */
+static int hf_nr_rrc_serialNumber = -1; /* T_serialNumber */
+static int hf_nr_rrc_warningType = -1; /* T_warningType */
+static int hf_nr_rrc_messageIdentifier_01 = -1; /* T_messageIdentifier_01 */
+static int hf_nr_rrc_serialNumber_01 = -1; /* T_serialNumber_01 */
+static int hf_nr_rrc_warningMessageSegmentType = -1; /* T_warningMessageSegmentType */
+static int hf_nr_rrc_warningMessageSegmentNumber = -1; /* T_warningMessageSegmentNumber */
+static int hf_nr_rrc_warningMessageSegment = -1; /* T_warningMessageSegment */
+static int hf_nr_rrc_dataCodingScheme = -1; /* T_dataCodingScheme */
+static int hf_nr_rrc_messageIdentifier_02 = -1; /* T_messageIdentifier_02 */
+static int hf_nr_rrc_serialNumber_02 = -1; /* T_serialNumber_02 */
+static int hf_nr_rrc_warningMessageSegmentType_01 = -1; /* T_warningMessageSegmentType_01 */
+static int hf_nr_rrc_warningMessageSegmentNumber_01 = -1; /* T_warningMessageSegmentNumber_01 */
+static int hf_nr_rrc_warningMessageSegment_01 = -1; /* T_warningMessageSegment_01 */
+static int hf_nr_rrc_dataCodingScheme_01 = -1; /* T_dataCodingScheme_01 */
+static int hf_nr_rrc_warningAreaCoordinatesSegment = -1; /* OCTET_STRING */
+static int hf_nr_rrc_timeInfo = -1; /* T_timeInfo */
+static int hf_nr_rrc_timeInfoUTC = -1; /* T_timeInfoUTC */
+static int hf_nr_rrc_dayLightSavingTime = -1; /* T_dayLightSavingTime */
+static int hf_nr_rrc_leapSeconds = -1; /* INTEGER_M127_128 */
+static int hf_nr_rrc_localTimeOffset = -1; /* INTEGER_M63_64 */
static int hf_nr_rrc_rootSequenceIndex_BFR = -1; /* INTEGER_0_137 */
static int hf_nr_rrc_rach_ConfigBFR = -1; /* RACH_ConfigGeneric */
static int hf_nr_rrc_rsrp_ThresholdSSB = -1; /* RSRP_Range */
@@ -453,6 +844,7 @@ static int hf_nr_rrc_ra_ssb_OccasionMaskIndex = -1; /* INTEGER_0_15 */
static int hf_nr_rrc_recoverySearchSpaceId = -1; /* SearchSpaceId */
static int hf_nr_rrc_ra_Prioritization = -1; /* RA_Prioritization */
static int hf_nr_rrc_beamFailureRecoveryTimer = -1; /* T_beamFailureRecoveryTimer */
+static int hf_nr_rrc_msg1_SubcarrierSpacing_v1530 = -1; /* SubcarrierSpacing */
static int hf_nr_rrc_ssb = -1; /* BFR_SSB_Resource */
static int hf_nr_rrc_csi_RS = -1; /* BFR_CSIRS_Resource */
static int hf_nr_rrc_ssb_01 = -1; /* SSB_Index */
@@ -460,6 +852,61 @@ 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_periodicBSR_Timer = -1; /* T_periodicBSR_Timer */
+static int hf_nr_rrc_retxBSR_Timer = -1; /* T_retxBSR_Timer */
+static int hf_nr_rrc_logicalChannelSR_DelayTimer = -1; /* T_logicalChannelSR_DelayTimer */
+static int hf_nr_rrc_locationAndBandwidth = -1; /* INTEGER_0_37949 */
+static int hf_nr_rrc_subcarrierSpacing = -1; /* SubcarrierSpacing */
+static int hf_nr_rrc_cyclicPrefix = -1; /* T_cyclicPrefix */
+static int hf_nr_rrc_bwp_Id = -1; /* BWP_Id */
+static int hf_nr_rrc_bwp_Common = -1; /* BWP_DownlinkCommon */
+static int hf_nr_rrc_bwp_Dedicated = -1; /* BWP_DownlinkDedicated */
+static int hf_nr_rrc_genericParameters = -1; /* BWP */
+static int hf_nr_rrc_pdcch_ConfigCommon = -1; /* T_pdcch_ConfigCommon */
+static int hf_nr_rrc_setup_02 = -1; /* PDCCH_ConfigCommon */
+static int hf_nr_rrc_pdsch_ConfigCommon = -1; /* T_pdsch_ConfigCommon */
+static int hf_nr_rrc_setup_03 = -1; /* PDSCH_ConfigCommon */
+static int hf_nr_rrc_pdcch_Config = -1; /* T_pdcch_Config */
+static int hf_nr_rrc_setup_04 = -1; /* PDCCH_Config */
+static int hf_nr_rrc_pdsch_Config = -1; /* T_pdsch_Config */
+static int hf_nr_rrc_setup_05 = -1; /* PDSCH_Config */
+static int hf_nr_rrc_sps_Config = -1; /* T_sps_Config */
+static int hf_nr_rrc_setup_06 = -1; /* SPS_Config */
+static int hf_nr_rrc_radioLinkMonitoringConfig = -1; /* T_radioLinkMonitoringConfig */
+static int hf_nr_rrc_setup_07 = -1; /* RadioLinkMonitoringConfig */
+static int hf_nr_rrc_bwp_Common_01 = -1; /* BWP_UplinkCommon */
+static int hf_nr_rrc_bwp_Dedicated_01 = -1; /* BWP_UplinkDedicated */
+static int hf_nr_rrc_rach_ConfigCommon = -1; /* T_rach_ConfigCommon */
+static int hf_nr_rrc_setup_08 = -1; /* RACH_ConfigCommon */
+static int hf_nr_rrc_pusch_ConfigCommon = -1; /* T_pusch_ConfigCommon */
+static int hf_nr_rrc_setup_09 = -1; /* PUSCH_ConfigCommon */
+static int hf_nr_rrc_pucch_ConfigCommon = -1; /* T_pucch_ConfigCommon */
+static int hf_nr_rrc_setup_10 = -1; /* PUCCH_ConfigCommon */
+static int hf_nr_rrc_pucch_Config = -1; /* T_pucch_Config */
+static int hf_nr_rrc_setup_11 = -1; /* PUCCH_Config */
+static int hf_nr_rrc_pusch_Config = -1; /* T_pusch_Config */
+static int hf_nr_rrc_setup_12 = -1; /* PUSCH_Config */
+static int hf_nr_rrc_configuredGrantConfig = -1; /* T_configuredGrantConfig */
+static int hf_nr_rrc_setup_13 = -1; /* ConfiguredGrantConfig */
+static int hf_nr_rrc_srs_Config = -1; /* T_srs_Config */
+static int hf_nr_rrc_setup_14 = -1; /* SRS_Config */
+static int hf_nr_rrc_beamFailureRecoveryConfig = -1; /* T_beamFailureRecoveryConfig */
+static int hf_nr_rrc_setup_15 = -1; /* BeamFailureRecoveryConfig */
+static int hf_nr_rrc_plmn_IdentityList = -1; /* PLMN_IdentityInfoList */
+static int hf_nr_rrc_cellReservedForOtherUse = -1; /* T_cellReservedForOtherUse */
+static int hf_nr_rrc_plmn_IdentityList_eutra_5gc = -1; /* PLMN_IdentityList_EUTRA_5GC */
+static int hf_nr_rrc_trackingAreaCode_eutra_5gc = -1; /* TrackingAreaCode */
+static int hf_nr_rrc_ranac_5gc = -1; /* RAN_AreaCode */
+static int hf_nr_rrc_cellIdentity_eutra_5gc = -1; /* CellIdentity_EUTRA_5GC */
+static int hf_nr_rrc_PLMN_IdentityList_EUTRA_5GC_item = -1; /* PLMN_Identity_EUTRA_5GC */
+static int hf_nr_rrc_plmn_Identity_EUTRA_5GC = -1; /* PLMN_Identity */
+static int hf_nr_rrc_plmn_index = -1; /* INTEGER_1_maxPLMN */
+static int hf_nr_rrc_cellIdentity_EUTRA = -1; /* BIT_STRING_SIZE_28 */
+static int hf_nr_rrc_cellId_index = -1; /* INTEGER_1_maxPLMN */
+static int hf_nr_rrc_plmn_IdentityList_eutra_epc = -1; /* PLMN_IdentityList_EUTRA_EPC */
+static int hf_nr_rrc_trackingAreaCode_eutra_epc = -1; /* BIT_STRING_SIZE_16 */
+static int hf_nr_rrc_cellIdentity_eutra_epc = -1; /* BIT_STRING_SIZE_28 */
+static int hf_nr_rrc_PLMN_IdentityList_EUTRA_EPC_item = -1; /* PLMN_Identity */
static int hf_nr_rrc_cellGroupId = -1; /* CellGroupId */
static int hf_nr_rrc_rlc_BearerToAddModList = -1; /* SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig */
static int hf_nr_rrc_rlc_BearerToAddModList_item = -1; /* RLC_BearerConfig */
@@ -472,9 +919,10 @@ 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_reportUplinkTxDirectCurrent_v1530 = -1; /* T_reportUplinkTxDirectCurrent_v1530 */
static int hf_nr_rrc_reconfigurationWithSync = -1; /* ReconfigurationWithSync */
static int hf_nr_rrc_rlf_TimersAndConstants = -1; /* T_rlf_TimersAndConstants */
-static int hf_nr_rrc_setup_15 = -1; /* RLF_TimersAndConstants */
+static int hf_nr_rrc_setup_16 = -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 */
@@ -482,12 +930,15 @@ static int hf_nr_rrc_newUE_Identity = -1; /* RNTI_Value */
static int hf_nr_rrc_t304 = -1; /* T_t304 */
static int hf_nr_rrc_rach_ConfigDedicated = -1; /* T_rach_ConfigDedicated */
static int hf_nr_rrc_uplink = -1; /* RACH_ConfigDedicated */
-static int hf_nr_rrc_supplementaryUplink_01 = -1; /* RACH_ConfigDedicated */
+static int hf_nr_rrc_supplementaryUplink = -1; /* RACH_ConfigDedicated */
static int hf_nr_rrc_sCellIndex = -1; /* SCellIndex */
static int hf_nr_rrc_sCellConfigCommon = -1; /* ServingCellConfigCommon */
static int hf_nr_rrc_sCellConfigDedicated = -1; /* ServingCellConfig */
+static int hf_nr_rrc_plmn_IdentityInfoList = -1; /* PLMN_IdentityInfoList */
+static int hf_nr_rrc_frequencyBandList_01 = -1; /* MultiFrequencyBandListNR */
+static int hf_nr_rrc_noSIB1 = -1; /* T_noSIB1 */
static int hf_nr_rrc_codebookType = -1; /* T_codebookType */
-static int hf_nr_rrc_type1 = -1; /* T_type1 */
+static int hf_nr_rrc_type1_01 = -1; /* T_type1_01 */
static int hf_nr_rrc_subType = -1; /* T_subType */
static int hf_nr_rrc_typeI_SinglePanel = -1; /* T_typeI_SinglePanel */
static int hf_nr_rrc_nrOfAntennaPorts = -1; /* T_nrOfAntennaPorts */
@@ -551,7 +1002,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_16 = -1; /* CG_UCI_OnPUSCH */
+static int hf_nr_rrc_setup_17 = -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 */
@@ -576,6 +1027,9 @@ static int hf_nr_rrc_pathlossReferenceIndex = -1; /* INTEGER_0_maxNrofPUSCH_Pat
static int hf_nr_rrc_dynamic = -1; /* SEQUENCE_SIZE_1_4_OF_BetaOffsets */
static int hf_nr_rrc_dynamic_item = -1; /* BetaOffsets */
static int hf_nr_rrc_semiStatic = -1; /* BetaOffsets */
+static int hf_nr_rrc_connEstFailCount = -1; /* T_connEstFailCount */
+static int hf_nr_rrc_connEstFailOffsetValidity = -1; /* T_connEstFailOffsetValidity */
+static int hf_nr_rrc_connEstFailOffset = -1; /* INTEGER_0_15 */
static int hf_nr_rrc_controlResourceSetId = -1; /* ControlResourceSetId */
static int hf_nr_rrc_frequencyDomainResources = -1; /* BIT_STRING_SIZE_45 */
static int hf_nr_rrc_duration = -1; /* INTEGER_1_maxCoReSetDuration */
@@ -608,8 +1062,8 @@ static int hf_nr_rrc_resourceSet = -1; /* INTEGER_1_maxNrofNZP_CSI_RS
static int hf_nr_rrc_qcl_info = -1; /* SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId */
static int hf_nr_rrc_qcl_info_item = -1; /* TCI_StateId */
static int hf_nr_rrc_csi_SSB_ResourceSet = -1; /* INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfig */
-static int hf_nr_rrc_csi_IM_ResourcesforInteference = -1; /* INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig */
-static int hf_nr_rrc_nzp_CSI_RS_ResourcesforInterference = -1; /* INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig */
+static int hf_nr_rrc_csi_IM_ResourcesForInterference = -1; /* INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig */
+static int hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference = -1; /* INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig */
static int hf_nr_rrc_startingRB = -1; /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */
static int hf_nr_rrc_nrofRBs = -1; /* INTEGER_24_maxNrofPhysicalResourceBlocksPlus1 */
static int hf_nr_rrc_csi_IM_ResourceId = -1; /* CSI_IM_ResourceId */
@@ -655,13 +1109,13 @@ 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_17 = -1; /* CSI_AperiodicTriggerStateList */
+static int hf_nr_rrc_setup_18 = -1; /* CSI_AperiodicTriggerStateList */
static int hf_nr_rrc_semiPersistentOnPUSCH_TriggerStateList = -1; /* T_semiPersistentOnPUSCH_TriggerStateList */
-static int hf_nr_rrc_setup_18 = -1; /* CSI_SemiPersistentOnPUSCH_TriggerStateList */
+static int hf_nr_rrc_setup_19 = -1; /* CSI_SemiPersistentOnPUSCH_TriggerStateList */
static int hf_nr_rrc_carrier = -1; /* ServCellIndex */
static int hf_nr_rrc_resourcesForChannelMeasurement = -1; /* CSI_ResourceConfigId */
-static int hf_nr_rrc_csi_IM_ResourcesForInterference = -1; /* CSI_ResourceConfigId */
-static int hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference = -1; /* CSI_ResourceConfigId */
+static int hf_nr_rrc_csi_IM_ResourcesForInterference_01 = -1; /* CSI_ResourceConfigId */
+static int hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference_01 = -1; /* CSI_ResourceConfigId */
static int hf_nr_rrc_reportConfigType = -1; /* T_reportConfigType */
static int hf_nr_rrc_periodic = -1; /* T_periodic */
static int hf_nr_rrc_reportSlotConfig = -1; /* CSI_ReportPeriodicityAndOffset */
@@ -705,6 +1159,7 @@ static int hf_nr_rrc_subbands15 = -1; /* BIT_STRING_SIZE_15 */
static int hf_nr_rrc_subbands16 = -1; /* BIT_STRING_SIZE_16 */
static int hf_nr_rrc_subbands17 = -1; /* BIT_STRING_SIZE_17 */
static int hf_nr_rrc_subbands18 = -1; /* BIT_STRING_SIZE_18 */
+static int hf_nr_rrc_subbands19_v1530 = -1; /* BIT_STRING_SIZE_19 */
static int hf_nr_rrc_timeRestrictionForChannelMeasurements = -1; /* T_timeRestrictionForChannelMeasurements */
static int hf_nr_rrc_timeRestrictionForInterferenceMeasurements = -1; /* T_timeRestrictionForInterferenceMeasurements */
static int hf_nr_rrc_codebookConfig = -1; /* CodebookConfig */
@@ -717,6 +1172,8 @@ static int hf_nr_rrc_cqi_Table = -1; /* T_cqi_Table */
static int hf_nr_rrc_subbandSize = -1; /* T_subbandSize */
static int hf_nr_rrc_non_PMI_PortIndication = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks */
static int hf_nr_rrc_non_PMI_PortIndication_item = -1; /* PortIndexFor8Ranks */
+static int hf_nr_rrc_semiPersistentOnPUSCH_v1530 = -1; /* T_semiPersistentOnPUSCH_v1530 */
+static int hf_nr_rrc_reportSlotConfig_v1530 = -1; /* T_reportSlotConfig_v1530 */
static int hf_nr_rrc_slots4 = -1; /* INTEGER_0_3 */
static int hf_nr_rrc_slots5 = -1; /* INTEGER_0_4 */
static int hf_nr_rrc_slots8 = -1; /* INTEGER_0_7 */
@@ -773,6 +1230,7 @@ static int hf_nr_rrc_slots64 = -1; /* INTEGER_0_63 */
static int hf_nr_rrc_slots640 = -1; /* INTEGER_0_639 */
static int hf_nr_rrc_csi_RS_CellList_Mobility = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility */
static int hf_nr_rrc_csi_RS_CellList_Mobility_item = -1; /* CSI_RS_CellMobility */
+static int hf_nr_rrc_refServCellIndex_v1530 = -1; /* ServCellIndex */
static int hf_nr_rrc_cellId = -1; /* PhysCellId */
static int hf_nr_rrc_csi_rs_MeasurementBW = -1; /* T_csi_rs_MeasurementBW */
static int hf_nr_rrc_nrofPRBs = -1; /* T_nrofPRBs */
@@ -805,7 +1263,7 @@ static int hf_nr_rrc_density_01 = -1; /* T_density_01 */
static int hf_nr_rrc_dot5 = -1; /* T_dot5 */
static int hf_nr_rrc_one = -1; /* NULL */
static int hf_nr_rrc_three = -1; /* NULL */
-static int hf_nr_rrc_spare_01 = -1; /* NULL */
+static int hf_nr_rrc_spare_02 = -1; /* NULL */
static int hf_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList_item = -1; /* CSI_SemiPersistentOnPUSCH_TriggerState */
static int hf_nr_rrc_associatedReportConfigInfo = -1; /* CSI_ReportConfigId */
static int hf_nr_rrc_csi_SSB_ResourceSetId = -1; /* CSI_SSB_ResourceSetId */
@@ -817,19 +1275,48 @@ static int hf_nr_rrc_maxLength = -1; /* T_maxLength */
static int hf_nr_rrc_scramblingID0 = -1; /* INTEGER_0_65535 */
static int hf_nr_rrc_scramblingID1 = -1; /* INTEGER_0_65535 */
static int hf_nr_rrc_phaseTrackingRS = -1; /* T_phaseTrackingRS */
-static int hf_nr_rrc_setup_19 = -1; /* PTRS_DownlinkConfig */
+static int hf_nr_rrc_setup_20 = -1; /* PTRS_DownlinkConfig */
static int hf_nr_rrc_dmrs_Type_01 = -1; /* T_dmrs_Type_01 */
static int hf_nr_rrc_dmrs_AdditionalPosition_01 = -1; /* T_dmrs_AdditionalPosition_01 */
static int hf_nr_rrc_phaseTrackingRS_01 = -1; /* T_phaseTrackingRS_01 */
-static int hf_nr_rrc_setup_20 = -1; /* PTRS_UplinkConfig */
+static int hf_nr_rrc_setup_21 = -1; /* PTRS_UplinkConfig */
static int hf_nr_rrc_maxLength_01 = -1; /* T_maxLength_01 */
static int hf_nr_rrc_transformPrecodingDisabled = -1; /* T_transformPrecodingDisabled */
static int hf_nr_rrc_transformPrecodingEnabled = -1; /* T_transformPrecodingEnabled */
static int hf_nr_rrc_nPUSCH_Identity = -1; /* INTEGER_0_1007 */
-static int hf_nr_rrc_disableSequenceGroupHopping = -1; /* T_disableSequenceGroupHopping */
-static int hf_nr_rrc_sequenceHoppingEnabled = -1; /* T_sequenceHoppingEnabled */
+static int hf_nr_rrc_sequenceGroupHopping = -1; /* T_sequenceGroupHopping */
+static int hf_nr_rrc_sequenceHopping = -1; /* T_sequenceHopping */
static int hf_nr_rrc_frequencyInfoDL = -1; /* FrequencyInfoDL */
static int hf_nr_rrc_initialDownlinkBWP = -1; /* BWP_DownlinkCommon */
+static int hf_nr_rrc_frequencyInfoDL_01 = -1; /* FrequencyInfoDL_SIB */
+static int hf_nr_rrc_bcch_Config = -1; /* BCCH_Config */
+static int hf_nr_rrc_pcch_Config = -1; /* PCCH_Config */
+static int hf_nr_rrc_modificationPeriodCoeff = -1; /* T_modificationPeriodCoeff */
+static int hf_nr_rrc_defaultPagingCycle = -1; /* PagingCycle */
+static int hf_nr_rrc_nAndPagingFrameOffset = -1; /* T_nAndPagingFrameOffset */
+static int hf_nr_rrc_oneT = -1; /* NULL */
+static int hf_nr_rrc_halfT = -1; /* INTEGER_0_1 */
+static int hf_nr_rrc_quarterT = -1; /* INTEGER_0_3 */
+static int hf_nr_rrc_oneEighthT = -1; /* INTEGER_0_7 */
+static int hf_nr_rrc_oneSixteenthT = -1; /* INTEGER_0_15 */
+static int hf_nr_rrc_ns = -1; /* T_ns */
+static int hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO = -1; /* T_firstPDCCH_MonitoringOccasionOfPO */
+static int hf_nr_rrc_sCS15KHZoneT = -1; /* T_sCS15KHZoneT */
+static int hf_nr_rrc_sCS15KHZoneT_item = -1; /* INTEGER_0_139 */
+static int hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT = -1; /* T_sCS30KHZoneT_SCS15KHZhalfT */
+static int hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_item = -1; /* INTEGER_0_279 */
+static int hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT = -1; /* T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT */
+static int hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_item = -1; /* INTEGER_0_559 */
+static int hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT = -1; /* T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT */
+static int hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_item = -1; /* INTEGER_0_1119 */
+static int hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT = -1; /* T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT */
+static int hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_item = -1; /* INTEGER_0_2239 */
+static int hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT = -1; /* T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT */
+static int hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_item = -1; /* INTEGER_0_4479 */
+static int hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT = -1; /* T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT */
+static int hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_item = -1; /* INTEGER_0_8959 */
+static int hf_nr_rrc_sCS120KHZoneSixteenthT = -1; /* T_sCS120KHZoneSixteenthT */
+static int hf_nr_rrc_sCS120KHZoneSixteenthT_item = -1; /* INTEGER_0_17919 */
static int hf_nr_rrc_int_RNTI = -1; /* RNTI_Value */
static int hf_nr_rrc_timeFrequencySet = -1; /* T_timeFrequencySet */
static int hf_nr_rrc_dci_PayloadSize = -1; /* INTEGER_0_maxINT_DCI_PayloadSize */
@@ -837,23 +1324,29 @@ static int hf_nr_rrc_int_ConfigurationPerServingCell = -1; /* SEQUENCE_SIZE_1_m
static int hf_nr_rrc_int_ConfigurationPerServingCell_item = -1; /* INT_ConfigurationPerServingCell */
static int hf_nr_rrc_servingCellId = -1; /* ServCellIndex */
static int hf_nr_rrc_positionInDCI = -1; /* INTEGER_0_maxINT_DCI_PayloadSize_1 */
-static int hf_nr_rrc_EUTRA_MBSFN_SubframeConfigList_item = -1; /* EUTRA_MBSFN_SubframeConfig */
-static int hf_nr_rrc_radioframeAllocationPeriod = -1; /* T_radioframeAllocationPeriod */
-static int hf_nr_rrc_radioframeAllocationOffset = -1; /* INTEGER_0_7 */
-static int hf_nr_rrc_subframeAllocation = -1; /* T_subframeAllocation */
-static int hf_nr_rrc_oneFrame = -1; /* BIT_STRING_SIZE_6 */
-static int hf_nr_rrc_fourFrames = -1; /* BIT_STRING_SIZE_24 */
-static int hf_nr_rrc_subframeAllocation_v1430 = -1; /* T_subframeAllocation_v1430 */
-static int hf_nr_rrc_oneFrame_v1430 = -1; /* BIT_STRING_SIZE_2 */
-static int hf_nr_rrc_fourFrames_v1430 = -1; /* BIT_STRING_SIZE_8 */
+static int hf_nr_rrc_drx_onDurationTimer = -1; /* T_drx_onDurationTimer */
+static int hf_nr_rrc_subMilliSeconds = -1; /* INTEGER_1_31 */
+static int hf_nr_rrc_milliSeconds = -1; /* T_milliSeconds */
+static int hf_nr_rrc_drx_InactivityTimer = -1; /* T_drx_InactivityTimer */
+static int hf_nr_rrc_drx_HARQ_RTT_TimerDL = -1; /* INTEGER_0_56 */
+static int hf_nr_rrc_drx_HARQ_RTT_TimerUL = -1; /* INTEGER_0_56 */
+static int hf_nr_rrc_drx_RetransmissionTimerDL = -1; /* T_drx_RetransmissionTimerDL */
+static int hf_nr_rrc_drx_RetransmissionTimerUL = -1; /* T_drx_RetransmissionTimerUL */
+static int hf_nr_rrc_drx_LongCycleStartOffset_01 = -1; /* T_drx_LongCycleStartOffset_01 */
+static int hf_nr_rrc_shortDRX_01 = -1; /* T_shortDRX_01 */
+static int hf_nr_rrc_drx_ShortCycle_01 = -1; /* T_drx_ShortCycle_01 */
+static int hf_nr_rrc_drx_SlotOffset = -1; /* INTEGER_0_31 */
static int hf_nr_rrc_absoluteFrequencySSB = -1; /* ARFCN_ValueNR */
-static int hf_nr_rrc_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_offsetToPointA = -1; /* INTEGER_0_2199 */
static int hf_nr_rrc_additionalSpectrumEmission = -1; /* AdditionalSpectrumEmission */
-static int hf_nr_rrc_p_Max = -1; /* P_Max */
static int hf_nr_rrc_frequencyShift7p5khz = -1; /* T_frequencyShift7p5khz */
+static int hf_nr_rrc_frequencyShift7p5khz_01 = -1; /* T_frequencyShift7p5khz_01 */
+static int hf_nr_rrc_eutra_RSTD = -1; /* EUTRA_RSTD_InfoList */
+static int hf_nr_rrc_EUTRA_RSTD_InfoList_item = -1; /* EUTRA_RSTD_Info */
+static int hf_nr_rrc_measPRS_Offset = -1; /* INTEGER_0_39 */
static int hf_nr_rrc_ul_SpecificParameters = -1; /* T_ul_SpecificParameters */
static int hf_nr_rrc_priority = -1; /* INTEGER_1_16 */
static int hf_nr_rrc_prioritisedBitRate = -1; /* T_prioritisedBitRate */
@@ -868,42 +1361,18 @@ static int hf_nr_rrc_logicalChannelGroup = -1; /* INTEGER_0_maxLCG_ID */
static int hf_nr_rrc_schedulingRequestID = -1; /* SchedulingRequestId */
static int hf_nr_rrc_logicalChannelSR_Mask = -1; /* BOOLEAN */
static int hf_nr_rrc_logicalChannelSR_DelayTimerApplied = -1; /* BOOLEAN */
+static int hf_nr_rrc_bitRateQueryProhibitTimer = -1; /* T_bitRateQueryProhibitTimer */
static int hf_nr_rrc_drx_Config = -1; /* T_drx_Config */
-static int hf_nr_rrc_setup_21 = -1; /* DRX_Config */
+static int hf_nr_rrc_setup_22 = -1; /* DRX_Config */
static int hf_nr_rrc_schedulingRequestConfig = -1; /* SchedulingRequestConfig */
static int hf_nr_rrc_bsr_Config = -1; /* BSR_Config */
static int hf_nr_rrc_tag_Config = -1; /* TAG_Config */
static int hf_nr_rrc_phr_Config = -1; /* T_phr_Config */
-static int hf_nr_rrc_setup_22 = -1; /* PHR_Config */
+static int hf_nr_rrc_setup_23 = -1; /* PHR_Config */
static int hf_nr_rrc_skipUplinkTxDynamic = -1; /* BOOLEAN */
-static int hf_nr_rrc_drx_onDurationTimer = -1; /* T_drx_onDurationTimer */
-static int hf_nr_rrc_subMilliSeconds = -1; /* INTEGER_1_31 */
-static int hf_nr_rrc_milliSeconds = -1; /* T_milliSeconds */
-static int hf_nr_rrc_drx_InactivityTimer = -1; /* T_drx_InactivityTimer */
-static int hf_nr_rrc_drx_HARQ_RTT_TimerDL = -1; /* INTEGER_0_56 */
-static int hf_nr_rrc_drx_HARQ_RTT_TimerUL = -1; /* INTEGER_0_56 */
-static int hf_nr_rrc_drx_RetransmissionTimerDL = -1; /* T_drx_RetransmissionTimerDL */
-static int hf_nr_rrc_drx_RetransmissionTimerUL = -1; /* T_drx_RetransmissionTimerUL */
-static int hf_nr_rrc_drx_LongCycleStartOffset_01 = -1; /* T_drx_LongCycleStartOffset_01 */
-static int hf_nr_rrc_shortDRX_01 = -1; /* T_shortDRX_01 */
-static int hf_nr_rrc_drx_ShortCycle_01 = -1; /* T_drx_ShortCycle_01 */
-static int hf_nr_rrc_drx_SlotOffset = -1; /* INTEGER_0_31 */
-static int hf_nr_rrc_phr_PeriodicTimer = -1; /* T_phr_PeriodicTimer */
-static int hf_nr_rrc_phr_ProhibitTimer = -1; /* T_phr_ProhibitTimer */
-static int hf_nr_rrc_phr_Tx_PowerFactorChange = -1; /* T_phr_Tx_PowerFactorChange */
-static int hf_nr_rrc_multiplePHR = -1; /* BOOLEAN */
-static int hf_nr_rrc_phr_Type2SpCell = -1; /* BOOLEAN */
-static int hf_nr_rrc_phr_Type2OtherCell = -1; /* BOOLEAN */
-static int hf_nr_rrc_phr_ModeOtherCG = -1; /* T_phr_ModeOtherCG */
-static int hf_nr_rrc_tag_ToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id */
-static int hf_nr_rrc_tag_ToReleaseList_item = -1; /* TAG_Id */
-static int hf_nr_rrc_tag_ToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG */
-static int hf_nr_rrc_tag_ToAddModList_item = -1; /* TAG */
-static int hf_nr_rrc_tag_Id = -1; /* TAG_Id */
-static int hf_nr_rrc_timeAlignmentTimer = -1; /* TimeAlignmentTimer */
-static int hf_nr_rrc_periodicBSR_Timer = -1; /* T_periodicBSR_Timer */
-static int hf_nr_rrc_retxBSR_Timer = -1; /* T_retxBSR_Timer */
-static int hf_nr_rrc_logicalChannelSR_DelayTimer = -1; /* T_logicalChannelSR_DelayTimer */
+static int hf_nr_rrc_csi_Mask_v1530 = -1; /* BOOLEAN */
+static int hf_nr_rrc_dataInactivityTimer_v1530 = -1; /* T_dataInactivityTimer_v1530 */
+static int hf_nr_rrc_setup_24 = -1; /* DataInactivityTimer */
static int hf_nr_rrc_measObjectToRemoveList = -1; /* MeasObjectToRemoveList */
static int hf_nr_rrc_measObjectToAddModList = -1; /* MeasObjectToAddModList */
static int hf_nr_rrc_reportConfigToRemoveList = -1; /* ReportConfigToRemoveList */
@@ -920,25 +1389,39 @@ static int hf_nr_rrc_MeasObjectToRemoveList_item = -1; /* MeasObjectId */
static int hf_nr_rrc_MeasIdToRemoveList_item = -1; /* MeasId */
static int hf_nr_rrc_ReportConfigToRemoveList_item = -1; /* ReportConfigId */
static int hf_nr_rrc_gapFR2 = -1; /* T_gapFR2 */
+static int hf_nr_rrc_gapFR1 = -1; /* T_gapFR1 */
+static int hf_nr_rrc_gapUE = -1; /* T_gapUE */
static int hf_nr_rrc_gapOffset = -1; /* INTEGER_0_159 */
static int hf_nr_rrc_mgl = -1; /* T_mgl */
static int hf_nr_rrc_mgrp = -1; /* T_mgrp */
static int hf_nr_rrc_mgta = -1; /* T_mgta */
static int hf_nr_rrc_gapSharingFR2 = -1; /* T_gapSharingFR2 */
-static int hf_nr_rrc_setup_23 = -1; /* MeasGapSharingScheme */
+static int hf_nr_rrc_setup_25 = -1; /* MeasGapSharingScheme */
+static int hf_nr_rrc_gapSharingFR1 = -1; /* T_gapSharingFR1 */
+static int hf_nr_rrc_gapSharingUE = -1; /* T_gapSharingUE */
static int hf_nr_rrc_MeasIdToAddModList_item = -1; /* MeasIdToAddMod */
static int hf_nr_rrc_measId = -1; /* MeasId */
static int hf_nr_rrc_measObjectId = -1; /* MeasObjectId */
static int hf_nr_rrc_reportConfigId_01 = -1; /* ReportConfigId */
+static int hf_nr_rrc_cellsToRemoveListEUTRAN = -1; /* EUTRA_CellIndexList */
+static int hf_nr_rrc_cellsToAddModListEUTRAN = -1; /* SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell */
+static int hf_nr_rrc_cellsToAddModListEUTRAN_item = -1; /* EUTRA_Cell */
+static int hf_nr_rrc_blackCellsToRemoveListEUTRAN = -1; /* EUTRA_CellIndexList */
+static int hf_nr_rrc_blackCellsToAddModListEUTRAN = -1; /* SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_BlackCell */
+static int hf_nr_rrc_blackCellsToAddModListEUTRAN_item = -1; /* EUTRA_BlackCell */
+static int hf_nr_rrc_eutra_PresenceAntennaPort1 = -1; /* EUTRA_PresenceAntennaPort1 */
+static int hf_nr_rrc_eutra_Q_OffsetRange = -1; /* EUTRA_Q_OffsetRange */
+static int hf_nr_rrc_widebandRSRQ_Meas = -1; /* BOOLEAN */
+static int hf_nr_rrc_EUTRA_CellIndexList_item = -1; /* EUTRA_CellIndex */
+static int hf_nr_rrc_cellIndexEUTRA = -1; /* EUTRA_CellIndex */
+static int hf_nr_rrc_cellIndividualOffset = -1; /* EUTRA_Q_OffsetRange */
+static int hf_nr_rrc_physCellIdRange = -1; /* EUTRA_PhysCellIdRange */
static int hf_nr_rrc_ssbFrequency = -1; /* ARFCN_ValueNR */
-static int hf_nr_rrc_ssbSubcarrierSpacing = -1; /* SubcarrierSpacing */
static int hf_nr_rrc_smtc1 = -1; /* SSB_MTC */
static int hf_nr_rrc_smtc2 = -1; /* SSB_MTC2 */
static int hf_nr_rrc_refFreqCSI_RS = -1; /* ARFCN_ValueNR */
static int hf_nr_rrc_referenceSignalConfig = -1; /* ReferenceSignalConfig */
-static int hf_nr_rrc_absThreshSS_BlocksConsolidation = -1; /* ThresholdNR */
static int hf_nr_rrc_absThreshCSI_RS_Consolidation = -1; /* ThresholdNR */
-static int hf_nr_rrc_nrofSS_BlocksToAverage = -1; /* INTEGER_2_maxNrofSS_BlocksToAverage */
static int hf_nr_rrc_nrofCSI_RS_ResourcesToAverage = -1; /* INTEGER_2_maxNrofCSI_RS_ResourcesToAverage */
static int hf_nr_rrc_quantityConfigIndex = -1; /* INTEGER_1_maxNrofQuantityConfig */
static int hf_nr_rrc_offsetMO = -1; /* Q_OffsetRangeList */
@@ -950,34 +1433,36 @@ static int hf_nr_rrc_blackCellsToAddModList_item = -1; /* PCI_RangeElement */
static int hf_nr_rrc_whiteCellsToRemoveList = -1; /* PCI_RangeIndexList */
static int hf_nr_rrc_whiteCellsToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement */
static int hf_nr_rrc_whiteCellsToAddModList_item = -1; /* PCI_RangeElement */
+static int hf_nr_rrc_freqBandIndicatorNR_v1530 = -1; /* FreqBandIndicatorNR */
+static int hf_nr_rrc_measCycleSCell_v1530 = -1; /* T_measCycleSCell_v1530 */
static int hf_nr_rrc_ssb_ConfigMobility = -1; /* SSB_ConfigMobility */
static int hf_nr_rrc_csi_rs_ResourceConfigMobility = -1; /* T_csi_rs_ResourceConfigMobility */
-static int hf_nr_rrc_setup_24 = -1; /* CSI_RS_ResourceConfigMobility */
-static int hf_nr_rrc_ssb_ToMeasure = -1; /* T_ssb_ToMeasure */
-static int hf_nr_rrc_setup_25 = -1; /* SSB_ToMeasure */
-static int hf_nr_rrc_useServingCellTimingForSync = -1; /* BOOLEAN */
-static int hf_nr_rrc_ss_RSSI_Measurement = -1; /* SS_RSSI_Measurement */
+static int hf_nr_rrc_setup_26 = -1; /* CSI_RS_ResourceConfigMobility */
+static int hf_nr_rrc_ssb_ToMeasure_01 = -1; /* T_ssb_ToMeasure */
+static int hf_nr_rrc_setup_27 = -1; /* SSB_ToMeasure */
static int hf_nr_rrc_rsrpOffsetSSB = -1; /* Q_OffsetRange */
static int hf_nr_rrc_rsrqOffsetSSB = -1; /* Q_OffsetRange */
static int hf_nr_rrc_sinrOffsetSSB = -1; /* Q_OffsetRange */
static int hf_nr_rrc_rsrpOffsetCSI_RS = -1; /* Q_OffsetRange */
static int hf_nr_rrc_rsrqOffsetCSI_RS = -1; /* Q_OffsetRange */
static int hf_nr_rrc_sinrOffsetCSI_RS = -1; /* Q_OffsetRange */
-static int hf_nr_rrc_shortBitmap = -1; /* BIT_STRING_SIZE_4 */
-static int hf_nr_rrc_mediumBitmap = -1; /* BIT_STRING_SIZE_8 */
-static int hf_nr_rrc_longBitmap = -1; /* BIT_STRING_SIZE_64 */
static int hf_nr_rrc_thresholdRSRP = -1; /* RSRP_Range */
static int hf_nr_rrc_thresholdRSRQ = -1; /* RSRQ_Range */
static int hf_nr_rrc_thresholdSINR = -1; /* SINR_Range */
static int hf_nr_rrc_CellsToAddModList_item = -1; /* CellsToAddMod */
-static int hf_nr_rrc_physCellId = -1; /* PhysCellId */
-static int hf_nr_rrc_cellIndividualOffset = -1; /* Q_OffsetRangeList */
+static int hf_nr_rrc_cellIndividualOffset_01 = -1; /* Q_OffsetRangeList */
static int hf_nr_rrc_MeasObjectToAddModList_item = -1; /* MeasObjectToAddMod */
static int hf_nr_rrc_measObject = -1; /* T_measObject */
static int hf_nr_rrc_measObjectNR = -1; /* MeasObjectNR */
+static int hf_nr_rrc_measObjectEUTRA = -1; /* MeasObjectEUTRA */
+static int hf_nr_rrc_MeasResultCellListSFTD_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_measResultServingMOList = -1; /* MeasResultServMOList */
static int hf_nr_rrc_measResultNeighCells = -1; /* T_measResultNeighCells */
static int hf_nr_rrc_measResultListNR = -1; /* MeasResultListNR */
+static int hf_nr_rrc_measResultListEUTRA = -1; /* MeasResultListEUTRA */
static int hf_nr_rrc_MeasResultServMOList_item = -1; /* MeasResultServMO */
static int hf_nr_rrc_servCellId = -1; /* ServCellIndex */
static int hf_nr_rrc_measResultServingCell = -1; /* MeasResultNR */
@@ -990,9 +1475,26 @@ static int hf_nr_rrc_resultsCSI_RS_Cell = -1; /* MeasQuantityResults */
static int hf_nr_rrc_rsIndexResults = -1; /* T_rsIndexResults */
static int hf_nr_rrc_resultsSSB_Indexes = -1; /* ResultsPerSSB_IndexList */
static int hf_nr_rrc_resultsCSI_RS_Indexes = -1; /* ResultsPerCSI_RS_IndexList */
+static int hf_nr_rrc_cgi_Info = -1; /* CGI_Info */
+static int hf_nr_rrc_MeasResultListEUTRA_item = -1; /* MeasResultEUTRA */
+static int hf_nr_rrc_measResult_01 = -1; /* MeasQuantityResultsEUTRA */
+static int hf_nr_rrc_cgi_Info_01 = -1; /* T_cgi_Info */
+static int hf_nr_rrc_cgi_info_EPC = -1; /* T_cgi_info_EPC */
+static int hf_nr_rrc_cgi_info_EPC_legacy = -1; /* CellAccessRelatedInfo_EUTRA_EPC */
+static int hf_nr_rrc_cgi_info_EPC_list = -1; /* SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC */
+static int hf_nr_rrc_cgi_info_EPC_list_item = -1; /* CellAccessRelatedInfo_EUTRA_EPC */
+static int hf_nr_rrc_cgi_info_5GC = -1; /* SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC */
+static int hf_nr_rrc_cgi_info_5GC_item = -1; /* CellAccessRelatedInfo_EUTRA_5GC */
+static int hf_nr_rrc_freqBandIndicator = -1; /* FreqBandIndicatorEUTRA */
+static int hf_nr_rrc_multiBandInfoList = -1; /* MultiBandInfoListEUTRA */
+static int hf_nr_rrc_freqBandIndicatorPriority = -1; /* T_freqBandIndicatorPriority */
+static int hf_nr_rrc_MultiBandInfoListEUTRA_item = -1; /* FreqBandIndicatorEUTRA */
static int hf_nr_rrc_rsrp = -1; /* RSRP_Range */
static int hf_nr_rrc_rsrq = -1; /* RSRQ_Range */
static int hf_nr_rrc_sinr = -1; /* SINR_Range */
+static int hf_nr_rrc_rsrp_01 = -1; /* RSRP_RangeEUTRA */
+static int hf_nr_rrc_rsrq_01 = -1; /* RSRQ_RangeEUTRA */
+static int hf_nr_rrc_sinr_01 = -1; /* SINR_RangeEUTRA */
static int hf_nr_rrc_ResultsPerSSB_IndexList_item = -1; /* ResultsPerSSB_Index */
static int hf_nr_rrc_ssb_Results = -1; /* MeasQuantityResults */
static int hf_nr_rrc_ResultsPerCSI_RS_IndexList_item = -1; /* ResultsPerCSI_RS_Index */
@@ -1000,10 +1502,10 @@ static int hf_nr_rrc_csi_RS_Results = -1; /* MeasQuantityResults */
static int hf_nr_rrc_measResultPerMOList = -1; /* MeasResultList2NR */
static int hf_nr_rrc_MeasResultList2NR_item = -1; /* MeasResult2NR */
static int hf_nr_rrc_measResultNeighCellListNR = -1; /* MeasResultListNR */
-static int hf_nr_rrc_MeasResultCellListSFTD_item = -1; /* MeasResultCellSFTD */
-static int hf_nr_rrc_sfn_OffsetResult = -1; /* INTEGER_0_1023 */
-static int hf_nr_rrc_frameBoundaryOffsetResult = -1; /* INTEGER_M30720_30719 */
-static int hf_nr_rrc_rsrp_Result = -1; /* RSRP_Range */
+static int hf_nr_rrc_t_Evaluation = -1; /* T_t_Evaluation */
+static int hf_nr_rrc_t_HystNormal = -1; /* T_t_HystNormal */
+static int hf_nr_rrc_n_CellChangeMedium = -1; /* INTEGER_1_16 */
+static int hf_nr_rrc_n_CellChangeHigh = -1; /* INTEGER_1_16 */
static int hf_nr_rrc_MultiFrequencyBandListNR_item = -1; /* FreqBandIndicatorNR */
static int hf_nr_rrc_nzp_CSI_RS_ResourceId = -1; /* NZP_CSI_RS_ResourceId */
static int hf_nr_rrc_resourceMapping = -1; /* CSI_RS_ResourceMapping */
@@ -1032,24 +1534,24 @@ static int hf_nr_rrc_searchSpacesToAddModList_item = -1; /* SearchSpace */
static int hf_nr_rrc_searchSpacesToReleaseList = -1; /* SEQUENCE_SIZE_1_10_OF_SearchSpaceId */
static int hf_nr_rrc_searchSpacesToReleaseList_item = -1; /* SearchSpaceId */
static int hf_nr_rrc_downlinkPreemption = -1; /* T_downlinkPreemption */
-static int hf_nr_rrc_setup_26 = -1; /* DownlinkPreemption */
+static int hf_nr_rrc_setup_28 = -1; /* DownlinkPreemption */
static int hf_nr_rrc_tpc_PUSCH = -1; /* T_tpc_PUSCH */
-static int hf_nr_rrc_setup_27 = -1; /* PUSCH_TPC_CommandConfig */
+static int hf_nr_rrc_setup_29 = -1; /* PUSCH_TPC_CommandConfig */
static int hf_nr_rrc_tpc_PUCCH = -1; /* T_tpc_PUCCH */
-static int hf_nr_rrc_setup_28 = -1; /* PUCCH_TPC_CommandConfig */
+static int hf_nr_rrc_setup_30 = -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_setup_31 = -1; /* SRS_TPC_CommandConfig */
+static int hf_nr_rrc_controlResourceSetZero = -1; /* ControlResourceSetZero */
static int hf_nr_rrc_commonControlResourceSet = -1; /* ControlResourceSet */
-static int hf_nr_rrc_searchSpaceZero = -1; /* 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_searchSpaceZero = -1; /* SearchSpaceZero */
+static int hf_nr_rrc_commonSearchSpaceList = -1; /* SEQUENCE_SIZE_1_4_OF_SearchSpace */
+static int hf_nr_rrc_commonSearchSpaceList_item = -1; /* SearchSpace */
static int hf_nr_rrc_searchSpaceSIB1 = -1; /* SearchSpaceId */
static int hf_nr_rrc_searchSpaceOtherSystemInformation = -1; /* SearchSpaceId */
static int hf_nr_rrc_pagingSearchSpace = -1; /* SearchSpaceId */
static int hf_nr_rrc_ra_SearchSpace = -1; /* SearchSpaceId */
static int hf_nr_rrc_slotFormatIndicator = -1; /* T_slotFormatIndicator */
-static int hf_nr_rrc_setup_30 = -1; /* SlotFormatIndicator */
+static int hf_nr_rrc_setup_32 = -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 */
@@ -1082,9 +1584,10 @@ static int hf_nr_rrc_logicalChannel = -1; /* LogicalChannelIdentity */
static int hf_nr_rrc_ul_DataSplitThreshold = -1; /* UL_DataSplitThreshold */
static int hf_nr_rrc_pdcp_Duplication = -1; /* BOOLEAN */
static int hf_nr_rrc_t_Reordering = -1; /* T_t_Reordering */
+static int hf_nr_rrc_cipheringDisabled = -1; /* T_cipheringDisabled */
static int hf_nr_rrc_dataScramblingIdentityPDSCH = -1; /* INTEGER_0_1023 */
static int hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA = -1; /* T_dmrs_DownlinkForPDSCH_MappingTypeA */
-static int hf_nr_rrc_setup_31 = -1; /* DMRS_DownlinkConfig */
+static int hf_nr_rrc_setup_33 = -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 */
@@ -1093,7 +1596,7 @@ static int hf_nr_rrc_tci_StatesToReleaseList_item = -1; /* TCI_StateId */
static int hf_nr_rrc_vrb_ToPRB_Interleaver = -1; /* T_vrb_ToPRB_Interleaver */
static int hf_nr_rrc_resourceAllocation_01 = -1; /* T_resourceAllocation_01 */
static int hf_nr_rrc_pdsch_TimeDomainAllocationList = -1; /* T_pdsch_TimeDomainAllocationList */
-static int hf_nr_rrc_setup_32 = -1; /* PDSCH_TimeDomainResourceAllocationList */
+static int hf_nr_rrc_setup_34 = -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 */
@@ -1123,13 +1626,13 @@ static int hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList_item = -1; /* ZP_CSI
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_setup_35 = -1; /* ZP_CSI_RS_ResourceSet */
static int hf_nr_rrc_RateMatchPatternGroup_item = -1; /* RateMatchPatternGroup_item */
static int hf_nr_rrc_cellLevel = -1; /* RateMatchPatternId */
static int hf_nr_rrc_bwpLevel = -1; /* RateMatchPatternId */
static int hf_nr_rrc_pdsch_TimeDomainAllocationList_01 = -1; /* PDSCH_TimeDomainResourceAllocationList */
static int hf_nr_rrc_codeBlockGroupTransmission = -1; /* T_codeBlockGroupTransmission */
-static int hf_nr_rrc_setup_34 = -1; /* PDSCH_CodeBlockGroupTransmission */
+static int hf_nr_rrc_setup_36 = -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 */
@@ -1139,30 +1642,47 @@ static int hf_nr_rrc_PDSCH_TimeDomainResourceAllocationList_item = -1; /* PDSCH
static int hf_nr_rrc_k0 = -1; /* INTEGER_0_32 */
static int hf_nr_rrc_mappingType = -1; /* T_mappingType */
static int hf_nr_rrc_startSymbolAndLength = -1; /* INTEGER_0_127 */
+static int hf_nr_rrc_phr_PeriodicTimer = -1; /* T_phr_PeriodicTimer */
+static int hf_nr_rrc_phr_ProhibitTimer = -1; /* T_phr_ProhibitTimer */
+static int hf_nr_rrc_phr_Tx_PowerFactorChange = -1; /* T_phr_Tx_PowerFactorChange */
+static int hf_nr_rrc_multiplePHR = -1; /* BOOLEAN */
+static int hf_nr_rrc_dummy = -1; /* BOOLEAN */
+static int hf_nr_rrc_phr_Type2OtherCell = -1; /* BOOLEAN */
+static int hf_nr_rrc_phr_ModeOtherCG = -1; /* T_phr_ModeOtherCG */
static int hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH = -1; /* T_harq_ACK_SpatialBundlingPUCCH */
static int hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH = -1; /* T_harq_ACK_SpatialBundlingPUSCH */
-static int hf_nr_rrc_p_NR = -1; /* P_Max */
+static int hf_nr_rrc_p_NR_FR1 = -1; /* P_Max */
static int hf_nr_rrc_pdsch_HARQ_ACK_Codebook = -1; /* T_pdsch_HARQ_ACK_Codebook */
static int hf_nr_rrc_tpc_SRS_RNTI = -1; /* RNTI_Value */
static int hf_nr_rrc_tpc_PUCCH_RNTI = -1; /* RNTI_Value */
static int hf_nr_rrc_tpc_PUSCH_RNTI = -1; /* RNTI_Value */
static int hf_nr_rrc_sp_CSI_RNTI = -1; /* RNTI_Value */
static int hf_nr_rrc_cs_RNTI = -1; /* T_cs_RNTI */
-static int hf_nr_rrc_setup_35 = -1; /* RNTI_Value */
+static int hf_nr_rrc_setup_37 = -1; /* RNTI_Value */
+static int hf_nr_rrc_mcs_C_RNTI = -1; /* RNTI_Value */
+static int hf_nr_rrc_p_UE_FR1 = -1; /* P_Max */
+static int hf_nr_rrc_mcc = -1; /* MCC */
+static int hf_nr_rrc_mnc = -1; /* MNC */
+static int hf_nr_rrc_MCC_item = -1; /* MCC_MNC_Digit */
+static int hf_nr_rrc_MNC_item = -1; /* MCC_MNC_Digit */
+static int hf_nr_rrc_PLMN_IdentityInfoList_item = -1; /* PLMN_IdentityInfo */
+static int hf_nr_rrc_plmn_IdentityList_01 = -1; /* SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity */
+static int hf_nr_rrc_plmn_IdentityList_item = -1; /* PLMN_Identity */
+static int hf_nr_rrc_ranac = -1; /* RAN_AreaCode */
+static int hf_nr_rrc_cellReservedForOperatorUse = -1; /* T_cellReservedForOperatorUse */
static int hf_nr_rrc_frequencyDensity = -1; /* T_frequencyDensity */
static int hf_nr_rrc_frequencyDensity_item = -1; /* INTEGER_1_276 */
static int hf_nr_rrc_timeDensity = -1; /* T_timeDensity */
static int hf_nr_rrc_timeDensity_item = -1; /* INTEGER_0_29 */
static int hf_nr_rrc_epre_Ratio = -1; /* INTEGER_0_3 */
static int hf_nr_rrc_resourceElementOffset = -1; /* T_resourceElementOffset */
-static int hf_nr_rrc_modeSpecificParameters = -1; /* T_modeSpecificParameters */
-static int hf_nr_rrc_cp_OFDM = -1; /* T_cp_OFDM */
+static int hf_nr_rrc_transformPrecoderDisabled = -1; /* T_transformPrecoderDisabled */
static int hf_nr_rrc_frequencyDensity_01 = -1; /* T_frequencyDensity_01 */
static int hf_nr_rrc_timeDensity_01 = -1; /* T_timeDensity_01 */
static int hf_nr_rrc_maxNrofPorts = -1; /* T_maxNrofPorts */
static int hf_nr_rrc_resourceElementOffset_01 = -1; /* T_resourceElementOffset_01 */
static int hf_nr_rrc_ptrs_Power = -1; /* T_ptrs_Power */
-static int hf_nr_rrc_dft_S_OFDM = -1; /* T_dft_S_OFDM */
+static int hf_nr_rrc_transformPrecoderEnabled = -1; /* T_transformPrecoderEnabled */
static int hf_nr_rrc_sampleDensity = -1; /* T_sampleDensity */
static int hf_nr_rrc_sampleDensity_item = -1; /* INTEGER_1_276 */
static int hf_nr_rrc_timeDensityTransformPrecoding = -1; /* T_timeDensityTransformPrecoding */
@@ -1175,7 +1695,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_36 = -1; /* PUCCH_FormatConfig */
+static int hf_nr_rrc_setup_38 = -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 */
@@ -1198,15 +1718,6 @@ static int hf_nr_rrc_maxCodeRate = -1; /* PUCCH_MaxCodeRate */
static int hf_nr_rrc_nrofSlots = -1; /* T_nrofSlots */
static int hf_nr_rrc_pi2BPSK = -1; /* T_pi2BPSK */
static int hf_nr_rrc_simultaneousHARQ_ACK_CSI = -1; /* T_simultaneousHARQ_ACK_CSI */
-static int hf_nr_rrc_pucch_SpatialRelationInfoId = -1; /* PUCCH_SpatialRelationInfoId */
-static int hf_nr_rrc_referenceSignal = -1; /* T_referenceSignal */
-static int hf_nr_rrc_csi_RS_Index_01 = -1; /* NZP_CSI_RS_ResourceId */
-static int hf_nr_rrc_srs = -1; /* T_srs */
-static int hf_nr_rrc_resource = -1; /* SRS_ResourceId */
-static int hf_nr_rrc_uplinkBWP = -1; /* BWP_Id */
-static int hf_nr_rrc_pucch_PathlossReferenceRS_Id = -1; /* PUCCH_PathlossReferenceRS_Id */
-static int hf_nr_rrc_p0_PUCCH_Id = -1; /* P0_PUCCH_Id */
-static int hf_nr_rrc_closedLoopIndex = -1; /* T_closedLoopIndex */
static int hf_nr_rrc_pucch_ResourceSetId = -1; /* PUCCH_ResourceSetId */
static int hf_nr_rrc_resourceList = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId */
static int hf_nr_rrc_resourceList_item = -1; /* PUCCH_ResourceId */
@@ -1232,7 +1743,7 @@ static int hf_nr_rrc_occ_Length = -1; /* T_occ_Length */
static int hf_nr_rrc_occ_Index = -1; /* T_occ_Index */
static int hf_nr_rrc_pucch_ResourceCommon = -1; /* INTEGER_0_15 */
static int hf_nr_rrc_pucch_GroupHopping = -1; /* T_pucch_GroupHopping */
-static int hf_nr_rrc_hoppingId = -1; /* INTEGER_0_1024 */
+static int hf_nr_rrc_hoppingId = -1; /* INTEGER_0_1023 */
static int hf_nr_rrc_p0_nominal = -1; /* INTEGER_M202_24 */
static int hf_nr_rrc_deltaF_PUCCH_f0 = -1; /* INTEGER_M16_15 */
static int hf_nr_rrc_deltaF_PUCCH_f1 = -1; /* INTEGER_M16_15 */
@@ -1244,14 +1755,23 @@ static int hf_nr_rrc_p0_Set_item = -1; /* P0_PUCCH */
static int hf_nr_rrc_pathlossReferenceRSs = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS */
static int hf_nr_rrc_pathlossReferenceRSs_item = -1; /* PUCCH_PathlossReferenceRS */
static int hf_nr_rrc_twoPUCCH_PC_AdjustmentStates = -1; /* T_twoPUCCH_PC_AdjustmentStates */
+static int hf_nr_rrc_p0_PUCCH_Id = -1; /* P0_PUCCH_Id */
static int hf_nr_rrc_p0_PUCCH_Value = -1; /* INTEGER_M16_15 */
+static int hf_nr_rrc_pucch_PathlossReferenceRS_Id = -1; /* PUCCH_PathlossReferenceRS_Id */
+static int hf_nr_rrc_referenceSignal = -1; /* T_referenceSignal */
+static int hf_nr_rrc_csi_RS_Index_01 = -1; /* NZP_CSI_RS_ResourceId */
+static int hf_nr_rrc_pucch_SpatialRelationInfoId = -1; /* PUCCH_SpatialRelationInfoId */
static int hf_nr_rrc_referenceSignal_01 = -1; /* T_referenceSignal_01 */
+static int hf_nr_rrc_srs = -1; /* T_srs */
+static int hf_nr_rrc_resource = -1; /* SRS_ResourceId */
+static int hf_nr_rrc_uplinkBWP = -1; /* BWP_Id */
+static int hf_nr_rrc_closedLoopIndex = -1; /* T_closedLoopIndex */
static int hf_nr_rrc_tpc_IndexPCell = -1; /* INTEGER_1_15 */
static int hf_nr_rrc_tpc_IndexPUCCH_SCell = -1; /* INTEGER_1_15 */
static int hf_nr_rrc_dataScramblingIdentityPUSCH = -1; /* INTEGER_0_1023 */
static int hf_nr_rrc_txConfig = -1; /* T_txConfig */
static int hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA = -1; /* T_dmrs_UplinkForPUSCH_MappingTypeA */
-static int hf_nr_rrc_setup_37 = -1; /* DMRS_UplinkConfig */
+static int hf_nr_rrc_setup_39 = -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 */
@@ -1259,7 +1779,7 @@ static int hf_nr_rrc_frequencyHoppingOffsetLists = -1; /* T_frequencyHoppingOff
static int hf_nr_rrc_frequencyHoppingOffsetLists_item = -1; /* INTEGER_1_maxNrofPhysicalResourceBlocks_1 */
static int hf_nr_rrc_resourceAllocation_02 = -1; /* T_resourceAllocation_02 */
static int hf_nr_rrc_pusch_TimeDomainAllocationList = -1; /* T_pusch_TimeDomainAllocationList */
-static int hf_nr_rrc_setup_38 = -1; /* PUSCH_TimeDomainResourceAllocationList */
+static int hf_nr_rrc_setup_40 = -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 */
@@ -1268,7 +1788,7 @@ static int hf_nr_rrc_codebookSubset = -1; /* T_codebookSubset */
static int hf_nr_rrc_maxRank = -1; /* INTEGER_1_4 */
static int hf_nr_rrc_rbg_Size_02 = -1; /* T_rbg_Size_02 */
static int hf_nr_rrc_uci_OnPUSCH_01 = -1; /* T_uci_OnPUSCH_01 */
-static int hf_nr_rrc_setup_39 = -1; /* UCI_OnPUSCH */
+static int hf_nr_rrc_setup_41 = -1; /* UCI_OnPUSCH */
static int hf_nr_rrc_tp_pi2BPSK = -1; /* T_tp_pi2BPSK */
static int hf_nr_rrc_betaOffsets = -1; /* T_betaOffsets */
static int hf_nr_rrc_dynamic_01 = -1; /* SEQUENCE_SIZE_4_OF_BetaOffsets */
@@ -1309,7 +1829,7 @@ static int hf_nr_rrc_betaOffsetCSI_Part1_Index2 = -1; /* INTEGER_0_31 */
static int hf_nr_rrc_betaOffsetCSI_Part2_Index1 = -1; /* INTEGER_0_31 */
static int hf_nr_rrc_betaOffsetCSI_Part2_Index2 = -1; /* INTEGER_0_31 */
static int hf_nr_rrc_codeBlockGroupTransmission_01 = -1; /* T_codeBlockGroupTransmission_01 */
-static int hf_nr_rrc_setup_40 = -1; /* PUSCH_CodeBlockGroupTransmission */
+static int hf_nr_rrc_setup_42 = -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 */
@@ -1321,6 +1841,7 @@ static int hf_nr_rrc_tpc_IndexSUL = -1; /* INTEGER_1_15 */
static int hf_nr_rrc_targetCell = -1; /* ServCellIndex */
static int hf_nr_rrc_quantityConfigNR_List = -1; /* SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR */
static int hf_nr_rrc_quantityConfigNR_List_item = -1; /* QuantityConfigNR */
+static int hf_nr_rrc_quantityConfigEUTRA = -1; /* FilterConfig */
static int hf_nr_rrc_quantityConfigCell = -1; /* QuantityConfigRS */
static int hf_nr_rrc_quantityConfigRS_Index = -1; /* QuantityConfigRS */
static int hf_nr_rrc_ssb_FilterConfig = -1; /* FilterConfig */
@@ -1350,15 +1871,7 @@ static int hf_nr_rrc_l839 = -1; /* INTEGER_0_837 */
static int hf_nr_rrc_l139 = -1; /* INTEGER_0_137 */
static int hf_nr_rrc_msg1_SubcarrierSpacing = -1; /* SubcarrierSpacing */
static int hf_nr_rrc_restrictedSetConfig = -1; /* T_restrictedSetConfig */
-static int hf_nr_rrc_msg3_transformPrecoding = -1; /* T_msg3_transformPrecoding */
-static int hf_nr_rrc_prach_ConfigurationIndex = -1; /* INTEGER_0_255 */
-static int hf_nr_rrc_msg1_FDM = -1; /* T_msg1_FDM */
-static int hf_nr_rrc_msg1_FrequencyStart = -1; /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */
-static int hf_nr_rrc_zeroCorrelationZoneConfig = -1; /* INTEGER_0_15 */
-static int hf_nr_rrc_preambleReceivedTargetPower = -1; /* INTEGER_M202_M60 */
-static int hf_nr_rrc_preambleTransMax = -1; /* T_preambleTransMax */
-static int hf_nr_rrc_powerRampingStep = -1; /* T_powerRampingStep */
-static int hf_nr_rrc_ra_ResponseWindow = -1; /* T_ra_ResponseWindow */
+static int hf_nr_rrc_msg3_transformPrecoder = -1; /* T_msg3_transformPrecoder */
static int hf_nr_rrc_cfra = -1; /* CFRA */
static int hf_nr_rrc_occasions = -1; /* T_occasions */
static int hf_nr_rrc_ssb_perRACH_Occasion_01 = -1; /* T_ssb_perRACH_Occasion_01 */
@@ -1370,8 +1883,17 @@ static int hf_nr_rrc_csirs = -1; /* T_csirs */
static int hf_nr_rrc_csirs_ResourceList = -1; /* SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource */
static int hf_nr_rrc_csirs_ResourceList_item = -1; /* CFRA_CSIRS_Resource */
static int hf_nr_rrc_rsrp_ThresholdCSI_RS = -1; /* RSRP_Range */
+static int hf_nr_rrc_totalNumberOfRA_Preambles_v1530 = -1; /* INTEGER_1_63 */
static int hf_nr_rrc_csi_RS_02 = -1; /* CSI_RS_Index */
static int hf_nr_rrc_ra_OccasionList_01 = -1; /* T_ra_OccasionList_01 */
+static int hf_nr_rrc_prach_ConfigurationIndex = -1; /* INTEGER_0_255 */
+static int hf_nr_rrc_msg1_FDM = -1; /* T_msg1_FDM */
+static int hf_nr_rrc_msg1_FrequencyStart = -1; /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */
+static int hf_nr_rrc_zeroCorrelationZoneConfig = -1; /* INTEGER_0_15 */
+static int hf_nr_rrc_preambleReceivedTargetPower = -1; /* INTEGER_M202_M60 */
+static int hf_nr_rrc_preambleTransMax = -1; /* T_preambleTransMax */
+static int hf_nr_rrc_powerRampingStep = -1; /* T_powerRampingStep */
+static int hf_nr_rrc_ra_ResponseWindow = -1; /* T_ra_ResponseWindow */
static int hf_nr_rrc_powerRampingStepHighPriority = -1; /* T_powerRampingStepHighPriority */
static int hf_nr_rrc_scalingFactorBI = -1; /* T_scalingFactorBI */
static int hf_nr_rrc_srb_ToAddModList = -1; /* SRB_ToAddModList */
@@ -1388,11 +1910,9 @@ static int hf_nr_rrc_DRB_ToAddModList_item = -1; /* DRB_ToAddMod */
static int hf_nr_rrc_cnAssociation = -1; /* T_cnAssociation */
static int hf_nr_rrc_eps_BearerIdentity = -1; /* INTEGER_0_15 */
static int hf_nr_rrc_sdap_Config = -1; /* SDAP_Config */
-static int hf_nr_rrc_drb_Identity = -1; /* DRB_Identity */
static int hf_nr_rrc_reestablishPDCP_01 = -1; /* T_reestablishPDCP_01 */
static int hf_nr_rrc_recoverPDCP = -1; /* T_recoverPDCP */
static int hf_nr_rrc_DRB_ToReleaseList_item = -1; /* DRB_Identity */
-static int hf_nr_rrc_securityAlgorithmConfig = -1; /* SecurityAlgorithmConfig */
static int hf_nr_rrc_keyToUse = -1; /* T_keyToUse */
static int hf_nr_rrc_failureDetectionResourcesToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS */
static int hf_nr_rrc_failureDetectionResourcesToAddModList_item = -1; /* RadioLinkMonitoringRS */
@@ -1419,21 +1939,40 @@ static int hf_nr_rrc_n10 = -1; /* BIT_STRING_SIZE_10 */
static int hf_nr_rrc_n20 = -1; /* BIT_STRING_SIZE_20 */
static int hf_nr_rrc_n40 = -1; /* BIT_STRING_SIZE_40 */
static int hf_nr_rrc_controlResourceSet = -1; /* ControlResourceSetId */
-static int hf_nr_rrc_mode = -1; /* T_mode */
+static int hf_nr_rrc_dummy_01 = -1; /* T_dummy */
static int hf_nr_rrc_carrierFreqDL = -1; /* INTEGER_0_16383 */
static int hf_nr_rrc_carrierBandwidthDL = -1; /* T_carrierBandwidthDL */
static int hf_nr_rrc_mbsfn_SubframeConfigList = -1; /* EUTRA_MBSFN_SubframeConfigList */
static int hf_nr_rrc_nrofCRS_Ports = -1; /* T_nrofCRS_Ports */
static int hf_nr_rrc_v_Shift = -1; /* T_v_Shift */
static int hf_nr_rrc_reportType = -1; /* T_reportType */
-static int hf_nr_rrc_periodical = -1; /* PeriodicalReportConfig */
-static int hf_nr_rrc_eventTriggered = -1; /* EventTriggerConfig */
+static int hf_nr_rrc_periodical = -1; /* PeriodicalReportConfigInterRAT */
+static int hf_nr_rrc_eventTriggered = -1; /* EventTriggerConfigInterRAT */
+static int hf_nr_rrc_reportCGI = -1; /* ReportCGI_EUTRA */
+static int hf_nr_rrc_cellForWhichToReportCGI = -1; /* EUTRA_PhysCellId */
static int hf_nr_rrc_eventId = -1; /* T_eventId */
-static int hf_nr_rrc_eventA1 = -1; /* T_eventA1 */
-static int hf_nr_rrc_a1_Threshold = -1; /* MeasTriggerQuantity */
+static int hf_nr_rrc_eventB1 = -1; /* T_eventB1 */
+static int hf_nr_rrc_b1_ThresholdEUTRA = -1; /* MeasTriggerQuantityEUTRA */
static int hf_nr_rrc_reportOnLeave = -1; /* BOOLEAN */
static int hf_nr_rrc_hysteresis = -1; /* Hysteresis */
static int hf_nr_rrc_timeToTrigger = -1; /* TimeToTrigger */
+static int hf_nr_rrc_eventB2 = -1; /* T_eventB2 */
+static int hf_nr_rrc_b2_Threshold1 = -1; /* MeasTriggerQuantity */
+static int hf_nr_rrc_b2_Threshold2EUTRA = -1; /* MeasTriggerQuantityEUTRA */
+static int hf_nr_rrc_rsType = -1; /* NR_RS_Type */
+static int hf_nr_rrc_reportInterval = -1; /* ReportInterval */
+static int hf_nr_rrc_reportAmount = -1; /* T_reportAmount */
+static int hf_nr_rrc_reportQuantity_01 = -1; /* MeasReportQuantity */
+static int hf_nr_rrc_maxReportCells = -1; /* INTEGER_1_maxCellReport */
+static int hf_nr_rrc_reportAmount_01 = -1; /* T_reportAmount_01 */
+static int hf_nr_rrc_reportType_01 = -1; /* T_reportType_01 */
+static int hf_nr_rrc_periodical_01 = -1; /* PeriodicalReportConfig */
+static int hf_nr_rrc_eventTriggered_01 = -1; /* EventTriggerConfig */
+static int hf_nr_rrc_reportCGI_01 = -1; /* ReportCGI */
+static int hf_nr_rrc_cellForWhichToReportCGI_01 = -1; /* PhysCellId */
+static int hf_nr_rrc_eventId_01 = -1; /* T_eventId_01 */
+static int hf_nr_rrc_eventA1 = -1; /* T_eventA1 */
+static int hf_nr_rrc_a1_Threshold = -1; /* MeasTriggerQuantity */
static int hf_nr_rrc_eventA2 = -1; /* T_eventA2 */
static int hf_nr_rrc_a2_Threshold = -1; /* MeasTriggerQuantity */
static int hf_nr_rrc_eventA3 = -1; /* T_eventA3 */
@@ -1446,26 +1985,24 @@ static int hf_nr_rrc_a5_Threshold1 = -1; /* MeasTriggerQuantity */
static int hf_nr_rrc_a5_Threshold2 = -1; /* MeasTriggerQuantity */
static int hf_nr_rrc_eventA6 = -1; /* T_eventA6 */
static int hf_nr_rrc_a6_Offset = -1; /* MeasTriggerQuantityOffset */
-static int hf_nr_rrc_rsType = -1; /* NR_RS_Type */
-static int hf_nr_rrc_reportInterval = -1; /* ReportInterval */
-static int hf_nr_rrc_reportAmount = -1; /* T_reportAmount */
+static int hf_nr_rrc_reportAmount_02 = -1; /* T_reportAmount_02 */
static int hf_nr_rrc_reportQuantityCell = -1; /* MeasReportQuantity */
-static int hf_nr_rrc_maxReportCells = -1; /* INTEGER_1_maxCellReport */
static int hf_nr_rrc_reportQuantityRsIndexes = -1; /* MeasReportQuantity */
static int hf_nr_rrc_maxNrofRSIndexesToReport = -1; /* INTEGER_1_maxNrofIndexesToReport */
static int hf_nr_rrc_includeBeamMeasurements = -1; /* BOOLEAN */
static int hf_nr_rrc_reportAddNeighMeas = -1; /* T_reportAddNeighMeas */
-static int hf_nr_rrc_reportAmount_01 = -1; /* T_reportAmount_01 */
+static int hf_nr_rrc_reportAmount_03 = -1; /* T_reportAmount_03 */
static int hf_nr_rrc_maxNrofRsIndexesToReport = -1; /* INTEGER_1_maxNrofIndexesToReport */
-static int hf_nr_rrc_rsrp_01 = -1; /* INTEGER_M30_30 */
-static int hf_nr_rrc_rsrq_01 = -1; /* INTEGER_M30_30 */
-static int hf_nr_rrc_sinr_01 = -1; /* INTEGER_M30_30 */
-static int hf_nr_rrc_rsrp_02 = -1; /* BOOLEAN */
-static int hf_nr_rrc_rsrq_02 = -1; /* BOOLEAN */
-static int hf_nr_rrc_sinr_02 = -1; /* BOOLEAN */
+static int hf_nr_rrc_rsrp_02 = -1; /* INTEGER_M30_30 */
+static int hf_nr_rrc_rsrq_02 = -1; /* INTEGER_M30_30 */
+static int hf_nr_rrc_sinr_02 = -1; /* INTEGER_M30_30 */
+static int hf_nr_rrc_rsrp_03 = -1; /* BOOLEAN */
+static int hf_nr_rrc_rsrq_03 = -1; /* BOOLEAN */
+static int hf_nr_rrc_sinr_03 = -1; /* BOOLEAN */
static int hf_nr_rrc_ReportConfigToAddModList_item = -1; /* ReportConfigToAddMod */
static int hf_nr_rrc_reportConfig = -1; /* T_reportConfig */
static int hf_nr_rrc_reportConfigNR = -1; /* ReportConfigNR */
+static int hf_nr_rrc_reportConfigInterRAT = -1; /* ReportConfigInterRAT */
static int hf_nr_rrc_logicalChannelIdentity = -1; /* LogicalChannelIdentity */
static int hf_nr_rrc_servedRadioBearer = -1; /* T_servedRadioBearer */
static int hf_nr_rrc_reestablishRLC = -1; /* T_reestablishRLC */
@@ -1490,6 +2027,7 @@ static int hf_nr_rrc_sn_FieldLength_01 = -1; /* SN_FieldLengthUM */
static int hf_nr_rrc_t310 = -1; /* T_t310 */
static int hf_nr_rrc_n310 = -1; /* T_n310 */
static int hf_nr_rrc_n311 = -1; /* T_n311 */
+static int hf_nr_rrc_t311_v1530 = -1; /* T_t311_v1530 */
static int hf_nr_rrc_schedulingRequestToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod */
static int hf_nr_rrc_schedulingRequestToAddModList_item = -1; /* SchedulingRequestToAddMod */
static int hf_nr_rrc_schedulingRequestToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId */
@@ -1517,6 +2055,7 @@ static int hf_nr_rrc_sl640 = -1; /* INTEGER_0_639 */
static int hf_nr_rrc_resource_01 = -1; /* PUCCH_ResourceId */
static int hf_nr_rrc_offsetToCarrier = -1; /* INTEGER_0_2199 */
static int hf_nr_rrc_carrierBandwidth = -1; /* INTEGER_1_maxNrofPhysicalResourceBlocks */
+static int hf_nr_rrc_txDirectCurrentLocation_v1530 = -1; /* INTEGER_0_4095 */
static int hf_nr_rrc_pdu_Session = -1; /* PDU_SessionID */
static int hf_nr_rrc_sdap_HeaderDL = -1; /* T_sdap_HeaderDL */
static int hf_nr_rrc_sdap_HeaderUL = -1; /* T_sdap_HeaderUL */
@@ -1550,8 +2089,8 @@ static int hf_nr_rrc_aggregationLevel16_01 = -1; /* T_aggregationLevel16_01 */
static int hf_nr_rrc_dci_Format2_1 = -1; /* T_dci_Format2_1 */
static int hf_nr_rrc_dci_Format2_2 = -1; /* T_dci_Format2_2 */
static int hf_nr_rrc_dci_Format2_3 = -1; /* T_dci_Format2_3 */
-static int hf_nr_rrc_monitoringPeriodicity = -1; /* T_monitoringPeriodicity */
-static int hf_nr_rrc_nrofPDCCH_Candidates = -1; /* T_nrofPDCCH_Candidates */
+static int hf_nr_rrc_dummy1 = -1; /* T_dummy1 */
+static int hf_nr_rrc_dummy2 = -1; /* T_dummy2 */
static int hf_nr_rrc_ue_Specific = -1; /* T_ue_Specific */
static int hf_nr_rrc_dci_Formats = -1; /* T_dci_Formats */
static int hf_nr_rrc_cipheringAlgorithm = -1; /* CipheringAlgorithm */
@@ -1566,15 +2105,16 @@ static int hf_nr_rrc_firstActiveDownlinkBWP_Id = -1; /* BWP_Id */
static int hf_nr_rrc_bwp_InactivityTimer = -1; /* T_bwp_InactivityTimer */
static int hf_nr_rrc_defaultDownlinkBWP_Id = -1; /* BWP_Id */
static int hf_nr_rrc_uplinkConfig = -1; /* UplinkConfig */
-static int hf_nr_rrc_supplementaryUplink_02 = -1; /* UplinkConfig */
+static int hf_nr_rrc_supplementaryUplink_01 = -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_setup_43 = -1; /* PDCCH_ServingCellConfig */
static int hf_nr_rrc_pdsch_ServingCellConfig = -1; /* T_pdsch_ServingCellConfig */
-static int hf_nr_rrc_setup_42 = -1; /* PDSCH_ServingCellConfig */
+static int hf_nr_rrc_setup_44 = -1; /* PDSCH_ServingCellConfig */
static int hf_nr_rrc_csi_MeasConfig = -1; /* T_csi_MeasConfig */
-static int hf_nr_rrc_setup_43 = -1; /* CSI_MeasConfig */
+static int hf_nr_rrc_setup_45 = -1; /* CSI_MeasConfig */
static int hf_nr_rrc_sCellDeactivationTimer = -1; /* T_sCellDeactivationTimer */
static int hf_nr_rrc_crossCarrierSchedulingConfig = -1; /* CrossCarrierSchedulingConfig */
+static int hf_nr_rrc_tag_Id = -1; /* TAG_Id */
static int hf_nr_rrc_ue_BeamLockFunction = -1; /* T_ue_BeamLockFunction */
static int hf_nr_rrc_pathlossReferenceLinking = -1; /* T_pathlossReferenceLinking */
static int hf_nr_rrc_servingCellMO = -1; /* MeasObjectId */
@@ -1585,18 +2125,52 @@ 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_44 = -1; /* PUSCH_ServingCellConfig */
+static int hf_nr_rrc_setup_46 = -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_setup_47 = -1; /* SRS_CarrierSwitching */
static int hf_nr_rrc_downlinkConfigCommon = -1; /* DownlinkConfigCommon */
+static int hf_nr_rrc_uplinkConfigCommon = -1; /* UplinkConfigCommon */
static int hf_nr_rrc_supplementaryUplinkConfig = -1; /* UplinkConfigCommon */
static int hf_nr_rrc_n_TimingAdvanceOffset = -1; /* T_n_TimingAdvanceOffset */
-static int hf_nr_rrc_ssb_PositionsInBurst_01 = -1; /* T_ssb_PositionsInBurst_01 */
+static int hf_nr_rrc_ssb_PositionsInBurst = -1; /* T_ssb_PositionsInBurst */
+static int hf_nr_rrc_shortBitmap = -1; /* BIT_STRING_SIZE_4 */
+static int hf_nr_rrc_mediumBitmap = -1; /* BIT_STRING_SIZE_8 */
+static int hf_nr_rrc_longBitmap = -1; /* BIT_STRING_SIZE_64 */
static int hf_nr_rrc_ssb_periodicityServingCell = -1; /* T_ssb_periodicityServingCell */
static int hf_nr_rrc_dmrs_TypeA_Position_01 = -1; /* T_dmrs_TypeA_Position_01 */
static int hf_nr_rrc_lte_CRS_ToMatchAround = -1; /* T_lte_CRS_ToMatchAround */
-static int hf_nr_rrc_setup_46 = -1; /* RateMatchPatternLTE_CRS */
+static int hf_nr_rrc_setup_48 = -1; /* RateMatchPatternLTE_CRS */
static int hf_nr_rrc_tdd_UL_DL_ConfigurationCommon = -1; /* TDD_UL_DL_ConfigCommon */
+static int hf_nr_rrc_ss_PBCH_BlockPower = -1; /* INTEGER_M60_50 */
+static int hf_nr_rrc_downlinkConfigCommon_01 = -1; /* DownlinkConfigCommonSIB */
+static int hf_nr_rrc_uplinkConfigCommon_01 = -1; /* UplinkConfigCommonSIB */
+static int hf_nr_rrc_supplementaryUplink_02 = -1; /* UplinkConfigCommonSIB */
+static int hf_nr_rrc_n_TimingAdvanceOffset_01 = -1; /* T_n_TimingAdvanceOffset_01 */
+static int hf_nr_rrc_ssb_PositionsInBurst_01 = -1; /* T_ssb_PositionsInBurst_01 */
+static int hf_nr_rrc_inOneGroup = -1; /* BIT_STRING_SIZE_8 */
+static int hf_nr_rrc_groupPresence = -1; /* BIT_STRING_SIZE_8 */
+static int hf_nr_rrc_ssb_PeriodicityServingCell = -1; /* T_ssb_PeriodicityServingCell */
+static int hf_nr_rrc_schedulingInfoList = -1; /* SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo */
+static int hf_nr_rrc_schedulingInfoList_item = -1; /* SchedulingInfo */
+static int hf_nr_rrc_si_WindowLength = -1; /* T_si_WindowLength */
+static int hf_nr_rrc_si_RequestConfig = -1; /* SI_RequestConfig */
+static int hf_nr_rrc_si_RequestConfigSUL = -1; /* SI_RequestConfig */
+static int hf_nr_rrc_systemInformationAreaID = -1; /* BIT_STRING_SIZE_24 */
+static int hf_nr_rrc_si_BroadcastStatus = -1; /* T_si_BroadcastStatus */
+static int hf_nr_rrc_si_Periodicity = -1; /* T_si_Periodicity */
+static int hf_nr_rrc_sib_MappingInfo = -1; /* SIB_Mapping */
+static int hf_nr_rrc_SIB_Mapping_item = -1; /* SIB_TypeInfo */
+static int hf_nr_rrc_type = -1; /* T_type */
+static int hf_nr_rrc_valueTag = -1; /* INTEGER_0_31 */
+static int hf_nr_rrc_areaScope = -1; /* T_areaScope */
+static int hf_nr_rrc_rach_OccasionsSI = -1; /* T_rach_OccasionsSI */
+static int hf_nr_rrc_rach_ConfigSI = -1; /* RACH_ConfigGeneric */
+static int hf_nr_rrc_ssb_perRACH_Occasion_02 = -1; /* T_ssb_perRACH_Occasion_02 */
+static int hf_nr_rrc_si_RequestPeriod = -1; /* T_si_RequestPeriod */
+static int hf_nr_rrc_si_RequestResources = -1; /* SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources */
+static int hf_nr_rrc_si_RequestResources_item = -1; /* SI_RequestResources */
+static int hf_nr_rrc_ra_PreambleStartIndex = -1; /* INTEGER_0_63 */
+static int hf_nr_rrc_ra_AssociationPeriodIndex = -1; /* INTEGER_0_15 */
static int hf_nr_rrc_subcarrierSpacing2 = -1; /* SubcarrierSpacing */
static int hf_nr_rrc_slotFormatCombinations = -1; /* SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination */
static int hf_nr_rrc_slotFormatCombinations_item = -1; /* SlotFormatCombination */
@@ -1610,11 +2184,28 @@ 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_sst = -1; /* BIT_STRING_SIZE_8 */
+static int hf_nr_rrc_sst_SD = -1; /* BIT_STRING_SIZE_32 */
+static int hf_nr_rrc_sf_Medium_01 = -1; /* T_sf_Medium_01 */
+static int hf_nr_rrc_sf_High_01 = -1; /* T_sf_High_01 */
static int hf_nr_rrc_measurementSlots = -1; /* BIT_STRING_SIZE_1_80 */
static int hf_nr_rrc_endSymbol = -1; /* INTEGER_0_3 */
static int hf_nr_rrc_periodicity_01 = -1; /* T_periodicity_01 */
static int hf_nr_rrc_nrofHARQ_Processes_01 = -1; /* INTEGER_1_8 */
static int hf_nr_rrc_n1PUCCH_AN = -1; /* PUCCH_ResourceId */
+static int hf_nr_rrc_mcs_Table_03 = -1; /* T_mcs_Table_03 */
+static int hf_nr_rrc_srs_SwitchFromServCellIndex = -1; /* INTEGER_0_31 */
+static int hf_nr_rrc_srs_SwitchFromCarrier = -1; /* T_srs_SwitchFromCarrier */
+static int hf_nr_rrc_srs_TPC_PDCCH_Group = -1; /* T_srs_TPC_PDCCH_Group */
+static int hf_nr_rrc_typeA = -1; /* SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config */
+static int hf_nr_rrc_typeA_item = -1; /* SRS_TPC_PDCCH_Config */
+static int hf_nr_rrc_typeB = -1; /* SRS_TPC_PDCCH_Config */
+static int hf_nr_rrc_monitoringCells = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex */
+static int hf_nr_rrc_monitoringCells_item = -1; /* ServCellIndex */
+static int hf_nr_rrc_srs_CC_SetIndexlist = -1; /* SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex */
+static int hf_nr_rrc_srs_CC_SetIndexlist_item = -1; /* SRS_CC_SetIndex */
+static int hf_nr_rrc_cc_SetIndex = -1; /* INTEGER_0_3 */
+static int hf_nr_rrc_cc_IndexInOneCC_Set = -1; /* INTEGER_0_7 */
static int hf_nr_rrc_srs_ResourceSetToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId */
static int hf_nr_rrc_srs_ResourceSetToReleaseList_item = -1; /* SRS_ResourceSetId */
static int hf_nr_rrc_srs_ResourceSetToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet */
@@ -1631,6 +2222,8 @@ static int hf_nr_rrc_resourceType_01 = -1; /* T_resourceType_01 */
static int hf_nr_rrc_aperiodic_01 = -1; /* T_aperiodic_01 */
static int hf_nr_rrc_aperiodicSRS_ResourceTrigger = -1; /* INTEGER_1_maxNrofSRS_TriggerStates_1 */
static int hf_nr_rrc_slotOffset = -1; /* INTEGER_1_32 */
+static int hf_nr_rrc_aperiodicSRS_ResourceTriggerList_v1530 = -1; /* T_aperiodicSRS_ResourceTriggerList_v1530 */
+static int hf_nr_rrc_aperiodicSRS_ResourceTriggerList_v1530_item = -1; /* INTEGER_1_maxNrofSRS_TriggerStates_1 */
static int hf_nr_rrc_semi_persistent = -1; /* T_semi_persistent */
static int hf_nr_rrc_associatedCSI_RS = -1; /* NZP_CSI_RS_ResourceId */
static int hf_nr_rrc_periodic_01 = -1; /* T_periodic_01 */
@@ -1665,27 +2258,16 @@ static int hf_nr_rrc_semi_persistent_01 = -1; /* T_semi_persistent_01 */
static int hf_nr_rrc_periodicityAndOffset_sp = -1; /* SRS_PeriodicityAndOffset */
static int hf_nr_rrc_periodic_02 = -1; /* T_periodic_02 */
static int hf_nr_rrc_periodicityAndOffset_p = -1; /* SRS_PeriodicityAndOffset */
-static int hf_nr_rrc_sequenceId = -1; /* BIT_STRING_SIZE_10 */
+static int hf_nr_rrc_sequenceId = -1; /* INTEGER_0_1023 */
static int hf_nr_rrc_spatialRelationInfo = -1; /* SRS_SpatialRelationInfo */
static int hf_nr_rrc_referenceSignal_03 = -1; /* T_referenceSignal_03 */
static int hf_nr_rrc_srs_01 = -1; /* T_srs_01 */
static int hf_nr_rrc_resourceId = -1; /* SRS_ResourceId */
static int hf_nr_rrc_sl32 = -1; /* INTEGER_0_31 */
static int hf_nr_rrc_sl64 = -1; /* INTEGER_0_63 */
-static int hf_nr_rrc_srs_SwitchFromServCellIndex = -1; /* INTEGER_0_31 */
-static int hf_nr_rrc_srs_SwitchFromCarrier = -1; /* T_srs_SwitchFromCarrier */
-static int hf_nr_rrc_srs_TPC_PDCCH_Group = -1; /* T_srs_TPC_PDCCH_Group */
-static int hf_nr_rrc_typeA = -1; /* SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config */
-static int hf_nr_rrc_typeA_item = -1; /* SRS_TPC_PDCCH_Config */
-static int hf_nr_rrc_typeB = -1; /* SRS_TPC_PDCCH_Config */
-static int hf_nr_rrc_monitoringCells = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex */
-static int hf_nr_rrc_monitoringCells_item = -1; /* ServCellIndex */
-static int hf_nr_rrc_srs_CC_SetIndexlist = -1; /* SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex */
-static int hf_nr_rrc_srs_CC_SetIndexlist_item = -1; /* SRS_CC_SetIndex */
-static int hf_nr_rrc_cc_SetIndex = -1; /* INTEGER_0_3 */
-static int hf_nr_rrc_cc_IndexInOneCC_Set = -1; /* INTEGER_0_7 */
static int hf_nr_rrc_startingBitOfFormat2_3 = -1; /* INTEGER_1_31 */
static int hf_nr_rrc_fieldTypeFormat2_3 = -1; /* INTEGER_0_1 */
+static int hf_nr_rrc_startingBitOfFormat2_3SUL_v1530 = -1; /* INTEGER_1_31 */
static int hf_nr_rrc_periodicityAndOffset_02 = -1; /* T_periodicityAndOffset_01 */
static int hf_nr_rrc_sf5 = -1; /* INTEGER_0_4 */
static int hf_nr_rrc_sf10 = -1; /* INTEGER_0_9 */
@@ -1697,6 +2279,11 @@ 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_tag_ToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id */
+static int hf_nr_rrc_tag_ToReleaseList_item = -1; /* TAG_Id */
+static int hf_nr_rrc_tag_ToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG */
+static int hf_nr_rrc_tag_ToAddModList_item = -1; /* TAG */
+static int hf_nr_rrc_timeAlignmentTimer = -1; /* TimeAlignmentTimer */
static int hf_nr_rrc_tci_StateId = -1; /* TCI_StateId */
static int hf_nr_rrc_qcl_Type1 = -1; /* QCL_Info */
static int hf_nr_rrc_qcl_Type2 = -1; /* QCL_Info */
@@ -1712,6 +2299,7 @@ static int hf_nr_rrc_nrofDownlinkSlots = -1; /* INTEGER_0_maxNrofSlots */
static int hf_nr_rrc_nrofDownlinkSymbols = -1; /* INTEGER_0_maxNrofSymbols_1 */
static int hf_nr_rrc_nrofUplinkSlots = -1; /* INTEGER_0_maxNrofSlots */
static int hf_nr_rrc_nrofUplinkSymbols = -1; /* INTEGER_0_maxNrofSymbols_1 */
+static int hf_nr_rrc_dl_UL_TransmissionPeriodicity_v1530 = -1; /* T_dl_UL_TransmissionPeriodicity_v1530 */
static int hf_nr_rrc_slotSpecificConfigurationsToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig */
static int hf_nr_rrc_slotSpecificConfigurationsToAddModList_item = -1; /* TDD_UL_DL_SlotConfig */
static int hf_nr_rrc_slotSpecificConfigurationsToreleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex */
@@ -1723,9 +2311,36 @@ static int hf_nr_rrc_allUplink = -1; /* NULL */
static int hf_nr_rrc_explicit = -1; /* T_explicit */
static int hf_nr_rrc_nrofDownlinkSymbols_01 = -1; /* INTEGER_1_maxNrofSymbols_1 */
static int hf_nr_rrc_nrofUplinkSymbols_01 = -1; /* INTEGER_1_maxNrofSymbols_1 */
+static int hf_nr_rrc_UAC_BarringInfoSetList_item = -1; /* UAC_BarringInfoSet */
+static int hf_nr_rrc_uac_BarringFactor = -1; /* T_uac_BarringFactor */
+static int hf_nr_rrc_uac_BarringTime = -1; /* T_uac_BarringTime */
+static int hf_nr_rrc_uac_BarringForAccessIdentity = -1; /* BIT_STRING_SIZE_7 */
+static int hf_nr_rrc_UAC_BarringPerCatList_item = -1; /* UAC_BarringPerCat */
+static int hf_nr_rrc_accessCategory = -1; /* INTEGER_1_maxAccessCat_1 */
+static int hf_nr_rrc_uac_barringInfoSetIndex = -1; /* UAC_BarringInfoSetIndex */
+static int hf_nr_rrc_UAC_BarringPerPLMN_List_item = -1; /* UAC_BarringPerPLMN */
+static int hf_nr_rrc_plmn_IdentityIndex = -1; /* INTEGER_1_maxPLMN */
+static int hf_nr_rrc_uac_ACBarringListType = -1; /* T_uac_ACBarringListType */
+static int hf_nr_rrc_uac_ImplicitACBarringList = -1; /* SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex */
+static int hf_nr_rrc_uac_ImplicitACBarringList_item = -1; /* UAC_BarringInfoSetIndex */
+static int hf_nr_rrc_uac_ExplicitACBarringList = -1; /* UAC_BarringPerCatList */
+static int hf_nr_rrc_t300 = -1; /* T_t300 */
+static int hf_nr_rrc_t301 = -1; /* T_t301 */
+static int hf_nr_rrc_t310_01 = -1; /* T_t310_01 */
+static int hf_nr_rrc_n310_01 = -1; /* T_n310_01 */
+static int hf_nr_rrc_t311 = -1; /* T_t311 */
+static int hf_nr_rrc_n311_01 = -1; /* T_n311_01 */
+static int hf_nr_rrc_t319 = -1; /* T_t319 */
static int hf_nr_rrc_frequencyInfoUL = -1; /* FrequencyInfoUL */
static int hf_nr_rrc_initialUplinkBWP_01 = -1; /* BWP_UplinkCommon */
+static int hf_nr_rrc_dummy_02 = -1; /* TimeAlignmentTimer */
+static int hf_nr_rrc_frequencyInfoUL_01 = -1; /* FrequencyInfoUL_SIB */
static int hf_nr_rrc_timeAlignmentTimerCommon = -1; /* TimeAlignmentTimer */
+static int hf_nr_rrc_UplinkTxDirectCurrentList_item = -1; /* UplinkTxDirectCurrentCell */
+static int hf_nr_rrc_uplinkDirectCurrentBWP = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP */
+static int hf_nr_rrc_uplinkDirectCurrentBWP_item = -1; /* UplinkTxDirectCurrentBWP */
+static int hf_nr_rrc_shift7dot5kHz = -1; /* BOOLEAN */
+static int hf_nr_rrc_txDirectCurrentLocation = -1; /* INTEGER_0_3301 */
static int hf_nr_rrc_zp_CSI_RS_ResourceId = -1; /* ZP_CSI_RS_ResourceId */
static int hf_nr_rrc_zp_CSI_RS_ResourceSetId = -1; /* ZP_CSI_RS_ResourceSetId */
static int hf_nr_rrc_zp_CSI_RS_ResourceIdList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId */
@@ -1738,14 +2353,21 @@ static int hf_nr_rrc_ca_ParametersEUTRA = -1; /* CA_ParametersEUTRA */
static int hf_nr_rrc_ca_ParametersNR = -1; /* CA_ParametersNR */
static int hf_nr_rrc_mrdc_Parameters = -1; /* MRDC_Parameters */
static int hf_nr_rrc_supportedBandwidthCombinationSet = -1; /* BIT_STRING_SIZE_1_32 */
-static int hf_nr_rrc_eutra = -1; /* T_eutra */
+static int hf_nr_rrc_powerClass_v1530 = -1; /* T_powerClass_v1530 */
+static int hf_nr_rrc_eutra_01 = -1; /* T_eutra */
static int hf_nr_rrc_bandEUTRA = -1; /* FreqBandIndicatorEUTRA */
static int hf_nr_rrc_ca_BandwidthClassDL_EUTRA = -1; /* CA_BandwidthClassEUTRA */
static int hf_nr_rrc_ca_BandwidthClassUL_EUTRA = -1; /* CA_BandwidthClassEUTRA */
-static int hf_nr_rrc_nr = -1; /* T_nr */
+static int hf_nr_rrc_nr_01 = -1; /* T_nr */
static int hf_nr_rrc_bandNR = -1; /* FreqBandIndicatorNR */
static int hf_nr_rrc_ca_BandwidthClassDL_NR = -1; /* CA_BandwidthClassNR */
static int hf_nr_rrc_ca_BandwidthClassUL_NR = -1; /* CA_BandwidthClassNR */
+static int hf_nr_rrc_multipleTimingAdvance = -1; /* T_multipleTimingAdvance */
+static int hf_nr_rrc_simultaneousRx_Tx = -1; /* T_simultaneousRx_Tx */
+static int hf_nr_rrc_supportedNAICS_2CRS_AP = -1; /* BIT_STRING_SIZE_1_8 */
+static int hf_nr_rrc_additionalRx_Tx_PerformanceReq = -1; /* T_additionalRx_Tx_PerformanceReq */
+static int hf_nr_rrc_ue_CA_PowerClass_N = -1; /* T_ue_CA_PowerClass_N */
+static int hf_nr_rrc_supportedBandwidthCombinationSetEUTRA_v1530 = -1; /* BIT_STRING_SIZE_1_32 */
static int hf_nr_rrc_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 */
@@ -1754,30 +2376,25 @@ static int hf_nr_rrc_simultaneousRxTxSUL = -1; /* T_simultaneousRxTxSUL */
static int hf_nr_rrc_diffNumerologyAcrossPUCCH_Group = -1; /* T_diffNumerologyAcrossPUCCH_Group */
static int hf_nr_rrc_diffNumerologyWithinPUCCH_Group = -1; /* T_diffNumerologyWithinPUCCH_Group */
static int hf_nr_rrc_supportedNumberTAG = -1; /* T_supportedNumberTAG */
-static int hf_nr_rrc_multipleTimingAdvance = -1; /* T_multipleTimingAdvance */
-static int hf_nr_rrc_simultaneousRx_Tx = -1; /* T_simultaneousRx_Tx */
-static int hf_nr_rrc_supportedNAICS_2CRS_AP = -1; /* BIT_STRING_SIZE_1_8 */
-static int hf_nr_rrc_additionalRx_Tx_PerformanceReq = -1; /* T_additionalRx_Tx_PerformanceReq */
-static int hf_nr_rrc_ue_CA_PowerClass_N = -1; /* T_ue_CA_PowerClass_N */
static int hf_nr_rrc_FeatureSetCombination_item = -1; /* FeatureSetsPerBand */
static int hf_nr_rrc_FeatureSetsPerBand_item = -1; /* FeatureSet */
-static int hf_nr_rrc_eutra_01 = -1; /* T_eutra_01 */
+static int hf_nr_rrc_eutra_02 = -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_nr_02 = -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_crossCarrierScheduling_OtherSCS = -1; /* T_crossCarrierScheduling_OtherSCS */
static int hf_nr_rrc_scellWithoutSSB = -1; /* T_scellWithoutSSB */
static int hf_nr_rrc_csi_RS_MeasSCellWithoutSSB = -1; /* T_csi_RS_MeasSCellWithoutSSB */
static int hf_nr_rrc_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_pdcch_MonitoringAnyOccasions = -1; /* T_pdcch_MonitoringAnyOccasions */
+static int hf_nr_rrc_pdcch_MonitoringAnyOccasionsWithSpanGap = -1; /* T_pdcch_MonitoringAnyOccasionsWithSpanGap */
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 */
@@ -1821,16 +2438,25 @@ static int hf_nr_rrc_supportedBandwidthDL = -1; /* SupportedBandwidth */
static int hf_nr_rrc_channelBW_90mhz = -1; /* T_channelBW_90mhz */
static int hf_nr_rrc_maxNumberMIMO_LayersPDSCH = -1; /* MIMO_LayersDL */
static int hf_nr_rrc_supportedModulationOrderDL = -1; /* ModulationOrder */
+static int hf_nr_rrc_featureSetsDownlink = -1; /* SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink */
+static int hf_nr_rrc_featureSetsDownlink_item = -1; /* FeatureSetDownlink */
+static int hf_nr_rrc_featureSetsDownlinkPerCC = -1; /* SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC */
+static int hf_nr_rrc_featureSetsDownlinkPerCC_item = -1; /* FeatureSetDownlinkPerCC */
+static int hf_nr_rrc_featureSetsUplink = -1; /* SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink */
+static int hf_nr_rrc_featureSetsUplink_item = -1; /* FeatureSetUplink */
+static int hf_nr_rrc_featureSetsUplinkPerCC = -1; /* SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC */
+static int hf_nr_rrc_featureSetsUplinkPerCC_item = -1; /* FeatureSetUplinkPerCC */
static int hf_nr_rrc_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_crossCarrierScheduling_OtherSCS_01 = -1; /* T_crossCarrierScheduling_OtherSCS_01 */
static int hf_nr_rrc_intraBandFreqSeparationUL = -1; /* FreqSeparationClass */
static int hf_nr_rrc_searchSpaceSharingCA_UL = -1; /* T_searchSpaceSharingCA_UL */
static int hf_nr_rrc_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_simultaneousTxSUL_NonSUL_v1530 = -1; /* T_simultaneousTxSUL_NonSUL_v1530 */
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 */
@@ -1849,22 +2475,138 @@ 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_maxBandwidthRequestedDL = -1; /* AggregatedBandwidth */
+static int hf_nr_rrc_maxBandwidthRequestedUL = -1; /* AggregatedBandwidth */
static int hf_nr_rrc_maxCarriersRequestedDL = -1; /* INTEGER_1_maxNrofServingCells */
static int hf_nr_rrc_maxCarriersRequestedUL = -1; /* INTEGER_1_maxNrofServingCells */
+static int hf_nr_rrc_eutra_03 = -1; /* EUTRA_Parameters */
+static int hf_nr_rrc_supportedBandListEUTRA = -1; /* SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA */
+static int hf_nr_rrc_supportedBandListEUTRA_item = -1; /* FreqBandIndicatorEUTRA */
+static int hf_nr_rrc_eutra_ParametersCommon = -1; /* EUTRA_ParametersCommon */
+static int hf_nr_rrc_eutra_ParametersXDD_Diff = -1; /* EUTRA_ParametersXDD_Diff */
+static int hf_nr_rrc_mfbi_EUTRA = -1; /* T_mfbi_EUTRA */
+static int hf_nr_rrc_modifiedMRP_BehaviorEUTRA = -1; /* BIT_STRING_SIZE_32 */
+static int hf_nr_rrc_multiNS_Pmax_EUTRA = -1; /* T_multiNS_Pmax_EUTRA */
+static int hf_nr_rrc_rs_SINR_MeasEUTRA = -1; /* T_rs_SINR_MeasEUTRA */
+static int hf_nr_rrc_rsrqMeasWidebandEUTRA = -1; /* T_rsrqMeasWidebandEUTRA */
+static int hf_nr_rrc_mac_ParametersCommon = -1; /* MAC_ParametersCommon */
+static int hf_nr_rrc_mac_ParametersXDD_Diff = -1; /* MAC_ParametersXDD_Diff */
+static int hf_nr_rrc_lcp_Restriction = -1; /* T_lcp_Restriction */
+static int hf_nr_rrc_pucch_SpatialRelInfoMAC_CE = -1; /* T_pucch_SpatialRelInfoMAC_CE */
+static int hf_nr_rrc_lch_ToSCellRestriction = -1; /* T_lch_ToSCellRestriction */
+static int hf_nr_rrc_recommendedBitRate = -1; /* T_recommendedBitRate */
+static int hf_nr_rrc_recommendedBitRateQuery = -1; /* T_recommendedBitRateQuery */
+static int hf_nr_rrc_skipUplinkTxDynamic_01 = -1; /* T_skipUplinkTxDynamic */
+static int hf_nr_rrc_logicalChannelSR_DelayTimer_01 = -1; /* T_logicalChannelSR_DelayTimer_01 */
+static int hf_nr_rrc_longDRX_Cycle = -1; /* T_longDRX_Cycle */
+static int hf_nr_rrc_shortDRX_Cycle = -1; /* T_shortDRX_Cycle */
+static int hf_nr_rrc_multipleSR_Configurations = -1; /* T_multipleSR_Configurations */
+static int hf_nr_rrc_multipleConfiguredGrants = -1; /* T_multipleConfiguredGrants */
+static int hf_nr_rrc_measAndMobParametersCommon = -1; /* MeasAndMobParametersCommon */
+static int hf_nr_rrc_measAndMobParametersXDD_Diff = -1; /* MeasAndMobParametersXDD_Diff */
+static int hf_nr_rrc_measAndMobParametersFRX_Diff = -1; /* MeasAndMobParametersFRX_Diff */
+static int hf_nr_rrc_supportedGapPattern = -1; /* BIT_STRING_SIZE_22 */
+static int hf_nr_rrc_ssb_RLM = -1; /* T_ssb_RLM */
+static int hf_nr_rrc_ssb_AndCSI_RS_RLM = -1; /* T_ssb_AndCSI_RS_RLM */
+static int hf_nr_rrc_eventB_MeasAndReport = -1; /* T_eventB_MeasAndReport */
+static int hf_nr_rrc_handoverFDD_TDD = -1; /* T_handoverFDD_TDD */
+static int hf_nr_rrc_eutra_CGI_Reporting = -1; /* T_eutra_CGI_Reporting */
+static int hf_nr_rrc_nr_CGI_Reporting = -1; /* T_nr_CGI_Reporting */
+static int hf_nr_rrc_intraAndInterF_MeasAndReport = -1; /* T_intraAndInterF_MeasAndReport */
+static int hf_nr_rrc_eventA_MeasAndReport = -1; /* T_eventA_MeasAndReport */
+static int hf_nr_rrc_handoverInterF = -1; /* T_handoverInterF */
+static int hf_nr_rrc_handoverLTE = -1; /* T_handoverLTE */
+static int hf_nr_rrc_handover_eLTE = -1; /* T_handover_eLTE */
+static int hf_nr_rrc_ss_SINR_Meas = -1; /* T_ss_SINR_Meas */
+static int hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB = -1; /* T_csi_RSRP_AndRSRQ_MeasWithSSB */
+static int hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB = -1; /* T_csi_RSRP_AndRSRQ_MeasWithoutSSB */
+static int hf_nr_rrc_csi_SINR_Meas = -1; /* T_csi_SINR_Meas */
+static int hf_nr_rrc_csi_RS_RLM = -1; /* T_csi_RS_RLM */
+static int hf_nr_rrc_handoverInterF_01 = -1; /* T_handoverInterF_01 */
+static int hf_nr_rrc_handoverLTE_01 = -1; /* T_handoverLTE_01 */
+static int hf_nr_rrc_handover_eLTE_01 = -1; /* T_handover_eLTE_01 */
+static int hf_nr_rrc_measAndMobParametersMRDC_Common = -1; /* MeasAndMobParametersMRDC_Common */
+static int hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff = -1; /* MeasAndMobParametersMRDC_XDD_Diff */
+static int hf_nr_rrc_measAndMobParametersMRDC_FRX_Diff = -1; /* MeasAndMobParametersMRDC_FRX_Diff */
+static int hf_nr_rrc_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_tci_StatePDSCH = -1; /* T_tci_StatePDSCH */
+static int hf_nr_rrc_maxNumberConfiguredTCIstatesPerCC = -1; /* T_maxNumberConfiguredTCIstatesPerCC */
+static int hf_nr_rrc_maxNumberActiveTCI_PerBWP = -1; /* T_maxNumberActiveTCI_PerBWP */
+static int hf_nr_rrc_additionalActiveTCI_StatePDCCH = -1; /* T_additionalActiveTCI_StatePDCCH */
+static int hf_nr_rrc_pusch_TransCoherence = -1; /* T_pusch_TransCoherence */
+static int hf_nr_rrc_beamCorrespondence = -1; /* T_beamCorrespondence */
+static int hf_nr_rrc_periodicBeamReport = -1; /* T_periodicBeamReport */
+static int hf_nr_rrc_aperiodicBeamReport = -1; /* T_aperiodicBeamReport */
+static int hf_nr_rrc_sp_BeamReportPUCCH = -1; /* T_sp_BeamReportPUCCH */
+static int hf_nr_rrc_sp_BeamReportPUSCH = -1; /* T_sp_BeamReportPUSCH */
+static int hf_nr_rrc_beamManagementSSB_CSI_RS = -1; /* BeamManagementSSB_CSI_RS */
+static int hf_nr_rrc_maxNumberRxBeam = -1; /* INTEGER_2_8 */
+static int hf_nr_rrc_maxNumberRxTxBeamSwitchDL = -1; /* T_maxNumberRxTxBeamSwitchDL */
+static int hf_nr_rrc_scs_15kHz_02 = -1; /* T_scs_15kHz_02 */
+static int hf_nr_rrc_scs_30kHz_02 = -1; /* T_scs_30kHz_02 */
+static int hf_nr_rrc_scs_60kHz_03 = -1; /* T_scs_60kHz_03 */
+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_BM = -1; /* T_maxNumberSRS_ResourcePerSet_BM */
+static int hf_nr_rrc_maxNumberSRS_ResourceSet = -1; /* INTEGER_1_8 */
+static int hf_nr_rrc_maxNumberCSI_RS_BFR = -1; /* INTEGER_1_64 */
+static int hf_nr_rrc_maxNumberSSB_BFR = -1; /* INTEGER_1_64 */
+static int hf_nr_rrc_maxNumberCSI_RS_SSB_BFR = -1; /* INTEGER_1_256 */
+static int hf_nr_rrc_twoPortsPTRS_DL = -1; /* T_twoPortsPTRS_DL */
+static int hf_nr_rrc_twoPortsPTRS_UL = -1; /* T_twoPortsPTRS_UL */
+static int hf_nr_rrc_maxNumberSimultaneousSRS_PerCC = -1; /* INTEGER_1_4 */
+static int hf_nr_rrc_beamReportTiming = -1; /* T_beamReportTiming */
+static int hf_nr_rrc_scs_15kHz_03 = -1; /* T_scs_15kHz_03 */
+static int hf_nr_rrc_scs_30kHz_03 = -1; /* T_scs_30kHz_03 */
+static int hf_nr_rrc_scs_60kHz_04 = -1; /* T_scs_60kHz_04 */
+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_05 = -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_06 = -1; /* PTRS_DensityRecommendationUL */
+static int hf_nr_rrc_scs_120kHz_05 = -1; /* PTRS_DensityRecommendationUL */
+static int hf_nr_rrc_csi_RS_ForTracking = -1; /* CSI_RS_ForTracking */
+static int hf_nr_rrc_aperiodicTRS = -1; /* T_aperiodicTRS */
+static int hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx = -1; /* T_maxNumberSSB_CSI_RS_ResourceOneTx */
+static int hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceTwoTx = -1; /* T_maxNumberSSB_CSI_RS_ResourceTwoTx */
+static int hf_nr_rrc_supportedCSI_RS_Density = -1; /* T_supportedCSI_RS_Density */
+static int hf_nr_rrc_burstLength = -1; /* INTEGER_1_2 */
+static int hf_nr_rrc_maxSimultaneousResourceSetsPerCC = -1; /* INTEGER_1_8 */
+static int hf_nr_rrc_maxConfiguredResourceSetsPerCC = -1; /* INTEGER_1_64 */
+static int hf_nr_rrc_maxConfiguredResourceSetsAllCC = -1; /* INTEGER_1_128 */
+static int hf_nr_rrc_frequencyDensity1 = -1; /* INTEGER_1_276 */
+static int hf_nr_rrc_frequencyDensity2 = -1; /* INTEGER_1_276 */
+static int hf_nr_rrc_timeDensity1 = -1; /* INTEGER_0_29 */
+static int hf_nr_rrc_timeDensity2 = -1; /* INTEGER_0_29 */
+static int hf_nr_rrc_timeDensity3 = -1; /* INTEGER_0_29 */
+static int hf_nr_rrc_sampleDensity1 = -1; /* INTEGER_1_276 */
+static int hf_nr_rrc_sampleDensity2 = -1; /* INTEGER_1_276 */
+static int hf_nr_rrc_sampleDensity3 = -1; /* INTEGER_1_276 */
+static int hf_nr_rrc_sampleDensity4 = -1; /* INTEGER_1_276 */
+static int hf_nr_rrc_sampleDensity5 = -1; /* INTEGER_1_276 */
+static int hf_nr_rrc_maxNumberAperiodicSRS_PerBWP = -1; /* T_maxNumberAperiodicSRS_PerBWP */
+static int hf_nr_rrc_maxNumberAperiodicSRS_PerBWP_PerSlot = -1; /* INTEGER_1_6 */
+static int hf_nr_rrc_maxNumberPeriodicSRS_PerBWP = -1; /* T_maxNumberPeriodicSRS_PerBWP */
+static int hf_nr_rrc_maxNumberPeriodicSRS_PerBWP_PerSlot = -1; /* INTEGER_1_6 */
+static int hf_nr_rrc_maxNumberSemiPersitentSRS_PerBWP = -1; /* T_maxNumberSemiPersitentSRS_PerBWP */
+static int hf_nr_rrc_maxNumberSP_SRS_PerBWP_PerSlot = -1; /* INTEGER_1_6 */
+static int hf_nr_rrc_maxNumberSRS_Ports_PerResource = -1; /* T_maxNumberSRS_Ports_PerResource */
+static int hf_nr_rrc_supportedSRS_TxPortSwitch = -1; /* T_supportedSRS_TxPortSwitch */
+static int hf_nr_rrc_txSwitchImpactToRx = -1; /* T_txSwitchImpactToRx */
static int hf_nr_rrc_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 */
@@ -1872,53 +2614,20 @@ static int hf_nr_rrc_ul_SharingEUTRA_NR = -1; /* T_ul_SharingEUTRA_NR */
static int hf_nr_rrc_ul_SwitchingTimeEUTRA_NR = -1; /* T_ul_SwitchingTimeEUTRA_NR */
static int hf_nr_rrc_simultaneousRxTxInterBandENDC = -1; /* T_simultaneousRxTxInterBandENDC */
static int hf_nr_rrc_asyncIntraBandENDC = -1; /* T_asyncIntraBandENDC */
-static int hf_nr_rrc_fr1 = -1; /* T_fr1 */
-static int hf_nr_rrc_fr2 = -1; /* T_fr2 */
-static int hf_nr_rrc_UE_CapabilityRAT_ContainerList_item = -1; /* UE_CapabilityRAT_Container */
-static int hf_nr_rrc_rat_Type = -1; /* RAT_Type */
-static int hf_nr_rrc_ue_CapabilityRAT_Container = -1; /* T_ue_CapabilityRAT_Container */
-static int hf_nr_rrc_measParametersMRDC = -1; /* MeasParametersMRDC */
-static int hf_nr_rrc_rf_ParametersMRDC = -1; /* RF_ParametersMRDC */
-static int hf_nr_rrc_generalParametersMRDC = -1; /* GeneralParametersMRDC_XDD_Diff */
-static int hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddXDD_Mode */
-static int hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddXDD_Mode */
-static int hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddFRX_Mode */
-static int hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddFRX_Mode */
-static int hf_nr_rrc_featureSetCombinations = -1; /* SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination */
-static int hf_nr_rrc_featureSetCombinations_item = -1; /* FeatureSetCombination */
-static int hf_nr_rrc_nonCriticalExtension_09 = -1; /* T_nonCriticalExtension_09 */
-static int hf_nr_rrc_measParametersMRDC_XDD_Diff = -1; /* MeasParametersMRDC_XDD_Diff */
-static int hf_nr_rrc_generalParametersMRDC_XDD_Diff = -1; /* GeneralParametersMRDC_XDD_Diff */
-static int hf_nr_rrc_measParametersMRDC_FRX_Diff = -1; /* MeasParametersMRDC_FRX_Diff */
-static int hf_nr_rrc_splitSRB_WithOneUL_Path = -1; /* T_splitSRB_WithOneUL_Path */
-static int hf_nr_rrc_splitDRB_withUL_Both_MCG_SCG = -1; /* T_splitDRB_withUL_Both_MCG_SCG */
-static int hf_nr_rrc_srb3 = -1; /* T_srb3 */
-static int hf_nr_rrc_supportedBandCombinationList = -1; /* BandCombinationList */
-static int hf_nr_rrc_appliedFreqBandListFilter = -1; /* FreqBandList */
-static int hf_nr_rrc_measParametersMRDC_Common = -1; /* MeasParametersMRDC_Common */
-static int hf_nr_rrc_independentGapConfig = -1; /* T_independentGapConfig */
-static int hf_nr_rrc_sftd_MeasPSCell = -1; /* T_sftd_MeasPSCell */
-static int hf_nr_rrc_sftd_MeasNR_Cell = -1; /* T_sftd_MeasNR_Cell */
-static int hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology = -1; /* T_simultaneousRxDataSSB_DiffNumerology */
-static int hf_nr_rrc_accessStratumRelease = -1; /* AccessStratumRelease */
-static int hf_nr_rrc_pdcp_Parameters = -1; /* PDCP_Parameters */
-static int hf_nr_rrc_rlc_Parameters = -1; /* RLC_Parameters */
-static int hf_nr_rrc_mac_Parameters = -1; /* MAC_Parameters */
-static int hf_nr_rrc_phy_Parameters = -1; /* Phy_Parameters */
-static int hf_nr_rrc_rf_Parameters = -1; /* RF_Parameters */
-static int hf_nr_rrc_measParameters = -1; /* MeasParameters */
-static int hf_nr_rrc_fdd_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddXDD_Mode */
-static int hf_nr_rrc_tdd_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddXDD_Mode */
-static int hf_nr_rrc_fr1_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddFRX_Mode */
-static int hf_nr_rrc_fr2_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddFRX_Mode */
-static int hf_nr_rrc_featureSets = -1; /* FeatureSets */
-static int hf_nr_rrc_nonCriticalExtension_10 = -1; /* T_nonCriticalExtension_10 */
+static int hf_nr_rrc_supportedROHC_Profiles = -1; /* T_supportedROHC_Profiles */
+static int hf_nr_rrc_profile0x0000 = -1; /* BOOLEAN */
+static int hf_nr_rrc_maxNumberROHC_ContextSessions = -1; /* T_maxNumberROHC_ContextSessions */
+static int hf_nr_rrc_uplinkOnlyROHC_Profiles = -1; /* T_uplinkOnlyROHC_Profiles */
+static int hf_nr_rrc_continueROHC_Context = -1; /* T_continueROHC_Context */
+static int hf_nr_rrc_outOfOrderDelivery_01 = -1; /* T_outOfOrderDelivery_01 */
+static int hf_nr_rrc_shortSN = -1; /* T_shortSN */
+static int hf_nr_rrc_pdcp_DuplicationSRB3 = -1; /* T_pdcp_DuplicationSRB3 */
+static int hf_nr_rrc_pdcp_DuplicationMCG_OrSCG = -1; /* T_pdcp_DuplicationMCG_OrSCG */
+static int hf_nr_rrc_pdcp_DuplicationSplitSRB = -1; /* T_pdcp_DuplicationSplitSRB */
+static int hf_nr_rrc_pdcp_DuplicationSplitDRB = -1; /* T_pdcp_DuplicationSplitDRB */
+static int hf_nr_rrc_phy_ParametersCommon = -1; /* Phy_ParametersCommon */
static int hf_nr_rrc_phy_ParametersXDD_Diff = -1; /* Phy_ParametersXDD_Diff */
-static int hf_nr_rrc_mac_ParametersXDD_Diff = -1; /* MAC_ParametersXDD_Diff */
-static int hf_nr_rrc_measParametersXDD_Diff = -1; /* MeasParametersXDD_Diff */
static int hf_nr_rrc_phy_ParametersFRX_Diff = -1; /* Phy_ParametersFRX_Diff */
-static int hf_nr_rrc_measParametersFRX_Diff = -1; /* MeasParametersFRX_Diff */
-static int hf_nr_rrc_phy_ParametersCommon = -1; /* Phy_ParametersCommon */
static int hf_nr_rrc_phy_ParametersFR1 = -1; /* Phy_ParametersFR1 */
static int hf_nr_rrc_phy_ParametersFR2 = -1; /* Phy_ParametersFR2 */
static int hf_nr_rrc_csi_RS_CFRA_ForHO = -1; /* T_csi_RS_CFRA_ForHO */
@@ -1955,6 +2664,7 @@ static int hf_nr_rrc_dynamicHARQ_ACK_CodeB_CBG_Retx_DL = -1; /* T_dynamicHARQ_A
static int hf_nr_rrc_rateMatchingResrcSetSemi_Static = -1; /* T_rateMatchingResrcSetSemi_Static */
static int hf_nr_rrc_rateMatchingResrcSetDynamic = -1; /* T_rateMatchingResrcSetDynamic */
static int hf_nr_rrc_bwp_SwitchingDelay = -1; /* T_bwp_SwitchingDelay */
+static int hf_nr_rrc_eutra_RS_SINR_measurement = -1; /* T_eutra_RS_SINR_measurement */
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 */
@@ -1982,7 +2692,7 @@ static int hf_nr_rrc_onePUCCH_LongAndShortFormat = -1; /* T_onePUCCH_LongAndSho
static int hf_nr_rrc_twoPUCCH_AnyOthersInSlot = -1; /* T_twoPUCCH_AnyOthersInSlot */
static int hf_nr_rrc_intraSlotFreqHopping_PUSCH = -1; /* T_intraSlotFreqHopping_PUSCH */
static int hf_nr_rrc_pusch_LBRM = -1; /* T_pusch_LBRM */
-static int hf_nr_rrc_pdcch_BlindDetectionCA = -1; /* T_pdcch_BlindDetectionCA */
+static int hf_nr_rrc_pdcch_BlindDetectionCA = -1; /* INTEGER_4_16 */
static int hf_nr_rrc_tpc_PUSCH_RNTI_01 = -1; /* T_tpc_PUSCH_RNTI */
static int hf_nr_rrc_tpc_PUCCH_RNTI_01 = -1; /* T_tpc_PUCCH_RNTI */
static int hf_nr_rrc_tpc_SRS_RNTI_01 = -1; /* T_tpc_SRS_RNTI */
@@ -1997,13 +2707,19 @@ 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_scs_60kHz_07 = -1; /* T_scs_60kHz_05 */
static int hf_nr_rrc_pdsch_256QAM_FR1 = -1; /* T_pdsch_256QAM_FR1 */
static int hf_nr_rrc_pdsch_RE_MappingFR1 = -1; /* T_pdsch_RE_MappingFR1 */
static int hf_nr_rrc_calibrationGapPA = -1; /* T_calibrationGapPA */
static int hf_nr_rrc_pdsch_RE_MappingFR2 = -1; /* T_pdsch_RE_MappingFR2 */
+static int hf_nr_rrc_naics_Capability_List = -1; /* SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry */
+static int hf_nr_rrc_naics_Capability_List_item = -1; /* NAICS_Capability_Entry */
+static int hf_nr_rrc_numberOfNAICS_CapableCC = -1; /* INTEGER_1_5 */
+static int hf_nr_rrc_numberOfAggregatedPRB = -1; /* T_numberOfAggregatedPRB */
static int hf_nr_rrc_supportedBandListNR = -1; /* SEQUENCE_SIZE_1_maxBands_OF_BandNR */
static int hf_nr_rrc_supportedBandListNR_item = -1; /* BandNR */
+static int hf_nr_rrc_supportedBandCombinationList = -1; /* BandCombinationList */
+static int hf_nr_rrc_appliedFreqBandListFilter = -1; /* FreqBandList */
static int hf_nr_rrc_modifiedMPR_Behaviour = -1; /* BIT_STRING_SIZE_8 */
static int hf_nr_rrc_mimo_ParametersPerBand = -1; /* MIMO_ParametersPerBand */
static int hf_nr_rrc_extendedCP = -1; /* T_extendedCP */
@@ -2011,115 +2727,133 @@ static int hf_nr_rrc_multipleTCI = -1; /* T_multipleTCI */
static int hf_nr_rrc_bwp_WithoutRestriction = -1; /* T_bwp_WithoutRestriction */
static int hf_nr_rrc_bwp_SameNumerology = -1; /* T_bwp_SameNumerology */
static int hf_nr_rrc_bwp_DiffNumerology = -1; /* T_bwp_DiffNumerology */
-static int hf_nr_rrc_crossCarrierSchedulingDL_SameSCS = -1; /* T_crossCarrierSchedulingDL_SameSCS */
-static int hf_nr_rrc_crossCarrierSchedulingUL_SameSCS = -1; /* T_crossCarrierSchedulingUL_SameSCS */
+static int hf_nr_rrc_crossCarrierScheduling_SameSCS = -1; /* T_crossCarrierScheduling_SameSCS */
static int hf_nr_rrc_pdsch_256QAM_FR2 = -1; /* T_pdsch_256QAM_FR2 */
static int hf_nr_rrc_pusch_256QAM = -1; /* T_pusch_256QAM */
static int hf_nr_rrc_ue_PowerClass = -1; /* T_ue_PowerClass */
static int hf_nr_rrc_rateMatchingLTE_CRS = -1; /* T_rateMatchingLTE_CRS */
-static int hf_nr_rrc_tci_StatePDSCH = -1; /* T_tci_StatePDSCH */
-static int hf_nr_rrc_maxNumberConfiguredTCIstatesPerCC = -1; /* T_maxNumberConfiguredTCIstatesPerCC */
-static int hf_nr_rrc_maxNumberActiveTCI_PerBWP = -1; /* T_maxNumberActiveTCI_PerBWP */
-static int hf_nr_rrc_additionalActiveTCI_StatePDCCH = -1; /* T_additionalActiveTCI_StatePDCCH */
-static int hf_nr_rrc_pusch_TransCoherence = -1; /* T_pusch_TransCoherence */
-static int hf_nr_rrc_beamCorrespondence = -1; /* T_beamCorrespondence */
-static int hf_nr_rrc_periodicBeamReport = -1; /* T_periodicBeamReport */
-static int hf_nr_rrc_aperiodicBeamReport = -1; /* T_aperiodicBeamReport */
-static int hf_nr_rrc_sp_BeamReportPUCCH = -1; /* T_sp_BeamReportPUCCH */
-static int hf_nr_rrc_sp_BeamReportPUSCH = -1; /* T_sp_BeamReportPUSCH */
-static int hf_nr_rrc_beamManagementSSB_CSI_RS = -1; /* BeamManagementSSB_CSI_RS */
-static int hf_nr_rrc_maxNumberRxBeam = -1; /* INTEGER_2_8 */
-static int hf_nr_rrc_maxNumberRxTxBeamSwitchDL = -1; /* T_maxNumberRxTxBeamSwitchDL */
-static int hf_nr_rrc_scs_15kHz_02 = -1; /* T_scs_15kHz_02 */
-static int hf_nr_rrc_scs_30kHz_02 = -1; /* T_scs_30kHz_02 */
-static int hf_nr_rrc_scs_60kHz_04 = -1; /* T_scs_60kHz_04 */
-static int hf_nr_rrc_scs_120kHz_02 = -1; /* T_scs_120kHz_02 */
-static int hf_nr_rrc_scs_240kHz = -1; /* T_scs_240kHz */
-static int hf_nr_rrc_maxNumberNonGroupBeamReporting = -1; /* T_maxNumberNonGroupBeamReporting */
-static int hf_nr_rrc_groupBeamReporting = -1; /* T_groupBeamReporting */
-static int hf_nr_rrc_uplinkBeamManagement = -1; /* T_uplinkBeamManagement */
-static int hf_nr_rrc_maxNumberSRS_ResourcePerSet_01 = -1; /* T_maxNumberSRS_ResourcePerSet */
-static int hf_nr_rrc_maxNumberSRS_ResourceSet = -1; /* INTEGER_1_8 */
-static int hf_nr_rrc_maxNumberCSI_RS_BFR = -1; /* INTEGER_1_64 */
-static int hf_nr_rrc_maxNumberSSB_BFR = -1; /* INTEGER_1_64 */
-static int hf_nr_rrc_maxNumberCSI_RS_SSB_BFR = -1; /* INTEGER_1_256 */
-static int hf_nr_rrc_twoPortsPTRS_DL = -1; /* T_twoPortsPTRS_DL */
-static int hf_nr_rrc_twoPortsPTRS_UL = -1; /* T_twoPortsPTRS_UL */
-static int hf_nr_rrc_maxNumberSimultaneousSRS_PerCC = -1; /* INTEGER_1_4 */
-static int hf_nr_rrc_beamReportTiming = -1; /* T_beamReportTiming */
-static int hf_nr_rrc_scs_15kHz_03 = -1; /* T_scs_15kHz_03 */
-static int hf_nr_rrc_scs_30kHz_03 = -1; /* T_scs_30kHz_03 */
-static int hf_nr_rrc_scs_60kHz_05 = -1; /* T_scs_60kHz_05 */
-static int hf_nr_rrc_scs_120kHz_03 = -1; /* T_scs_120kHz_03 */
-static int hf_nr_rrc_ptrs_DensityRecommendationSetDL = -1; /* T_ptrs_DensityRecommendationSetDL */
-static int hf_nr_rrc_scs_15kHz_04 = -1; /* PTRS_DensityRecommendationDL */
-static int hf_nr_rrc_scs_30kHz_04 = -1; /* PTRS_DensityRecommendationDL */
-static int hf_nr_rrc_scs_60kHz_06 = -1; /* PTRS_DensityRecommendationDL */
-static int hf_nr_rrc_scs_120kHz_04 = -1; /* PTRS_DensityRecommendationDL */
-static int hf_nr_rrc_ptrs_DensityRecommendationSetUL = -1; /* T_ptrs_DensityRecommendationSetUL */
-static int hf_nr_rrc_scs_15kHz_05 = -1; /* PTRS_DensityRecommendationUL */
-static int hf_nr_rrc_scs_30kHz_05 = -1; /* PTRS_DensityRecommendationUL */
-static int hf_nr_rrc_scs_60kHz_07 = -1; /* PTRS_DensityRecommendationUL */
-static int hf_nr_rrc_scs_120kHz_05 = -1; /* PTRS_DensityRecommendationUL */
-static int hf_nr_rrc_csi_RS_ForTracking = -1; /* CSI_RS_ForTracking */
-static int hf_nr_rrc_aperiodicTRS = -1; /* T_aperiodicTRS */
-static int hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx = -1; /* T_maxNumberSSB_CSI_RS_ResourceOneTx */
-static int hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceTwoTx = -1; /* T_maxNumberSSB_CSI_RS_ResourceTwoTx */
-static int hf_nr_rrc_supportedCSI_RS_Density = -1; /* T_supportedCSI_RS_Density */
-static int hf_nr_rrc_burstLength = -1; /* INTEGER_1_2 */
-static int hf_nr_rrc_maxSimultaneousResourceSetsPerCC = -1; /* INTEGER_1_8 */
-static int hf_nr_rrc_maxConfiguredResourceSetsPerCC = -1; /* INTEGER_1_64 */
-static int hf_nr_rrc_maxConfiguredResourceSetsAllCC = -1; /* INTEGER_1_128 */
-static int hf_nr_rrc_frequencyDensity1 = -1; /* INTEGER_1_276 */
-static int hf_nr_rrc_frequencyDensity2 = -1; /* INTEGER_1_276 */
-static int hf_nr_rrc_timeDensity1 = -1; /* INTEGER_0_29 */
-static int hf_nr_rrc_timeDensity2 = -1; /* INTEGER_0_29 */
-static int hf_nr_rrc_timeDensity3 = -1; /* INTEGER_0_29 */
-static int hf_nr_rrc_sampleDensity1 = -1; /* INTEGER_1_276 */
-static int hf_nr_rrc_sampleDensity2 = -1; /* INTEGER_1_276 */
-static int hf_nr_rrc_sampleDensity3 = -1; /* INTEGER_1_276 */
-static int hf_nr_rrc_sampleDensity4 = -1; /* INTEGER_1_276 */
-static int hf_nr_rrc_sampleDensity5 = -1; /* INTEGER_1_276 */
-static int hf_nr_rrc_maxNumberAperiodicSRS_PerBWP = -1; /* T_maxNumberAperiodicSRS_PerBWP */
-static int hf_nr_rrc_maxNumberAperiodicSRS_PerBWP_PerSlot = -1; /* INTEGER_1_6 */
-static int hf_nr_rrc_maxNumberPeriodicSRS_PerBWP = -1; /* T_maxNumberPeriodicSRS_PerBWP */
-static int hf_nr_rrc_maxNumberPeriodicSRS_PerBWP_PerSlot = -1; /* INTEGER_1_6 */
-static int hf_nr_rrc_maxNumberSemiPersitentSRS_PerBWP = -1; /* T_maxNumberSemiPersitentSRS_PerBWP */
-static int hf_nr_rrc_maxNumberSP_SRS_PerBWP_PerSlot = -1; /* INTEGER_1_6 */
-static int hf_nr_rrc_maxNumberSRS_Ports_PerResource = -1; /* T_maxNumberSRS_Ports_PerResource */
-static int hf_nr_rrc_supportedSRS_TxPortSwitch = -1; /* T_supportedSRS_TxPortSwitch */
-static int hf_nr_rrc_txSwitchImpactToRx = -1; /* T_txSwitchImpactToRx */
-static int hf_nr_rrc_supportedROHC_Profiles = -1; /* T_supportedROHC_Profiles */
-static int hf_nr_rrc_profile0x0000 = -1; /* BOOLEAN */
-static int hf_nr_rrc_maxNumberROHC_ContextSessions = -1; /* T_maxNumberROHC_ContextSessions */
-static int hf_nr_rrc_uplinkOnlyROHC_Profiles = -1; /* T_uplinkOnlyROHC_Profiles */
-static int hf_nr_rrc_continueROHC_Context = -1; /* T_continueROHC_Context */
-static int hf_nr_rrc_outOfOrderDelivery_01 = -1; /* T_outOfOrderDelivery_01 */
-static int hf_nr_rrc_shortSN = -1; /* T_shortSN */
+static int hf_nr_rrc_channelBWs_DL_v1530 = -1; /* T_channelBWs_DL_v1530 */
+static int hf_nr_rrc_fr1 = -1; /* T_fr1 */
+static int hf_nr_rrc_scs_15kHz_06 = -1; /* BIT_STRING_SIZE_10 */
+static int hf_nr_rrc_scs_30kHz_06 = -1; /* BIT_STRING_SIZE_10 */
+static int hf_nr_rrc_scs_60kHz_08 = -1; /* BIT_STRING_SIZE_10 */
+static int hf_nr_rrc_fr2 = -1; /* T_fr2 */
+static int hf_nr_rrc_scs_60kHz_09 = -1; /* BIT_STRING_SIZE_3 */
+static int hf_nr_rrc_scs_120kHz_06 = -1; /* BIT_STRING_SIZE_3 */
+static int hf_nr_rrc_channelBWs_UL_v1530 = -1; /* T_channelBWs_UL_v1530 */
+static int hf_nr_rrc_fr1_01 = -1; /* T_fr1_01 */
+static int hf_nr_rrc_fr2_01 = -1; /* T_fr2_01 */
+static int hf_nr_rrc_maxUplinkDutyCycle = -1; /* T_maxUplinkDutyCycle */
static int hf_nr_rrc_am_WithShortSN = -1; /* T_am_WithShortSN */
static int hf_nr_rrc_um_WithShortSN = -1; /* T_um_WithShortSN */
-static int hf_nr_rrc_um_WIthLongSN = -1; /* T_um_WIthLongSN */
-static int hf_nr_rrc_mac_ParametersCommon = -1; /* MAC_ParametersCommon */
-static int hf_nr_rrc_lcp_Restriction = -1; /* T_lcp_Restriction */
-static int hf_nr_rrc_pucch_SpatialRelInfoMAC_CE = -1; /* T_pucch_SpatialRelInfoMAC_CE */
-static int hf_nr_rrc_skipUplinkTxDynamic_01 = -1; /* T_skipUplinkTxDynamic */
-static int hf_nr_rrc_logicalChannelSR_DelayTimer_01 = -1; /* T_logicalChannelSR_DelayTimer_01 */
-static int hf_nr_rrc_longDRX_Cycle = -1; /* T_longDRX_Cycle */
-static int hf_nr_rrc_shortDRX_Cycle = -1; /* T_shortDRX_Cycle */
-static int hf_nr_rrc_multipleSR_Configurations = -1; /* T_multipleSR_Configurations */
-static int hf_nr_rrc_multipleConfiguredGrants = -1; /* T_multipleConfiguredGrants */
-static int hf_nr_rrc_measParametersCommon = -1; /* MeasParametersCommon */
-static int hf_nr_rrc_supportedGapPattern = -1; /* BIT_STRING_SIZE_22 */
-static int hf_nr_rrc_intraAndInterF_MeasAndReport = -1; /* T_intraAndInterF_MeasAndReport */
-static int hf_nr_rrc_eventA_MeasAndReport = -1; /* T_eventA_MeasAndReport */
-static int hf_nr_rrc_ss_SINR_Meas = -1; /* T_ss_SINR_Meas */
-static int hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB = -1; /* T_csi_RSRP_AndRSRQ_MeasWithSSB */
-static int hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB = -1; /* T_csi_RSRP_AndRSRQ_MeasWithoutSSB */
-static int hf_nr_rrc_csi_SINR_Meas = -1; /* T_csi_SINR_Meas */
-static int hf_nr_rrc_csi_RS_RLM = -1; /* T_csi_RS_RLM */
+static int hf_nr_rrc_um_WithLongSN = -1; /* T_um_WithLongSN */
+static int hf_nr_rrc_fr1_02 = -1; /* T_fr1_02 */
+static int hf_nr_rrc_fr2_02 = -1; /* T_fr2_02 */
+static int hf_nr_rrc_UE_CapabilityRAT_ContainerList_item = -1; /* UE_CapabilityRAT_Container */
+static int hf_nr_rrc_rat_Type = -1; /* RAT_Type */
+static int hf_nr_rrc_ue_CapabilityRAT_Container = -1; /* T_ue_CapabilityRAT_Container */
+static int hf_nr_rrc_UE_CapabilityRAT_RequestList_item = -1; /* UE_CapabilityRAT_Request */
+static int hf_nr_rrc_capabilityRequestFilter = -1; /* T_capabilityRequestFilter */
+static int hf_nr_rrc_frequencyBandList_02 = -1; /* FreqBandList */
+static int hf_nr_rrc_nonCriticalExtension_35 = -1; /* T_nonCriticalExtension_33 */
+static int hf_nr_rrc_measAndMobParametersMRDC = -1; /* MeasAndMobParametersMRDC */
+static int hf_nr_rrc_phy_ParametersMRDC_v1530 = -1; /* Phy_ParametersMRDC */
+static int hf_nr_rrc_rf_ParametersMRDC = -1; /* RF_ParametersMRDC */
+static int hf_nr_rrc_generalParametersMRDC = -1; /* GeneralParametersMRDC_XDD_Diff */
+static int hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddXDD_Mode */
+static int hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddXDD_Mode */
+static int hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddFRX_Mode */
+static int hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddFRX_Mode */
+static int hf_nr_rrc_featureSetCombinations = -1; /* SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination */
+static int hf_nr_rrc_featureSetCombinations_item = -1; /* FeatureSetCombination */
+static int hf_nr_rrc_pdcp_ParametersMRDC_v1530 = -1; /* PDCP_ParametersMRDC */
+static int hf_nr_rrc_nonCriticalExtension_36 = -1; /* T_nonCriticalExtension_34 */
+static int hf_nr_rrc_generalParametersMRDC_XDD_Diff = -1; /* GeneralParametersMRDC_XDD_Diff */
+static int hf_nr_rrc_splitSRB_WithOneUL_Path = -1; /* T_splitSRB_WithOneUL_Path */
+static int hf_nr_rrc_splitDRB_withUL_Both_MCG_SCG = -1; /* T_splitDRB_withUL_Both_MCG_SCG */
+static int hf_nr_rrc_srb3 = -1; /* T_srb3 */
+static int hf_nr_rrc_v2x_EUTRA_v1530 = -1; /* T_v2x_EUTRA_v1530 */
+static int hf_nr_rrc_accessStratumRelease = -1; /* AccessStratumRelease */
+static int hf_nr_rrc_pdcp_Parameters = -1; /* PDCP_Parameters */
+static int hf_nr_rrc_rlc_Parameters = -1; /* RLC_Parameters */
+static int hf_nr_rrc_mac_Parameters = -1; /* MAC_Parameters */
+static int hf_nr_rrc_phy_Parameters = -1; /* Phy_Parameters */
+static int hf_nr_rrc_rf_Parameters = -1; /* RF_Parameters */
+static int hf_nr_rrc_measAndMobParameters = -1; /* MeasAndMobParameters */
+static int hf_nr_rrc_fdd_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddXDD_Mode */
+static int hf_nr_rrc_tdd_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddXDD_Mode */
+static int hf_nr_rrc_fr1_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddFRX_Mode */
+static int hf_nr_rrc_fr2_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddFRX_Mode */
+static int hf_nr_rrc_featureSets = -1; /* FeatureSets */
+static int hf_nr_rrc_nonCriticalExtension_37 = -1; /* UE_NR_Capability_1530 */
+static int hf_nr_rrc_fdd_Add_UE_NR_Capabilities_1530 = -1; /* UE_NR_CapabilityAddXDD_Mode_1530 */
+static int hf_nr_rrc_tdd_Add_UE_NR_Capabilities_1530 = -1; /* UE_NR_CapabilityAddXDD_Mode_1530 */
+static int hf_nr_rrc_voiceOverMCG_Bearer = -1; /* T_voiceOverMCG_Bearer */
+static int hf_nr_rrc_interRAT_Parameters = -1; /* InterRAT_Parameters */
+static int hf_nr_rrc_inactiveState = -1; /* T_inactiveState */
+static int hf_nr_rrc_delayBudgetReporting = -1; /* T_delayBudgetReporting */
+static int hf_nr_rrc_nonCriticalExtension_38 = -1; /* T_nonCriticalExtension_35 */
+static int hf_nr_rrc_EUTRA_MBSFN_SubframeConfigList_item = -1; /* EUTRA_MBSFN_SubframeConfig */
+static int hf_nr_rrc_radioframeAllocationPeriod = -1; /* T_radioframeAllocationPeriod */
+static int hf_nr_rrc_radioframeAllocationOffset = -1; /* INTEGER_0_7 */
+static int hf_nr_rrc_subframeAllocation1 = -1; /* T_subframeAllocation1 */
+static int hf_nr_rrc_oneFrame = -1; /* BIT_STRING_SIZE_6 */
+static int hf_nr_rrc_fourFrames = -1; /* BIT_STRING_SIZE_24 */
+static int hf_nr_rrc_subframeAllocation2 = -1; /* T_subframeAllocation2 */
+static int hf_nr_rrc_oneFrame_01 = -1; /* BIT_STRING_SIZE_2 */
+static int hf_nr_rrc_fourFrames_01 = -1; /* BIT_STRING_SIZE_8 */
+static int hf_nr_rrc_EUTRA_MultiBandInfoList_item = -1; /* EUTRA_MultiBandInfo */
+static int hf_nr_rrc_eutra_FreqBandIndicator = -1; /* FreqBandIndicatorEUTRA */
+static int hf_nr_rrc_eutra_NS_PmaxList = -1; /* EUTRA_NS_PmaxList */
+static int hf_nr_rrc_EUTRA_NS_PmaxList_item = -1; /* EUTRA_NS_PmaxValue */
+static int hf_nr_rrc_additionalPmax = -1; /* INTEGER_M30_33 */
+static int hf_nr_rrc_additionalSpectrumEmission_01 = -1; /* INTEGER_1_288 */
+static int hf_nr_rrc_start_01 = -1; /* EUTRA_PhysCellId */
+static int hf_nr_rrc_range_01 = -1; /* T_range_01 */
+static int hf_nr_rrc_MultiFrequencyBandListNR_SIB_item = -1; /* NR_MultiBandInfo */
+static int hf_nr_rrc_freqBandIndicatorNR = -1; /* FreqBandIndicatorNR */
+static int hf_nr_rrc_nr_NS_PmaxList = -1; /* NR_NS_PmaxList */
+static int hf_nr_rrc_NR_NS_PmaxList_item = -1; /* NR_NS_PmaxValue */
+static int hf_nr_rrc_additionalPmax_01 = -1; /* P_Max */
+static int hf_nr_rrc_delayBudgetReportingConfig = -1; /* T_delayBudgetReportingConfig */
+static int hf_nr_rrc_setup_49 = -1; /* T_setup */
+static int hf_nr_rrc_delayBudgetReportingProhibitTimer = -1; /* T_delayBudgetReportingProhibitTimer */
+static int dummy_hf_nr_rrc_eag_field = -1; /* never registered */
/*--- End of included file: packet-nr-rrc-hf.c ---*/
-#line 40 "./asn1/nr-rrc/packet-nr-rrc-template.c"
+#line 54 "./asn1/nr-rrc/packet-nr-rrc-template.c"
+static int hf_nr_rrc_serialNumber_gs = -1;
+static int hf_nr_rrc_serialNumber_msg_code = -1;
+static int hf_nr_rrc_serialNumber_upd_nb = -1;
+static int hf_nr_rrc_warningType_value = -1;
+static int hf_nr_rrc_warningType_emergency_user_alert = -1;
+static int hf_nr_rrc_warningType_popup = -1;
+static int hf_nr_rrc_warningMessageSegment_nb_pages = -1;
+static int hf_nr_rrc_warningMessageSegment_decoded_page = -1;
+static int hf_nr_rrc_sib7_fragments = -1;
+static int hf_nr_rrc_sib7_fragment = -1;
+static int hf_nr_rrc_sib7_fragment_overlap = -1;
+static int hf_nr_rrc_sib7_fragment_overlap_conflict = -1;
+static int hf_nr_rrc_sib7_fragment_multiple_tails = -1;
+static int hf_nr_rrc_sib7_fragment_too_long_fragment = -1;
+static int hf_nr_rrc_sib7_fragment_error = -1;
+static int hf_nr_rrc_sib7_fragment_count = -1;
+static int hf_nr_rrc_sib7_reassembled_in = -1;
+static int hf_nr_rrc_sib7_reassembled_length = -1;
+static int hf_nr_rrc_sib7_reassembled_data = -1;
+static int hf_nr_rrc_sib8_fragments = -1;
+static int hf_nr_rrc_sib8_fragment = -1;
+static int hf_nr_rrc_sib8_fragment_overlap = -1;
+static int hf_nr_rrc_sib8_fragment_overlap_conflict = -1;
+static int hf_nr_rrc_sib8_fragment_multiple_tails = -1;
+static int hf_nr_rrc_sib8_fragment_too_long_fragment = -1;
+static int hf_nr_rrc_sib8_fragment_error = -1;
+static int hf_nr_rrc_sib8_fragment_count = -1;
+static int hf_nr_rrc_sib8_reassembled_in = -1;
+static int hf_nr_rrc_sib8_reassembled_length = -1;
+static int hf_nr_rrc_sib8_reassembled_data = -1;
+static int hf_nr_rrc_utc_time = -1;
+static int hf_nr_rrc_local_time = -1;
/* Initialize the subtree pointers */
static gint ett_nr_rrc = -1;
@@ -2138,8 +2872,9 @@ static gint ett_nr_rrc_T_c1_01 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_01 = -1;
static gint ett_nr_rrc_HandoverPreparationInformation_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_01 = -1;
+static gint ett_nr_rrc_AS_Config = -1;
static gint ett_nr_rrc_AS_Context = -1;
-static gint ett_nr_rrc_T_reestablishmentInfo = -1;
+static gint ett_nr_rrc_ReestablishmentInfo = -1;
static gint ett_nr_rrc_ReestabNCellInfoList = -1;
static gint ett_nr_rrc_ReestabNCellInfo = -1;
static gint ett_nr_rrc_RRM_Config = -1;
@@ -2153,8 +2888,10 @@ static gint ett_nr_rrc_MeasConfigSN = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo = -1;
static gint ett_nr_rrc_NR_FreqInfo = -1;
static gint ett_nr_rrc_ConfigRestrictModReqSCG = -1;
+static gint ett_nr_rrc_BandCombinationInfoSN = -1;
static gint ett_nr_rrc_FR_InfoList = -1;
static gint ett_nr_rrc_FR_Info = -1;
+static gint ett_nr_rrc_CandidateServingFreqListNR = -1;
static gint ett_nr_rrc_CG_ConfigInfo = -1;
static gint ett_nr_rrc_T_criticalExtensions_03 = -1;
static gint ett_nr_rrc_T_c1_03 = -1;
@@ -2165,13 +2902,22 @@ static gint ett_nr_rrc_T_nonCriticalExtension_03 = -1;
static gint ett_nr_rrc_ConfigRestrictInfoSCG = -1;
static gint ett_nr_rrc_T_powerCoordination_FR1 = -1;
static gint ett_nr_rrc_T_servCellIndexRangeSCG = -1;
-static gint ett_nr_rrc_BandCombinationIndexList = -1;
+static gint ett_nr_rrc_BandCombinationInfoList = -1;
+static gint ett_nr_rrc_BandCombinationInfo = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex = -1;
static gint ett_nr_rrc_DRX_Info = -1;
static gint ett_nr_rrc_T_drx_LongCycleStartOffset = -1;
static gint ett_nr_rrc_T_shortDRX = -1;
static gint ett_nr_rrc_MeasConfigMN = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo = -1;
static gint ett_nr_rrc_T_measGapConfig = -1;
+static gint ett_nr_rrc_MRDC_AssistanceInfo = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC = -1;
+static gint ett_nr_rrc_AffectedCarrierFreqCombInfoMRDC = -1;
+static gint ett_nr_rrc_T_affectedCarrierFreqCombMRDC = -1;
+static gint ett_nr_rrc_VictimSystemType = -1;
+static gint ett_nr_rrc_AffectedCarrierFreqCombEUTRA = -1;
+static gint ett_nr_rrc_AffectedCarrierFreqCombNR = -1;
static gint ett_nr_rrc_MeasurementTimingConfiguration = -1;
static gint ett_nr_rrc_T_criticalExtensions_04 = -1;
static gint ett_nr_rrc_T_c1_04 = -1;
@@ -2181,38 +2927,277 @@ static gint ett_nr_rrc_T_nonCriticalExtension_04 = -1;
static gint ett_nr_rrc_MeasTimingList = -1;
static gint ett_nr_rrc_MeasTiming = -1;
static gint ett_nr_rrc_T_frequencyAndTiming = -1;
+static gint ett_nr_rrc_UERadioPagingInformation = -1;
+static gint ett_nr_rrc_T_criticalExtensions_05 = -1;
+static gint ett_nr_rrc_T_c1_05 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_05 = -1;
+static gint ett_nr_rrc_UERadioPagingInformation_IEs = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_05 = -1;
+static gint ett_nr_rrc_UERadioAccessCapabilityInformation = -1;
+static gint ett_nr_rrc_T_criticalExtensions_06 = -1;
+static gint ett_nr_rrc_T_c1_06 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_06 = -1;
+static gint ett_nr_rrc_UERadioAccessCapabilityInformation_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_06 = -1;
static gint ett_nr_rrc_BCCH_BCH_Message = -1;
static gint ett_nr_rrc_BCCH_BCH_MessageType = -1;
static gint ett_nr_rrc_T_messageClassExtension = -1;
+static gint ett_nr_rrc_BCCH_DL_SCH_Message = -1;
+static gint ett_nr_rrc_BCCH_DL_SCH_MessageType = -1;
+static gint ett_nr_rrc_T_c1_07 = -1;
+static gint ett_nr_rrc_T_messageClassExtension_01 = -1;
+static gint ett_nr_rrc_DL_CCCH_Message = -1;
+static gint ett_nr_rrc_DL_CCCH_MessageType = -1;
+static gint ett_nr_rrc_T_c1_08 = -1;
+static gint ett_nr_rrc_T_messageClassExtension_02 = -1;
static gint ett_nr_rrc_DL_DCCH_Message = -1;
static gint ett_nr_rrc_DL_DCCH_MessageType = -1;
-static gint ett_nr_rrc_T_c1_05 = -1;
-static gint ett_nr_rrc_T_messageClassExtension_01 = -1;
+static gint ett_nr_rrc_T_c1_09 = -1;
+static gint ett_nr_rrc_T_messageClassExtension_03 = -1;
+static gint ett_nr_rrc_PCCH_Message = -1;
+static gint ett_nr_rrc_PCCH_MessageType = -1;
+static gint ett_nr_rrc_T_c1_10 = -1;
+static gint ett_nr_rrc_T_messageClassExtension_04 = -1;
+static gint ett_nr_rrc_UL_CCCH_Message = -1;
+static gint ett_nr_rrc_UL_CCCH_MessageType = -1;
+static gint ett_nr_rrc_T_c1_11 = -1;
+static gint ett_nr_rrc_T_messageClassExtension_05 = -1;
+static gint ett_nr_rrc_UL_CCCH1_Message = -1;
+static gint ett_nr_rrc_UL_CCCH1_MessageType = -1;
+static gint ett_nr_rrc_T_c1_12 = -1;
+static gint ett_nr_rrc_T_messageClassExtension_06 = -1;
static gint ett_nr_rrc_UL_DCCH_Message = -1;
static gint ett_nr_rrc_UL_DCCH_MessageType = -1;
-static gint ett_nr_rrc_T_c1_06 = -1;
-static gint ett_nr_rrc_T_messageClassExtension_02 = -1;
+static gint ett_nr_rrc_T_c1_13 = -1;
+static gint ett_nr_rrc_T_messageClassExtension_07 = -1;
+static gint ett_nr_rrc_CounterCheck = -1;
+static gint ett_nr_rrc_T_criticalExtensions_07 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_07 = -1;
+static gint ett_nr_rrc_CounterCheck_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_07 = -1;
+static gint ett_nr_rrc_DRB_CountMSB_InfoList = -1;
+static gint ett_nr_rrc_DRB_CountMSB_Info = -1;
+static gint ett_nr_rrc_CounterCheckResponse = -1;
+static gint ett_nr_rrc_T_criticalExtensions_08 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_08 = -1;
+static gint ett_nr_rrc_CounterCheckResponse_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_08 = -1;
+static gint ett_nr_rrc_DRB_CountInfoList = -1;
+static gint ett_nr_rrc_DRB_CountInfo = -1;
+static gint ett_nr_rrc_DLInformationTransfer = -1;
+static gint ett_nr_rrc_T_criticalExtensions_09 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_09 = -1;
+static gint ett_nr_rrc_DLInformationTransfer_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_09 = -1;
+static gint ett_nr_rrc_LocationMeasurementIndication = -1;
+static gint ett_nr_rrc_T_criticalExtensions_10 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_10 = -1;
+static gint ett_nr_rrc_LocationMeasurementIndication_IEs = -1;
+static gint ett_nr_rrc_T_measurementIndication = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_10 = -1;
static gint ett_nr_rrc_MIB = -1;
static gint ett_nr_rrc_MeasurementReport = -1;
-static gint ett_nr_rrc_T_criticalExtensions_05 = -1;
-static gint ett_nr_rrc_T_criticalExtensionsFuture_05 = -1;
+static gint ett_nr_rrc_T_criticalExtensions_11 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_11 = -1;
static gint ett_nr_rrc_MeasurementReport_IEs = -1;
-static gint ett_nr_rrc_T_nonCriticalExtension_05 = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_11 = -1;
+static gint ett_nr_rrc_MobilityFromNRCommand = -1;
+static gint ett_nr_rrc_T_criticalExtensions_12 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_12 = -1;
+static gint ett_nr_rrc_MobilityFromNRCommand_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_12 = -1;
+static gint ett_nr_rrc_Paging = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_13 = -1;
+static gint ett_nr_rrc_PagingRecordList = -1;
+static gint ett_nr_rrc_PagingRecord = -1;
+static gint ett_nr_rrc_PagingUE_Identity = -1;
+static gint ett_nr_rrc_RRCReestablishment = -1;
+static gint ett_nr_rrc_T_criticalExtensions_13 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_13 = -1;
+static gint ett_nr_rrc_RRCReestablishment_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_14 = -1;
+static gint ett_nr_rrc_RRCReestablishmentComplete = -1;
+static gint ett_nr_rrc_T_criticalExtensions_14 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_14 = -1;
+static gint ett_nr_rrc_RRCReestablishmentComplete_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_15 = -1;
+static gint ett_nr_rrc_RRCReestablishmentRequest = -1;
+static gint ett_nr_rrc_RRCReestablishmentRequest_IEs = -1;
+static gint ett_nr_rrc_ReestabUE_Identity = -1;
static gint ett_nr_rrc_RRCReconfiguration = -1;
-static gint ett_nr_rrc_T_criticalExtensions_06 = -1;
-static gint ett_nr_rrc_T_criticalExtensionsFuture_06 = -1;
+static gint ett_nr_rrc_T_criticalExtensions_15 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_15 = -1;
static gint ett_nr_rrc_RRCReconfiguration_IEs = -1;
-static gint ett_nr_rrc_T_nonCriticalExtension_06 = -1;
+static gint ett_nr_rrc_RRCReconfiguration_v1530_IEs = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_16 = -1;
+static gint ett_nr_rrc_MasterKeyUpdate = -1;
static gint ett_nr_rrc_RRCReconfigurationComplete = -1;
-static gint ett_nr_rrc_T_criticalExtensions_07 = -1;
-static gint ett_nr_rrc_T_criticalExtensionsFuture_07 = -1;
+static gint ett_nr_rrc_T_criticalExtensions_16 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_16 = -1;
static gint ett_nr_rrc_RRCReconfigurationComplete_IEs = -1;
-static gint ett_nr_rrc_T_nonCriticalExtension_07 = -1;
+static gint ett_nr_rrc_RRCReconfigurationComplete_v1530_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_17 = -1;
+static gint ett_nr_rrc_RRCReject = -1;
+static gint ett_nr_rrc_T_criticalExtensions_17 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_17 = -1;
+static gint ett_nr_rrc_RRCReject_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_18 = -1;
+static gint ett_nr_rrc_RRCRelease = -1;
+static gint ett_nr_rrc_T_criticalExtensions_18 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_18 = -1;
+static gint ett_nr_rrc_RRCRelease_IEs = -1;
+static gint ett_nr_rrc_T_deprioritisationReq = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_19 = -1;
+static gint ett_nr_rrc_RedirectedCarrierInfo = -1;
+static gint ett_nr_rrc_RedirectedCarrierInfo_EUTRA = -1;
+static gint ett_nr_rrc_CarrierInfoNR = -1;
+static gint ett_nr_rrc_SuspendConfig = -1;
+static gint ett_nr_rrc_CellReselectionPriorities = -1;
+static gint ett_nr_rrc_FreqPriorityListEUTRA = -1;
+static gint ett_nr_rrc_FreqPriorityListNR = -1;
+static gint ett_nr_rrc_FreqPriorityEUTRA = -1;
+static gint ett_nr_rrc_FreqPriorityNR = -1;
+static gint ett_nr_rrc_RAN_NotificationAreaInfo = -1;
+static gint ett_nr_rrc_PLMN_RAN_AreaCellList = -1;
+static gint ett_nr_rrc_PLMN_RAN_AreaCell = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_CellIdentity = -1;
+static gint ett_nr_rrc_PLMN_RAN_AreaConfigList = -1;
+static gint ett_nr_rrc_PLMN_RAN_AreaConfig = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig = -1;
+static gint ett_nr_rrc_RAN_AreaConfig = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_RAN_AreaCode = -1;
+static gint ett_nr_rrc_RRCResume = -1;
+static gint ett_nr_rrc_T_criticalExtensions_19 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_19 = -1;
+static gint ett_nr_rrc_RRCResume_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_20 = -1;
+static gint ett_nr_rrc_RRCResumeComplete = -1;
+static gint ett_nr_rrc_T_criticalExtensions_20 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_20 = -1;
+static gint ett_nr_rrc_RRCResumeComplete_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_21 = -1;
+static gint ett_nr_rrc_RRCResumeRequest = -1;
+static gint ett_nr_rrc_RRCResumeRequest_IEs = -1;
+static gint ett_nr_rrc_RRCResumeRequest1 = -1;
+static gint ett_nr_rrc_RRCResumeRequest1_IEs = -1;
+static gint ett_nr_rrc_RRCSetup = -1;
+static gint ett_nr_rrc_T_criticalExtensions_21 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_21 = -1;
+static gint ett_nr_rrc_RRCSetup_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_22 = -1;
+static gint ett_nr_rrc_RRCSetupComplete = -1;
+static gint ett_nr_rrc_T_criticalExtensions_22 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_22 = -1;
+static gint ett_nr_rrc_RRCSetupComplete_IEs = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI = -1;
+static gint ett_nr_rrc_T_ng_5G_S_TMSI_Value = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_23 = -1;
+static gint ett_nr_rrc_RegisteredAMF = -1;
+static gint ett_nr_rrc_RRCSetupRequest = -1;
+static gint ett_nr_rrc_RRCSetupRequest_IEs = -1;
+static gint ett_nr_rrc_InitialUE_Identity = -1;
+static gint ett_nr_rrc_RRCSystemInfoRequest = -1;
+static gint ett_nr_rrc_T_criticalExtensions_23 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_23 = -1;
+static gint ett_nr_rrc_RRCSystemInfoRequest_r15_IEs = -1;
+static gint ett_nr_rrc_SecurityModeCommand = -1;
+static gint ett_nr_rrc_T_criticalExtensions_24 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_24 = -1;
+static gint ett_nr_rrc_SecurityModeCommand_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_24 = -1;
+static gint ett_nr_rrc_SecurityConfigSMC = -1;
+static gint ett_nr_rrc_SecurityModeComplete = -1;
+static gint ett_nr_rrc_T_criticalExtensions_25 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_25 = -1;
+static gint ett_nr_rrc_SecurityModeComplete_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_25 = -1;
+static gint ett_nr_rrc_SecurityModeFailure = -1;
+static gint ett_nr_rrc_T_criticalExtensions_26 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_26 = -1;
+static gint ett_nr_rrc_SecurityModeFailure_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_26 = -1;
static gint ett_nr_rrc_SIB1 = -1;
-static gint ett_nr_rrc_T_ssb_PositionsInBurst = -1;
-static gint ett_nr_rrc_T_supplementaryUplink = -1;
-static gint ett_nr_rrc_T_nonCriticalExtension_08 = -1;
+static gint ett_nr_rrc_T_cellSelectionInfo = -1;
+static gint ett_nr_rrc_T_uac_BarringInfo = -1;
+static gint ett_nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_27 = -1;
+static gint ett_nr_rrc_SystemInformation = -1;
+static gint ett_nr_rrc_T_criticalExtensions_27 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_27 = -1;
+static gint ett_nr_rrc_SystemInformation_IEs = -1;
+static gint ett_nr_rrc_T_sib_TypeAndInfo = -1;
+static gint ett_nr_rrc_T_sib_TypeAndInfo_item = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_28 = -1;
+static gint ett_nr_rrc_UEAssistanceInformation = -1;
+static gint ett_nr_rrc_T_criticalExtensions_28 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_28 = -1;
+static gint ett_nr_rrc_UEAssistanceInformation_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_29 = -1;
+static gint ett_nr_rrc_DelayBudgetReport = -1;
+static gint ett_nr_rrc_UECapabilityEnquiry = -1;
+static gint ett_nr_rrc_T_criticalExtensions_29 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_29 = -1;
+static gint ett_nr_rrc_UECapabilityEnquiry_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_30 = -1;
+static gint ett_nr_rrc_UECapabilityInformation = -1;
+static gint ett_nr_rrc_T_criticalExtensions_30 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_30 = -1;
+static gint ett_nr_rrc_UECapabilityInformation_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_31 = -1;
+static gint ett_nr_rrc_ULInformationTransfer = -1;
+static gint ett_nr_rrc_T_criticalExtensions_31 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_31 = -1;
+static gint ett_nr_rrc_ULInformationTransfer_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_32 = -1;
+static gint ett_nr_rrc_SIB2 = -1;
+static gint ett_nr_rrc_T_cellReselectionInfoCommon = -1;
+static gint ett_nr_rrc_T_speedStateReselectionPars = -1;
+static gint ett_nr_rrc_T_q_HystSF = -1;
+static gint ett_nr_rrc_T_cellReselectionServingFreqInfo = -1;
+static gint ett_nr_rrc_T_intraFreqCellReselectionInfo = -1;
+static gint ett_nr_rrc_SIB3 = -1;
+static gint ett_nr_rrc_IntraFreqNeighCellList = -1;
+static gint ett_nr_rrc_IntraFreqNeighCellInfo = -1;
+static gint ett_nr_rrc_IntraFreqBlackCellList = -1;
+static gint ett_nr_rrc_SIB4 = -1;
+static gint ett_nr_rrc_InterFreqCarrierFreqList = -1;
+static gint ett_nr_rrc_InterFreqCarrierFreqInfo = -1;
+static gint ett_nr_rrc_T_threshX_Q = -1;
+static gint ett_nr_rrc_InterFreqNeighCellList = -1;
+static gint ett_nr_rrc_InterFreqNeighCellInfo = -1;
+static gint ett_nr_rrc_InterFreqBlackCellList = -1;
+static gint ett_nr_rrc_SIB5 = -1;
+static gint ett_nr_rrc_CarrierFreqListEUTRA = -1;
+static gint ett_nr_rrc_CarrierFreqEUTRA = -1;
+static gint ett_nr_rrc_T_threshX_Q_01 = -1;
+static gint ett_nr_rrc_EUTRA_FreqBlackCellList = -1;
+static gint ett_nr_rrc_EUTRA_FreqNeighCellList = -1;
+static gint ett_nr_rrc_EUTRA_FreqNeighCellInfo = -1;
+static gint ett_nr_rrc_SIB6 = -1;
+static gint ett_nr_rrc_SIB7 = -1;
+static gint ett_nr_rrc_SIB8 = -1;
+static gint ett_nr_rrc_SIB9 = -1;
+static gint ett_nr_rrc_T_timeInfo = -1;
+static gint ett_nr_rrc_BeamFailureRecoveryConfig = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR = -1;
+static gint ett_nr_rrc_PRACH_ResourceDedicatedBFR = -1;
+static gint ett_nr_rrc_BFR_SSB_Resource = -1;
+static gint ett_nr_rrc_BFR_CSIRS_Resource = -1;
+static gint ett_nr_rrc_T_ra_OccasionList = -1;
+static gint ett_nr_rrc_BSR_Config = -1;
static gint ett_nr_rrc_BWP = -1;
+static gint ett_nr_rrc_BWP_Downlink = -1;
+static gint ett_nr_rrc_BWP_DownlinkCommon = -1;
+static gint ett_nr_rrc_T_pdcch_ConfigCommon = -1;
+static gint ett_nr_rrc_T_pdsch_ConfigCommon = -1;
+static gint ett_nr_rrc_BWP_DownlinkDedicated = -1;
+static gint ett_nr_rrc_T_pdcch_Config = -1;
+static gint ett_nr_rrc_T_pdsch_Config = -1;
+static gint ett_nr_rrc_T_sps_Config = -1;
+static gint ett_nr_rrc_T_radioLinkMonitoringConfig = -1;
static gint ett_nr_rrc_BWP_Uplink = -1;
static gint ett_nr_rrc_BWP_UplinkCommon = -1;
static gint ett_nr_rrc_T_rach_ConfigCommon = -1;
@@ -2224,21 +3209,13 @@ static gint ett_nr_rrc_T_pusch_Config = -1;
static gint ett_nr_rrc_T_configuredGrantConfig = -1;
static gint ett_nr_rrc_T_srs_Config = -1;
static gint ett_nr_rrc_T_beamFailureRecoveryConfig = -1;
-static gint ett_nr_rrc_BWP_Downlink = -1;
-static gint ett_nr_rrc_BWP_DownlinkCommon = -1;
-static gint ett_nr_rrc_T_pdcch_ConfigCommon = -1;
-static gint ett_nr_rrc_T_pdsch_ConfigCommon = -1;
-static gint ett_nr_rrc_BWP_DownlinkDedicated = -1;
-static gint ett_nr_rrc_T_pdcch_Config = -1;
-static gint ett_nr_rrc_T_pdsch_Config = -1;
-static gint ett_nr_rrc_T_sps_Config = -1;
-static gint ett_nr_rrc_T_radioLinkMonitoringConfig = -1;
-static gint ett_nr_rrc_BeamFailureRecoveryConfig = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR = -1;
-static gint ett_nr_rrc_PRACH_ResourceDedicatedBFR = -1;
-static gint ett_nr_rrc_BFR_SSB_Resource = -1;
-static gint ett_nr_rrc_BFR_CSIRS_Resource = -1;
-static gint ett_nr_rrc_T_ra_OccasionList = -1;
+static gint ett_nr_rrc_CellAccessRelatedInfo = -1;
+static gint ett_nr_rrc_CellAccessRelatedInfo_EUTRA_5GC = -1;
+static gint ett_nr_rrc_PLMN_IdentityList_EUTRA_5GC = -1;
+static gint ett_nr_rrc_PLMN_Identity_EUTRA_5GC = -1;
+static gint ett_nr_rrc_CellIdentity_EUTRA_5GC = -1;
+static gint ett_nr_rrc_CellAccessRelatedInfo_EUTRA_EPC = -1;
+static gint ett_nr_rrc_PLMN_IdentityList_EUTRA_EPC = -1;
static gint ett_nr_rrc_CellGroupConfig = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity = -1;
@@ -2249,9 +3226,11 @@ static gint ett_nr_rrc_T_rlf_TimersAndConstants = -1;
static gint ett_nr_rrc_ReconfigurationWithSync = -1;
static gint ett_nr_rrc_T_rach_ConfigDedicated = -1;
static gint ett_nr_rrc_SCellConfig = -1;
+static gint ett_nr_rrc_CGI_Info = -1;
+static gint ett_nr_rrc_T_noSIB1 = -1;
static gint ett_nr_rrc_CodebookConfig = -1;
static gint ett_nr_rrc_T_codebookType = -1;
-static gint ett_nr_rrc_T_type1 = -1;
+static gint ett_nr_rrc_T_type1_01 = -1;
static gint ett_nr_rrc_T_subType = -1;
static gint ett_nr_rrc_T_typeI_SinglePanel = -1;
static gint ett_nr_rrc_T_nrOfAntennaPorts = -1;
@@ -2270,6 +3249,7 @@ static gint ett_nr_rrc_T_uci_OnPUSCH = -1;
static gint ett_nr_rrc_T_rrc_ConfiguredUplinkGrant = -1;
static gint ett_nr_rrc_CG_UCI_OnPUSCH = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets = -1;
+static gint ett_nr_rrc_ConnEstFailureControl = -1;
static gint ett_nr_rrc_ControlResourceSet = -1;
static gint ett_nr_rrc_T_cce_REG_MappingType = -1;
static gint ett_nr_rrc_T_interleaved = -1;
@@ -2325,6 +3305,7 @@ static gint ett_nr_rrc_T_csi_ReportingBand = -1;
static gint ett_nr_rrc_T_groupBasedBeamReporting = -1;
static gint ett_nr_rrc_T_disabled = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks = -1;
+static gint ett_nr_rrc_T_semiPersistentOnPUSCH_v1530 = -1;
static gint ett_nr_rrc_CSI_ReportPeriodicityAndOffset = -1;
static gint ett_nr_rrc_PUCCH_CSI_Resource = -1;
static gint ett_nr_rrc_PortIndexFor8Ranks = -1;
@@ -2372,16 +3353,34 @@ static gint ett_nr_rrc_T_phaseTrackingRS_01 = -1;
static gint ett_nr_rrc_T_transformPrecodingDisabled = -1;
static gint ett_nr_rrc_T_transformPrecodingEnabled = -1;
static gint ett_nr_rrc_DownlinkConfigCommon = -1;
+static gint ett_nr_rrc_DownlinkConfigCommonSIB = -1;
+static gint ett_nr_rrc_BCCH_Config = -1;
+static gint ett_nr_rrc_PCCH_Config = -1;
+static gint ett_nr_rrc_T_nAndPagingFrameOffset = -1;
+static gint ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO = -1;
+static gint ett_nr_rrc_T_sCS15KHZoneT = -1;
+static gint ett_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT = -1;
+static gint ett_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT = -1;
+static gint ett_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT = -1;
+static gint ett_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT = -1;
+static gint ett_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT = -1;
+static gint ett_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT = -1;
+static gint ett_nr_rrc_T_sCS120KHZoneSixteenthT = -1;
static gint ett_nr_rrc_DownlinkPreemption = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell = -1;
static gint ett_nr_rrc_INT_ConfigurationPerServingCell = -1;
-static gint ett_nr_rrc_EUTRA_MBSFN_SubframeConfigList = -1;
-static gint ett_nr_rrc_EUTRA_MBSFN_SubframeConfig = -1;
-static gint ett_nr_rrc_T_subframeAllocation = -1;
-static gint ett_nr_rrc_T_subframeAllocation_v1430 = -1;
+static gint ett_nr_rrc_DRX_Config = -1;
+static gint ett_nr_rrc_T_drx_onDurationTimer = -1;
+static gint ett_nr_rrc_T_drx_LongCycleStartOffset_01 = -1;
+static gint ett_nr_rrc_T_shortDRX_01 = -1;
static gint ett_nr_rrc_FrequencyInfoDL = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier = -1;
+static gint ett_nr_rrc_FrequencyInfoDL_SIB = -1;
static gint ett_nr_rrc_FrequencyInfoUL = -1;
+static gint ett_nr_rrc_FrequencyInfoUL_SIB = -1;
+static gint ett_nr_rrc_LocationMeasurementInfo = -1;
+static gint ett_nr_rrc_EUTRA_RSTD_InfoList = -1;
+static gint ett_nr_rrc_EUTRA_RSTD_Info = -1;
static gint ett_nr_rrc_LogicalChannelConfig = -1;
static gint ett_nr_rrc_T_ul_SpecificParameters = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex = -1;
@@ -2389,16 +3388,7 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing = -1;
static gint ett_nr_rrc_MAC_CellGroupConfig = -1;
static gint ett_nr_rrc_T_drx_Config = -1;
static gint ett_nr_rrc_T_phr_Config = -1;
-static gint ett_nr_rrc_DRX_Config = -1;
-static gint ett_nr_rrc_T_drx_onDurationTimer = -1;
-static gint ett_nr_rrc_T_drx_LongCycleStartOffset_01 = -1;
-static gint ett_nr_rrc_T_shortDRX_01 = -1;
-static gint ett_nr_rrc_PHR_Config = -1;
-static gint ett_nr_rrc_TAG_Config = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG = -1;
-static gint ett_nr_rrc_TAG = -1;
-static gint ett_nr_rrc_BSR_Config = -1;
+static gint ett_nr_rrc_T_dataInactivityTimer_v1530 = -1;
static gint ett_nr_rrc_MeasConfig = -1;
static gint ett_nr_rrc_T_s_MeasureConfig = -1;
static gint ett_nr_rrc_MeasObjectToRemoveList = -1;
@@ -2406,11 +3396,21 @@ static gint ett_nr_rrc_MeasIdToRemoveList = -1;
static gint ett_nr_rrc_ReportConfigToRemoveList = -1;
static gint ett_nr_rrc_MeasGapConfig = -1;
static gint ett_nr_rrc_T_gapFR2 = -1;
+static gint ett_nr_rrc_T_gapFR1 = -1;
+static gint ett_nr_rrc_T_gapUE = -1;
static gint ett_nr_rrc_GapConfig = -1;
static gint ett_nr_rrc_MeasGapSharingConfig = -1;
static gint ett_nr_rrc_T_gapSharingFR2 = -1;
+static gint ett_nr_rrc_T_gapSharingFR1 = -1;
+static gint ett_nr_rrc_T_gapSharingUE = -1;
static gint ett_nr_rrc_MeasIdToAddModList = -1;
static gint ett_nr_rrc_MeasIdToAddMod = -1;
+static gint ett_nr_rrc_MeasObjectEUTRA = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_BlackCell = -1;
+static gint ett_nr_rrc_EUTRA_CellIndexList = -1;
+static gint ett_nr_rrc_EUTRA_Cell = -1;
+static gint ett_nr_rrc_EUTRA_BlackCell = -1;
static gint ett_nr_rrc_MeasObjectNR = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement = -1;
static gint ett_nr_rrc_ReferenceSignalConfig = -1;
@@ -2418,13 +3418,14 @@ static gint ett_nr_rrc_T_csi_rs_ResourceConfigMobility = -1;
static gint ett_nr_rrc_SSB_ConfigMobility = -1;
static gint ett_nr_rrc_T_ssb_ToMeasure = -1;
static gint ett_nr_rrc_Q_OffsetRangeList = -1;
-static gint ett_nr_rrc_SSB_ToMeasure = -1;
static gint ett_nr_rrc_ThresholdNR = -1;
static gint ett_nr_rrc_CellsToAddModList = -1;
static gint ett_nr_rrc_CellsToAddMod = -1;
static gint ett_nr_rrc_MeasObjectToAddModList = -1;
static gint ett_nr_rrc_MeasObjectToAddMod = -1;
static gint ett_nr_rrc_T_measObject = -1;
+static gint ett_nr_rrc_MeasResultCellListSFTD = -1;
+static gint ett_nr_rrc_MeasResultCellSFTD = -1;
static gint ett_nr_rrc_MeasResults = -1;
static gint ett_nr_rrc_T_measResultNeighCells = -1;
static gint ett_nr_rrc_MeasResultServMOList = -1;
@@ -2434,7 +3435,15 @@ static gint ett_nr_rrc_MeasResultNR = -1;
static gint ett_nr_rrc_T_measResult = -1;
static gint ett_nr_rrc_T_cellResults = -1;
static gint ett_nr_rrc_T_rsIndexResults = -1;
+static gint ett_nr_rrc_MeasResultListEUTRA = -1;
+static gint ett_nr_rrc_MeasResultEUTRA = -1;
+static gint ett_nr_rrc_T_cgi_Info = -1;
+static gint ett_nr_rrc_T_cgi_info_EPC = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC = -1;
+static gint ett_nr_rrc_MultiBandInfoListEUTRA = -1;
static gint ett_nr_rrc_MeasQuantityResults = -1;
+static gint ett_nr_rrc_MeasQuantityResultsEUTRA = -1;
static gint ett_nr_rrc_ResultsPerSSB_IndexList = -1;
static gint ett_nr_rrc_ResultsPerSSB_Index = -1;
static gint ett_nr_rrc_ResultsPerCSI_RS_IndexList = -1;
@@ -2442,8 +3451,7 @@ static gint ett_nr_rrc_ResultsPerCSI_RS_Index = -1;
static gint ett_nr_rrc_MeasResultSCG_Failure = -1;
static gint ett_nr_rrc_MeasResultList2NR = -1;
static gint ett_nr_rrc_MeasResult2NR = -1;
-static gint ett_nr_rrc_MeasResultCellListSFTD = -1;
-static gint ett_nr_rrc_MeasResultCellSFTD = -1;
+static gint ett_nr_rrc_MobilityStateParameters = -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;
@@ -2463,6 +3471,7 @@ static gint ett_nr_rrc_T_tpc_PUCCH = -1;
static gint ett_nr_rrc_T_tpc_SRS = -1;
static gint ett_nr_rrc_PDCCH_ConfigCommon = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace = -1;
+static gint ett_nr_rrc_PDCCH_ConfigSIB1 = -1;
static gint ett_nr_rrc_PDCCH_ServingCellConfig = -1;
static gint ett_nr_rrc_T_slotFormatIndicator = -1;
static gint ett_nr_rrc_PDCP_Config = -1;
@@ -2498,17 +3507,23 @@ static gint ett_nr_rrc_T_codeBlockGroupTransmission = -1;
static gint ett_nr_rrc_PDSCH_CodeBlockGroupTransmission = -1;
static gint ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList = -1;
static gint ett_nr_rrc_PDSCH_TimeDomainResourceAllocation = -1;
+static gint ett_nr_rrc_PHR_Config = -1;
static gint ett_nr_rrc_PhysicalCellGroupConfig = -1;
static gint ett_nr_rrc_T_cs_RNTI = -1;
+static gint ett_nr_rrc_PLMN_Identity = -1;
+static gint ett_nr_rrc_MCC = -1;
+static gint ett_nr_rrc_MNC = -1;
+static gint ett_nr_rrc_PLMN_IdentityInfoList = -1;
+static gint ett_nr_rrc_PLMN_IdentityInfo = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity = -1;
static gint ett_nr_rrc_PTRS_DownlinkConfig = -1;
static gint ett_nr_rrc_T_frequencyDensity = -1;
static gint ett_nr_rrc_T_timeDensity = -1;
static gint ett_nr_rrc_PTRS_UplinkConfig = -1;
-static gint ett_nr_rrc_T_modeSpecificParameters = -1;
-static gint ett_nr_rrc_T_cp_OFDM = -1;
+static gint ett_nr_rrc_T_transformPrecoderDisabled = -1;
static gint ett_nr_rrc_T_frequencyDensity_01 = -1;
static gint ett_nr_rrc_T_timeDensity_01 = -1;
-static gint ett_nr_rrc_T_dft_S_OFDM = -1;
+static gint ett_nr_rrc_T_transformPrecoderEnabled = -1;
static gint ett_nr_rrc_T_sampleDensity = -1;
static gint ett_nr_rrc_PUCCH_Config = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet = -1;
@@ -2526,9 +3541,6 @@ static gint ett_nr_rrc_T_dl_DataToUL_ACK = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId = -1;
static gint ett_nr_rrc_PUCCH_FormatConfig = -1;
-static gint ett_nr_rrc_PUCCH_SpatialRelationInfo = -1;
-static gint ett_nr_rrc_T_referenceSignal = -1;
-static gint ett_nr_rrc_T_srs = -1;
static gint ett_nr_rrc_PUCCH_ResourceSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId = -1;
static gint ett_nr_rrc_PUCCH_Resource = -1;
@@ -2544,7 +3556,10 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS = -1;
static gint ett_nr_rrc_P0_PUCCH = -1;
static gint ett_nr_rrc_PUCCH_PathlossReferenceRS = -1;
+static gint ett_nr_rrc_T_referenceSignal = -1;
+static gint ett_nr_rrc_PUCCH_SpatialRelationInfo = -1;
static gint ett_nr_rrc_T_referenceSignal_01 = -1;
+static gint ett_nr_rrc_T_srs = -1;
static gint ett_nr_rrc_PUCCH_TPC_CommandConfig = -1;
static gint ett_nr_rrc_PUSCH_Config = -1;
static gint ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA = -1;
@@ -2582,7 +3597,6 @@ static gint ett_nr_rrc_RACH_ConfigCommon = -1;
static gint ett_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB = -1;
static gint ett_nr_rrc_T_groupBconfigured = -1;
static gint ett_nr_rrc_T_prach_RootSequenceIndex = -1;
-static gint ett_nr_rrc_RACH_ConfigGeneric = -1;
static gint ett_nr_rrc_RACH_ConfigDedicated = -1;
static gint ett_nr_rrc_CFRA = -1;
static gint ett_nr_rrc_T_occasions = -1;
@@ -2594,6 +3608,7 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resou
static gint ett_nr_rrc_CFRA_SSB_Resource = -1;
static gint ett_nr_rrc_CFRA_CSIRS_Resource = -1;
static gint ett_nr_rrc_T_ra_OccasionList_01 = -1;
+static gint ett_nr_rrc_RACH_ConfigGeneric = -1;
static gint ett_nr_rrc_RA_Prioritization = -1;
static gint ett_nr_rrc_RadioBearerConfig = -1;
static gint ett_nr_rrc_SRB_ToAddModList = -1;
@@ -2614,10 +3629,20 @@ static gint ett_nr_rrc_T_bitmaps = -1;
static gint ett_nr_rrc_T_symbolsInResourceBlock = -1;
static gint ett_nr_rrc_T_periodicityAndPattern = -1;
static gint ett_nr_rrc_RateMatchPatternLTE_CRS = -1;
-static gint ett_nr_rrc_ReportConfigNR = -1;
+static gint ett_nr_rrc_ReportConfigInterRAT = -1;
static gint ett_nr_rrc_T_reportType = -1;
-static gint ett_nr_rrc_EventTriggerConfig = -1;
+static gint ett_nr_rrc_ReportCGI_EUTRA = -1;
+static gint ett_nr_rrc_EventTriggerConfigInterRAT = -1;
static gint ett_nr_rrc_T_eventId = -1;
+static gint ett_nr_rrc_T_eventB1 = -1;
+static gint ett_nr_rrc_T_eventB2 = -1;
+static gint ett_nr_rrc_PeriodicalReportConfigInterRAT = -1;
+static gint ett_nr_rrc_MeasTriggerQuantityEUTRA = -1;
+static gint ett_nr_rrc_ReportConfigNR = -1;
+static gint ett_nr_rrc_T_reportType_01 = -1;
+static gint ett_nr_rrc_ReportCGI = -1;
+static gint ett_nr_rrc_EventTriggerConfig = -1;
+static gint ett_nr_rrc_T_eventId_01 = -1;
static gint ett_nr_rrc_T_eventA1 = -1;
static gint ett_nr_rrc_T_eventA2 = -1;
static gint ett_nr_rrc_T_eventA3 = -1;
@@ -2676,8 +3701,19 @@ 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_ssb_PositionsInBurst = -1;
static gint ett_nr_rrc_T_lte_CRS_ToMatchAround = -1;
+static gint ett_nr_rrc_ServingCellConfigCommonSIB = -1;
+static gint ett_nr_rrc_T_ssb_PositionsInBurst_01 = -1;
+static gint ett_nr_rrc_SI_SchedulingInfo = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo = -1;
+static gint ett_nr_rrc_SchedulingInfo = -1;
+static gint ett_nr_rrc_SIB_Mapping = -1;
+static gint ett_nr_rrc_SIB_TypeInfo = -1;
+static gint ett_nr_rrc_SI_RequestConfig = -1;
+static gint ett_nr_rrc_T_rach_OccasionsSI = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources = -1;
+static gint ett_nr_rrc_SI_RequestResources = -1;
static gint ett_nr_rrc_SlotFormatCombinationsPerCell = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination = -1;
static gint ett_nr_rrc_SlotFormatCombination = -1;
@@ -2685,8 +3721,17 @@ static gint ett_nr_rrc_T_slotFormats = -1;
static gint ett_nr_rrc_SlotFormatIndicator = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex = -1;
+static gint ett_nr_rrc_S_NSSAI = -1;
+static gint ett_nr_rrc_SpeedStateScaleFactors = -1;
static gint ett_nr_rrc_SS_RSSI_Measurement = -1;
static gint ett_nr_rrc_SPS_Config = -1;
+static gint ett_nr_rrc_SRS_CarrierSwitching = -1;
+static gint ett_nr_rrc_T_srs_TPC_PDCCH_Group = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex = -1;
+static gint ett_nr_rrc_SRS_TPC_PDCCH_Config = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex = -1;
+static gint ett_nr_rrc_SRS_CC_SetIndex = -1;
static gint ett_nr_rrc_SRS_Config = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet = -1;
@@ -2696,6 +3741,7 @@ static gint ett_nr_rrc_SRS_ResourceSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId = -1;
static gint ett_nr_rrc_T_resourceType_01 = -1;
static gint ett_nr_rrc_T_aperiodic_01 = -1;
+static gint ett_nr_rrc_T_aperiodicSRS_ResourceTriggerList_v1530 = -1;
static gint ett_nr_rrc_T_semi_persistent = -1;
static gint ett_nr_rrc_T_periodic_01 = -1;
static gint ett_nr_rrc_T_pathlossReferenceRS = -1;
@@ -2713,18 +3759,16 @@ static gint ett_nr_rrc_SRS_SpatialRelationInfo = -1;
static gint ett_nr_rrc_T_referenceSignal_03 = -1;
static gint ett_nr_rrc_T_srs_01 = -1;
static gint ett_nr_rrc_SRS_PeriodicityAndOffset = -1;
-static gint ett_nr_rrc_SRS_CarrierSwitching = -1;
-static gint ett_nr_rrc_T_srs_TPC_PDCCH_Group = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex = -1;
-static gint ett_nr_rrc_SRS_TPC_PDCCH_Config = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex = -1;
-static gint ett_nr_rrc_SRS_CC_SetIndex = -1;
static gint ett_nr_rrc_SRS_TPC_CommandConfig = -1;
static gint ett_nr_rrc_SSB_MTC = -1;
static gint ett_nr_rrc_T_periodicityAndOffset_01 = -1;
static gint ett_nr_rrc_SSB_MTC2 = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId = -1;
+static gint ett_nr_rrc_SSB_ToMeasure = -1;
+static gint ett_nr_rrc_TAG_Config = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG = -1;
+static gint ett_nr_rrc_TAG = -1;
static gint ett_nr_rrc_TCI_State = -1;
static gint ett_nr_rrc_QCL_Info = -1;
static gint ett_nr_rrc_T_referenceSignal_04 = -1;
@@ -2736,7 +3780,21 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex = -1;
static gint ett_nr_rrc_TDD_UL_DL_SlotConfig = -1;
static gint ett_nr_rrc_T_symbols = -1;
static gint ett_nr_rrc_T_explicit = -1;
+static gint ett_nr_rrc_UAC_BarringInfoSetList = -1;
+static gint ett_nr_rrc_UAC_BarringInfoSet = -1;
+static gint ett_nr_rrc_UAC_BarringPerCatList = -1;
+static gint ett_nr_rrc_UAC_BarringPerCat = -1;
+static gint ett_nr_rrc_UAC_BarringPerPLMN_List = -1;
+static gint ett_nr_rrc_UAC_BarringPerPLMN = -1;
+static gint ett_nr_rrc_T_uac_ACBarringListType = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex = -1;
+static gint ett_nr_rrc_UE_TimersAndConstants = -1;
static gint ett_nr_rrc_UplinkConfigCommon = -1;
+static gint ett_nr_rrc_UplinkConfigCommonSIB = -1;
+static gint ett_nr_rrc_UplinkTxDirectCurrentList = -1;
+static gint ett_nr_rrc_UplinkTxDirectCurrentCell = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP = -1;
+static gint ett_nr_rrc_UplinkTxDirectCurrentBWP = -1;
static gint ett_nr_rrc_ZP_CSI_RS_Resource = -1;
static gint ett_nr_rrc_ZP_CSI_RS_ResourceSet = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId = -1;
@@ -2746,8 +3804,8 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters =
static gint ett_nr_rrc_BandParameters = -1;
static gint ett_nr_rrc_T_eutra = -1;
static gint ett_nr_rrc_T_nr = -1;
-static gint ett_nr_rrc_CA_ParametersNR = -1;
static gint ett_nr_rrc_CA_ParametersEUTRA = -1;
+static gint ett_nr_rrc_CA_ParametersNR = -1;
static gint ett_nr_rrc_FeatureSetCombination = -1;
static gint ett_nr_rrc_FeatureSetsPerBand = -1;
static gint ett_nr_rrc_FeatureSet = -1;
@@ -2767,49 +3825,37 @@ 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_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_FeatureSetUplink = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id = -1;
static gint ett_nr_rrc_T_pusch_DifferentTB_PerSlot = -1;
static gint ett_nr_rrc_CSI_ReportFramework = -1;
static gint ett_nr_rrc_FeatureSetUplinkPerCC = -1;
static gint ett_nr_rrc_T_mimo_CB_PUSCH = -1;
-static gint ett_nr_rrc_FeatureSets = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC = -1;
static gint ett_nr_rrc_FreqBandList = -1;
static gint ett_nr_rrc_FreqBandInformation = -1;
static gint ett_nr_rrc_FreqBandInformationEUTRA = -1;
static gint ett_nr_rrc_FreqBandInformationNR = -1;
-static gint ett_nr_rrc_MRDC_Parameters = -1;
-static gint ett_nr_rrc_SupportedBandwidth = -1;
-static gint ett_nr_rrc_UE_CapabilityRAT_ContainerList = -1;
-static gint ett_nr_rrc_UE_CapabilityRAT_Container = -1;
-static gint ett_nr_rrc_UE_MRDC_Capability = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination = -1;
-static gint ett_nr_rrc_T_nonCriticalExtension_09 = -1;
-static gint ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode = -1;
-static gint ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode = -1;
-static gint ett_nr_rrc_GeneralParametersMRDC_XDD_Diff = -1;
-static gint ett_nr_rrc_RF_ParametersMRDC = -1;
-static gint ett_nr_rrc_MeasParametersMRDC = -1;
-static gint ett_nr_rrc_MeasParametersMRDC_Common = -1;
-static gint ett_nr_rrc_MeasParametersMRDC_XDD_Diff = -1;
-static gint ett_nr_rrc_MeasParametersMRDC_FRX_Diff = -1;
-static gint ett_nr_rrc_UE_NR_Capability = -1;
-static gint ett_nr_rrc_T_nonCriticalExtension_10 = -1;
-static gint ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode = -1;
-static gint ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode = -1;
-static gint ett_nr_rrc_Phy_Parameters = -1;
-static gint ett_nr_rrc_Phy_ParametersCommon = -1;
-static gint ett_nr_rrc_Phy_ParametersXDD_Diff = -1;
-static gint ett_nr_rrc_Phy_ParametersFRX_Diff = -1;
-static gint ett_nr_rrc_Phy_ParametersFR1 = -1;
-static gint ett_nr_rrc_Phy_ParametersFR2 = -1;
-static gint ett_nr_rrc_RF_Parameters = -1;
-static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR = -1;
-static gint ett_nr_rrc_BandNR = -1;
+static gint ett_nr_rrc_InterRAT_Parameters = -1;
+static gint ett_nr_rrc_EUTRA_Parameters = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA = -1;
+static gint ett_nr_rrc_EUTRA_ParametersCommon = -1;
+static gint ett_nr_rrc_EUTRA_ParametersXDD_Diff = -1;
+static gint ett_nr_rrc_MAC_Parameters = -1;
+static gint ett_nr_rrc_MAC_ParametersCommon = -1;
+static gint ett_nr_rrc_MAC_ParametersXDD_Diff = -1;
+static gint ett_nr_rrc_MeasAndMobParameters = -1;
+static gint ett_nr_rrc_MeasAndMobParametersCommon = -1;
+static gint ett_nr_rrc_MeasAndMobParametersXDD_Diff = -1;
+static gint ett_nr_rrc_MeasAndMobParametersFRX_Diff = -1;
+static gint ett_nr_rrc_MeasAndMobParametersMRDC = -1;
+static gint ett_nr_rrc_MeasAndMobParametersMRDC_Common = -1;
+static gint ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff = -1;
+static gint ett_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff = -1;
static gint ett_nr_rrc_MIMO_ParametersPerBand = -1;
static gint ett_nr_rrc_T_tci_StatePDSCH = -1;
static gint ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL = -1;
@@ -2823,27 +3869,99 @@ 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_MRDC_Parameters = -1;
static gint ett_nr_rrc_PDCP_Parameters = -1;
static gint ett_nr_rrc_T_supportedROHC_Profiles = -1;
+static gint ett_nr_rrc_PDCP_ParametersMRDC = -1;
+static gint ett_nr_rrc_Phy_Parameters = -1;
+static gint ett_nr_rrc_Phy_ParametersCommon = -1;
+static gint ett_nr_rrc_Phy_ParametersXDD_Diff = -1;
+static gint ett_nr_rrc_Phy_ParametersFRX_Diff = -1;
+static gint ett_nr_rrc_Phy_ParametersFR1 = -1;
+static gint ett_nr_rrc_Phy_ParametersFR2 = -1;
+static gint ett_nr_rrc_Phy_ParametersMRDC = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry = -1;
+static gint ett_nr_rrc_NAICS_Capability_Entry = -1;
+static gint ett_nr_rrc_RF_Parameters = -1;
+static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR = -1;
+static gint ett_nr_rrc_BandNR = -1;
+static gint ett_nr_rrc_T_channelBWs_DL_v1530 = -1;
+static gint ett_nr_rrc_T_fr1 = -1;
+static gint ett_nr_rrc_T_fr2 = -1;
+static gint ett_nr_rrc_T_channelBWs_UL_v1530 = -1;
+static gint ett_nr_rrc_T_fr1_01 = -1;
+static gint ett_nr_rrc_T_fr2_01 = -1;
+static gint ett_nr_rrc_RF_ParametersMRDC = -1;
static gint ett_nr_rrc_RLC_Parameters = -1;
-static gint ett_nr_rrc_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;
+static gint ett_nr_rrc_SupportedBandwidth = -1;
+static gint ett_nr_rrc_UE_CapabilityRAT_ContainerList = -1;
+static gint ett_nr_rrc_UE_CapabilityRAT_Container = -1;
+static gint ett_nr_rrc_UE_CapabilityRAT_RequestList = -1;
+static gint ett_nr_rrc_UE_CapabilityRAT_Request = -1;
+static gint ett_nr_rrc_UE_CapabilityRequestFilterNR = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_33 = -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_34 = -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_UE_NR_Capability = -1;
+static gint ett_nr_rrc_UE_NR_Capability_1530 = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_35 = -1;
+static gint ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode = -1;
+static gint ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode_1530 = -1;
+static gint ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode = -1;
+static gint ett_nr_rrc_EUTRA_MBSFN_SubframeConfigList = -1;
+static gint ett_nr_rrc_EUTRA_MBSFN_SubframeConfig = -1;
+static gint ett_nr_rrc_T_subframeAllocation1 = -1;
+static gint ett_nr_rrc_T_subframeAllocation2 = -1;
+static gint ett_nr_rrc_EUTRA_MultiBandInfoList = -1;
+static gint ett_nr_rrc_EUTRA_MultiBandInfo = -1;
+static gint ett_nr_rrc_EUTRA_NS_PmaxList = -1;
+static gint ett_nr_rrc_EUTRA_NS_PmaxValue = -1;
+static gint ett_nr_rrc_EUTRA_PhysCellIdRange = -1;
+static gint ett_nr_rrc_MultiFrequencyBandListNR_SIB = -1;
+static gint ett_nr_rrc_NR_MultiBandInfo = -1;
+static gint ett_nr_rrc_NR_NS_PmaxList = -1;
+static gint ett_nr_rrc_NR_NS_PmaxValue = -1;
+static gint ett_nr_rrc_OtherConfig = -1;
+static gint ett_nr_rrc_T_delayBudgetReportingConfig = -1;
+static gint ett_nr_rrc_T_setup = -1;
/*--- End of included file: packet-nr-rrc-ett.c ---*/
-#line 44 "./asn1/nr-rrc/packet-nr-rrc-template.c"
-static gint ett_nr_rrc_UECapabilityInformation = -1;
+#line 90 "./asn1/nr-rrc/packet-nr-rrc-template.c"
+static gint ett_nr_rrc_DedicatedNAS_Message = -1;
+static gint ett_rr_rrc_targetRAT_MessageContainer = -1;
+static gint ett_nr_rrc_nas_Container = -1;
+static gint ett_nr_rrc_serialNumber = -1;
+static gint ett_nr_rrc_warningType = -1;
+static gint ett_nr_rrc_dataCodingScheme = -1;
+static gint ett_nr_rrc_sib7_fragment = -1;
+static gint ett_nr_rrc_sib7_fragments = -1;
+static gint ett_nr_rrc_sib8_fragment = -1;
+static gint ett_nr_rrc_sib8_fragments = -1;
+static gint ett_nr_rrc_warningMessageSegment = -1;
+static gint ett_nr_rrc_timeInfo = -1;
+static gint ett_nr_rrc_capabilityRequestFilter = -1;
+
+static expert_field ei_nr_rrc_number_pages_le15 = EI_INIT;
+
+static const unit_name_string units_periodicities = { " periodicity", " periodicities" };
+static const unit_name_string units_prbs = { " PRB", " PRBs" };
+static const unit_name_string units_slots = { " slot", " slots" };
typedef struct {
guint8 rat_type;
+ guint8 target_rat_type;
+ guint16 message_identifier;
+ guint8 warning_message_segment_type;
+ guint8 warning_message_segment_number;
} nr_rrc_private_data_t;
/* Helper function to get or create a struct that will be actx->private_data */
-static nr_rrc_private_data_t* nr_rrc_get_private_data(asn1_ctx_t *actx)
+static nr_rrc_private_data_t*
+nr_rrc_get_private_data(asn1_ctx_t *actx)
{
if (actx->private_data == NULL) {
actx->private_data = wmem_new0(wmem_packet_scope(), nr_rrc_private_data_t);
@@ -2851,16 +3969,231 @@ static nr_rrc_private_data_t* nr_rrc_get_private_data(asn1_ctx_t *actx)
return (nr_rrc_private_data_t*)actx->private_data;
}
-static guint8 private_data_get_rat_type(asn1_ctx_t *actx)
+static void
+nr_rrc_call_dissector(dissector_handle_t handle, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ TRY {
+ call_dissector(handle, tvb, pinfo, tree);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(tvb, pinfo, tree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+}
+
+/* Forward declarations */
+static int dissect_UE_CapabilityRequestFilterNR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+
+static void
+nr_rrc_q_RxLevMin_fmt(gchar *s, guint32 v)
+{
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%u dB (%u)", 2*v, v);
+}
+
+static const value_string nr_rrc_serialNumber_gs_vals[] = {
+ { 0, "Display mode immediate, cell wide"},
+ { 1, "Display mode normal, PLMN wide"},
+ { 2, "Display mode normal, tracking area wide"},
+ { 3, "Display mode normal, cell wide"},
+ { 0, NULL},
+};
+
+static const value_string nr_rrc_warningType_vals[] = {
+ { 0, "Earthquake"},
+ { 1, "Tsunami"},
+ { 2, "Earthquake and Tsunami"},
+ { 3, "Test"},
+ { 4, "Other"},
+ { 0, NULL},
+};
+
+static const fragment_items nr_rrc_sib7_frag_items = {
+ &ett_nr_rrc_sib7_fragment,
+ &ett_nr_rrc_sib7_fragments,
+ &hf_nr_rrc_sib7_fragments,
+ &hf_nr_rrc_sib7_fragment,
+ &hf_nr_rrc_sib7_fragment_overlap,
+ &hf_nr_rrc_sib7_fragment_overlap_conflict,
+ &hf_nr_rrc_sib7_fragment_multiple_tails,
+ &hf_nr_rrc_sib7_fragment_too_long_fragment,
+ &hf_nr_rrc_sib7_fragment_error,
+ &hf_nr_rrc_sib7_fragment_count,
+ &hf_nr_rrc_sib7_reassembled_in,
+ &hf_nr_rrc_sib7_reassembled_length,
+ &hf_nr_rrc_sib7_reassembled_data,
+ "SIB7 warning message segments"
+};
+
+static const fragment_items nr_rrc_sib8_frag_items = {
+ &ett_nr_rrc_sib8_fragment,
+ &ett_nr_rrc_sib8_fragments,
+ &hf_nr_rrc_sib8_fragments,
+ &hf_nr_rrc_sib8_fragment,
+ &hf_nr_rrc_sib8_fragment_overlap,
+ &hf_nr_rrc_sib8_fragment_overlap_conflict,
+ &hf_nr_rrc_sib8_fragment_multiple_tails,
+ &hf_nr_rrc_sib8_fragment_too_long_fragment,
+ &hf_nr_rrc_sib8_fragment_error,
+ &hf_nr_rrc_sib8_fragment_count,
+ &hf_nr_rrc_sib8_reassembled_in,
+ &hf_nr_rrc_sib8_reassembled_length,
+ &hf_nr_rrc_sib8_reassembled_data,
+ "SIB8 warning message segments"
+};
+
+static void
+dissect_nr_rrc_warningMessageSegment(tvbuff_t *warning_msg_seg_tvb, proto_tree *tree, packet_info *pinfo, guint8 dataCodingScheme)
+{
+ guint32 offset;
+ guint8 nb_of_pages, length, *str;
+ proto_item *ti;
+ tvbuff_t *cb_data_page_tvb, *cb_data_tvb;
+ int i;
+
+ nb_of_pages = tvb_get_guint8(warning_msg_seg_tvb, 0);
+ ti = proto_tree_add_uint(tree, hf_nr_rrc_warningMessageSegment_nb_pages, warning_msg_seg_tvb, 0, 1, nb_of_pages);
+ if (nb_of_pages > 15) {
+ expert_add_info_format(pinfo, ti, &ei_nr_rrc_number_pages_le15,
+ "Number of pages should be <=15 (found %u)", nb_of_pages);
+ nb_of_pages = 15;
+ }
+ for (i = 0, offset = 1; i < nb_of_pages; i++) {
+ length = tvb_get_guint8(warning_msg_seg_tvb, offset+82);
+ cb_data_page_tvb = tvb_new_subset_length(warning_msg_seg_tvb, offset, length);
+ cb_data_tvb = dissect_cbs_data(dataCodingScheme, cb_data_page_tvb, tree, pinfo, 0);
+ if (cb_data_tvb) {
+ str = tvb_get_string_enc(wmem_packet_scope(), cb_data_tvb, 0, tvb_reported_length(cb_data_tvb), ENC_UTF_8|ENC_NA);
+ proto_tree_add_string_format(tree, hf_nr_rrc_warningMessageSegment_decoded_page, warning_msg_seg_tvb, offset, 83,
+ str, "Decoded Page %u: %s", i+1, str);
+ }
+ offset += 83;
+ }
+}
+
+static const value_string nr_rrc_daylightSavingTime_vals[] = {
+ { 0, "No adjustment for Daylight Saving Time"},
+ { 1, "+1 hour adjustment for Daylight Saving Time"},
+ { 2, "+2 hours adjustment for Daylight Saving Time"},
+ { 3, "Reserved"},
+ { 0, NULL},
+};
+
+static void
+nr_rrc_localTimeOffset_fmt(gchar *s, guint32 v)
+{
+ gint32 time_offset = (gint32) v;
+
+ g_snprintf(s, ITEM_LABEL_LENGTH, "UTC time %c %dhr %dmin (%d)",
+ (time_offset < 0) ? '-':'+', abs(time_offset) >> 2,
+ (abs(time_offset) & 0x03) * 15, time_offset);
+}
+
+static void
+nr_rrc_drx_SlotOffset_fmt(gchar *s, guint32 v)
+{
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%g ms (%u)", 1./32 * v, v);
+}
+
+static void
+nr_rrc_Hysteresis_fmt(gchar *s, guint32 v)
+{
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%gdB (%u)", 0.5 * v, v);
+}
+
+static void
+nr_rrc_msg3_DeltaPreamble_fmt(gchar *s, guint32 v)
+{
+ gint32 d = (gint32)v;
+
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%ddB (%d)", 2 * d, d);
+}
+
+static void
+nr_rrc_Q_RxLevMin_fmt(gchar *s, guint32 v)
+{
+ gint32 d = (gint32)v;
+
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%d)", 2 * d, d);
+}
+
+static void
+nr_rrc_RSRP_RangeEUTRA_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "RSRP < -140dBm (0)");
+ } else if (v < 97) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSRP < %ddBm (%u)", v-141, v-140, v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "-44dBm <= RSRP (97)");
+ }
+}
+
+static void
+nr_rrc_RSRQ_RangeEUTRA_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -19.5dB (0)");
+ } else if (v < 34) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%u)", ((float)v/2)-20, (((float)v+1)/2)-20, v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "-3dB <= RSRQ (34)");
+ }
+}
+
+static void
+nr_rrc_SINR_RangeEUTRA_fmt(gchar *s, guint32 v)
{
- nr_rrc_private_data_t *private_data = (nr_rrc_private_data_t*)nr_rrc_get_private_data(actx);
- return private_data->rat_type;
+ if (v == 0) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "SINR < -23dB (0)");
+ } else if (v == 127) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "40dB <= SINR (127)");
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SINR < %.1fdB (%u)", (((float)v-1)/2)-23, ((float)v/2)-23, v);
+ }
}
-static void private_data_set_rat_type(asn1_ctx_t *actx, guint8 rat_type)
+static void
+nr_rrc_ReselectionThreshold_fmt(gchar *s, guint32 v)
{
- nr_rrc_private_data_t *private_data = (nr_rrc_private_data_t*)nr_rrc_get_private_data(actx);
- private_data->rat_type = rat_type;
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%udB (%u)", 2 * v, v);
+}
+
+static void
+nr_rrc_RSRP_Range_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "SS-RSRP < -156dBm (0)");
+ } else if (v < 126) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= SS-RSRP < %ddBm (%u)", v-157, v-156, v);
+ } else if (v == 126) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "-31dBm <= SS-RSRP (126)");
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "infinity (127)");
+ }
+}
+
+static void
+nr_rrc_RSRQ_Range_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "SS-RSRQ < -43dB (0)");
+ } else if (v < 127) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SS-RSRQ < %.1fdB (%u)", (((float)v-1)/2)-43, ((float)v/2)-43, v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "-20dB <= SS-RSRQ (127)");
+ }
+}
+
+static void
+nr_rrc_SINR_Range_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "SS-SINR < -23dB (0)");
+ } else if (v < 127) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SS-SINR < %.1fdB (%u)", (((float)v-1)/2)-23, ((float)v/2)-23, v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "40dB <= SS-SINR (127)");
+ }
}
@@ -2869,6 +4202,7 @@ static void private_data_set_rat_type(asn1_ctx_t *actx, guint8 rat_type)
/*--- PDUs declarations ---*/
static int dissect_MeasResultList2NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_MeasResultSCG_Failure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_SystemInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
@@ -2996,7 +4330,7 @@ dissect_nr_rrc_HandoverCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
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_eutra, "eutra" },
{ RAT_Type_spare1, "spare1" },
{ 0, NULL }
};
@@ -3005,10 +4339,11 @@ static const value_string nr_rrc_RAT_Type_vals[] = {
static int
dissect_nr_rrc_RAT_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
guint32 rat_type;
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, &rat_type, TRUE, 0, NULL);
- private_data_set_rat_type(actx, (guint8)rat_type);
+ nr_priv->rat_type = (guint8)rat_type;
return offset;
@@ -3018,27 +4353,32 @@ dissect_nr_rrc_RAT_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
static int
dissect_nr_rrc_T_ue_CapabilityRAT_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- tvbuff_t *ue_cap_tvb=NULL;
+ tvbuff_t *ue_cap_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &ue_cap_tvb);
if (ue_cap_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_UE_CapabilityRAT_Container);
- switch(private_data_get_rat_type(actx)){
+ switch(nr_priv->rat_type){
case RAT_Type_nr:
dissect_nr_rrc_UE_NR_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
break;
case RAT_Type_eutra_nr:
dissect_nr_rrc_UE_MRDC_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
break;
+ case RAT_Type_eutra:
+ dissect_lte_rrc_UE_EUTRA_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
+ break;
default:
break;
}
}
+
return offset;
}
@@ -3051,8 +4391,9 @@ static const per_sequence_t UE_CapabilityRAT_Container_sequence[] = {
static int
dissect_nr_rrc_UE_CapabilityRAT_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
/* Initialise to invalid value */
- private_data_set_rat_type(actx, 0xFF);
+ nr_priv->rat_type = 0xFF;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nr_rrc_UE_CapabilityRAT_Container, UE_CapabilityRAT_Container_sequence);
@@ -3078,7 +4419,7 @@ dissect_nr_rrc_UE_CapabilityRAT_ContainerList(tvbuff_t *tvb _U_, int offset _U_,
static int
-dissect_nr_rrc_T_sourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_rrcReconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU);
@@ -3086,6 +4427,20 @@ dissect_nr_rrc_T_sourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
}
+static const per_sequence_t AS_Config_sequence[] = {
+ { &hf_nr_rrc_rrcReconfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rrcReconfiguration },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_AS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_AS_Config, AS_Config_sequence);
+
+ return offset;
+}
+
+
static const value_string nr_rrc_T_ue_InactiveTime_vals[] = {
{ 0, "s1" },
{ 1, "s2" },
@@ -3154,6 +4509,8 @@ static const value_string nr_rrc_T_ue_InactiveTime_vals[] = {
{ 0, NULL }
};
+static value_string_ext nr_rrc_T_ue_InactiveTime_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_ue_InactiveTime_vals);
+
static int
dissect_nr_rrc_T_ue_InactiveTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -3168,7 +4525,7 @@ dissect_nr_rrc_T_ue_InactiveTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static int
dissect_nr_rrc_ARFCN_ValueNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 3279165U, NULL, FALSE);
+ 0U, maxNARFCN, NULL, FALSE);
return offset;
}
@@ -3249,7 +4606,7 @@ dissect_nr_rrc_T_cellResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_nr_rrc_SSB_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 63U, NULL, FALSE);
+ 0U, maxNrofSSBs_1, NULL, FALSE);
return offset;
}
@@ -3278,7 +4635,7 @@ 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);
+ 1, maxNrofIndexesToReport2, FALSE);
return offset;
}
@@ -3317,7 +4674,7 @@ 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);
+ 1, maxNrofIndexesToReport2, FALSE);
return offset;
}
@@ -3353,9 +4710,268 @@ dissect_nr_rrc_T_measResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
+
+static int
+dissect_nr_rrc_MCC_MNC_Digit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 9U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t MCC_sequence_of[1] = {
+ { &hf_nr_rrc_MCC_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MCC_MNC_Digit },
+};
+
+static int
+dissect_nr_rrc_MCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MCC, MCC_sequence_of,
+ 3, 3, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t MNC_sequence_of[1] = {
+ { &hf_nr_rrc_MNC_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MCC_MNC_Digit },
+};
+
+static int
+dissect_nr_rrc_MNC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MNC, MNC_sequence_of,
+ 2, 3, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PLMN_Identity_sequence[] = {
+ { &hf_nr_rrc_mcc , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MCC },
+ { &hf_nr_rrc_mnc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MNC },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PLMN_Identity, PLMN_Identity_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity_sequence_of[1] = {
+ { &hf_nr_rrc_plmn_IdentityList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity, SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity_sequence_of,
+ 1, maxPLMN, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_TrackingAreaCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 24, 24, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_RAN_AreaCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 255U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 36, 36, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_cellReservedForOperatorUse_vals[] = {
+ { 0, "reserved" },
+ { 1, "notReserved" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_cellReservedForOperatorUse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PLMN_IdentityInfo_sequence[] = {
+ { &hf_nr_rrc_plmn_IdentityList_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity },
+ { &hf_nr_rrc_trackingAreaCode, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TrackingAreaCode },
+ { &hf_nr_rrc_ranac , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RAN_AreaCode },
+ { &hf_nr_rrc_cellIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellIdentity },
+ { &hf_nr_rrc_cellReservedForOperatorUse, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellReservedForOperatorUse },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PLMN_IdentityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PLMN_IdentityInfo, PLMN_IdentityInfo_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PLMN_IdentityInfoList_sequence_of[1] = {
+ { &hf_nr_rrc_PLMN_IdentityInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_IdentityInfo },
+};
+
+static int
+dissect_nr_rrc_PLMN_IdentityInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PLMN_IdentityInfoList, PLMN_IdentityInfoList_sequence_of,
+ 1, maxPLMN, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_FreqBandIndicatorNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 1024U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t MultiFrequencyBandListNR_sequence_of[1] = {
+ { &hf_nr_rrc_MultiFrequencyBandListNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
+};
+
+static int
+dissect_nr_rrc_MultiFrequencyBandListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MultiFrequencyBandListNR, MultiFrequencyBandListNR_sequence_of,
+ 1, maxNrofMultiBands, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 15U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_ControlResourceSetZero(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 15U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_SearchSpaceZero(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 15U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PDCCH_ConfigSIB1_sequence[] = {
+ { &hf_nr_rrc_controlResourceSetZero, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSetZero },
+ { &hf_nr_rrc_searchSpaceZero, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceZero },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PDCCH_ConfigSIB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PDCCH_ConfigSIB1, PDCCH_ConfigSIB1_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_noSIB1_sequence[] = {
+ { &hf_nr_rrc_ssb_SubcarrierOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
+ { &hf_nr_rrc_pdcch_ConfigSIB1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_ConfigSIB1 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_noSIB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_noSIB1, T_noSIB1_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t CGI_Info_sequence[] = {
+ { &hf_nr_rrc_plmn_IdentityInfoList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PLMN_IdentityInfoList },
+ { &hf_nr_rrc_frequencyBandList_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MultiFrequencyBandListNR },
+ { &hf_nr_rrc_noSIB1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_noSIB1 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_CGI_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CGI_Info, CGI_Info_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasResultNR_eag_1_sequence[] = {
+ { &hf_nr_rrc_cgi_Info , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CGI_Info },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MeasResultNR_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasResultNR_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t MeasResultNR_sequence[] = {
{ &hf_nr_rrc_physCellId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PhysCellId },
{ &hf_nr_rrc_measResult , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResult },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -3383,10 +4999,10 @@ dissect_nr_rrc_MeasResultListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
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 },
+ { &hf_nr_rrc_ssbFrequency , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
+ { &hf_nr_rrc_refFreqCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
+ { &hf_nr_rrc_measResultServingCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultNR },
+ { &hf_nr_rrc_measResultNeighCellListNR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultListNR },
{ NULL, 0, 0, NULL }
};
@@ -3428,31 +5044,11 @@ dissect_nr_rrc_RRM_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
}
-static const value_string nr_rrc_ShortMAC_I_vals[] = {
- { 0, "ffsTypeAndValue" },
- { 0, NULL }
-};
-
static int
dissect_nr_rrc_ShortMAC_I(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
-
- return offset;
-}
-
-
-static const value_string nr_rrc_CellIdentity_vals[] = {
- { 0, "ffsTypeAndValue" },
- { 0, NULL }
-};
-
-
-static int
-dissect_nr_rrc_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 16, 16, FALSE, NULL, NULL);
return offset;
}
@@ -3498,7 +5094,7 @@ dissect_nr_rrc_ReestabNCellInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
}
-static const per_sequence_t T_reestablishmentInfo_sequence[] = {
+static const per_sequence_t ReestablishmentInfo_sequence[] = {
{ &hf_nr_rrc_sourcePhysCellId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
{ &hf_nr_rrc_targetCellShortMAC_I, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ShortMAC_I },
{ &hf_nr_rrc_additionalReestabInfoList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ReestabNCellInfoList },
@@ -3506,9 +5102,9 @@ static const per_sequence_t T_reestablishmentInfo_sequence[] = {
};
static int
-dissect_nr_rrc_T_reestablishmentInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_ReestablishmentInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_reestablishmentInfo, T_reestablishmentInfo_sequence);
+ ett_nr_rrc_ReestablishmentInfo, ReestablishmentInfo_sequence);
return offset;
}
@@ -3524,14 +5120,53 @@ dissect_nr_rrc_BandCombinationIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
}
-static const per_sequence_t BandCombinationIndexList_sequence_of[1] = {
- { &hf_nr_rrc_BandCombinationIndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationIndex },
+
+static int
+dissect_nr_rrc_FeatureSetEntryIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxFeatureSetsPerBand, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex_sequence_of[1] = {
+ { &hf_nr_rrc_allowedFeatureSetsList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetEntryIndex },
};
static int
-dissect_nr_rrc_BandCombinationIndexList(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_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BandCombinationIndexList, BandCombinationIndexList_sequence_of,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex, SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex_sequence_of,
+ 1, maxFeatureSetsPerBand, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t BandCombinationInfo_sequence[] = {
+ { &hf_nr_rrc_bandCombinationIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationIndex },
+ { &hf_nr_rrc_allowedFeatureSetsList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BandCombinationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BandCombinationInfo, BandCombinationInfo_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t BandCombinationInfoList_sequence_of[1] = {
+ { &hf_nr_rrc_BandCombinationInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationInfo },
+};
+
+static int
+dissect_nr_rrc_BandCombinationInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BandCombinationInfoList, BandCombinationInfoList_sequence_of,
1, maxBandComb, FALSE);
return offset;
@@ -3549,8 +5184,9 @@ dissect_nr_rrc_P_Max(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
static const per_sequence_t T_powerCoordination_FR1_sequence[] = {
- { &hf_nr_rrc_p_maxNR , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
+ { &hf_nr_rrc_p_maxNR_FR1 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
{ &hf_nr_rrc_p_maxEUTRA , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
+ { &hf_nr_rrc_p_maxUE_FR1 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
{ NULL, 0, 0, NULL }
};
@@ -3609,7 +5245,7 @@ dissect_nr_rrc_INTEGER_1_maxMeasIdentitiesMN(tvbuff_t *tvb _U_, int offset _U_,
static const per_sequence_t ConfigRestrictInfoSCG_sequence[] = {
- { &hf_nr_rrc_allowedBC_ListMRDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationIndexList },
+ { &hf_nr_rrc_allowedBC_ListMRDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationInfoList },
{ &hf_nr_rrc_powerCoordination_FR1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_powerCoordination_FR1 },
{ &hf_nr_rrc_servCellIndexRangeSCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_servCellIndexRangeSCG },
{ &hf_nr_rrc_maxMeasFreqsSCG_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxMeasFreqsMN },
@@ -3626,9 +5262,160 @@ dissect_nr_rrc_ConfigRestrictInfoSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
}
+static const per_sequence_t SEQUENCE_SIZE_1_32_OF_CellIdentity_sequence_of[1] = {
+ { &hf_nr_rrc_ran_AreaCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellIdentity },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_CellIdentity, SEQUENCE_SIZE_1_32_OF_CellIdentity_sequence_of,
+ 1, 32, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PLMN_RAN_AreaCell_sequence[] = {
+ { &hf_nr_rrc_plmn_Identity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PLMN_Identity },
+ { &hf_nr_rrc_ran_AreaCells, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_CellIdentity },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PLMN_RAN_AreaCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PLMN_RAN_AreaCell, PLMN_RAN_AreaCell_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PLMN_RAN_AreaCellList_sequence_of[1] = {
+ { &hf_nr_rrc_PLMN_RAN_AreaCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_RAN_AreaCell },
+};
+
+static int
+dissect_nr_rrc_PLMN_RAN_AreaCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PLMN_RAN_AreaCellList, PLMN_RAN_AreaCellList_sequence_of,
+ 1, maxPLMNIdentities, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_32_OF_RAN_AreaCode_sequence_of[1] = {
+ { &hf_nr_rrc_ran_AreaCodeList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RAN_AreaCode },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_RAN_AreaCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_RAN_AreaCode, SEQUENCE_SIZE_1_32_OF_RAN_AreaCode_sequence_of,
+ 1, 32, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t RAN_AreaConfig_sequence[] = {
+ { &hf_nr_rrc_trackingAreaCode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TrackingAreaCode },
+ { &hf_nr_rrc_ran_AreaCodeList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_RAN_AreaCode },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RAN_AreaConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RAN_AreaConfig, RAN_AreaConfig_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig_sequence_of[1] = {
+ { &hf_nr_rrc_ran_Area_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RAN_AreaConfig },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig, SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig_sequence_of,
+ 1, 16, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PLMN_RAN_AreaConfig_sequence[] = {
+ { &hf_nr_rrc_plmn_Identity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PLMN_Identity },
+ { &hf_nr_rrc_ran_Area , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PLMN_RAN_AreaConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PLMN_RAN_AreaConfig, PLMN_RAN_AreaConfig_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PLMN_RAN_AreaConfigList_sequence_of[1] = {
+ { &hf_nr_rrc_PLMN_RAN_AreaConfigList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_RAN_AreaConfig },
+};
+
+static int
+dissect_nr_rrc_PLMN_RAN_AreaConfigList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PLMN_RAN_AreaConfigList, PLMN_RAN_AreaConfigList_sequence_of,
+ 1, maxPLMNIdentities, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_RAN_NotificationAreaInfo_vals[] = {
+ { 0, "cellList" },
+ { 1, "ran-AreaConfigList" },
+ { 0, NULL }
+};
+
+static const per_choice_t RAN_NotificationAreaInfo_choice[] = {
+ { 0, &hf_nr_rrc_cellList , ASN1_EXTENSION_ROOT , dissect_nr_rrc_PLMN_RAN_AreaCellList },
+ { 1, &hf_nr_rrc_ran_AreaConfigList, ASN1_EXTENSION_ROOT , dissect_nr_rrc_PLMN_RAN_AreaConfigList },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RAN_NotificationAreaInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RAN_NotificationAreaInfo, RAN_NotificationAreaInfo_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t AS_Context_eag_1_sequence[] = {
+ { &hf_nr_rrc_ran_NotificationAreaInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RAN_NotificationAreaInfo },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_AS_Context_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Context_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t AS_Context_sequence[] = {
- { &hf_nr_rrc_reestablishmentInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reestablishmentInfo },
+ { &hf_nr_rrc_reestablishmentInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReestablishmentInfo },
{ &hf_nr_rrc_configRestrictInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ConfigRestrictInfoSCG },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AS_Context_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -3656,7 +5443,7 @@ dissect_nr_rrc_T_nonCriticalExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1
static const per_sequence_t HandoverPreparationInformation_IEs_sequence[] = {
{ &hf_nr_rrc_ue_CapabilityRAT_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_CapabilityRAT_ContainerList },
- { &hf_nr_rrc_sourceConfig , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sourceConfig },
+ { &hf_nr_rrc_sourceConfig , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_AS_Config },
{ &hf_nr_rrc_rrm_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRM_Config },
{ &hf_nr_rrc_as_Context , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_AS_Context },
{ &hf_nr_rrc_nonCriticalExtension_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_01 },
@@ -3767,8 +5554,23 @@ dissect_nr_rrc_T_scg_RB_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
}
+static const per_sequence_t BandCombinationInfoSN_sequence[] = {
+ { &hf_nr_rrc_bandCombinationIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationIndex },
+ { &hf_nr_rrc_requestedFeatureSets, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetEntryIndex },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BandCombinationInfoSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BandCombinationInfoSN, BandCombinationInfoSN_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t ConfigRestrictModReqSCG_sequence[] = {
- { &hf_nr_rrc_requestedBC_MRDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationIndex },
+ { &hf_nr_rrc_requestedBC_MRDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationInfoSN },
{ &hf_nr_rrc_requestedP_MaxFR1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
{ NULL, 0, 0, NULL }
};
@@ -4227,6 +6029,20 @@ dissect_nr_rrc_FR_InfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
}
+static const per_sequence_t CandidateServingFreqListNR_sequence_of[1] = {
+ { &hf_nr_rrc_CandidateServingFreqListNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
+};
+
+static int
+dissect_nr_rrc_CandidateServingFreqListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CandidateServingFreqListNR, CandidateServingFreqListNR_sequence_of,
+ 1, maxFreqIDC_MRDC, FALSE);
+
+ return offset;
+}
+
+
static const per_sequence_t T_nonCriticalExtension_02_sequence[] = {
{ NULL, 0, 0, NULL }
};
@@ -4247,8 +6063,9 @@ static const per_sequence_t CG_Config_IEs_sequence[] = {
{ &hf_nr_rrc_drx_InfoSCG , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DRX_Info },
{ &hf_nr_rrc_candidateCellInfoListSN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_candidateCellInfoListSN },
{ &hf_nr_rrc_measConfigSN , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasConfigSN },
- { &hf_nr_rrc_selectedBandCombinationNR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationIndex },
+ { &hf_nr_rrc_selectedBandCombinationNR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationInfoSN },
{ &hf_nr_rrc_fr_InfoListSCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FR_InfoList },
+ { &hf_nr_rrc_candidateServingFreqListNR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CandidateServingFreqListNR },
{ &hf_nr_rrc_nonCriticalExtension_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_02 },
{ NULL, 0, 0, NULL }
};
@@ -4613,6 +6430,234 @@ dissect_nr_rrc_T_mcg_RB_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
}
+static const value_string nr_rrc_T_gps_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_gps(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_glonass_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_glonass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_bds_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_bds(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_galileo_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_galileo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_wlan_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_wlan(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_bluetooth_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_bluetooth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t VictimSystemType_sequence[] = {
+ { &hf_nr_rrc_gps , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_gps },
+ { &hf_nr_rrc_glonass , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_glonass },
+ { &hf_nr_rrc_bds , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bds },
+ { &hf_nr_rrc_galileo , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_galileo },
+ { &hf_nr_rrc_wlan , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_wlan },
+ { &hf_nr_rrc_bluetooth , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bluetooth },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_VictimSystemType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_VictimSystemType, VictimSystemType_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_interferenceDirectionMRDC_vals[] = {
+ { 0, "eutra-nr" },
+ { 1, "nr" },
+ { 2, "other" },
+ { 3, "utra-nr-other" },
+ { 4, "nr-other" },
+ { 5, "spare3" },
+ { 6, "spare2" },
+ { 7, "spare1" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_interferenceDirectionMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_ARFCN_ValueEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxEARFCN, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t AffectedCarrierFreqCombEUTRA_sequence_of[1] = {
+ { &hf_nr_rrc_AffectedCarrierFreqCombEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
+};
+
+static int
+dissect_nr_rrc_AffectedCarrierFreqCombEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_AffectedCarrierFreqCombEUTRA, AffectedCarrierFreqCombEUTRA_sequence_of,
+ 1, maxNrofServingCellsEUTRA, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t AffectedCarrierFreqCombNR_sequence_of[1] = {
+ { &hf_nr_rrc_AffectedCarrierFreqCombNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
+};
+
+static int
+dissect_nr_rrc_AffectedCarrierFreqCombNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_AffectedCarrierFreqCombNR, AffectedCarrierFreqCombNR_sequence_of,
+ 1, maxNrofServingCells, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_affectedCarrierFreqCombMRDC_sequence[] = {
+ { &hf_nr_rrc_affectedCarrierFreqCombEUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_AffectedCarrierFreqCombEUTRA },
+ { &hf_nr_rrc_affectedCarrierFreqCombNR, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AffectedCarrierFreqCombNR },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_affectedCarrierFreqCombMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_affectedCarrierFreqCombMRDC, T_affectedCarrierFreqCombMRDC_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t AffectedCarrierFreqCombInfoMRDC_sequence[] = {
+ { &hf_nr_rrc_victimSystemType, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_VictimSystemType },
+ { &hf_nr_rrc_interferenceDirectionMRDC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_interferenceDirectionMRDC },
+ { &hf_nr_rrc_affectedCarrierFreqCombMRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_affectedCarrierFreqCombMRDC },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_AffectedCarrierFreqCombInfoMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_AffectedCarrierFreqCombInfoMRDC, AffectedCarrierFreqCombInfoMRDC_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC_sequence_of[1] = {
+ { &hf_nr_rrc_affectedCarrierFreqCombInfoListMRDC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AffectedCarrierFreqCombInfoMRDC },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC, SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC_sequence_of,
+ 1, maxNrofCombIDC, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t MRDC_AssistanceInfo_sequence[] = {
+ { &hf_nr_rrc_affectedCarrierFreqCombInfoListMRDC, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MRDC_AssistanceInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MRDC_AssistanceInfo, MRDC_AssistanceInfo_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t T_nonCriticalExtension_03_sequence[] = {
{ NULL, 0, 0, NULL }
};
@@ -4638,6 +6683,7 @@ static const per_sequence_t CG_ConfigInfo_IEs_sequence[] = {
{ &hf_nr_rrc_sourceConfigSCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sourceConfigSCG },
{ &hf_nr_rrc_scg_RB_Config_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scg_RB_Config_01 },
{ &hf_nr_rrc_mcg_RB_Config, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mcg_RB_Config },
+ { &hf_nr_rrc_mrdc_AssistanceInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MRDC_AssistanceInfo },
{ &hf_nr_rrc_nonCriticalExtension_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_03 },
{ NULL, 0, 0, NULL }
};
@@ -4726,6 +6772,28 @@ dissect_nr_rrc_CG_ConfigInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
+static const value_string nr_rrc_SubcarrierSpacing_vals[] = {
+ { 0, "kHz15" },
+ { 1, "kHz30" },
+ { 2, "kHz60" },
+ { 3, "kHz120" },
+ { 4, "kHz240" },
+ { 5, "spare3" },
+ { 6, "spare2" },
+ { 7, "spare1" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_SubcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
static int
dissect_nr_rrc_INTEGER_0_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -4800,9 +6868,46 @@ dissect_nr_rrc_SSB_MTC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
}
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_1_80(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 1, 80, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 3U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SS_RSSI_Measurement_sequence[] = {
+ { &hf_nr_rrc_measurementSlots, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1_80 },
+ { &hf_nr_rrc_endSymbol , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_SS_RSSI_Measurement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SS_RSSI_Measurement, SS_RSSI_Measurement_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t T_frequencyAndTiming_sequence[] = {
{ &hf_nr_rrc_carrierFreq , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
+ { &hf_nr_rrc_ssbSubcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
{ &hf_nr_rrc_ssb_MeasurementTimingConfiguration, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_MTC },
+ { &hf_nr_rrc_ss_RSSI_Measurement, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SS_RSSI_Measurement },
{ NULL, 0, 0, NULL }
};
@@ -4946,6 +7051,252 @@ dissect_nr_rrc_MeasurementTimingConfiguration(tvbuff_t *tvb _U_, int offset _U_,
}
+static const per_sequence_t SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR_sequence_of[1] = {
+ { &hf_nr_rrc_supportedBandListNRForPaging_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR, SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR_sequence_of,
+ 1, maxBands, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nonCriticalExtension_05_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_nonCriticalExtension_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_05, T_nonCriticalExtension_05_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t UERadioPagingInformation_IEs_sequence[] = {
+ { &hf_nr_rrc_supportedBandListNRForPaging, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR },
+ { &hf_nr_rrc_nonCriticalExtension_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_05 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UERadioPagingInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UERadioPagingInformation_IEs, UERadioPagingInformation_IEs_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_c1_05_vals[] = {
+ { 0, "ueRadioPagingInformation" },
+ { 1, "spare7" },
+ { 2, "spare6" },
+ { 3, "spare5" },
+ { 4, "spare4" },
+ { 5, "spare3" },
+ { 6, "spare2" },
+ { 7, "spare1" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_c1_05_choice[] = {
+ { 0, &hf_nr_rrc_ueRadioPagingInformation, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UERadioPagingInformation_IEs },
+ { 1, &hf_nr_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 2, &hf_nr_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 3, &hf_nr_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 4, &hf_nr_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 5, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 6, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 7, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_c1_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_c1_05, T_c1_05_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_05_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_05, T_criticalExtensionsFuture_05_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_05_vals[] = {
+ { 0, "c1" },
+ { 1, "criticalExtensionsFuture" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_criticalExtensions_05_choice[] = {
+ { 0, &hf_nr_rrc_c1_05 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_05 },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_05, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_05 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensions_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_05, T_criticalExtensions_05_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t UERadioPagingInformation_sequence[] = {
+ { &hf_nr_rrc_criticalExtensions_05, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_05 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UERadioPagingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UERadioPagingInformation, UERadioPagingInformation_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_T_ue_RadioAccessCapabilityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_UE_CapabilityRAT_ContainerList_PDU);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nonCriticalExtension_06_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_nonCriticalExtension_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_06, T_nonCriticalExtension_06_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t UERadioAccessCapabilityInformation_IEs_sequence[] = {
+ { &hf_nr_rrc_ue_RadioAccessCapabilityInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ue_RadioAccessCapabilityInfo },
+ { &hf_nr_rrc_nonCriticalExtension_06, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_06 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UERadioAccessCapabilityInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UERadioAccessCapabilityInformation_IEs, UERadioAccessCapabilityInformation_IEs_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_c1_06_vals[] = {
+ { 0, "ueRadioAccessCapabilityInformation" },
+ { 1, "spare7" },
+ { 2, "spare6" },
+ { 3, "spare5" },
+ { 4, "spare4" },
+ { 5, "spare3" },
+ { 6, "spare2" },
+ { 7, "spare1" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_c1_06_choice[] = {
+ { 0, &hf_nr_rrc_ueRadioAccessCapabilityInformation, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UERadioAccessCapabilityInformation_IEs },
+ { 1, &hf_nr_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 2, &hf_nr_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 3, &hf_nr_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 4, &hf_nr_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 5, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 6, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 7, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_c1_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_c1_06, T_c1_06_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_06_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_06, T_criticalExtensionsFuture_06_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_06_vals[] = {
+ { 0, "c1" },
+ { 1, "criticalExtensionsFuture" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_criticalExtensions_06_choice[] = {
+ { 0, &hf_nr_rrc_c1_06 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_06 },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_06, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_06 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensions_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_06, T_criticalExtensions_06_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t UERadioAccessCapabilityInformation_sequence[] = {
+ { &hf_nr_rrc_criticalExtensions_06, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_06 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UERadioAccessCapabilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UERadioAccessCapabilityInformation, UERadioAccessCapabilityInformation_sequence);
+
+ return offset;
+}
+
+
static int
dissect_nr_rrc_BIT_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -4972,16 +7323,6 @@ dissect_nr_rrc_T_subCarrierSpacingCommon(tvbuff_t *tvb _U_, int offset _U_, asn1
}
-
-static int
-dissect_nr_rrc_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 15U, NULL, FALSE);
-
- return offset;
-}
-
-
static const value_string nr_rrc_T_dmrs_TypeA_Position_vals[] = {
{ 0, "pos2" },
{ 1, "pos3" },
@@ -5045,7 +7386,7 @@ static const per_sequence_t MIB_sequence[] = {
{ &hf_nr_rrc_subCarrierSpacingCommon, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subCarrierSpacingCommon },
{ &hf_nr_rrc_ssb_SubcarrierOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
{ &hf_nr_rrc_dmrs_TypeA_Position, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dmrs_TypeA_Position },
- { &hf_nr_rrc_pdcch_ConfigSIB1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_255 },
+ { &hf_nr_rrc_pdcch_ConfigSIB1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_ConfigSIB1 },
{ &hf_nr_rrc_cellBarred , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellBarred },
{ &hf_nr_rrc_intraFreqReselection, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_intraFreqReselection },
{ &hf_nr_rrc_spare , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1 },
@@ -5122,77 +7463,109 @@ dissect_nr_rrc_BCCH_BCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
static int
-dissect_nr_rrc_RRC_TransactionIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 3U, NULL, FALSE);
+ 2U, maxNrofSS_BlocksToAverage, NULL, FALSE);
return offset;
}
+static const per_sequence_t ThresholdNR_sequence[] = {
+ { &hf_nr_rrc_thresholdRSRP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range },
+ { &hf_nr_rrc_thresholdRSRQ, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_Range },
+ { &hf_nr_rrc_thresholdSINR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SINR_Range },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_SRB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 3U, NULL, FALSE);
+dissect_nr_rrc_ThresholdNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ThresholdNR, ThresholdNR_sequence);
return offset;
}
-static const value_string nr_rrc_T_reestablishPDCP_vals[] = {
- { 0, "true" },
+static const value_string nr_rrc_Q_OffsetRange_vals[] = {
+ { 0, "dB-24" },
+ { 1, "dB-22" },
+ { 2, "dB-20" },
+ { 3, "dB-18" },
+ { 4, "dB-16" },
+ { 5, "dB-14" },
+ { 6, "dB-12" },
+ { 7, "dB-10" },
+ { 8, "dB-8" },
+ { 9, "dB-6" },
+ { 10, "dB-5" },
+ { 11, "dB-4" },
+ { 12, "dB-3" },
+ { 13, "dB-2" },
+ { 14, "dB-1" },
+ { 15, "dB0" },
+ { 16, "dB1" },
+ { 17, "dB2" },
+ { 18, "dB3" },
+ { 19, "dB4" },
+ { 20, "dB5" },
+ { 21, "dB6" },
+ { 22, "dB8" },
+ { 23, "dB10" },
+ { 24, "dB12" },
+ { 25, "dB14" },
+ { 26, "dB16" },
+ { 27, "dB18" },
+ { 28, "dB20" },
+ { 29, "dB22" },
+ { 30, "dB24" },
{ 0, NULL }
};
+static value_string_ext nr_rrc_Q_OffsetRange_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_Q_OffsetRange_vals);
+
static int
-dissect_nr_rrc_T_reestablishPDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_Q_OffsetRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 31, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_discardOnPDCP_vals[] = {
- { 0, "true" },
- { 0, NULL }
-};
-
static int
-dissect_nr_rrc_T_discardOnPDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_RangeToBestCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_nr_rrc_Q_OffsetRange(tvb, offset, actx, tree, hf_index);
return offset;
}
-static const value_string nr_rrc_T_discardTimer_vals[] = {
- { 0, "ms10" },
- { 1, "ms20" },
- { 2, "ms30" },
- { 3, "ms40" },
- { 4, "ms50" },
- { 5, "ms60" },
- { 6, "ms75" },
- { 7, "ms100" },
- { 8, "ms150" },
- { 9, "ms200" },
- { 10, "ms250" },
- { 11, "ms300" },
- { 12, "ms500" },
- { 13, "ms750" },
- { 14, "ms1500" },
- { 15, "infinity" },
+static const value_string nr_rrc_T_q_Hyst_vals[] = {
+ { 0, "dB0" },
+ { 1, "dB1" },
+ { 2, "dB2" },
+ { 3, "dB3" },
+ { 4, "dB4" },
+ { 5, "dB5" },
+ { 6, "dB6" },
+ { 7, "dB8" },
+ { 8, "dB10" },
+ { 9, "dB12" },
+ { 10, "dB14" },
+ { 11, "dB16" },
+ { 12, "dB18" },
+ { 13, "dB20" },
+ { 14, "dB22" },
+ { 15, "dB24" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_discardTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_q_Hyst(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
16, NULL, FALSE, 0, NULL);
@@ -5200,239 +7573,233 @@ dissect_nr_rrc_T_discardTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
}
-static const value_string nr_rrc_T_pdcp_SN_SizeUL_vals[] = {
- { 0, "len12bits" },
- { 1, "len18bits" },
+static const value_string nr_rrc_T_t_Evaluation_vals[] = {
+ { 0, "s30" },
+ { 1, "s60" },
+ { 2, "s120" },
+ { 3, "s180" },
+ { 4, "s240" },
+ { 5, "spare3" },
+ { 6, "spare2" },
+ { 7, "spare1" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_pdcp_SN_SizeUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_t_Evaluation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_pdcp_SN_SizeDL_vals[] = {
- { 0, "len12bits" },
- { 1, "len18bits" },
+static const value_string nr_rrc_T_t_HystNormal_vals[] = {
+ { 0, "s30" },
+ { 1, "s60" },
+ { 2, "s120" },
+ { 3, "s180" },
+ { 4, "s240" },
+ { 5, "spare3" },
+ { 6, "spare2" },
+ { 7, "spare1" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_pdcp_SN_SizeDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_t_HystNormal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
+static const per_sequence_t MobilityStateParameters_sequence[] = {
+ { &hf_nr_rrc_t_Evaluation , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t_Evaluation },
+ { &hf_nr_rrc_t_HystNormal , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t_HystNormal },
+ { &hf_nr_rrc_n_CellChangeMedium, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
+ { &hf_nr_rrc_n_CellChangeHigh, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_1_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 16383U, NULL, FALSE);
+dissect_nr_rrc_MobilityStateParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MobilityStateParameters, MobilityStateParameters_sequence);
return offset;
}
+static const value_string nr_rrc_T_sf_Medium_vals[] = {
+ { 0, "dB-6" },
+ { 1, "dB-4" },
+ { 2, "dB-2" },
+ { 3, "dB0" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
+dissect_nr_rrc_T_sf_Medium(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_profiles_sequence[] = {
- { &hf_nr_rrc_profile0x0001, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_profile0x0002, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_profile0x0003, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_profile0x0004, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_profile0x0006, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_profile0x0101, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_profile0x0102, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_profile0x0103, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_profile0x0104, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_sf_High_vals[] = {
+ { 0, "dB-6" },
+ { 1, "dB-4" },
+ { 2, "dB-2" },
+ { 3, "dB0" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_T_profiles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_profiles, T_profiles_sequence);
+dissect_nr_rrc_T_sf_High(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_drb_ContinueROHC_vals[] = {
- { 0, "true" },
- { 0, NULL }
+static const per_sequence_t T_q_HystSF_sequence[] = {
+ { &hf_nr_rrc_sf_Medium , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sf_Medium },
+ { &hf_nr_rrc_sf_High , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sf_High },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_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);
+dissect_nr_rrc_T_q_HystSF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_q_HystSF, T_q_HystSF_sequence);
return offset;
}
-static const per_sequence_t T_rohc_sequence[] = {
- { &hf_nr_rrc_maxCID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_16383 },
- { &hf_nr_rrc_profiles , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_profiles },
- { &hf_nr_rrc_drb_ContinueROHC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_drb_ContinueROHC },
+static const per_sequence_t T_speedStateReselectionPars_sequence[] = {
+ { &hf_nr_rrc_mobilityStateParameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MobilityStateParameters },
+ { &hf_nr_rrc_q_HystSF , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_q_HystSF },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_rohc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_speedStateReselectionPars(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_rohc, T_rohc_sequence);
+ ett_nr_rrc_T_speedStateReselectionPars, T_speedStateReselectionPars_sequence);
return offset;
}
-static const per_sequence_t T_profiles_01_sequence[] = {
- { &hf_nr_rrc_profile0x0006, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+static const per_sequence_t T_cellReselectionInfoCommon_sequence[] = {
+ { &hf_nr_rrc_nrofSS_BlocksToAverage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage },
+ { &hf_nr_rrc_absThreshSS_BlocksConsolidation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ThresholdNR },
+ { &hf_nr_rrc_rangeToBestCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RangeToBestCell },
+ { &hf_nr_rrc_q_Hyst , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_q_Hyst },
+ { &hf_nr_rrc_speedStateReselectionPars, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_speedStateReselectionPars },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_profiles_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_cellReselectionInfoCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_profiles_01, T_profiles_01_sequence);
+ ett_nr_rrc_T_cellReselectionInfoCommon, T_cellReselectionInfoCommon_sequence);
return offset;
}
-static const value_string nr_rrc_T_drb_ContinueROHC_01_vals[] = {
- { 0, "true" },
- { 0, NULL }
-};
-
static int
-dissect_nr_rrc_T_drb_ContinueROHC_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_ReselectionThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 31U, NULL, FALSE);
return offset;
}
-static const per_sequence_t T_uplinkOnlyROHC_sequence[] = {
- { &hf_nr_rrc_maxCID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_16383 },
- { &hf_nr_rrc_profiles_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_profiles_01 },
- { &hf_nr_rrc_drb_ContinueROHC_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_drb_ContinueROHC_01 },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_nr_rrc_T_uplinkOnlyROHC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_uplinkOnlyROHC, T_uplinkOnlyROHC_sequence);
+dissect_nr_rrc_ReselectionThresholdQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 31U, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_T_headerCompression_vals[] = {
- { 0, "notUsed" },
- { 1, "rohc" },
- { 2, "uplinkOnlyROHC" },
- { 0, NULL }
-};
-
-static const per_choice_t T_headerCompression_choice[] = {
- { 0, &hf_nr_rrc_notUsed , ASN1_EXTENSION_ROOT , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_rohc , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_rohc },
- { 2, &hf_nr_rrc_uplinkOnlyROHC, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_uplinkOnlyROHC },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_nr_rrc_T_headerCompression(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_headerCompression, T_headerCompression_choice,
- NULL);
+dissect_nr_rrc_CellReselectionPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 7U, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_T_integrityProtection_vals[] = {
- { 0, "enabled" },
+static const value_string nr_rrc_CellReselectionSubPriority_vals[] = {
+ { 0, "oDot2" },
+ { 1, "oDot4" },
+ { 2, "oDot6" },
+ { 3, "oDot8" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_integrityProtection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CellReselectionSubPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 4, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_statusReportRequired_vals[] = {
- { 0, "true" },
- { 0, NULL }
+static const per_sequence_t T_cellReselectionServingFreqInfo_sequence[] = {
+ { &hf_nr_rrc_s_NonIntraSearchP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReselectionThreshold },
+ { &hf_nr_rrc_s_NonIntraSearchQ, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReselectionThresholdQ },
+ { &hf_nr_rrc_threshServingLowP, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold },
+ { &hf_nr_rrc_threshServingLowQ, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReselectionThresholdQ },
+ { &hf_nr_rrc_cellReselectionPriority, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellReselectionPriority },
+ { &hf_nr_rrc_cellReselectionSubPriority, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CellReselectionSubPriority },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_statusReportRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_cellReselectionServingFreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_cellReselectionServingFreqInfo, T_cellReselectionServingFreqInfo_sequence);
return offset;
}
-static 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);
+dissect_nr_rrc_Q_RxLevMin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ -70, -22, NULL, FALSE);
return offset;
}
-static const per_sequence_t T_drb_sequence[] = {
- { &hf_nr_rrc_discardTimer , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_discardTimer },
- { &hf_nr_rrc_pdcp_SN_SizeUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_SN_SizeUL },
- { &hf_nr_rrc_pdcp_SN_SizeDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_SN_SizeDL },
- { &hf_nr_rrc_headerCompression, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_headerCompression },
- { &hf_nr_rrc_integrityProtection, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_integrityProtection },
- { &hf_nr_rrc_statusReportRequired, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_statusReportRequired },
- { &hf_nr_rrc_outOfOrderDelivery, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_outOfOrderDelivery },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_nr_rrc_T_drb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_drb, T_drb_sequence);
+dissect_nr_rrc_Q_QualMin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ -34, -3, NULL, FALSE);
return offset;
}
@@ -5440,9 +7807,9 @@ dissect_nr_rrc_T_drb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
static int
-dissect_nr_rrc_CellGroupId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_Reselection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxSecondaryCellGroups, NULL, FALSE);
+ 0U, 7U, NULL, FALSE);
return offset;
}
@@ -5450,230 +7817,121 @@ dissect_nr_rrc_CellGroupId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static int
-dissect_nr_rrc_LogicalChannelIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_AdditionalSpectrumEmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxLC_ID, NULL, FALSE);
+ 0U, 7U, NULL, FALSE);
return offset;
}
-static const per_sequence_t T_primaryPath_sequence[] = {
- { &hf_nr_rrc_cellGroup , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellGroupId },
- { &hf_nr_rrc_logicalChannel, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_LogicalChannelIdentity },
+static const per_sequence_t NR_NS_PmaxValue_sequence[] = {
+ { &hf_nr_rrc_additionalPmax_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
+ { &hf_nr_rrc_additionalSpectrumEmission, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AdditionalSpectrumEmission },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_primaryPath(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_NR_NS_PmaxValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_primaryPath, T_primaryPath_sequence);
+ ett_nr_rrc_NR_NS_PmaxValue, NR_NS_PmaxValue_sequence);
return offset;
}
-static const value_string nr_rrc_UL_DataSplitThreshold_vals[] = {
- { 0, "b0" },
- { 1, "b100" },
- { 2, "b200" },
- { 3, "b400" },
- { 4, "b800" },
- { 5, "b1600" },
- { 6, "b3200" },
- { 7, "b6400" },
- { 8, "b12800" },
- { 9, "b25600" },
- { 10, "b51200" },
- { 11, "b102400" },
- { 12, "b204800" },
- { 13, "b409600" },
- { 14, "b819200" },
- { 15, "b1228800" },
- { 16, "b1638400" },
- { 17, "b2457600" },
- { 18, "b3276800" },
- { 19, "b4096000" },
- { 20, "b4915200" },
- { 21, "b5734400" },
- { 22, "b6553600" },
- { 23, "infinity" },
- { 24, "spare8" },
- { 25, "spare7" },
- { 26, "spare6" },
- { 27, "spare5" },
- { 28, "spare4" },
- { 29, "spare3" },
- { 30, "spare2" },
- { 31, "spare1" },
- { 0, NULL }
+static const per_sequence_t NR_NS_PmaxList_sequence_of[1] = {
+ { &hf_nr_rrc_NR_NS_PmaxList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_NS_PmaxValue },
};
-static value_string_ext nr_rrc_UL_DataSplitThreshold_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_UL_DataSplitThreshold_vals);
-
-
static int
-dissect_nr_rrc_UL_DataSplitThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 32, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_NR_NS_PmaxList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_NR_NS_PmaxList, NR_NS_PmaxList_sequence_of,
+ 1, maxNR_NS_Pmax, FALSE);
return offset;
}
-static const per_sequence_t T_moreThanOneRLC_sequence[] = {
- { &hf_nr_rrc_primaryPath , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_primaryPath },
- { &hf_nr_rrc_ul_DataSplitThreshold, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UL_DataSplitThreshold },
- { &hf_nr_rrc_pdcp_Duplication, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN },
+static const per_sequence_t NR_MultiBandInfo_sequence[] = {
+ { &hf_nr_rrc_freqBandIndicatorNR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqBandIndicatorNR },
+ { &hf_nr_rrc_nr_NS_PmaxList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NR_NS_PmaxList },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_moreThanOneRLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_NR_MultiBandInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_moreThanOneRLC, T_moreThanOneRLC_sequence);
+ ett_nr_rrc_NR_MultiBandInfo, NR_MultiBandInfo_sequence);
return offset;
}
-static const value_string nr_rrc_T_t_Reordering_vals[] = {
- { 0, "ms0" },
- { 1, "ms1" },
- { 2, "ms2" },
- { 3, "ms4" },
- { 4, "ms5" },
- { 5, "ms8" },
- { 6, "ms10" },
- { 7, "ms15" },
- { 8, "ms20" },
- { 9, "ms30" },
- { 10, "ms40" },
- { 11, "ms50" },
- { 12, "ms60" },
- { 13, "ms80" },
- { 14, "ms100" },
- { 15, "ms120" },
- { 16, "ms140" },
- { 17, "ms160" },
- { 18, "ms180" },
- { 19, "ms200" },
- { 20, "ms220" },
- { 21, "ms240" },
- { 22, "ms260" },
- { 23, "ms280" },
- { 24, "ms300" },
- { 25, "ms500" },
- { 26, "ms750" },
- { 27, "ms1000" },
- { 28, "ms1250" },
- { 29, "ms1500" },
- { 30, "ms1750" },
- { 31, "ms2000" },
- { 32, "ms2250" },
- { 33, "ms2500" },
- { 34, "ms2750" },
- { 35, "ms3000" },
- { 36, "spare28" },
- { 37, "spare27" },
- { 38, "spare26" },
- { 39, "spare25" },
- { 40, "spare24" },
- { 41, "spare23" },
- { 42, "spare22" },
- { 43, "spare21" },
- { 44, "spare20" },
- { 45, "spare19" },
- { 46, "spare18" },
- { 47, "spare17" },
- { 48, "spare16" },
- { 49, "spare15" },
- { 50, "spare14" },
- { 51, "spare13" },
- { 52, "spare12" },
- { 53, "spare11" },
- { 54, "spare10" },
- { 55, "spare09" },
- { 56, "spare08" },
- { 57, "spare07" },
- { 58, "spare06" },
- { 59, "spare05" },
- { 60, "spare04" },
- { 61, "spare03" },
- { 62, "spare02" },
- { 63, "spare01" },
- { 0, NULL }
+static const per_sequence_t MultiFrequencyBandListNR_SIB_sequence_of[1] = {
+ { &hf_nr_rrc_MultiFrequencyBandListNR_SIB_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_MultiBandInfo },
};
-static value_string_ext nr_rrc_T_t_Reordering_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_t_Reordering_vals);
-
-
static int
-dissect_nr_rrc_T_t_Reordering(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 64, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_MultiFrequencyBandListNR_SIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MultiFrequencyBandListNR_SIB, MultiFrequencyBandListNR_SIB_sequence_of,
+ 1, maxNrofMultiBands, FALSE);
return offset;
}
-static const per_sequence_t PDCP_Config_sequence[] = {
- { &hf_nr_rrc_drb , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_drb },
- { &hf_nr_rrc_moreThanOneRLC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_moreThanOneRLC },
- { &hf_nr_rrc_t_Reordering , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_t_Reordering },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_nr_rrc_PDCP_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PDCP_Config, PDCP_Config_sequence);
+dissect_nr_rrc_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 4, 4, FALSE, NULL, NULL);
return offset;
}
-static const per_sequence_t SRB_ToAddMod_sequence[] = {
- { &hf_nr_rrc_srb_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRB_Identity },
- { &hf_nr_rrc_reestablishPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reestablishPDCP },
- { &hf_nr_rrc_discardOnPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_discardOnPDCP },
- { &hf_nr_rrc_pdcp_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PDCP_Config },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_nr_rrc_SRB_ToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SRB_ToAddMod, SRB_ToAddMod_sequence);
+dissect_nr_rrc_BIT_STRING_SIZE_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 8, 8, FALSE, NULL, NULL);
return offset;
}
-static const per_sequence_t SRB_ToAddModList_sequence_of[1] = {
- { &hf_nr_rrc_SRB_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRB_ToAddMod },
-};
static int
-dissect_nr_rrc_SRB_ToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SRB_ToAddModList, SRB_ToAddModList_sequence_of,
- 1, 2, FALSE);
+dissect_nr_rrc_BIT_STRING_SIZE_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 64, 64, FALSE, NULL, NULL);
return offset;
}
-static const value_string nr_rrc_T_srb3_ToRelease_vals[] = {
- { 0, "true" },
+static const value_string nr_rrc_SSB_ToMeasure_vals[] = {
+ { 0, "shortBitmap" },
+ { 1, "mediumBitmap" },
+ { 2, "longBitmap" },
{ 0, NULL }
};
+static const per_choice_t SSB_ToMeasure_choice[] = {
+ { 0, &hf_nr_rrc_shortBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 },
+ { 1, &hf_nr_rrc_mediumBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
+ { 2, &hf_nr_rrc_longBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_srb3_ToRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_SSB_ToMeasure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SSB_ToMeasure, SSB_ToMeasure_choice,
+ NULL);
return offset;
}
@@ -5681,41 +7939,52 @@ dissect_nr_rrc_T_srb3_ToRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
static int
-dissect_nr_rrc_PDU_SessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 255U, NULL, FALSE);
+dissect_nr_rrc_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
return offset;
}
-static const value_string nr_rrc_T_sdap_HeaderDL_vals[] = {
- { 0, "present" },
- { 1, "absent" },
- { 0, NULL }
+static const per_sequence_t T_intraFreqCellReselectionInfo_sequence[] = {
+ { &hf_nr_rrc_q_RxLevMin , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_RxLevMin },
+ { &hf_nr_rrc_q_RxLevMinSUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_Q_RxLevMin },
+ { &hf_nr_rrc_q_QualMin , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_Q_QualMin },
+ { &hf_nr_rrc_s_IntraSearchP, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold },
+ { &hf_nr_rrc_s_IntraSearchQ, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReselectionThresholdQ },
+ { &hf_nr_rrc_t_ReselectionNR, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reselection },
+ { &hf_nr_rrc_frequencyBandList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MultiFrequencyBandListNR_SIB },
+ { &hf_nr_rrc_frequencyBandListSUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MultiFrequencyBandListNR_SIB },
+ { &hf_nr_rrc_p_Max , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
+ { &hf_nr_rrc_smtc , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC },
+ { &hf_nr_rrc_ss_RSSI_Measurement, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SS_RSSI_Measurement },
+ { &hf_nr_rrc_ssb_ToMeasure, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SSB_ToMeasure },
+ { &hf_nr_rrc_deriveSSB_IndexFromCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_sdap_HeaderDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_intraFreqCellReselectionInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_intraFreqCellReselectionInfo, T_intraFreqCellReselectionInfo_sequence);
return offset;
}
-static const value_string nr_rrc_T_sdap_HeaderUL_vals[] = {
- { 0, "present" },
- { 1, "absent" },
- { 0, NULL }
+static const per_sequence_t SIB2_sequence[] = {
+ { &hf_nr_rrc_cellReselectionInfoCommon, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellReselectionInfoCommon },
+ { &hf_nr_rrc_cellReselectionServingFreqInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellReselectionServingFreqInfo },
+ { &hf_nr_rrc_intraFreqCellReselectionInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_intraFreqCellReselectionInfo },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_sdap_HeaderUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_SIB2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB2");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SIB2, SIB2_sequence);
return offset;
}
@@ -5723,258 +7992,318 @@ dissect_nr_rrc_T_sdap_HeaderUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
-dissect_nr_rrc_QFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_1_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxQFI, NULL, FALSE);
+ 1U, 8U, NULL, FALSE);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI_sequence_of[1] = {
- { &hf_nr_rrc_mappedQoS_FlowsToAdd_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QFI },
+static const per_sequence_t IntraFreqNeighCellInfo_sequence[] = {
+ { &hf_nr_rrc_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
+ { &hf_nr_rrc_q_OffsetCell , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRange },
+ { &hf_nr_rrc_q_RxLevMinOffsetCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 },
+ { &hf_nr_rrc_q_RxLevMinOffsetCellSUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 },
+ { &hf_nr_rrc_q_QualMinOffsetCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_IntraFreqNeighCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_IntraFreqNeighCellInfo, IntraFreqNeighCellInfo_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t IntraFreqNeighCellList_sequence_of[1] = {
+ { &hf_nr_rrc_IntraFreqNeighCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraFreqNeighCellInfo },
+};
+
+static int
+dissect_nr_rrc_IntraFreqNeighCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI, SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI_sequence_of,
- 1, maxNrofQFIs, FALSE);
+ ett_nr_rrc_IntraFreqNeighCellList, IntraFreqNeighCellList_sequence_of,
+ 1, maxCellIntra, FALSE);
return offset;
}
-static const per_sequence_t SDAP_Config_sequence[] = {
- { &hf_nr_rrc_pdu_Session , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDU_SessionID },
- { &hf_nr_rrc_sdap_HeaderDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sdap_HeaderDL },
- { &hf_nr_rrc_sdap_HeaderUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sdap_HeaderUL },
- { &hf_nr_rrc_defaultDRB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_mappedQoS_FlowsToAdd, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI },
- { &hf_nr_rrc_mappedQoS_FlowsToRelease, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI },
+static const value_string nr_rrc_T_range_vals[] = {
+ { 0, "n4" },
+ { 1, "n8" },
+ { 2, "n12" },
+ { 3, "n16" },
+ { 4, "n24" },
+ { 5, "n32" },
+ { 6, "n48" },
+ { 7, "n64" },
+ { 8, "n84" },
+ { 9, "n96" },
+ { 10, "n128" },
+ { 11, "n168" },
+ { 12, "n252" },
+ { 13, "n504" },
+ { 14, "n1008" },
+ { 15, "spare1" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 16, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PCI_Range_sequence[] = {
+ { &hf_nr_rrc_start , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
+ { &hf_nr_rrc_range , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_range },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SDAP_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PCI_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SDAP_Config, SDAP_Config_sequence);
+ ett_nr_rrc_PCI_Range, PCI_Range_sequence);
return offset;
}
-static const value_string nr_rrc_T_cnAssociation_vals[] = {
- { 0, "eps-BearerIdentity" },
- { 1, "sdap-Config" },
- { 0, NULL }
+static const per_sequence_t IntraFreqBlackCellList_sequence_of[1] = {
+ { &hf_nr_rrc_IntraFreqBlackCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range },
};
-static const per_choice_t T_cnAssociation_choice[] = {
- { 0, &hf_nr_rrc_eps_BearerIdentity, ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
- { 1, &hf_nr_rrc_sdap_Config , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SDAP_Config },
- { 0, NULL, 0, NULL }
-};
+static int
+dissect_nr_rrc_IntraFreqBlackCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_IntraFreqBlackCellList, IntraFreqBlackCellList_sequence_of,
+ 1, maxCellBlack, FALSE);
+
+ return offset;
+}
+
+
static int
-dissect_nr_rrc_T_cnAssociation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_cnAssociation, T_cnAssociation_choice,
- NULL);
+dissect_nr_rrc_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, NULL);
return offset;
}
+static const per_sequence_t SIB3_sequence[] = {
+ { &hf_nr_rrc_intraFreqNeighCellList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_IntraFreqNeighCellList },
+ { &hf_nr_rrc_intraFreqBlackCellList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_IntraFreqBlackCellList },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_DRB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 32U, NULL, FALSE);
+dissect_nr_rrc_SIB3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB3");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SIB3, SIB3_sequence);
return offset;
}
-static const value_string nr_rrc_T_reestablishPDCP_01_vals[] = {
- { 0, "true" },
+static const value_string nr_rrc_T_sf_Medium_01_vals[] = {
+ { 0, "oDot25" },
+ { 1, "oDot5" },
+ { 2, "oDot75" },
+ { 3, "lDot0" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_reestablishPDCP_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_sf_Medium_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 4, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_recoverPDCP_vals[] = {
- { 0, "true" },
+static const value_string nr_rrc_T_sf_High_01_vals[] = {
+ { 0, "oDot25" },
+ { 1, "oDot5" },
+ { 2, "oDot75" },
+ { 3, "lDot0" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_recoverPDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_sf_High_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 4, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t DRB_ToAddMod_sequence[] = {
- { &hf_nr_rrc_cnAssociation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cnAssociation },
- { &hf_nr_rrc_drb_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity },
- { &hf_nr_rrc_reestablishPDCP_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reestablishPDCP_01 },
- { &hf_nr_rrc_recoverPDCP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_recoverPDCP },
- { &hf_nr_rrc_pdcp_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PDCP_Config },
+static const per_sequence_t SpeedStateScaleFactors_sequence[] = {
+ { &hf_nr_rrc_sf_Medium_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sf_Medium_01 },
+ { &hf_nr_rrc_sf_High_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sf_High_01 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_DRB_ToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SpeedStateScaleFactors(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_DRB_ToAddMod, DRB_ToAddMod_sequence);
+ ett_nr_rrc_SpeedStateScaleFactors, SpeedStateScaleFactors_sequence);
return offset;
}
-static const per_sequence_t DRB_ToAddModList_sequence_of[1] = {
- { &hf_nr_rrc_DRB_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_ToAddMod },
+static const per_sequence_t T_threshX_Q_sequence[] = {
+ { &hf_nr_rrc_threshX_HighQ, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThresholdQ },
+ { &hf_nr_rrc_threshX_LowQ , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThresholdQ },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_DRB_ToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_DRB_ToAddModList, DRB_ToAddModList_sequence_of,
- 1, maxDRB, FALSE);
+dissect_nr_rrc_T_threshX_Q(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_threshX_Q, T_threshX_Q_sequence);
return offset;
}
-static const per_sequence_t DRB_ToReleaseList_sequence_of[1] = {
- { &hf_nr_rrc_DRB_ToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity },
+static const per_sequence_t InterFreqNeighCellInfo_sequence[] = {
+ { &hf_nr_rrc_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
+ { &hf_nr_rrc_q_OffsetCell , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRange },
+ { &hf_nr_rrc_q_RxLevMinOffsetCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 },
+ { &hf_nr_rrc_q_RxLevMinOffsetCellSUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 },
+ { &hf_nr_rrc_q_QualMinOffsetCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_DRB_ToReleaseList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_DRB_ToReleaseList, DRB_ToReleaseList_sequence_of,
- 1, maxDRB, FALSE);
+dissect_nr_rrc_InterFreqNeighCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_InterFreqNeighCellInfo, InterFreqNeighCellInfo_sequence);
return offset;
}
-static const value_string nr_rrc_CipheringAlgorithm_vals[] = {
- { 0, "nea0" },
- { 1, "nea1" },
- { 2, "nea2" },
- { 3, "nea3" },
- { 4, "spare4" },
- { 5, "spare3" },
- { 6, "spare2" },
- { 7, "spare1" },
- { 0, NULL }
+static const per_sequence_t InterFreqNeighCellList_sequence_of[1] = {
+ { &hf_nr_rrc_InterFreqNeighCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqNeighCellInfo },
};
-
static int
-dissect_nr_rrc_CipheringAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, TRUE, 0, NULL);
+dissect_nr_rrc_InterFreqNeighCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_InterFreqNeighCellList, InterFreqNeighCellList_sequence_of,
+ 1, maxCellInter, FALSE);
return offset;
}
-static const value_string nr_rrc_IntegrityProtAlgorithm_vals[] = {
- { 0, "nia0" },
- { 1, "nia1" },
- { 2, "nia2" },
- { 3, "nia3" },
- { 4, "spare4" },
- { 5, "spare3" },
- { 6, "spare2" },
- { 7, "spare1" },
- { 0, NULL }
+static const per_sequence_t InterFreqBlackCellList_sequence_of[1] = {
+ { &hf_nr_rrc_InterFreqBlackCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range },
};
-
static int
-dissect_nr_rrc_IntegrityProtAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, TRUE, 0, NULL);
+dissect_nr_rrc_InterFreqBlackCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_InterFreqBlackCellList, InterFreqBlackCellList_sequence_of,
+ 1, maxCellBlack, FALSE);
return offset;
}
-static const per_sequence_t SecurityAlgorithmConfig_sequence[] = {
- { &hf_nr_rrc_cipheringAlgorithm, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CipheringAlgorithm },
- { &hf_nr_rrc_integrityProtAlgorithm, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_IntegrityProtAlgorithm },
+static const per_sequence_t InterFreqCarrierFreqInfo_sequence[] = {
+ { &hf_nr_rrc_dl_CarrierFreq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
+ { &hf_nr_rrc_frequencyBandList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MultiFrequencyBandListNR_SIB },
+ { &hf_nr_rrc_frequencyBandListSUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MultiFrequencyBandListNR_SIB },
+ { &hf_nr_rrc_nrofSS_BlocksToAverage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage },
+ { &hf_nr_rrc_absThreshSS_BlocksConsolidation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ThresholdNR },
+ { &hf_nr_rrc_smtc , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC },
+ { &hf_nr_rrc_ssbSubcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
+ { &hf_nr_rrc_ssb_ToMeasure, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SSB_ToMeasure },
+ { &hf_nr_rrc_deriveSSB_IndexFromCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_ss_RSSI_Measurement, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SS_RSSI_Measurement },
+ { &hf_nr_rrc_q_RxLevMin , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_RxLevMin },
+ { &hf_nr_rrc_q_RxLevMinSUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_Q_RxLevMin },
+ { &hf_nr_rrc_q_QualMin , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_Q_QualMin },
+ { &hf_nr_rrc_p_Max , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
+ { &hf_nr_rrc_t_ReselectionNR, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reselection },
+ { &hf_nr_rrc_t_ReselectionNR_SF, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SpeedStateScaleFactors },
+ { &hf_nr_rrc_threshX_HighP, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold },
+ { &hf_nr_rrc_threshX_LowP , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold },
+ { &hf_nr_rrc_threshX_Q , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_threshX_Q },
+ { &hf_nr_rrc_cellReselectionPriority, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CellReselectionPriority },
+ { &hf_nr_rrc_cellReselectionSubPriority, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CellReselectionSubPriority },
+ { &hf_nr_rrc_q_OffsetFreq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
+ { &hf_nr_rrc_interFreqNeighCellList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_InterFreqNeighCellList },
+ { &hf_nr_rrc_interFreqBlackCellList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_InterFreqBlackCellList },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SecurityAlgorithmConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_InterFreqCarrierFreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SecurityAlgorithmConfig, SecurityAlgorithmConfig_sequence);
+ ett_nr_rrc_InterFreqCarrierFreqInfo, InterFreqCarrierFreqInfo_sequence);
return offset;
}
-static const value_string nr_rrc_T_keyToUse_vals[] = {
- { 0, "keNB" },
- { 1, "s-KgNB" },
- { 0, NULL }
+static const per_sequence_t InterFreqCarrierFreqList_sequence_of[1] = {
+ { &hf_nr_rrc_InterFreqCarrierFreqList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqCarrierFreqInfo },
};
-
static int
-dissect_nr_rrc_T_keyToUse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_InterFreqCarrierFreqList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_InterFreqCarrierFreqList, InterFreqCarrierFreqList_sequence_of,
+ 1, maxFreq, FALSE);
return offset;
}
-static const per_sequence_t SecurityConfig_sequence[] = {
- { &hf_nr_rrc_securityAlgorithmConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SecurityAlgorithmConfig },
- { &hf_nr_rrc_keyToUse , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_keyToUse },
+static const per_sequence_t SIB4_sequence[] = {
+ { &hf_nr_rrc_interFreqCarrierFreqList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqCarrierFreqList },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SecurityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SIB4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB4");
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SecurityConfig, SecurityConfig_sequence);
+ ett_nr_rrc_SIB4, SIB4_sequence);
return offset;
}
-static const per_sequence_t RadioBearerConfig_sequence[] = {
- { &hf_nr_rrc_srb_ToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SRB_ToAddModList },
- { &hf_nr_rrc_srb3_ToRelease, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srb3_ToRelease },
- { &hf_nr_rrc_drb_ToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_DRB_ToAddModList },
- { &hf_nr_rrc_drb_ToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_DRB_ToReleaseList },
- { &hf_nr_rrc_securityConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SecurityConfig },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_nr_rrc_RadioBearerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RadioBearerConfig, RadioBearerConfig_sequence);
+dissect_nr_rrc_FreqBandIndicatorEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxBandsEUTRA, NULL, FALSE);
return offset;
}
@@ -5982,9 +8311,9 @@ dissect_nr_rrc_RadioBearerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static int
-dissect_nr_rrc_T_secondaryCellGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
- NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_CellGroupConfig_PDU);
+dissect_nr_rrc_INTEGER_M30_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ -30, 33U, NULL, FALSE);
return offset;
}
@@ -5992,172 +8321,234 @@ dissect_nr_rrc_T_secondaryCellGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
static int
-dissect_nr_rrc_MeasObjectId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_1_288(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxNrofObjectId, NULL, FALSE);
+ 1U, 288U, NULL, FALSE);
return offset;
}
-static const per_sequence_t MeasObjectToRemoveList_sequence_of[1] = {
- { &hf_nr_rrc_MeasObjectToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId },
+static const per_sequence_t EUTRA_NS_PmaxValue_sequence[] = {
+ { &hf_nr_rrc_additionalPmax, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M30_33 },
+ { &hf_nr_rrc_additionalSpectrumEmission_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_288 },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasObjectToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasObjectToRemoveList, MeasObjectToRemoveList_sequence_of,
- 1, maxNrofObjectId, FALSE);
+dissect_nr_rrc_EUTRA_NS_PmaxValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_EUTRA_NS_PmaxValue, EUTRA_NS_PmaxValue_sequence);
return offset;
}
-static const value_string nr_rrc_SubcarrierSpacing_vals[] = {
- { 0, "kHz15" },
- { 1, "kHz30" },
- { 2, "kHz60" },
- { 3, "kHz120" },
- { 4, "kHz240" },
- { 5, "spare3" },
- { 6, "spare2" },
- { 7, "spare1" },
- { 0, NULL }
+static const per_sequence_t EUTRA_NS_PmaxList_sequence_of[1] = {
+ { &hf_nr_rrc_EUTRA_NS_PmaxList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_NS_PmaxValue },
};
+static int
+dissect_nr_rrc_EUTRA_NS_PmaxList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_EUTRA_NS_PmaxList, EUTRA_NS_PmaxList_sequence_of,
+ 1, maxEUTRA_NS_Pmax, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t EUTRA_MultiBandInfo_sequence[] = {
+ { &hf_nr_rrc_eutra_FreqBandIndicator, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA },
+ { &hf_nr_rrc_eutra_NS_PmaxList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_NS_PmaxList },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_SubcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_EUTRA_MultiBandInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_EUTRA_MultiBandInfo, EUTRA_MultiBandInfo_sequence);
return offset;
}
-static const per_sequence_t 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 const per_sequence_t EUTRA_MultiBandInfoList_sequence_of[1] = {
+ { &hf_nr_rrc_EUTRA_MultiBandInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_MultiBandInfo },
};
static int
-dissect_nr_rrc_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_) {
+dissect_nr_rrc_EUTRA_MultiBandInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId, SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId_sequence_of,
- 1, maxNrofPCIsPerSMTC, FALSE);
+ ett_nr_rrc_EUTRA_MultiBandInfoList, EUTRA_MultiBandInfoList_sequence_of,
+ 1, maxMultiBands, 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" },
+
+static int
+dissect_nr_rrc_EUTRA_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 503U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_EUTRA_Q_OffsetRange_vals[] = {
+ { 0, "dB-24" },
+ { 1, "dB-22" },
+ { 2, "dB-20" },
+ { 3, "dB-18" },
+ { 4, "dB-16" },
+ { 5, "dB-14" },
+ { 6, "dB-12" },
+ { 7, "dB-10" },
+ { 8, "dB-8" },
+ { 9, "dB-6" },
+ { 10, "dB-5" },
+ { 11, "dB-4" },
+ { 12, "dB-3" },
+ { 13, "dB-2" },
+ { 14, "dB-1" },
+ { 15, "dB0" },
+ { 16, "dB1" },
+ { 17, "dB2" },
+ { 18, "dB3" },
+ { 19, "dB4" },
+ { 20, "dB5" },
+ { 21, "dB6" },
+ { 22, "dB8" },
+ { 23, "dB10" },
+ { 24, "dB12" },
+ { 25, "dB14" },
+ { 26, "dB16" },
+ { 27, "dB18" },
+ { 28, "dB20" },
+ { 29, "dB22" },
+ { 30, "dB24" },
{ 0, NULL }
};
+static value_string_ext nr_rrc_EUTRA_Q_OffsetRange_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_EUTRA_Q_OffsetRange_vals);
+
static int
-dissect_nr_rrc_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_EUTRA_Q_OffsetRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+ 31, 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 },
+static const per_sequence_t EUTRA_FreqNeighCellInfo_sequence[] = {
+ { &hf_nr_rrc_physCellId_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId },
+ { &hf_nr_rrc_q_OffsetCell_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_Q_OffsetRange },
+ { &hf_nr_rrc_q_RxLevMinOffsetCell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 },
+ { &hf_nr_rrc_q_QualMinOffsetCell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SSB_MTC2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_EUTRA_FreqNeighCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SSB_MTC2, SSB_MTC2_sequence);
+ ett_nr_rrc_EUTRA_FreqNeighCellInfo, EUTRA_FreqNeighCellInfo_sequence);
return offset;
}
+static const per_sequence_t EUTRA_FreqNeighCellList_sequence_of[1] = {
+ { &hf_nr_rrc_EUTRA_FreqNeighCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_FreqNeighCellInfo },
+};
static int
-dissect_nr_rrc_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 4, 4, FALSE, NULL, NULL);
+dissect_nr_rrc_EUTRA_FreqNeighCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_EUTRA_FreqNeighCellList, EUTRA_FreqNeighCellList_sequence_of,
+ 1, maxCellEUTRA, FALSE);
return offset;
}
+static const value_string nr_rrc_T_range_01_vals[] = {
+ { 0, "n4" },
+ { 1, "n8" },
+ { 2, "n12" },
+ { 3, "n16" },
+ { 4, "n24" },
+ { 5, "n32" },
+ { 6, "n48" },
+ { 7, "n64" },
+ { 8, "n84" },
+ { 9, "n96" },
+ { 10, "n128" },
+ { 11, "n168" },
+ { 12, "n252" },
+ { 13, "n504" },
+ { 14, "spare2" },
+ { 15, "spare1" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_BIT_STRING_SIZE_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 8, 8, FALSE, NULL, NULL);
+dissect_nr_rrc_T_range_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 16, NULL, FALSE, 0, NULL);
return offset;
}
+static const per_sequence_t EUTRA_PhysCellIdRange_sequence[] = {
+ { &hf_nr_rrc_start_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId },
+ { &hf_nr_rrc_range_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_range_01 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_BIT_STRING_SIZE_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 64, 64, FALSE, NULL, NULL);
+dissect_nr_rrc_EUTRA_PhysCellIdRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_EUTRA_PhysCellIdRange, EUTRA_PhysCellIdRange_sequence);
return offset;
}
-static const value_string nr_rrc_SSB_ToMeasure_vals[] = {
- { 0, "shortBitmap" },
- { 1, "mediumBitmap" },
- { 2, "longBitmap" },
- { 0, NULL }
-};
-
-static const per_choice_t SSB_ToMeasure_choice[] = {
- { 0, &hf_nr_rrc_shortBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 },
- { 1, &hf_nr_rrc_mediumBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
- { 2, &hf_nr_rrc_longBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 },
- { 0, NULL, 0, NULL }
+static const per_sequence_t EUTRA_FreqBlackCellList_sequence_of[1] = {
+ { &hf_nr_rrc_EUTRA_FreqBlackCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellIdRange },
};
static int
-dissect_nr_rrc_SSB_ToMeasure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SSB_ToMeasure, SSB_ToMeasure_choice,
- NULL);
+dissect_nr_rrc_EUTRA_FreqBlackCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_EUTRA_FreqBlackCellList, EUTRA_FreqBlackCellList_sequence_of,
+ 1, maxEUTRA_CellBlack, FALSE);
return offset;
}
-static const value_string nr_rrc_T_ssb_ToMeasure_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const value_string nr_rrc_EUTRA_AllowedMeasBandwidth_vals[] = {
+ { 0, "mbw6" },
+ { 1, "mbw15" },
+ { 2, "mbw25" },
+ { 3, "mbw50" },
+ { 4, "mbw75" },
+ { 5, "mbw100" },
{ 0, NULL }
};
-static const per_choice_t T_ssb_ToMeasure_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_25 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_ToMeasure },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_nr_rrc_T_ssb_ToMeasure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_ssb_ToMeasure, T_ssb_ToMeasure_choice,
- NULL);
+dissect_nr_rrc_EUTRA_AllowedMeasBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 6, NULL, FALSE, 0, NULL);
return offset;
}
@@ -6165,9 +8556,8 @@ dissect_nr_rrc_T_ssb_ToMeasure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
-dissect_nr_rrc_BIT_STRING_SIZE_1_80(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 1, 80, FALSE, NULL, NULL);
+dissect_nr_rrc_EUTRA_PresenceAntennaPort1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
return offset;
}
@@ -6175,143 +8565,172 @@ dissect_nr_rrc_BIT_STRING_SIZE_1_80(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
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_M70_M22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 3U, NULL, FALSE);
+ -70, -22, NULL, FALSE);
return offset;
}
-static const per_sequence_t SS_RSSI_Measurement_sequence[] = {
- { &hf_nr_rrc_measurementSlots, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1_80 },
- { &hf_nr_rrc_endSymbol , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_nr_rrc_SS_RSSI_Measurement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SS_RSSI_Measurement, SS_RSSI_Measurement_sequence);
+dissect_nr_rrc_INTEGER_M34_M3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ -34, -3, NULL, FALSE);
return offset;
}
-static const per_sequence_t SSB_ConfigMobility_sequence[] = {
- { &hf_nr_rrc_ssb_ToMeasure, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_ToMeasure },
- { &hf_nr_rrc_useServingCellTimingForSync, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_ss_RSSI_Measurement, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SS_RSSI_Measurement },
+static const per_sequence_t T_threshX_Q_01_sequence[] = {
+ { &hf_nr_rrc_threshX_HighQ, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThresholdQ },
+ { &hf_nr_rrc_threshX_LowQ , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThresholdQ },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SSB_ConfigMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_threshX_Q_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SSB_ConfigMobility, SSB_ConfigMobility_sequence);
+ ett_nr_rrc_T_threshX_Q_01, T_threshX_Q_01_sequence);
return offset;
}
-static const value_string nr_rrc_T_nrofPRBs_vals[] = {
- { 0, "size24" },
- { 1, "size48" },
- { 2, "size96" },
- { 3, "size192" },
- { 4, "size264" },
- { 0, NULL }
+static const per_sequence_t CarrierFreqEUTRA_sequence[] = {
+ { &hf_nr_rrc_carrierFreq_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
+ { &hf_nr_rrc_eutra_multiBandInfoList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_MultiBandInfoList },
+ { &hf_nr_rrc_eutra_FreqNeighCellList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_FreqNeighCellList },
+ { &hf_nr_rrc_eutra_BlackCellList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_FreqBlackCellList },
+ { &hf_nr_rrc_allowedMeasBandwidth, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_AllowedMeasBandwidth },
+ { &hf_nr_rrc_presenceAntennaPort1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PresenceAntennaPort1 },
+ { &hf_nr_rrc_cellReselectionPriority, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellReselectionPriority },
+ { &hf_nr_rrc_cellReselectionSubPriority, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellReselectionSubPriority },
+ { &hf_nr_rrc_threshX_High , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold },
+ { &hf_nr_rrc_threshX_Low , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold },
+ { &hf_nr_rrc_q_RxLevMin_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M70_M22 },
+ { &hf_nr_rrc_q_QualMin_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M34_M3 },
+ { &hf_nr_rrc_p_MaxEUTRA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M30_33 },
+ { &hf_nr_rrc_threshX_Q_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_threshX_Q_01 },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_nrofPRBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 5, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_CarrierFreqEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CarrierFreqEUTRA, CarrierFreqEUTRA_sequence);
return offset;
}
+static const per_sequence_t CarrierFreqListEUTRA_sequence_of[1] = {
+ { &hf_nr_rrc_CarrierFreqListEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CarrierFreqEUTRA },
+};
static int
-dissect_nr_rrc_INTEGER_0_2169(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 2169U, NULL, FALSE);
+dissect_nr_rrc_CarrierFreqListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CarrierFreqListEUTRA, CarrierFreqListEUTRA_sequence_of,
+ 1, maxEUTRA_Carrier, FALSE);
return offset;
}
-static const per_sequence_t T_csi_rs_MeasurementBW_sequence[] = {
- { &hf_nr_rrc_nrofPRBs , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPRBs },
- { &hf_nr_rrc_startPRB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2169 },
+static const per_sequence_t SIB5_sequence[] = {
+ { &hf_nr_rrc_carrierFreqListEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CarrierFreqListEUTRA },
+ { &hf_nr_rrc_t_ReselectionEUTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reselection },
+ { &hf_nr_rrc_t_ReselectionEUTRA_SF, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SpeedStateScaleFactors },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_csi_rs_MeasurementBW(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SIB5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB5");
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_csi_rs_MeasurementBW, T_csi_rs_MeasurementBW_sequence);
+ ett_nr_rrc_SIB5, SIB5_sequence);
return offset;
}
-static const value_string nr_rrc_T_density_vals[] = {
- { 0, "d1" },
- { 1, "d3" },
- { 0, NULL }
-};
-
static int
-dissect_nr_rrc_T_density(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_messageIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *msg_id_tvb = NULL;
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
+ 16, 16, FALSE, &msg_id_tvb, NULL);
+
+
+
+ if (msg_id_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
return offset;
}
-static const value_string nr_rrc_T_slotConfig_vals[] = {
- { 0, "ms4" },
- { 1, "ms5" },
- { 2, "ms10" },
- { 3, "ms20" },
- { 4, "ms40" },
- { 0, NULL }
-};
-static const per_choice_t T_slotConfig_choice[] = {
- { 0, &hf_nr_rrc_ms4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 },
- { 1, &hf_nr_rrc_ms5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
- { 2, &hf_nr_rrc_ms10_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
- { 3, &hf_nr_rrc_ms20_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
- { 4, &hf_nr_rrc_ms40_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
- { 0, NULL, 0, NULL }
-};
+static int
+dissect_nr_rrc_T_serialNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *serial_nb_tvb = NULL;
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 16, 16, FALSE, &serial_nb_tvb, NULL);
+
+
+
+ if (serial_nb_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+ return offset;
+}
+
+
static int
-dissect_nr_rrc_T_slotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_slotConfig, T_slotConfig_choice,
- NULL);
+dissect_nr_rrc_T_warningType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *warning_type_tvb = NULL;
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 2, 2, FALSE, &warning_type_tvb);
+
+
+
+ if (warning_type_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningType);
+ proto_tree_add_item(subtree, hf_nr_rrc_warningType_value, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_warningType_emergency_user_alert, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_warningType_popup, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
return offset;
}
-static const per_sequence_t T_associatedSSB_sequence[] = {
- { &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
- { &hf_nr_rrc_isQuasiColocated, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+static const per_sequence_t SIB6_sequence[] = {
+ { &hf_nr_rrc_messageIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_messageIdentifier },
+ { &hf_nr_rrc_serialNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_serialNumber },
+ { &hf_nr_rrc_warningType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningType },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_associatedSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SIB6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB6");
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_associatedSSB, T_associatedSSB_sequence);
+ ett_nr_rrc_SIB6, SIB6_sequence);
return offset;
}
@@ -6319,31 +8738,62 @@ dissect_nr_rrc_T_associatedSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
-dissect_nr_rrc_BIT_STRING_SIZE_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_messageIdentifier_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *msg_id_tvb = NULL;
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
+ 16, 16, FALSE, &msg_id_tvb, NULL);
+
+
+
+ if (msg_id_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ nr_priv->message_identifier = tvb_get_ntohs(msg_id_tvb, 0) << 16;
+ actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_T_serialNumber_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *serial_nb_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 12, 12, FALSE, NULL, NULL);
+ 16, 16, FALSE, &serial_nb_tvb, NULL);
+
+
+
+ if (serial_nb_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ nr_priv->message_identifier |= tvb_get_ntohs(serial_nb_tvb, 0);
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
return offset;
}
-static const value_string nr_rrc_T_frequencyDomainAllocation_vals[] = {
- { 0, "row1" },
- { 1, "row2" },
+static const value_string nr_rrc_T_warningMessageSegmentType_vals[] = {
+ { 0, "notLastSegment" },
+ { 1, "lastSegment" },
{ 0, NULL }
};
-static const per_choice_t T_frequencyDomainAllocation_choice[] = {
- { 0, &hf_nr_rrc_row1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 },
- { 1, &hf_nr_rrc_row2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_12 },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_nr_rrc_T_frequencyDomainAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_frequencyDomainAllocation, T_frequencyDomainAllocation_choice,
- NULL);
+dissect_nr_rrc_T_warningMessageSegmentType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ guint32 segment_type;
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, &segment_type, FALSE, 0, NULL);
+
+ nr_priv->warning_message_segment_type = (guint8)segment_type;
+
return offset;
}
@@ -6351,141 +8801,247 @@ dissect_nr_rrc_T_frequencyDomainAllocation(tvbuff_t *tvb _U_, int offset _U_, as
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_T_warningMessageSegmentNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ guint32 segment_number;
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 13U, NULL, FALSE);
+ 0U, 63U, &segment_number, FALSE);
+
+ nr_priv->warning_message_segment_number = (guint8)segment_number;
+
return offset;
}
-static const per_sequence_t CSI_RS_Resource_Mobility_sequence[] = {
- { &hf_nr_rrc_csi_RS_Index , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Index },
- { &hf_nr_rrc_slotConfig , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_slotConfig },
- { &hf_nr_rrc_associatedSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_associatedSSB },
- { &hf_nr_rrc_frequencyDomainAllocation_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_frequencyDomainAllocation },
- { &hf_nr_rrc_firstOFDMSymbolInTimeDomain, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
- { &hf_nr_rrc_sequenceGenerationConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_nr_rrc_CSI_RS_Resource_Mobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CSI_RS_Resource_Mobility, CSI_RS_Resource_Mobility_sequence);
+dissect_nr_rrc_T_warningMessageSegment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *warning_msg_seg_tvb = NULL;
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, &warning_msg_seg_tvb);
+
+
+
+ if (warning_msg_seg_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ tvbuff_t *frag_tvb;
+ gpointer p_dcs;
+ fragment_head *frag_data = fragment_add_seq_check(&nr_rrc_sib7_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo,
+ nr_priv->message_identifier, NULL,
+ nr_priv->warning_message_segment_number,
+ tvb_reported_length(warning_msg_seg_tvb),
+ nr_priv->warning_message_segment_type ? FALSE : TRUE);
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningMessageSegment);
+ frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB7 warning message",
+ frag_data, &nr_rrc_sib7_frag_items, NULL, subtree);
+ p_dcs = wmem_map_lookup(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier));
+ if (frag_tvb && p_dcs) {
+ dissect_nr_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs));
+ }
+ }
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility_sequence_of[1] = {
- { &hf_nr_rrc_csi_rs_ResourceList_Mobility_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Resource_Mobility },
-};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility, SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility_sequence_of,
- 1, maxNrofCSI_RS_ResourcesRRM, FALSE);
+dissect_nr_rrc_T_dataCodingScheme(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *data_coding_scheme_tvb = NULL;
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 1, 1, FALSE, &data_coding_scheme_tvb);
+
+
+
+ if (data_coding_scheme_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ guint32 dataCodingScheme;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dataCodingScheme);
+ dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0);
+ wmem_map_insert(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier),
+ GUINT_TO_POINTER(dataCodingScheme));
+ }
return offset;
}
-static const per_sequence_t CSI_RS_CellMobility_sequence[] = {
- { &hf_nr_rrc_cellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
- { &hf_nr_rrc_csi_rs_MeasurementBW, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_rs_MeasurementBW },
- { &hf_nr_rrc_density , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_density },
- { &hf_nr_rrc_csi_rs_ResourceList_Mobility, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility },
+static const per_sequence_t SIB7_sequence[] = {
+ { &hf_nr_rrc_messageIdentifier_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_messageIdentifier_01 },
+ { &hf_nr_rrc_serialNumber_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_serialNumber_01 },
+ { &hf_nr_rrc_warningMessageSegmentType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningMessageSegmentType },
+ { &hf_nr_rrc_warningMessageSegmentNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningMessageSegmentNumber },
+ { &hf_nr_rrc_warningMessageSegment, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningMessageSegment },
+ { &hf_nr_rrc_dataCodingScheme, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dataCodingScheme },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_CSI_RS_CellMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SIB7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB7");
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CSI_RS_CellMobility, CSI_RS_CellMobility_sequence);
+ ett_nr_rrc_SIB7, SIB7_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility_sequence_of[1] = {
- { &hf_nr_rrc_csi_RS_CellList_Mobility_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_CellMobility },
-};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility, SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility_sequence_of,
- 1, maxNrofCSI_RS_CellsRRM, FALSE);
+dissect_nr_rrc_T_messageIdentifier_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *msg_id_tvb = NULL;
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
+ 16, 16, FALSE, &msg_id_tvb, NULL);
+
+
+
+ if (msg_id_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ nr_priv->message_identifier = tvb_get_ntohs(msg_id_tvb, 0) << 16;
+ actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
return offset;
}
-static const per_sequence_t CSI_RS_ResourceConfigMobility_sequence[] = {
- { &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
- { &hf_nr_rrc_csi_RS_CellList_Mobility, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_nr_rrc_CSI_RS_ResourceConfigMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CSI_RS_ResourceConfigMobility, CSI_RS_ResourceConfigMobility_sequence);
+dissect_nr_rrc_T_serialNumber_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *serial_nb_tvb = NULL;
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 16, 16, FALSE, &serial_nb_tvb, NULL);
+
+
+
+ if (serial_nb_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ nr_priv->message_identifier |= tvb_get_ntohs(serial_nb_tvb, 0);
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
return offset;
}
-static const value_string nr_rrc_T_csi_rs_ResourceConfigMobility_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const value_string nr_rrc_T_warningMessageSegmentType_01_vals[] = {
+ { 0, "notLastSegment" },
+ { 1, "lastSegment" },
{ 0, NULL }
};
-static const per_choice_t T_csi_rs_ResourceConfigMobility_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_24 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_RS_ResourceConfigMobility },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_nr_rrc_T_csi_rs_ResourceConfigMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_csi_rs_ResourceConfigMobility, T_csi_rs_ResourceConfigMobility_choice,
- NULL);
+dissect_nr_rrc_T_warningMessageSegmentType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ guint32 segment_type;
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, &segment_type, FALSE, 0, NULL);
+
+ nr_priv->warning_message_segment_type = (guint8)segment_type;
+
return offset;
}
-static const per_sequence_t ReferenceSignalConfig_sequence[] = {
- { &hf_nr_rrc_ssb_ConfigMobility, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_ConfigMobility },
- { &hf_nr_rrc_csi_rs_ResourceConfigMobility, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_rs_ResourceConfigMobility },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_nr_rrc_ReferenceSignalConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ReferenceSignalConfig, ReferenceSignalConfig_sequence);
+dissect_nr_rrc_T_warningMessageSegmentNumber_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ guint32 segment_number;
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 63U, &segment_number, FALSE);
+
+ nr_priv->warning_message_segment_number = (guint8)segment_number;
+
return offset;
}
-static const per_sequence_t ThresholdNR_sequence[] = {
- { &hf_nr_rrc_thresholdRSRP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range },
- { &hf_nr_rrc_thresholdRSRQ, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_Range },
- { &hf_nr_rrc_thresholdSINR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SINR_Range },
+
+static int
+dissect_nr_rrc_T_warningMessageSegment_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *warning_msg_seg_tvb = NULL;
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, &warning_msg_seg_tvb);
+
+
+
+ if (warning_msg_seg_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ tvbuff_t *frag_tvb;
+ gpointer p_dcs;
+ fragment_head *frag_data = fragment_add_seq_check(&nr_rrc_sib8_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo,
+ nr_priv->message_identifier, NULL,
+ nr_priv->warning_message_segment_number,
+ tvb_reported_length(warning_msg_seg_tvb),
+ nr_priv->warning_message_segment_type ? FALSE : TRUE);
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningMessageSegment);
+ frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB8 warning message",
+ frag_data, &nr_rrc_sib8_frag_items, NULL, subtree);
+ p_dcs = wmem_map_lookup(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier));
+ if (frag_tvb && p_dcs) {
+ dissect_nr_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs));
+ }
+ }
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_T_dataCodingScheme_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *data_coding_scheme_tvb = NULL;
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 1, 1, FALSE, &data_coding_scheme_tvb);
+
+
+
+ if (data_coding_scheme_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ guint32 dataCodingScheme;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dataCodingScheme);
+ dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0);
+ wmem_map_insert(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier),
+ GUINT_TO_POINTER(dataCodingScheme));
+ }
+
+ return offset;
+}
+
+
+static const per_sequence_t SIB8_sequence[] = {
+ { &hf_nr_rrc_messageIdentifier_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_messageIdentifier_02 },
+ { &hf_nr_rrc_serialNumber_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_serialNumber_02 },
+ { &hf_nr_rrc_warningMessageSegmentType_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningMessageSegmentType_01 },
+ { &hf_nr_rrc_warningMessageSegmentNumber_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningMessageSegmentNumber_01 },
+ { &hf_nr_rrc_warningMessageSegment_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningMessageSegment_01 },
+ { &hf_nr_rrc_dataCodingScheme_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dataCodingScheme_01 },
+ { &hf_nr_rrc_warningAreaCoordinatesSegment, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_ThresholdNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SIB8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB8");
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ThresholdNR, ThresholdNR_sequence);
+ ett_nr_rrc_SIB8, SIB8_sequence);
return offset;
}
@@ -6493,9 +9049,21 @@ dissect_nr_rrc_ThresholdNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static int
-dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 2U, maxNrofSS_BlocksToAverage, NULL, FALSE);
+dissect_nr_rrc_T_timeInfoUTC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ guint64 timeInfo;
+ proto_tree *subtree;
+ nstime_t ts;
+ guint32 old_offset = offset;
+ offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
+ 0U, G_GUINT64_CONSTANT(549755813887), &timeInfo, FALSE);
+
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_timeInfo);
+ ts.secs = (time_t)(timeInfo/100)-2208988800U; /* epoch is 00:00:00 (midnight) UTC on 1900-01-01 */
+ ts.nsecs = (int)(timeInfo%100)*10000000;
+ proto_tree_add_time(subtree, hf_nr_rrc_utc_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts);
+ proto_tree_add_time(subtree, hf_nr_rrc_local_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts);
return offset;
}
@@ -6503,9 +9071,17 @@ dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage(tvbuff_t *tvb _U_, int offset
static int
-dissect_nr_rrc_INTEGER_2_maxNrofCSI_RS_ResourcesToAverage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 2U, maxNrofCSI_RS_ResourcesToAverage, NULL, FALSE);
+dissect_nr_rrc_T_dayLightSavingTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *daylight_saving_time_tvb = NULL;
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
+ 2, 2, FALSE, &daylight_saving_time_tvb, NULL);
+
+
+
+ if (daylight_saving_time_tvb) {
+ guint bitvalue = tvb_get_bits8(daylight_saving_time_tvb, 0, 2);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, daylight_saving_time_tvb, 0, 1, bitvalue);
+ }
return offset;
}
@@ -6513,824 +9089,850 @@ dissect_nr_rrc_INTEGER_2_maxNrofCSI_RS_ResourcesToAverage(tvbuff_t *tvb _U_, int
static int
-dissect_nr_rrc_INTEGER_1_maxNrofQuantityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_M127_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxNrofQuantityConfig, NULL, FALSE);
+ -127, 128U, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_Q_OffsetRange_vals[] = {
- { 0, "dB-24" },
- { 1, "dB-22" },
- { 2, "dB-20" },
- { 3, "dB-18" },
- { 4, "dB-16" },
- { 5, "dB-14" },
- { 6, "dB-12" },
- { 7, "dB-10" },
- { 8, "dB-8" },
- { 9, "dB-6" },
- { 10, "dB-5" },
- { 11, "dB-4" },
- { 12, "dB-3" },
- { 13, "dB-2" },
- { 14, "dB-1" },
- { 15, "dB0" },
- { 16, "dB1" },
- { 17, "dB2" },
- { 18, "dB3" },
- { 19, "dB4" },
- { 20, "dB5" },
- { 21, "dB6" },
- { 22, "dB8" },
- { 23, "dB10" },
- { 24, "dB12" },
- { 25, "dB14" },
- { 26, "dB16" },
- { 27, "dB18" },
- { 28, "dB20" },
- { 29, "dB22" },
- { 30, "dB24" },
- { 0, NULL }
-};
-static value_string_ext nr_rrc_Q_OffsetRange_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_Q_OffsetRange_vals);
+static int
+dissect_nr_rrc_INTEGER_M63_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ -63, 64U, NULL, FALSE);
+
+ return offset;
+}
+static const per_sequence_t T_timeInfo_sequence[] = {
+ { &hf_nr_rrc_timeInfoUTC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeInfoUTC },
+ { &hf_nr_rrc_dayLightSavingTime, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dayLightSavingTime },
+ { &hf_nr_rrc_leapSeconds , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M127_128 },
+ { &hf_nr_rrc_localTimeOffset, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M63_64 },
+ { NULL, 0, 0, NULL }
+};
+
static int
-dissect_nr_rrc_Q_OffsetRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 31, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_timeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_timeInfo, T_timeInfo_sequence);
return offset;
}
-static const per_sequence_t Q_OffsetRangeList_sequence[] = {
- { &hf_nr_rrc_rsrpOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
- { &hf_nr_rrc_rsrqOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
- { &hf_nr_rrc_sinrOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
- { &hf_nr_rrc_rsrpOffsetCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
- { &hf_nr_rrc_rsrqOffsetCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
- { &hf_nr_rrc_sinrOffsetCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
+static const per_sequence_t SIB9_sequence[] = {
+ { &hf_nr_rrc_timeInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_timeInfo },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_Q_OffsetRangeList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SIB9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB9");
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_Q_OffsetRangeList, Q_OffsetRangeList_sequence);
+ ett_nr_rrc_SIB9, SIB9_sequence);
return offset;
}
-static const per_sequence_t PCI_List_sequence_of[1] = {
- { &hf_nr_rrc_PCI_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
+static const value_string nr_rrc_T_sib_TypeAndInfo_item_vals[] = {
+ { 0, "sib2" },
+ { 1, "sib3" },
+ { 2, "sib4" },
+ { 3, "sib5" },
+ { 4, "sib6" },
+ { 5, "sib7" },
+ { 6, "sib8" },
+ { 7, "sib9" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_sib_TypeAndInfo_item_choice[] = {
+ { 0, &hf_nr_rrc_sib2 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIB2 },
+ { 1, &hf_nr_rrc_sib3 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIB3 },
+ { 2, &hf_nr_rrc_sib4 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIB4 },
+ { 3, &hf_nr_rrc_sib5 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIB5 },
+ { 4, &hf_nr_rrc_sib6 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIB6 },
+ { 5, &hf_nr_rrc_sib7 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIB7 },
+ { 6, &hf_nr_rrc_sib8 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIB8 },
+ { 7, &hf_nr_rrc_sib9 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIB9 },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_PCI_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PCI_List, PCI_List_sequence_of,
- 1, maxNrofCellMeas, FALSE);
+dissect_nr_rrc_T_sib_TypeAndInfo_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_sib_TypeAndInfo_item, T_sib_TypeAndInfo_item_choice,
+ NULL);
return offset;
}
-static const per_sequence_t CellsToAddMod_sequence[] = {
- { &hf_nr_rrc_physCellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
- { &hf_nr_rrc_cellIndividualOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRangeList },
- { NULL, 0, 0, NULL }
+static const per_sequence_t T_sib_TypeAndInfo_sequence_of[1] = {
+ { &hf_nr_rrc_sib_TypeAndInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sib_TypeAndInfo_item },
};
static int
-dissect_nr_rrc_CellsToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CellsToAddMod, CellsToAddMod_sequence);
+dissect_nr_rrc_T_sib_TypeAndInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_sib_TypeAndInfo, T_sib_TypeAndInfo_sequence_of,
+ 1, maxSIB, FALSE);
return offset;
}
-static const per_sequence_t CellsToAddModList_sequence_of[1] = {
- { &hf_nr_rrc_CellsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellsToAddMod },
+static const per_sequence_t T_nonCriticalExtension_28_sequence[] = {
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_CellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CellsToAddModList, CellsToAddModList_sequence_of,
- 1, maxNrofCellMeas, FALSE);
+dissect_nr_rrc_T_nonCriticalExtension_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_28, T_nonCriticalExtension_28_sequence);
return offset;
}
+static const per_sequence_t SystemInformation_IEs_sequence[] = {
+ { &hf_nr_rrc_sib_TypeAndInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sib_TypeAndInfo },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_30, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_28 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_PCI_RangeIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxNrofPCI_Ranges, NULL, FALSE);
+dissect_nr_rrc_SystemInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SystemInformation_IEs, SystemInformation_IEs_sequence);
return offset;
}
-static const per_sequence_t PCI_RangeIndexList_sequence_of[1] = {
- { &hf_nr_rrc_PCI_RangeIndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_RangeIndex },
+static const per_sequence_t T_criticalExtensionsFuture_27_sequence[] = {
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PCI_RangeIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PCI_RangeIndexList, PCI_RangeIndexList_sequence_of,
- 1, maxNrofPCI_Ranges, FALSE);
+dissect_nr_rrc_T_criticalExtensionsFuture_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_27, T_criticalExtensionsFuture_27_sequence);
return offset;
}
-static const value_string nr_rrc_T_range_vals[] = {
- { 0, "n4" },
- { 1, "n8" },
- { 2, "n12" },
- { 3, "n16" },
- { 4, "n24" },
- { 5, "n32" },
- { 6, "n48" },
- { 7, "n64" },
- { 8, "n84" },
- { 9, "n96" },
- { 10, "n128" },
- { 11, "n168" },
- { 12, "n252" },
- { 13, "n504" },
- { 14, "n1008" },
- { 15, "spare1" },
+static const value_string nr_rrc_T_criticalExtensions_27_vals[] = {
+ { 0, "systemInformation-r15" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
+static const per_choice_t T_criticalExtensions_27_choice[] = {
+ { 0, &hf_nr_rrc_systemInformation_r15, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SystemInformation_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_27, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_27 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 16, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_criticalExtensions_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_27, T_criticalExtensions_27_choice,
+ NULL);
return offset;
}
-static const per_sequence_t PCI_Range_sequence[] = {
- { &hf_nr_rrc_start , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
- { &hf_nr_rrc_range , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_range },
+static const per_sequence_t SystemInformation_sequence[] = {
+ { &hf_nr_rrc_criticalExtensions_27, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_27 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PCI_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SystemInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "System Information [");
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PCI_Range, PCI_Range_sequence);
+ ett_nr_rrc_SystemInformation, SystemInformation_sequence);
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " ]");
return offset;
}
-static const per_sequence_t PCI_RangeElement_sequence[] = {
- { &hf_nr_rrc_pci_RangeIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_RangeIndex },
- { &hf_nr_rrc_pci_Range , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range },
+static const per_sequence_t T_cellSelectionInfo_sequence[] = {
+ { &hf_nr_rrc_q_RxLevMin , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_RxLevMin },
+ { &hf_nr_rrc_q_RxLevMinOffset, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 },
+ { &hf_nr_rrc_q_RxLevMinSUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_RxLevMin },
+ { &hf_nr_rrc_q_QualMin , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_QualMin },
+ { &hf_nr_rrc_q_QualMinOffset, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PCI_RangeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_cellSelectionInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PCI_RangeElement, PCI_RangeElement_sequence);
+ ett_nr_rrc_T_cellSelectionInfo, T_cellSelectionInfo_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement_sequence_of[1] = {
- { &hf_nr_rrc_blackCellsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_RangeElement },
+static const value_string nr_rrc_T_cellReservedForOtherUse_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement, SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement_sequence_of,
- 1, maxNrofPCI_Ranges, FALSE);
+dissect_nr_rrc_T_cellReservedForOtherUse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t MeasObjectNR_sequence[] = {
- { &hf_nr_rrc_ssbFrequency , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
- { &hf_nr_rrc_ssbSubcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing },
- { &hf_nr_rrc_smtc1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC },
- { &hf_nr_rrc_smtc2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC2 },
- { &hf_nr_rrc_refFreqCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
- { &hf_nr_rrc_referenceSignalConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReferenceSignalConfig },
- { &hf_nr_rrc_absThreshSS_BlocksConsolidation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ThresholdNR },
- { &hf_nr_rrc_absThreshCSI_RS_Consolidation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ThresholdNR },
- { &hf_nr_rrc_nrofSS_BlocksToAverage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage },
- { &hf_nr_rrc_nrofCSI_RS_ResourcesToAverage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_maxNrofCSI_RS_ResourcesToAverage },
- { &hf_nr_rrc_quantityConfigIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofQuantityConfig },
- { &hf_nr_rrc_offsetMO , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRangeList },
- { &hf_nr_rrc_cellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PCI_List },
- { &hf_nr_rrc_cellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CellsToAddModList },
- { &hf_nr_rrc_blackCellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PCI_RangeIndexList },
- { &hf_nr_rrc_blackCellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement },
- { &hf_nr_rrc_whiteCellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PCI_RangeIndexList },
- { &hf_nr_rrc_whiteCellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement },
+static const per_sequence_t CellAccessRelatedInfo_sequence[] = {
+ { &hf_nr_rrc_plmn_IdentityList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_IdentityInfoList },
+ { &hf_nr_rrc_cellReservedForOtherUse, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cellReservedForOtherUse },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasObjectNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CellAccessRelatedInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasObjectNR, MeasObjectNR_sequence);
+ ett_nr_rrc_CellAccessRelatedInfo, CellAccessRelatedInfo_sequence);
return offset;
}
-static const value_string nr_rrc_T_measObject_vals[] = {
- { 0, "measObjectNR" },
+static const value_string nr_rrc_T_connEstFailCount_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n3" },
+ { 3, "n4" },
{ 0, NULL }
};
-static const per_choice_t T_measObject_choice[] = {
- { 0, &hf_nr_rrc_measObjectNR , ASN1_EXTENSION_ROOT , dissect_nr_rrc_MeasObjectNR },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_nr_rrc_T_measObject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_measObject, T_measObject_choice,
- NULL);
+dissect_nr_rrc_T_connEstFailCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t MeasObjectToAddMod_sequence[] = {
- { &hf_nr_rrc_measObjectId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId },
- { &hf_nr_rrc_measObject , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measObject },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_connEstFailOffsetValidity_vals[] = {
+ { 0, "s30" },
+ { 1, "s60" },
+ { 2, "s120" },
+ { 3, "s240" },
+ { 4, "s300" },
+ { 5, "s420" },
+ { 6, "s600" },
+ { 7, "s900" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_MeasObjectToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasObjectToAddMod, MeasObjectToAddMod_sequence);
+dissect_nr_rrc_T_connEstFailOffsetValidity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t MeasObjectToAddModList_sequence_of[1] = {
- { &hf_nr_rrc_MeasObjectToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectToAddMod },
+static const per_sequence_t ConnEstFailureControl_sequence[] = {
+ { &hf_nr_rrc_connEstFailCount, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_connEstFailCount },
+ { &hf_nr_rrc_connEstFailOffsetValidity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_connEstFailOffsetValidity },
+ { &hf_nr_rrc_connEstFailOffset, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasObjectToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasObjectToAddModList, MeasObjectToAddModList_sequence_of,
- 1, maxNrofObjectId, FALSE);
+dissect_nr_rrc_ConnEstFailureControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ConnEstFailureControl, ConnEstFailureControl_sequence);
return offset;
}
+static const value_string nr_rrc_T_si_BroadcastStatus_vals[] = {
+ { 0, "broadcasting" },
+ { 1, "notBroadcasting" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_ReportConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxReportConfigId, NULL, FALSE);
+dissect_nr_rrc_T_si_BroadcastStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t ReportConfigToRemoveList_sequence_of[1] = {
- { &hf_nr_rrc_ReportConfigToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId },
+static const value_string nr_rrc_T_si_Periodicity_vals[] = {
+ { 0, "rf8" },
+ { 1, "rf16" },
+ { 2, "rf32" },
+ { 3, "rf64" },
+ { 4, "rf128" },
+ { 5, "rf256" },
+ { 6, "rf512" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_ReportConfigToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ReportConfigToRemoveList, ReportConfigToRemoveList_sequence_of,
- 1, maxReportConfigId, FALSE);
+dissect_nr_rrc_T_si_Periodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 7, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_NR_RS_Type_vals[] = {
- { 0, "ssb" },
- { 1, "csi-rs" },
+static const value_string nr_rrc_T_type_vals[] = {
+ { 0, "sibType2" },
+ { 1, "sibType3" },
+ { 2, "sibType4" },
+ { 3, "sibType5" },
+ { 4, "sibType6" },
+ { 5, "sibType7" },
+ { 6, "sibType8" },
+ { 7, "sibType9" },
+ { 8, "spare8" },
+ { 9, "spare7" },
+ { 10, "spare6" },
+ { 11, "spare5" },
+ { 12, "spare4" },
+ { 13, "spare3" },
+ { 14, "spare2" },
+ { 15, "spare1" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_NR_RS_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 16, NULL, TRUE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_ReportInterval_vals[] = {
- { 0, "ms120" },
- { 1, "ms240" },
- { 2, "ms480" },
- { 3, "ms640" },
- { 4, "ms1024" },
- { 5, "ms2048" },
- { 6, "ms5120" },
- { 7, "ms10240" },
- { 8, "ms20480" },
- { 9, "ms40960" },
- { 10, "min1" },
- { 11, "min6" },
- { 12, "min12" },
- { 13, "min30" },
+static const value_string nr_rrc_T_areaScope_vals[] = {
+ { 0, "true" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_ReportInterval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_areaScope(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 14, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_reportAmount_01_vals[] = {
- { 0, "r1" },
- { 1, "r2" },
- { 2, "r4" },
- { 3, "r8" },
- { 4, "r16" },
- { 5, "r32" },
- { 6, "r64" },
- { 7, "infinity" },
- { 0, NULL }
+static const per_sequence_t SIB_TypeInfo_sequence[] = {
+ { &hf_nr_rrc_type , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_type },
+ { &hf_nr_rrc_valueTag , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
+ { &hf_nr_rrc_areaScope , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_areaScope },
+ { NULL, 0, 0, NULL }
};
+static int
+dissect_nr_rrc_SIB_TypeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SIB_TypeInfo, SIB_TypeInfo_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SIB_Mapping_sequence_of[1] = {
+ { &hf_nr_rrc_SIB_Mapping_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB_TypeInfo },
+};
static int
-dissect_nr_rrc_T_reportAmount_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_SIB_Mapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SIB_Mapping, SIB_Mapping_sequence_of,
+ 1, maxSIB, FALSE);
return offset;
}
-static const per_sequence_t MeasReportQuantity_sequence[] = {
- { &hf_nr_rrc_rsrp_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_rsrq_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_sinr_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+static const per_sequence_t SchedulingInfo_sequence[] = {
+ { &hf_nr_rrc_si_BroadcastStatus, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_si_BroadcastStatus },
+ { &hf_nr_rrc_si_Periodicity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_si_Periodicity },
+ { &hf_nr_rrc_sib_MappingInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB_Mapping },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasReportQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SchedulingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasReportQuantity, MeasReportQuantity_sequence);
+ ett_nr_rrc_SchedulingInfo, SchedulingInfo_sequence);
return offset;
}
+static const per_sequence_t SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo_sequence_of[1] = {
+ { &hf_nr_rrc_schedulingInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingInfo },
+};
static int
-dissect_nr_rrc_INTEGER_1_maxCellReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxCellReport, NULL, FALSE);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo, SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo_sequence_of,
+ 1, maxSI_Message, FALSE);
return offset;
}
+static const value_string nr_rrc_T_si_WindowLength_vals[] = {
+ { 0, "s5" },
+ { 1, "s10" },
+ { 2, "s20" },
+ { 3, "s40" },
+ { 4, "s80" },
+ { 5, "s160" },
+ { 6, "s320" },
+ { 7, "s640" },
+ { 8, "s1280" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxNrofIndexesToReport, NULL, FALSE);
+dissect_nr_rrc_T_si_WindowLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 9, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t PeriodicalReportConfig_sequence[] = {
- { &hf_nr_rrc_rsType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_RS_Type },
- { &hf_nr_rrc_reportInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
- { &hf_nr_rrc_reportAmount_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_01 },
- { &hf_nr_rrc_reportQuantityCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity },
- { &hf_nr_rrc_maxReportCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport },
- { &hf_nr_rrc_reportQuantityRsIndexes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasReportQuantity },
- { &hf_nr_rrc_maxNrofRsIndexesToReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport },
- { &hf_nr_rrc_includeBeamMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_useWhiteCellList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_msg1_FDM_vals[] = {
+ { 0, "one" },
+ { 1, "two" },
+ { 2, "four" },
+ { 3, "eight" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_PeriodicalReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PeriodicalReportConfig, PeriodicalReportConfig_sequence);
+dissect_nr_rrc_T_msg1_FDM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_MeasTriggerQuantity_vals[] = {
- { 0, "rsrp" },
- { 1, "rsrq" },
- { 2, "sinr" },
+
+static int
+dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofPhysicalResourceBlocks_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_M202_M60(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ -202, -60, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_preambleTransMax_vals[] = {
+ { 0, "n3" },
+ { 1, "n4" },
+ { 2, "n5" },
+ { 3, "n6" },
+ { 4, "n7" },
+ { 5, "n8" },
+ { 6, "n10" },
+ { 7, "n20" },
+ { 8, "n50" },
+ { 9, "n100" },
+ { 10, "n200" },
{ 0, NULL }
};
-static const per_choice_t MeasTriggerQuantity_choice[] = {
- { 0, &hf_nr_rrc_rsrp , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRP_Range },
- { 1, &hf_nr_rrc_rsrq , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRQ_Range },
- { 2, &hf_nr_rrc_sinr , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SINR_Range },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_nr_rrc_MeasTriggerQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasTriggerQuantity, MeasTriggerQuantity_choice,
- NULL);
+dissect_nr_rrc_T_preambleTransMax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 11, NULL, FALSE, 0, NULL);
return offset;
}
+static const value_string nr_rrc_T_powerRampingStep_vals[] = {
+ { 0, "dB0" },
+ { 1, "dB2" },
+ { 2, "dB4" },
+ { 3, "dB6" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_Hysteresis(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 30U, NULL, FALSE);
+dissect_nr_rrc_T_powerRampingStep(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_TimeToTrigger_vals[] = {
- { 0, "ms0" },
- { 1, "ms40" },
- { 2, "ms64" },
- { 3, "ms80" },
- { 4, "ms100" },
- { 5, "ms128" },
- { 6, "ms160" },
- { 7, "ms256" },
- { 8, "ms320" },
- { 9, "ms480" },
- { 10, "ms512" },
- { 11, "ms640" },
- { 12, "ms1024" },
- { 13, "ms1280" },
- { 14, "ms2560" },
- { 15, "ms5120" },
+static const value_string nr_rrc_T_ra_ResponseWindow_vals[] = {
+ { 0, "sl1" },
+ { 1, "sl2" },
+ { 2, "sl4" },
+ { 3, "sl8" },
+ { 4, "sl10" },
+ { 5, "sl20" },
+ { 6, "sl40" },
+ { 7, "sl80" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_TimeToTrigger(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_ResponseWindow(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 16, NULL, FALSE, 0, NULL);
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_eventA1_sequence[] = {
- { &hf_nr_rrc_a1_Threshold , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
- { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
- { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
+static const per_sequence_t RACH_ConfigGeneric_sequence[] = {
+ { &hf_nr_rrc_prach_ConfigurationIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_255 },
+ { &hf_nr_rrc_msg1_FDM , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_msg1_FDM },
+ { &hf_nr_rrc_msg1_FrequencyStart, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
+ { &hf_nr_rrc_zeroCorrelationZoneConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
+ { &hf_nr_rrc_preambleReceivedTargetPower, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M202_M60 },
+ { &hf_nr_rrc_preambleTransMax, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_preambleTransMax },
+ { &hf_nr_rrc_powerRampingStep, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_powerRampingStep },
+ { &hf_nr_rrc_ra_ResponseWindow, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_ResponseWindow },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_eventA1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_RACH_ConfigGeneric(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_eventA1, T_eventA1_sequence);
+ ett_nr_rrc_RACH_ConfigGeneric, RACH_ConfigGeneric_sequence);
return offset;
}
-static const per_sequence_t T_eventA2_sequence[] = {
- { &hf_nr_rrc_a2_Threshold , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
- { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
- { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_ssb_perRACH_Occasion_02_vals[] = {
+ { 0, "oneEighth" },
+ { 1, "oneFourth" },
+ { 2, "oneHalf" },
+ { 3, "one" },
+ { 4, "two" },
+ { 5, "four" },
+ { 6, "eight" },
+ { 7, "sixteen" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_T_eventA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_eventA2, T_eventA2_sequence);
+dissect_nr_rrc_T_ssb_perRACH_Occasion_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
+static const per_sequence_t T_rach_OccasionsSI_sequence[] = {
+ { &hf_nr_rrc_rach_ConfigSI, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigGeneric },
+ { &hf_nr_rrc_ssb_perRACH_Occasion_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ssb_perRACH_Occasion_02 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_M30_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- -30, 30U, NULL, FALSE);
+dissect_nr_rrc_T_rach_OccasionsSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_rach_OccasionsSI, T_rach_OccasionsSI_sequence);
return offset;
}
-static const value_string nr_rrc_MeasTriggerQuantityOffset_vals[] = {
- { 0, "rsrp" },
- { 1, "rsrq" },
- { 2, "sinr" },
+static const value_string nr_rrc_T_si_RequestPeriod_vals[] = {
+ { 0, "one" },
+ { 1, "two" },
+ { 2, "four" },
+ { 3, "six" },
+ { 4, "eight" },
+ { 5, "ten" },
+ { 6, "twelve" },
+ { 7, "sixteen" },
{ 0, NULL }
};
-static const per_choice_t MeasTriggerQuantityOffset_choice[] = {
- { 0, &hf_nr_rrc_rsrp_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M30_30 },
- { 1, &hf_nr_rrc_rsrq_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M30_30 },
- { 2, &hf_nr_rrc_sinr_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M30_30 },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_nr_rrc_MeasTriggerQuantityOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasTriggerQuantityOffset, MeasTriggerQuantityOffset_choice,
- NULL);
+dissect_nr_rrc_T_si_RequestPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_eventA3_sequence[] = {
- { &hf_nr_rrc_a3_Offset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityOffset },
- { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
- { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
- { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+static const per_sequence_t SI_RequestResources_sequence[] = {
+ { &hf_nr_rrc_ra_PreambleStartIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
+ { &hf_nr_rrc_ra_AssociationPeriodIndex, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 },
+ { &hf_nr_rrc_ra_ssb_OccasionMaskIndex, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_eventA3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SI_RequestResources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_eventA3, T_eventA3_sequence);
+ ett_nr_rrc_SI_RequestResources, SI_RequestResources_sequence);
return offset;
}
-static const per_sequence_t T_eventA4_sequence[] = {
- { &hf_nr_rrc_a4_Threshold , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
- { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
- { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
- { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { NULL, 0, 0, NULL }
+static const per_sequence_t SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources_sequence_of[1] = {
+ { &hf_nr_rrc_si_RequestResources_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SI_RequestResources },
};
static int
-dissect_nr_rrc_T_eventA4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_eventA4, T_eventA4_sequence);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources, SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources_sequence_of,
+ 1, maxSI_Message, FALSE);
return offset;
}
-static const per_sequence_t T_eventA5_sequence[] = {
- { &hf_nr_rrc_a5_Threshold1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
- { &hf_nr_rrc_a5_Threshold2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
- { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
- { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
- { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+static const per_sequence_t SI_RequestConfig_sequence[] = {
+ { &hf_nr_rrc_rach_OccasionsSI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rach_OccasionsSI },
+ { &hf_nr_rrc_si_RequestPeriod, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_si_RequestPeriod },
+ { &hf_nr_rrc_si_RequestResources, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_eventA5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SI_RequestConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_eventA5, T_eventA5_sequence);
+ ett_nr_rrc_SI_RequestConfig, SI_RequestConfig_sequence);
return offset;
}
-static const per_sequence_t T_eventA6_sequence[] = {
- { &hf_nr_rrc_a6_Offset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityOffset },
- { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
- { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
- { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 24, 24, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t SI_SchedulingInfo_sequence[] = {
+ { &hf_nr_rrc_schedulingInfoList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo },
+ { &hf_nr_rrc_si_WindowLength, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_si_WindowLength },
+ { &hf_nr_rrc_si_RequestConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SI_RequestConfig },
+ { &hf_nr_rrc_si_RequestConfigSUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SI_RequestConfig },
+ { &hf_nr_rrc_systemInformationAreaID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_24 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_eventA6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SI_SchedulingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_eventA6, T_eventA6_sequence);
+ ett_nr_rrc_SI_SchedulingInfo, SI_SchedulingInfo_sequence);
return offset;
}
-static const value_string nr_rrc_T_eventId_vals[] = {
- { 0, "eventA1" },
- { 1, "eventA2" },
- { 2, "eventA3" },
- { 3, "eventA4" },
- { 4, "eventA5" },
- { 5, "eventA6" },
- { 0, NULL }
-};
-
-static const per_choice_t T_eventId_choice[] = {
- { 0, &hf_nr_rrc_eventA1 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA1 },
- { 1, &hf_nr_rrc_eventA2 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA2 },
- { 2, &hf_nr_rrc_eventA3 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA3 },
- { 3, &hf_nr_rrc_eventA4 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA4 },
- { 4, &hf_nr_rrc_eventA5 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA5 },
- { 5, &hf_nr_rrc_eventA6 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA6 },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_nr_rrc_T_eventId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_eventId, T_eventId_choice,
- NULL);
+dissect_nr_rrc_INTEGER_0_2199(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 2199U, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_T_reportAmount_vals[] = {
- { 0, "r1" },
- { 1, "r2" },
- { 2, "r4" },
- { 3, "r8" },
- { 4, "r16" },
- { 5, "r32" },
- { 6, "r64" },
- { 7, "infinity" },
- { 0, NULL }
-};
+
+static int
+dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxNrofPhysicalResourceBlocks, NULL, FALSE);
+
+ return offset;
+}
+
static int
-dissect_nr_rrc_T_reportAmount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_INTEGER_0_4095(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 4095U, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_T_reportAddNeighMeas_vals[] = {
- { 0, "setup" },
- { 0, NULL }
+static const per_sequence_t SCS_SpecificCarrier_eag_1_sequence[] = {
+ { &hf_nr_rrc_txDirectCurrentLocation_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_4095 },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_reportAddNeighMeas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_SCS_SpecificCarrier_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SCS_SpecificCarrier_eag_1_sequence);
return offset;
}
-static const per_sequence_t EventTriggerConfig_sequence[] = {
- { &hf_nr_rrc_eventId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eventId },
- { &hf_nr_rrc_rsType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_RS_Type },
- { &hf_nr_rrc_reportInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
- { &hf_nr_rrc_reportAmount , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount },
- { &hf_nr_rrc_reportQuantityCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity },
- { &hf_nr_rrc_maxReportCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport },
- { &hf_nr_rrc_reportQuantityRsIndexes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasReportQuantity },
- { &hf_nr_rrc_maxNrofRSIndexesToReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport },
- { &hf_nr_rrc_includeBeamMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_reportAddNeighMeas, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reportAddNeighMeas },
+static const per_sequence_t SCS_SpecificCarrier_sequence[] = {
+ { &hf_nr_rrc_offsetToCarrier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2199 },
+ { &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
+ { &hf_nr_rrc_carrierBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCS_SpecificCarrier_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_EventTriggerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SCS_SpecificCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_EventTriggerConfig, EventTriggerConfig_sequence);
+ ett_nr_rrc_SCS_SpecificCarrier, SCS_SpecificCarrier_sequence);
return offset;
}
-static const value_string nr_rrc_T_reportType_vals[] = {
- { 0, "periodical" },
- { 1, "eventTriggered" },
- { 0, NULL }
-};
-
-static const per_choice_t T_reportType_choice[] = {
- { 0, &hf_nr_rrc_periodical , ASN1_EXTENSION_ROOT , dissect_nr_rrc_PeriodicalReportConfig },
- { 1, &hf_nr_rrc_eventTriggered, ASN1_EXTENSION_ROOT , dissect_nr_rrc_EventTriggerConfig },
- { 0, NULL, 0, NULL }
+static const per_sequence_t SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier_sequence_of[1] = {
+ { &hf_nr_rrc_scs_SpecificCarrierList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCS_SpecificCarrier },
};
static int
-dissect_nr_rrc_T_reportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_reportType, T_reportType_choice,
- NULL);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier, SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier_sequence_of,
+ 1, maxSCSs, FALSE);
return offset;
}
-static const per_sequence_t ReportConfigNR_sequence[] = {
- { &hf_nr_rrc_reportType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportType },
+static const per_sequence_t FrequencyInfoDL_SIB_sequence[] = {
+ { &hf_nr_rrc_frequencyBandList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MultiFrequencyBandListNR_SIB },
+ { &hf_nr_rrc_offsetToPointA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2199 },
+ { &hf_nr_rrc_scs_SpecificCarrierList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_ReportConfigNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_FrequencyInfoDL_SIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ReportConfigNR, ReportConfigNR_sequence);
+ ett_nr_rrc_FrequencyInfoDL_SIB, FrequencyInfoDL_SIB_sequence);
return offset;
}
-static const value_string nr_rrc_T_reportConfig_vals[] = {
- { 0, "reportConfigNR" },
+
+static int
+dissect_nr_rrc_INTEGER_0_37949(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 37949U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_cyclicPrefix_vals[] = {
+ { 0, "extended" },
{ 0, NULL }
};
-static const per_choice_t T_reportConfig_choice[] = {
- { 0, &hf_nr_rrc_reportConfigNR, ASN1_EXTENSION_ROOT , dissect_nr_rrc_ReportConfigNR },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_nr_rrc_T_reportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_reportConfig, T_reportConfig_choice,
- NULL);
+dissect_nr_rrc_T_cyclicPrefix(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t ReportConfigToAddMod_sequence[] = {
- { &hf_nr_rrc_reportConfigId_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId },
- { &hf_nr_rrc_reportConfig , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportConfig },
+static const per_sequence_t BWP_sequence[] = {
+ { &hf_nr_rrc_locationAndBandwidth, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_37949 },
+ { &hf_nr_rrc_subcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
+ { &hf_nr_rrc_cyclicPrefix , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cyclicPrefix },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_ReportConfigToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ReportConfigToAddMod, ReportConfigToAddMod_sequence);
+ ett_nr_rrc_BWP, BWP_sequence);
return offset;
}
-static const per_sequence_t ReportConfigToAddModList_sequence_of[1] = {
- { &hf_nr_rrc_ReportConfigToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigToAddMod },
-};
static int
-dissect_nr_rrc_ReportConfigToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ReportConfigToAddModList, ReportConfigToAddModList_sequence_of,
- 1, maxReportConfigId, FALSE);
+dissect_nr_rrc_ControlResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofControlResourceSets_1, NULL, FALSE);
return offset;
}
@@ -7338,916 +9940,982 @@ dissect_nr_rrc_ReportConfigToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_
static int
-dissect_nr_rrc_MeasId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BIT_STRING_SIZE_45(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 45, 45, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_maxCoReSetDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxNrofMeasId, NULL, FALSE);
+ 1U, maxCoReSetDuration, NULL, FALSE);
return offset;
}
-static const per_sequence_t MeasIdToRemoveList_sequence_of[1] = {
- { &hf_nr_rrc_MeasIdToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
+static const value_string nr_rrc_T_reg_BundleSize_vals[] = {
+ { 0, "n2" },
+ { 1, "n3" },
+ { 2, "n6" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_MeasIdToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasIdToRemoveList, MeasIdToRemoveList_sequence_of,
- 1, maxNrofMeasId, FALSE);
+dissect_nr_rrc_T_reg_BundleSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t MeasIdToAddMod_sequence[] = {
- { &hf_nr_rrc_measId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
- { &hf_nr_rrc_measObjectId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId },
- { &hf_nr_rrc_reportConfigId_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_interleaverSize_vals[] = {
+ { 0, "n2" },
+ { 1, "n3" },
+ { 2, "n6" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_MeasIdToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasIdToAddMod, MeasIdToAddMod_sequence);
+dissect_nr_rrc_T_interleaverSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t MeasIdToAddModList_sequence_of[1] = {
- { &hf_nr_rrc_MeasIdToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasIdToAddMod },
+static const per_sequence_t T_interleaved_sequence[] = {
+ { &hf_nr_rrc_reg_BundleSize, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reg_BundleSize },
+ { &hf_nr_rrc_interleaverSize, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_interleaverSize },
+ { &hf_nr_rrc_shiftIndex , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasIdToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasIdToAddModList, MeasIdToAddModList_sequence_of,
- 1, maxNrofMeasId, FALSE);
+dissect_nr_rrc_T_interleaved(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_interleaved, T_interleaved_sequence);
return offset;
}
-static const value_string nr_rrc_T_s_MeasureConfig_vals[] = {
- { 0, "ssb-RSRP" },
- { 1, "csi-RSRP" },
+static const value_string nr_rrc_T_cce_REG_MappingType_vals[] = {
+ { 0, "interleaved" },
+ { 1, "nonInterleaved" },
{ 0, NULL }
};
-static const per_choice_t T_s_MeasureConfig_choice[] = {
- { 0, &hf_nr_rrc_ssb_RSRP , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRP_Range },
- { 1, &hf_nr_rrc_csi_RSRP , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRP_Range },
+static const per_choice_t T_cce_REG_MappingType_choice[] = {
+ { 0, &hf_nr_rrc_interleaved , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_interleaved },
+ { 1, &hf_nr_rrc_nonInterleaved, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_s_MeasureConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_cce_REG_MappingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_s_MeasureConfig, T_s_MeasureConfig_choice,
+ ett_nr_rrc_T_cce_REG_MappingType, T_cce_REG_MappingType_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_FilterCoefficient_vals[] = {
- { 0, "fc0" },
- { 1, "fc1" },
- { 2, "fc2" },
- { 3, "fc3" },
- { 4, "fc4" },
- { 5, "fc5" },
- { 6, "fc6" },
- { 7, "fc7" },
- { 8, "fc8" },
- { 9, "fc9" },
- { 10, "fc11" },
- { 11, "fc13" },
- { 12, "fc15" },
- { 13, "fc17" },
- { 14, "fc19" },
- { 15, "spare1" },
+static const value_string nr_rrc_T_precoderGranularity_vals[] = {
+ { 0, "sameAsREG-bundle" },
+ { 1, "allContiguousRBs" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_FilterCoefficient(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_precoderGranularity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 16, NULL, TRUE, 0, NULL);
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t FilterConfig_sequence[] = {
- { &hf_nr_rrc_filterCoefficientRSRP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient },
- { &hf_nr_rrc_filterCoefficientRSRQ, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient },
- { &hf_nr_rrc_filterCoefficientRS_SINR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_nr_rrc_FilterConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_FilterConfig, FilterConfig_sequence);
+dissect_nr_rrc_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofTCI_States_1, NULL, FALSE);
return offset;
}
-static const per_sequence_t QuantityConfigRS_sequence[] = {
- { &hf_nr_rrc_ssb_FilterConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FilterConfig },
- { &hf_nr_rrc_cs_RS_FilterConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FilterConfig },
- { NULL, 0, 0, NULL }
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId_sequence_of[1] = {
+ { &hf_nr_rrc_tci_StatesPDCCH_ToAddList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId },
};
static int
-dissect_nr_rrc_QuantityConfigRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_QuantityConfigRS, QuantityConfigRS_sequence);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId, SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId_sequence_of,
+ 1, maxNrofTCI_StatesPDCCH, FALSE);
return offset;
}
-static const per_sequence_t QuantityConfigNR_sequence[] = {
- { &hf_nr_rrc_quantityConfigCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QuantityConfigRS },
- { &hf_nr_rrc_quantityConfigRS_Index, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_QuantityConfigRS },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_tci_PresentInDCI_vals[] = {
+ { 0, "enabled" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_QuantityConfigNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_QuantityConfigNR, QuantityConfigNR_sequence);
+dissect_nr_rrc_T_tci_PresentInDCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR_sequence_of[1] = {
- { &hf_nr_rrc_quantityConfigNR_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QuantityConfigNR },
-};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR, SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR_sequence_of,
- 1, maxNrofQuantityConfig, FALSE);
+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 QuantityConfig_sequence[] = {
- { &hf_nr_rrc_quantityConfigNR_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR },
+static const per_sequence_t ControlResourceSet_sequence[] = {
+ { &hf_nr_rrc_controlResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSetId },
+ { &hf_nr_rrc_frequencyDomainResources, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_45 },
+ { &hf_nr_rrc_duration , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCoReSetDuration },
+ { &hf_nr_rrc_cce_REG_MappingType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cce_REG_MappingType },
+ { &hf_nr_rrc_precoderGranularity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_precoderGranularity },
+ { &hf_nr_rrc_tci_StatesPDCCH_ToAddList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId },
+ { &hf_nr_rrc_tci_StatesPDCCH_ToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId },
+ { &hf_nr_rrc_tci_PresentInDCI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tci_PresentInDCI },
+ { &hf_nr_rrc_pdcch_DMRS_ScramblingID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_QuantityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_ControlResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_QuantityConfig, QuantityConfig_sequence);
+ ett_nr_rrc_ControlResourceSet, ControlResourceSet_sequence);
return offset;
}
-static const value_string nr_rrc_T_gapFR2_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+
+static int
+dissect_nr_rrc_SearchSpaceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofSearchSpaces_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 1U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 7U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_monitoringSlotPeriodicityAndOffset_vals[] = {
+ { 0, "sl1" },
+ { 1, "sl2" },
+ { 2, "sl4" },
+ { 3, "sl5" },
+ { 4, "sl8" },
+ { 5, "sl10" },
+ { 6, "sl16" },
+ { 7, "sl20" },
+ { 8, "sl40" },
+ { 9, "sl80" },
+ { 10, "sl160" },
+ { 11, "sl320" },
+ { 12, "sl640" },
+ { 13, "sl1280" },
+ { 14, "sl2560" },
{ 0, NULL }
};
-static const per_choice_t T_gapFR2_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup , ASN1_NO_EXTENSIONS , dissect_nr_rrc_GapConfig },
+static const per_choice_t T_monitoringSlotPeriodicityAndOffset_choice[] = {
+ { 0, &hf_nr_rrc_sl1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_sl2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1 },
+ { 2, &hf_nr_rrc_sl4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 },
+ { 3, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
+ { 4, &hf_nr_rrc_sl8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 },
+ { 5, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
+ { 6, &hf_nr_rrc_sl16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
+ { 7, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
+ { 8, &hf_nr_rrc_sl40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
+ { 9, &hf_nr_rrc_sl80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
+ { 10, &hf_nr_rrc_sl160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
+ { 11, &hf_nr_rrc_sl320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
+ { 12, &hf_nr_rrc_sl640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 },
+ { 13, &hf_nr_rrc_sl1280 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1279 },
+ { 14, &hf_nr_rrc_sl2560 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2559 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_gapFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_monitoringSlotPeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_gapFR2, T_gapFR2_choice,
+ ett_nr_rrc_T_monitoringSlotPeriodicityAndOffset, T_monitoringSlotPeriodicityAndOffset_choice,
NULL);
return offset;
}
-static const per_sequence_t MeasGapConfig_sequence[] = {
- { &hf_nr_rrc_gapFR2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_gapFR2 },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_nr_rrc_MeasGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasGapConfig, MeasGapConfig_sequence);
+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 const value_string nr_rrc_MeasGapSharingScheme_vals[] = {
- { 0, "scheme00" },
- { 1, "scheme01" },
- { 2, "scheme10" },
- { 3, "scheme11" },
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 14, 14, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_aggregationLevel1_vals[] = {
+ { 0, "n0" },
+ { 1, "n1" },
+ { 2, "n2" },
+ { 3, "n3" },
+ { 4, "n4" },
+ { 5, "n5" },
+ { 6, "n6" },
+ { 7, "n8" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_MeasGapSharingScheme(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_aggregationLevel1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_gapSharingFR2_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const value_string nr_rrc_T_aggregationLevel2_vals[] = {
+ { 0, "n0" },
+ { 1, "n1" },
+ { 2, "n2" },
+ { 3, "n3" },
+ { 4, "n4" },
+ { 5, "n5" },
+ { 6, "n6" },
+ { 7, "n8" },
{ 0, NULL }
};
-static 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);
+dissect_nr_rrc_T_aggregationLevel2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t MeasGapSharingConfig_sequence[] = {
- { &hf_nr_rrc_gapSharingFR2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_gapSharingFR2 },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_aggregationLevel4_vals[] = {
+ { 0, "n0" },
+ { 1, "n1" },
+ { 2, "n2" },
+ { 3, "n3" },
+ { 4, "n4" },
+ { 5, "n5" },
+ { 6, "n6" },
+ { 7, "n8" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_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);
+dissect_nr_rrc_T_aggregationLevel4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t MeasConfig_sequence[] = {
- { &hf_nr_rrc_measObjectToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasObjectToRemoveList },
- { &hf_nr_rrc_measObjectToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasObjectToAddModList },
- { &hf_nr_rrc_reportConfigToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReportConfigToRemoveList },
- { &hf_nr_rrc_reportConfigToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReportConfigToAddModList },
- { &hf_nr_rrc_measIdToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasIdToRemoveList },
- { &hf_nr_rrc_measIdToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasIdToAddModList },
- { &hf_nr_rrc_s_MeasureConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_s_MeasureConfig },
- { &hf_nr_rrc_quantityConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_QuantityConfig },
- { &hf_nr_rrc_measGapConfig_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasGapConfig },
- { &hf_nr_rrc_measGapSharingConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasGapSharingConfig },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_aggregationLevel8_vals[] = {
+ { 0, "n0" },
+ { 1, "n1" },
+ { 2, "n2" },
+ { 3, "n3" },
+ { 4, "n4" },
+ { 5, "n5" },
+ { 6, "n6" },
+ { 7, "n8" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasConfig, MeasConfig_sequence);
+dissect_nr_rrc_T_aggregationLevel8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
+static const value_string nr_rrc_T_aggregationLevel16_vals[] = {
+ { 0, "n0" },
+ { 1, "n1" },
+ { 2, "n2" },
+ { 3, "n3" },
+ { 4, "n4" },
+ { 5, "n5" },
+ { 6, "n6" },
+ { 7, "n8" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
- NO_BOUND, NO_BOUND, FALSE, NULL);
+dissect_nr_rrc_T_aggregationLevel16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_nonCriticalExtension_06_sequence[] = {
+static const per_sequence_t T_nrofCandidates_sequence[] = {
+ { &hf_nr_rrc_aggregationLevel1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel1 },
+ { &hf_nr_rrc_aggregationLevel2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel2 },
+ { &hf_nr_rrc_aggregationLevel4, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel4 },
+ { &hf_nr_rrc_aggregationLevel8, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel8 },
+ { &hf_nr_rrc_aggregationLevel16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel16 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_nonCriticalExtension_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nrofCandidates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_nonCriticalExtension_06, T_nonCriticalExtension_06_sequence);
+ ett_nr_rrc_T_nrofCandidates, T_nrofCandidates_sequence);
return offset;
}
-static const per_sequence_t RRCReconfiguration_IEs_sequence[] = {
- { &hf_nr_rrc_radioBearerConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RadioBearerConfig },
- { &hf_nr_rrc_secondaryCellGroup, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_secondaryCellGroup },
- { &hf_nr_rrc_measConfig , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasConfig },
- { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
- { &hf_nr_rrc_nonCriticalExtension_06, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_06 },
- { NULL, 0, 0, NULL }
+static const per_sequence_t T_dci_Format0_0_AndFormat1_0_sequence[] = {
+ { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
-dissect_nr_rrc_RRCReconfiguration_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_dci_Format0_0_AndFormat1_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RRCReconfiguration_IEs, RRCReconfiguration_IEs_sequence);
+ ett_nr_rrc_T_dci_Format0_0_AndFormat1_0, T_dci_Format0_0_AndFormat1_0_sequence);
return offset;
}
-static const per_sequence_t T_criticalExtensionsFuture_06_sequence[] = {
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_aggregationLevel1_01_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_T_criticalExtensionsFuture_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensionsFuture_06, T_criticalExtensionsFuture_06_sequence);
+dissect_nr_rrc_T_aggregationLevel1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_criticalExtensions_06_vals[] = {
- { 0, "rrcReconfiguration" },
- { 1, "criticalExtensionsFuture" },
+static const value_string nr_rrc_T_aggregationLevel2_01_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
{ 0, NULL }
};
-static const per_choice_t T_criticalExtensions_06_choice[] = {
- { 0, &hf_nr_rrc_rrcReconfiguration_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfiguration_IEs },
- { 1, &hf_nr_rrc_criticalExtensionsFuture_06, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_06 },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_nr_rrc_T_criticalExtensions_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensions_06, T_criticalExtensions_06_choice,
- NULL);
+dissect_nr_rrc_T_aggregationLevel2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t RRCReconfiguration_sequence[] = {
- { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
- { &hf_nr_rrc_criticalExtensions_06, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_06 },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_aggregationLevel4_01_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 0, NULL }
};
-static int
-dissect_nr_rrc_RRCReconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration");
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RRCReconfiguration, RRCReconfiguration_sequence);
+static int
+dissect_nr_rrc_T_aggregationLevel4_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_c1_05_vals[] = {
- { 0, "rrcReconfiguration" },
- { 1, "spare15" },
- { 2, "spare14" },
- { 3, "spare13" },
- { 4, "spare12" },
- { 5, "spare11" },
- { 6, "spare10" },
- { 7, "spare9" },
- { 8, "spare8" },
- { 9, "spare7" },
- { 10, "spare6" },
- { 11, "spare5" },
- { 12, "spare4" },
- { 13, "spare3" },
- { 14, "spare2" },
- { 15, "spare1" },
+static const value_string nr_rrc_T_aggregationLevel8_01_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
{ 0, NULL }
};
-static const per_choice_t T_c1_05_choice[] = {
- { 0, &hf_nr_rrc_rrcReconfiguration, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfiguration },
- { 1, &hf_nr_rrc_spare15 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 2, &hf_nr_rrc_spare14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 3, &hf_nr_rrc_spare13 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 4, &hf_nr_rrc_spare12 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 5, &hf_nr_rrc_spare11 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 6, &hf_nr_rrc_spare10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 7, &hf_nr_rrc_spare9 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 8, &hf_nr_rrc_spare8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 9, &hf_nr_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 10, &hf_nr_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 11, &hf_nr_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 12, &hf_nr_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 13, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 14, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 15, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_nr_rrc_T_c1_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_c1_05, T_c1_05_choice,
- NULL);
+dissect_nr_rrc_T_aggregationLevel8_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_messageClassExtension_01_sequence[] = {
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_aggregationLevel16_01_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_T_messageClassExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_messageClassExtension_01, T_messageClassExtension_01_sequence);
+dissect_nr_rrc_T_aggregationLevel16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_DL_DCCH_MessageType_vals[] = {
- { 0, "c1" },
- { 1, "messageClassExtension" },
- { 0, NULL }
-};
-
-static const per_choice_t DL_DCCH_MessageType_choice[] = {
- { 0, &hf_nr_rrc_c1_05 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_05 },
- { 1, &hf_nr_rrc_messageClassExtension_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_01 },
- { 0, NULL, 0, NULL }
+static const per_sequence_t T_nrofCandidates_SFI_sequence[] = {
+ { &hf_nr_rrc_aggregationLevel1_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel1_01 },
+ { &hf_nr_rrc_aggregationLevel2_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel2_01 },
+ { &hf_nr_rrc_aggregationLevel4_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel4_01 },
+ { &hf_nr_rrc_aggregationLevel8_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel8_01 },
+ { &hf_nr_rrc_aggregationLevel16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel16_01 },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_DL_DCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_DL_DCCH_MessageType, DL_DCCH_MessageType_choice,
- NULL);
+dissect_nr_rrc_T_nrofCandidates_SFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nrofCandidates_SFI, T_nrofCandidates_SFI_sequence);
return offset;
}
-static const per_sequence_t DL_DCCH_Message_sequence[] = {
- { &hf_nr_rrc_message_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_DCCH_MessageType },
+static const per_sequence_t T_dci_Format2_0_sequence[] = {
+ { &hf_nr_rrc_nrofCandidates_SFI, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCandidates_SFI },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_DL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- proto_item *ti;
+dissect_nr_rrc_T_dci_Format2_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_dci_Format2_0, T_dci_Format2_0_sequence);
- col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
- col_clear(actx->pinfo->cinfo, COL_INFO);
+ return offset;
+}
- ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
- tree = proto_item_add_subtree(ti, ett_nr_rrc);
- actx->pinfo->link_dir = P2P_DIR_DL;
+static const per_sequence_t T_dci_Format2_1_sequence[] = {
+ { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
+};
+static int
+dissect_nr_rrc_T_dci_Format2_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_DL_DCCH_Message, DL_DCCH_Message_sequence);
+ ett_nr_rrc_T_dci_Format2_1, T_dci_Format2_1_sequence);
return offset;
}
-static const per_sequence_t MeasResultServMO_sequence[] = {
- { &hf_nr_rrc_servCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
- { &hf_nr_rrc_measResultServingCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR },
- { &hf_nr_rrc_measResultBestNeighCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultNR },
- { NULL, 0, 0, NULL }
+static const per_sequence_t T_dci_Format2_2_sequence[] = {
+ { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
-dissect_nr_rrc_MeasResultServMO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_dci_Format2_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasResultServMO, MeasResultServMO_sequence);
+ ett_nr_rrc_T_dci_Format2_2, T_dci_Format2_2_sequence);
return offset;
}
-static const per_sequence_t MeasResultServMOList_sequence_of[1] = {
- { &hf_nr_rrc_MeasResultServMOList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServMO },
+static const value_string nr_rrc_T_dummy1_vals[] = {
+ { 0, "sl1" },
+ { 1, "sl2" },
+ { 2, "sl4" },
+ { 3, "sl5" },
+ { 4, "sl8" },
+ { 5, "sl10" },
+ { 6, "sl16" },
+ { 7, "sl20" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_MeasResultServMOList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasResultServMOList, MeasResultServMOList_sequence_of,
- 1, maxNrofServingCells, FALSE);
+dissect_nr_rrc_T_dummy1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_measResultNeighCells_vals[] = {
- { 0, "measResultListNR" },
+static const value_string nr_rrc_T_dummy2_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
{ 0, NULL }
};
-static const per_choice_t T_measResultNeighCells_choice[] = {
- { 0, &hf_nr_rrc_measResultListNR, ASN1_EXTENSION_ROOT , dissect_nr_rrc_MeasResultListNR },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_nr_rrc_T_measResultNeighCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_measResultNeighCells, T_measResultNeighCells_choice,
- NULL);
+dissect_nr_rrc_T_dummy2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t MeasResults_sequence[] = {
- { &hf_nr_rrc_measId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
- { &hf_nr_rrc_measResultServingMOList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServMOList },
- { &hf_nr_rrc_measResultNeighCells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultNeighCells },
+static const per_sequence_t T_dci_Format2_3_sequence[] = {
+ { &hf_nr_rrc_dummy1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dummy1 },
+ { &hf_nr_rrc_dummy2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dummy2 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_dci_Format2_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasResults, MeasResults_sequence);
+ ett_nr_rrc_T_dci_Format2_3, T_dci_Format2_3_sequence);
return offset;
}
-static const per_sequence_t T_nonCriticalExtension_05_sequence[] = {
+static const per_sequence_t T_common_sequence[] = {
+ { &hf_nr_rrc_dci_Format0_0_AndFormat1_0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format0_0_AndFormat1_0 },
+ { &hf_nr_rrc_dci_Format2_0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_0 },
+ { &hf_nr_rrc_dci_Format2_1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_1 },
+ { &hf_nr_rrc_dci_Format2_2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_2 },
+ { &hf_nr_rrc_dci_Format2_3, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_3 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_nonCriticalExtension_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_common(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_nonCriticalExtension_05, T_nonCriticalExtension_05_sequence);
+ ett_nr_rrc_T_common, T_common_sequence);
return offset;
}
-static const per_sequence_t MeasurementReport_IEs_sequence[] = {
- { &hf_nr_rrc_measResults , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResults },
- { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
- { &hf_nr_rrc_nonCriticalExtension_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_05 },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_dci_Formats_vals[] = {
+ { 0, "formats0-0-And-1-0" },
+ { 1, "formats0-1-And-1-1" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_MeasurementReport_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasurementReport_IEs, MeasurementReport_IEs_sequence);
+dissect_nr_rrc_T_dci_Formats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_criticalExtensionsFuture_05_sequence[] = {
+static const per_sequence_t T_ue_Specific_sequence[] = {
+ { &hf_nr_rrc_dci_Formats , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dci_Formats },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensionsFuture_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_ue_Specific(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensionsFuture_05, T_criticalExtensionsFuture_05_sequence);
+ ett_nr_rrc_T_ue_Specific, T_ue_Specific_sequence);
return offset;
}
-static const value_string nr_rrc_T_criticalExtensions_05_vals[] = {
- { 0, "measurementReport" },
- { 1, "criticalExtensionsFuture" },
+static const value_string nr_rrc_T_searchSpaceType_vals[] = {
+ { 0, "common" },
+ { 1, "ue-Specific" },
{ 0, NULL }
};
-static const per_choice_t T_criticalExtensions_05_choice[] = {
- { 0, &hf_nr_rrc_measurementReport_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementReport_IEs },
- { 1, &hf_nr_rrc_criticalExtensionsFuture_05, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_05 },
+static const per_choice_t T_searchSpaceType_choice[] = {
+ { 0, &hf_nr_rrc_common , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_common },
+ { 1, &hf_nr_rrc_ue_Specific , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_ue_Specific },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensions_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_searchSpaceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensions_05, T_criticalExtensions_05_choice,
+ ett_nr_rrc_T_searchSpaceType, T_searchSpaceType_choice,
NULL);
return offset;
}
-static const per_sequence_t MeasurementReport_sequence[] = {
- { &hf_nr_rrc_criticalExtensions_05, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_05 },
+static const per_sequence_t SearchSpace_sequence[] = {
+ { &hf_nr_rrc_searchSpaceId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceId },
+ { &hf_nr_rrc_controlResourceSetId, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ControlResourceSetId },
+ { &hf_nr_rrc_monitoringSlotPeriodicityAndOffset, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_monitoringSlotPeriodicityAndOffset },
+ { &hf_nr_rrc_duration_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_2559 },
+ { &hf_nr_rrc_monitoringSymbolsWithinSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_14 },
+ { &hf_nr_rrc_nrofCandidates, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofCandidates },
+ { &hf_nr_rrc_searchSpaceType, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceType },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Measurement Report");
-
+dissect_nr_rrc_SearchSpace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasurementReport, MeasurementReport_sequence);
+ ett_nr_rrc_SearchSpace, SearchSpace_sequence);
return offset;
}
-static const per_sequence_t T_nonCriticalExtension_07_sequence[] = {
- { NULL, 0, 0, NULL }
+static const per_sequence_t SEQUENCE_SIZE_1_4_OF_SearchSpace_sequence_of[1] = {
+ { &hf_nr_rrc_commonSearchSpaceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpace },
};
static int
-dissect_nr_rrc_T_nonCriticalExtension_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_nonCriticalExtension_07, T_nonCriticalExtension_07_sequence);
+dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace, SEQUENCE_SIZE_1_4_OF_SearchSpace_sequence_of,
+ 1, 4, FALSE);
return offset;
}
-static const per_sequence_t RRCReconfigurationComplete_IEs_sequence[] = {
- { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
- { &hf_nr_rrc_nonCriticalExtension_07, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_07 },
+static const per_sequence_t PDCCH_ConfigCommon_sequence[] = {
+ { &hf_nr_rrc_controlResourceSetZero, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ControlResourceSetZero },
+ { &hf_nr_rrc_commonControlResourceSet, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ControlResourceSet },
+ { &hf_nr_rrc_searchSpaceZero, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceZero },
+ { &hf_nr_rrc_commonSearchSpaceList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace },
+ { &hf_nr_rrc_searchSpaceSIB1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId },
+ { &hf_nr_rrc_searchSpaceOtherSystemInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId },
+ { &hf_nr_rrc_pagingSearchSpace, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId },
+ { &hf_nr_rrc_ra_SearchSpace, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_RRCReconfigurationComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PDCCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RRCReconfigurationComplete_IEs, RRCReconfigurationComplete_IEs_sequence);
+ ett_nr_rrc_PDCCH_ConfigCommon, PDCCH_ConfigCommon_sequence);
return offset;
}
-static const per_sequence_t T_criticalExtensionsFuture_07_sequence[] = {
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_pdcch_ConfigCommon_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_pdcch_ConfigCommon_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_ConfigCommon },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensionsFuture_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensionsFuture_07, T_criticalExtensionsFuture_07_sequence);
+dissect_nr_rrc_T_pdcch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_pdcch_ConfigCommon, T_pdcch_ConfigCommon_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_criticalExtensions_07_vals[] = {
- { 0, "rrcReconfigurationComplete" },
- { 1, "criticalExtensionsFuture" },
+
+static int
+dissect_nr_rrc_INTEGER_0_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 32U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_mappingType_vals[] = {
+ { 0, "typeA" },
+ { 1, "typeB" },
{ 0, NULL }
};
-static const per_choice_t T_criticalExtensions_07_choice[] = {
- { 0, &hf_nr_rrc_rrcReconfigurationComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationComplete_IEs },
- { 1, &hf_nr_rrc_criticalExtensionsFuture_07, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_07 },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_nr_rrc_T_criticalExtensions_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensions_07, T_criticalExtensions_07_choice,
- NULL);
+dissect_nr_rrc_T_mappingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t RRCReconfigurationComplete_sequence[] = {
- { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
- { &hf_nr_rrc_criticalExtensions_07, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_07 },
+static const per_sequence_t PDSCH_TimeDomainResourceAllocation_sequence[] = {
+ { &hf_nr_rrc_k0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_32 },
+ { &hf_nr_rrc_mappingType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mappingType },
+ { &hf_nr_rrc_startSymbolAndLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_127 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_RRCReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Complete");
-
+dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RRCReconfigurationComplete, RRCReconfigurationComplete_sequence);
+ ett_nr_rrc_PDSCH_TimeDomainResourceAllocation, PDSCH_TimeDomainResourceAllocation_sequence);
return offset;
}
-static const value_string nr_rrc_T_c1_06_vals[] = {
- { 0, "measurementReport" },
- { 1, "rrcReconfigurationComplete" },
- { 2, "spare14" },
- { 3, "spare13" },
- { 4, "spare12" },
- { 5, "spare11" },
- { 6, "spare10" },
- { 7, "spare9" },
- { 8, "spare8" },
- { 9, "spare7" },
- { 10, "spare6" },
- { 11, "spare5" },
- { 12, "spare4" },
- { 13, "spare3" },
- { 14, "spare2" },
- { 15, "spare1" },
- { 0, NULL }
-};
-
-static const per_choice_t T_c1_06_choice[] = {
- { 0, &hf_nr_rrc_measurementReport, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementReport },
- { 1, &hf_nr_rrc_rrcReconfigurationComplete, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationComplete },
- { 2, &hf_nr_rrc_spare14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 3, &hf_nr_rrc_spare13 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 4, &hf_nr_rrc_spare12 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 5, &hf_nr_rrc_spare11 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 6, &hf_nr_rrc_spare10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 7, &hf_nr_rrc_spare9 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 8, &hf_nr_rrc_spare8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 9, &hf_nr_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 10, &hf_nr_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 11, &hf_nr_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 12, &hf_nr_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 13, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 14, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 15, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 0, NULL, 0, NULL }
+static 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_T_c1_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_c1_06, T_c1_06_choice,
- NULL);
+dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList, PDSCH_TimeDomainResourceAllocationList_sequence_of,
+ 1, maxNrofDL_Allocations, FALSE);
return offset;
}
-static const per_sequence_t T_messageClassExtension_02_sequence[] = {
+static const per_sequence_t PDSCH_ConfigCommon_sequence[] = {
+ { &hf_nr_rrc_pdsch_TimeDomainAllocationList_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_messageClassExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PDSCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_messageClassExtension_02, T_messageClassExtension_02_sequence);
+ ett_nr_rrc_PDSCH_ConfigCommon, PDSCH_ConfigCommon_sequence);
return offset;
}
-static const value_string nr_rrc_UL_DCCH_MessageType_vals[] = {
- { 0, "c1" },
- { 1, "messageClassExtension" },
+static const value_string nr_rrc_T_pdsch_ConfigCommon_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t UL_DCCH_MessageType_choice[] = {
- { 0, &hf_nr_rrc_c1_06 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_06 },
- { 1, &hf_nr_rrc_messageClassExtension_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_02 },
+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_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_ConfigCommon },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_UL_DCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_pdsch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_UL_DCCH_MessageType, UL_DCCH_MessageType_choice,
+ ett_nr_rrc_T_pdsch_ConfigCommon, T_pdsch_ConfigCommon_choice,
NULL);
return offset;
}
-static const per_sequence_t UL_DCCH_Message_sequence[] = {
- { &hf_nr_rrc_message_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_DCCH_MessageType },
+static const per_sequence_t BWP_DownlinkCommon_sequence[] = {
+ { &hf_nr_rrc_genericParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP },
+ { &hf_nr_rrc_pdcch_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_ConfigCommon },
+ { &hf_nr_rrc_pdsch_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_ConfigCommon },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_UL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- proto_item *ti;
-
- col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
- col_clear(actx->pinfo->cinfo, COL_INFO);
-
- ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
- tree = proto_item_add_subtree(ti, ett_nr_rrc);
-
- actx->pinfo->link_dir = P2P_DIR_UL;
-
+dissect_nr_rrc_BWP_DownlinkCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_UL_DCCH_Message, UL_DCCH_Message_sequence);
+ ett_nr_rrc_BWP_DownlinkCommon, BWP_DownlinkCommon_sequence);
return offset;
}
-static const value_string nr_rrc_T_frequencyOffsetSSB_vals[] = {
- { 0, "khz-5" },
- { 1, "khz5" },
+static const value_string nr_rrc_T_modificationPeriodCoeff_vals[] = {
+ { 0, "n2" },
+ { 1, "n4" },
+ { 2, "n8" },
+ { 3, "n16" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_frequencyOffsetSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_modificationPeriodCoeff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 4, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_ssb_PositionsInBurst_sequence[] = {
- { &hf_nr_rrc_inOneGroup , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_8 },
- { &hf_nr_rrc_groupPresence, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_8 },
+static const per_sequence_t BCCH_Config_sequence[] = {
+ { &hf_nr_rrc_modificationPeriodCoeff, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_modificationPeriodCoeff },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_ssb_PositionsInBurst(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_ssb_PositionsInBurst, T_ssb_PositionsInBurst_sequence);
+ ett_nr_rrc_BCCH_Config, BCCH_Config_sequence);
return offset;
}
-static const value_string nr_rrc_T_ssb_PeriodicityServingCell_vals[] = {
- { 0, "ms5" },
- { 1, "ms10" },
- { 2, "ms20" },
- { 3, "ms40" },
- { 4, "ms80" },
- { 5, "ms160" },
- { 6, "spare1" },
- { 7, "spare2" },
+static const value_string nr_rrc_PagingCycle_vals[] = {
+ { 0, "rf32" },
+ { 1, "rf64" },
+ { 2, "rf128" },
+ { 3, "rf256" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_ssb_PeriodicityServingCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PagingCycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+ 4, NULL, FALSE, 0, NULL);
return offset;
}
+static const value_string nr_rrc_T_nAndPagingFrameOffset_vals[] = {
+ { 0, "oneT" },
+ { 1, "halfT" },
+ { 2, "quarterT" },
+ { 3, "oneEighthT" },
+ { 4, "oneSixteenthT" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_nAndPagingFrameOffset_choice[] = {
+ { 0, &hf_nr_rrc_oneT , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_halfT , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1 },
+ { 2, &hf_nr_rrc_quarterT , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 },
+ { 3, &hf_nr_rrc_oneEighthT , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 },
+ { 4, &hf_nr_rrc_oneSixteenthT, ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_M60_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- -60, 50U, NULL, FALSE);
+dissect_nr_rrc_T_nAndPagingFrameOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nAndPagingFrameOffset, T_nAndPagingFrameOffset_choice,
+ NULL);
return offset;
}
+static const value_string nr_rrc_T_ns_vals[] = {
+ { 0, "four" },
+ { 1, "two" },
+ { 2, "one" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_FreqBandIndicatorNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_ns(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_139(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 1024U, NULL, FALSE);
+ 0U, 139U, NULL, FALSE);
return offset;
}
-static const per_sequence_t MultiFrequencyBandListNR_sequence_of[1] = {
- { &hf_nr_rrc_MultiFrequencyBandListNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
+static const per_sequence_t T_sCS15KHZoneT_sequence_of[1] = {
+ { &hf_nr_rrc_sCS15KHZoneT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_139 },
};
static int
-dissect_nr_rrc_MultiFrequencyBandListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_sCS15KHZoneT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MultiFrequencyBandListNR, MultiFrequencyBandListNR_sequence_of,
- 1, maxNrofMultiBands, FALSE);
+ ett_nr_rrc_T_sCS15KHZoneT, T_sCS15KHZoneT_sequence_of,
+ 1, 4, FALSE);
return offset;
}
@@ -8255,49 +10923,47 @@ dissect_nr_rrc_MultiFrequencyBandListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_
static int
-dissect_nr_rrc_INTEGER_0_2199(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_0_279(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 2199U, NULL, FALSE);
+ 0U, 279U, NULL, FALSE);
return offset;
}
+static const per_sequence_t T_sCS30KHZoneT_SCS15KHZhalfT_sequence_of[1] = {
+ { &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_279 },
+};
static int
-dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxNrofPhysicalResourceBlocks, NULL, FALSE);
+dissect_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT, T_sCS30KHZoneT_SCS15KHZhalfT_sequence_of,
+ 1, 4, FALSE);
return offset;
}
-static const per_sequence_t SCS_SpecificCarrier_sequence[] = {
- { &hf_nr_rrc_offsetToCarrier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2199 },
- { &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
- { &hf_nr_rrc_carrierBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_nr_rrc_SCS_SpecificCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SCS_SpecificCarrier, SCS_SpecificCarrier_sequence);
+dissect_nr_rrc_INTEGER_0_559(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 559U, NULL, FALSE);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier_sequence_of[1] = {
- { &hf_nr_rrc_scs_SpecificCarrierList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCS_SpecificCarrier },
+static const per_sequence_t T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_sequence_of[1] = {
+ { &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_559 },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier, SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier_sequence_of,
- 1, maxSCSs, FALSE);
+ ett_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT, T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_sequence_of,
+ 1, 4, FALSE);
return offset;
}
@@ -8305,43 +10971,47 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier(tvbuff_t *tvb _U_,
static int
-dissect_nr_rrc_AdditionalSpectrumEmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_0_1119(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 7U, NULL, FALSE);
+ 0U, 1119U, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_T_frequencyShift7p5khz_vals[] = {
- { 0, "true" },
- { 0, NULL }
+static const per_sequence_t T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_sequence_of[1] = {
+ { &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1119 },
};
+static int
+dissect_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT, T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_sequence_of,
+ 1, 4, FALSE);
+
+ return offset;
+}
+
+
static int
-dissect_nr_rrc_T_frequencyShift7p5khz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_INTEGER_0_2239(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 2239U, NULL, FALSE);
return offset;
}
-static const per_sequence_t FrequencyInfoUL_sequence[] = {
- { &hf_nr_rrc_frequencyBandList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MultiFrequencyBandListNR },
- { &hf_nr_rrc_absoluteFrequencyPointA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
- { &hf_nr_rrc_scs_SpecificCarrierList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier },
- { &hf_nr_rrc_additionalSpectrumEmission, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_AdditionalSpectrumEmission },
- { &hf_nr_rrc_p_Max , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
- { &hf_nr_rrc_frequencyShift7p5khz, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyShift7p5khz },
- { NULL, 0, 0, NULL }
+static const per_sequence_t T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_sequence_of[1] = {
+ { &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2239 },
};
static int
-dissect_nr_rrc_FrequencyInfoUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_FrequencyInfoUL, FrequencyInfoUL_sequence);
+dissect_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT, T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_sequence_of,
+ 1, 4, FALSE);
return offset;
}
@@ -8349,58 +11019,47 @@ dissect_nr_rrc_FrequencyInfoUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
-dissect_nr_rrc_INTEGER_0_37949(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_0_4479(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 37949U, NULL, FALSE);
+ 0U, 4479U, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_T_cyclicPrefix_vals[] = {
- { 0, "extended" },
- { 0, NULL }
+static const per_sequence_t T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_sequence_of[1] = {
+ { &hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4479 },
};
-
static int
-dissect_nr_rrc_T_cyclicPrefix(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT, T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_sequence_of,
+ 1, 4, FALSE);
return offset;
}
-static const per_sequence_t BWP_sequence[] = {
- { &hf_nr_rrc_locationAndBandwidth, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_37949 },
- { &hf_nr_rrc_subcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
- { &hf_nr_rrc_cyclicPrefix , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cyclicPrefix },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_nr_rrc_BWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BWP, BWP_sequence);
+dissect_nr_rrc_INTEGER_0_8959(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 8959U, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_T_msg1_FDM_vals[] = {
- { 0, "one" },
- { 1, "two" },
- { 2, "four" },
- { 3, "eight" },
- { 0, NULL }
+static const per_sequence_t T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_sequence_of[1] = {
+ { &hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_8959 },
};
-
static int
-dissect_nr_rrc_T_msg1_FDM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT, T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_sequence_of,
+ 1, 4, FALSE);
return offset;
}
@@ -8408,105 +11067,124 @@ dissect_nr_rrc_T_msg1_FDM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
-dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_0_17919(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofPhysicalResourceBlocks_1, NULL, FALSE);
+ 0U, 17919U, NULL, FALSE);
return offset;
}
+static const per_sequence_t T_sCS120KHZoneSixteenthT_sequence_of[1] = {
+ { &hf_nr_rrc_sCS120KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_17919 },
+};
static int
-dissect_nr_rrc_INTEGER_M202_M60(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- -202, -60, NULL, FALSE);
+dissect_nr_rrc_T_sCS120KHZoneSixteenthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_sCS120KHZoneSixteenthT, T_sCS120KHZoneSixteenthT_sequence_of,
+ 1, 4, FALSE);
return offset;
}
-static const value_string nr_rrc_T_preambleTransMax_vals[] = {
- { 0, "n3" },
- { 1, "n4" },
- { 2, "n5" },
- { 3, "n6" },
- { 4, "n7" },
- { 5, "n8" },
- { 6, "n10" },
- { 7, "n20" },
- { 8, "n50" },
- { 9, "n100" },
- { 10, "n200" },
+static const value_string nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_vals[] = {
+ { 0, "sCS15KHZoneT" },
+ { 1, "sCS30KHZoneT-SCS15KHZhalfT" },
+ { 2, "sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT" },
+ { 3, "sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT" },
+ { 4, "sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT" },
+ { 5, "sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT" },
+ { 6, "sCS120KHZoneEighthT-SCS60KHZoneSixteenthT" },
+ { 7, "sCS120KHZoneSixteenthT" },
{ 0, NULL }
};
+static const per_choice_t T_firstPDCCH_MonitoringOccasionOfPO_choice[] = {
+ { 0, &hf_nr_rrc_sCS15KHZoneT , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS15KHZoneT },
+ { 1, &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT },
+ { 2, &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT },
+ { 3, &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT },
+ { 4, &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT },
+ { 5, &hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT },
+ { 6, &hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT },
+ { 7, &hf_nr_rrc_sCS120KHZoneSixteenthT, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS120KHZoneSixteenthT },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_preambleTransMax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 11, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO, T_firstPDCCH_MonitoringOccasionOfPO_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_powerRampingStep_vals[] = {
- { 0, "dB0" },
- { 1, "dB2" },
- { 2, "dB4" },
- { 3, "dB6" },
- { 0, NULL }
+static const per_sequence_t PCCH_Config_sequence[] = {
+ { &hf_nr_rrc_defaultPagingCycle, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PagingCycle },
+ { &hf_nr_rrc_nAndPagingFrameOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nAndPagingFrameOffset },
+ { &hf_nr_rrc_ns , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ns },
+ { &hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO },
+ { NULL, 0, 0, NULL }
};
+static int
+dissect_nr_rrc_PCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PCCH_Config, PCCH_Config_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t DownlinkConfigCommonSIB_sequence[] = {
+ { &hf_nr_rrc_frequencyInfoDL_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FrequencyInfoDL_SIB },
+ { &hf_nr_rrc_initialDownlinkBWP, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_DownlinkCommon },
+ { &hf_nr_rrc_bcch_Config , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BCCH_Config },
+ { &hf_nr_rrc_pcch_Config , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCCH_Config },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_T_powerRampingStep(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_DownlinkConfigCommonSIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_DownlinkConfigCommonSIB, DownlinkConfigCommonSIB_sequence);
return offset;
}
-static const value_string nr_rrc_T_ra_ResponseWindow_vals[] = {
- { 0, "sl1" },
- { 1, "sl2" },
- { 2, "sl4" },
- { 3, "sl8" },
- { 4, "sl10" },
- { 5, "sl20" },
- { 6, "sl40" },
- { 7, "sl80" },
+static const value_string nr_rrc_T_frequencyShift7p5khz_01_vals[] = {
+ { 0, "true" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_ra_ResponseWindow(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_frequencyShift7p5khz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t RACH_ConfigGeneric_sequence[] = {
- { &hf_nr_rrc_prach_ConfigurationIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_255 },
- { &hf_nr_rrc_msg1_FDM , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_msg1_FDM },
- { &hf_nr_rrc_msg1_FrequencyStart, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
- { &hf_nr_rrc_zeroCorrelationZoneConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
- { &hf_nr_rrc_preambleReceivedTargetPower, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M202_M60 },
- { &hf_nr_rrc_preambleTransMax, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_preambleTransMax },
- { &hf_nr_rrc_powerRampingStep, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_powerRampingStep },
- { &hf_nr_rrc_ra_ResponseWindow, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_ResponseWindow },
+static const per_sequence_t FrequencyInfoUL_SIB_sequence[] = {
+ { &hf_nr_rrc_frequencyBandList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MultiFrequencyBandListNR_SIB },
+ { &hf_nr_rrc_absoluteFrequencyPointA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
+ { &hf_nr_rrc_scs_SpecificCarrierList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier },
+ { &hf_nr_rrc_p_Max , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
+ { &hf_nr_rrc_frequencyShift7p5khz_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyShift7p5khz_01 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_RACH_ConfigGeneric(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_FrequencyInfoUL_SIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RACH_ConfigGeneric, RACH_ConfigGeneric_sequence);
+ ett_nr_rrc_FrequencyInfoUL_SIB, FrequencyInfoUL_SIB_sequence);
return offset;
}
@@ -8666,16 +11344,6 @@ dissect_nr_rrc_T_two_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
static int
-dissect_nr_rrc_INTEGER_1_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 8U, NULL, FALSE);
-
- return offset;
-}
-
-
-
-static int
dissect_nr_rrc_INTEGER_1_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 4U, NULL, FALSE);
@@ -8728,7 +11396,7 @@ static const value_string nr_rrc_T_ra_Msg3SizeGroupA_vals[] = {
{ 6, "b640" },
{ 7, "b800" },
{ 8, "b1000" },
- { 9, "spare7" },
+ { 9, "b72" },
{ 10, "spare6" },
{ 11, "spare5" },
{ 12, "spare4" },
@@ -8877,14 +11545,14 @@ dissect_nr_rrc_T_restrictedSetConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
}
-static const value_string nr_rrc_T_msg3_transformPrecoding_vals[] = {
+static const value_string nr_rrc_T_msg3_transformPrecoder_vals[] = {
{ 0, "enabled" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_msg3_transformPrecoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_msg3_transformPrecoder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -8903,7 +11571,7 @@ static const per_sequence_t RACH_ConfigCommon_sequence[] = {
{ &hf_nr_rrc_prach_RootSequenceIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_prach_RootSequenceIndex },
{ &hf_nr_rrc_msg1_SubcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing },
{ &hf_nr_rrc_restrictedSetConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_restrictedSetConfig },
- { &hf_nr_rrc_msg3_transformPrecoding, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_msg3_transformPrecoding },
+ { &hf_nr_rrc_msg3_transformPrecoder, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_msg3_transformPrecoder },
{ NULL, 0, 0, NULL }
};
@@ -8924,7 +11592,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_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RACH_ConfigCommon },
+ { 1, &hf_nr_rrc_setup_08 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RACH_ConfigCommon },
{ 0, NULL, 0, NULL }
};
@@ -8953,16 +11621,6 @@ dissect_nr_rrc_T_groupHoppingEnabledTransformPrecoding(tvbuff_t *tvb _U_, int of
}
-
-static int
-dissect_nr_rrc_INTEGER_0_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 32U, NULL, FALSE);
-
- return offset;
-}
-
-
static const value_string nr_rrc_T_mappingType_01_vals[] = {
{ 0, "typeA" },
{ 1, "typeB" },
@@ -9054,7 +11712,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_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_ConfigCommon },
+ { 1, &hf_nr_rrc_setup_09 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_ConfigCommon },
{ 0, NULL, 0, NULL }
};
@@ -9085,20 +11743,10 @@ dissect_nr_rrc_T_pucch_GroupHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
}
-
-static int
-dissect_nr_rrc_INTEGER_0_1024(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 1024U, NULL, FALSE);
-
- return offset;
-}
-
-
static const per_sequence_t PUCCH_ConfigCommon_sequence[] = {
{ &hf_nr_rrc_pucch_ResourceCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 },
{ &hf_nr_rrc_pucch_GroupHopping, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pucch_GroupHopping },
- { &hf_nr_rrc_hoppingId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1024 },
+ { &hf_nr_rrc_hoppingId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1023 },
{ &hf_nr_rrc_p0_nominal , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M202_24 },
{ NULL, 0, 0, NULL }
};
@@ -9120,7 +11768,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_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_ConfigCommon },
+ { 1, &hf_nr_rrc_setup_10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_ConfigCommon },
{ 0, NULL, 0, NULL }
};
@@ -9138,7 +11786,7 @@ static const per_sequence_t BWP_UplinkCommon_sequence[] = {
{ &hf_nr_rrc_genericParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP },
{ &hf_nr_rrc_rach_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rach_ConfigCommon },
{ &hf_nr_rrc_pusch_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_ConfigCommon },
- { &hf_nr_rrc_pucch_ConfigCommon_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_ConfigCommon },
+ { &hf_nr_rrc_pucch_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_ConfigCommon },
{ NULL, 0, 0, NULL }
};
@@ -9173,31 +11821,69 @@ dissect_nr_rrc_TimeAlignmentTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
-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 },
+static const per_sequence_t UplinkConfigCommonSIB_sequence[] = {
+ { &hf_nr_rrc_frequencyInfoUL_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FrequencyInfoUL_SIB },
+ { &hf_nr_rrc_initialUplinkBWP_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_UplinkCommon },
{ &hf_nr_rrc_timeAlignmentTimerCommon, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeAlignmentTimer },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_UplinkConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_UplinkConfigCommonSIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_UplinkConfigCommon, UplinkConfigCommon_sequence);
+ ett_nr_rrc_UplinkConfigCommonSIB, UplinkConfigCommonSIB_sequence);
return offset;
}
-static const per_sequence_t T_supplementaryUplink_sequence[] = {
- { &hf_nr_rrc_uplinkConfigCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfigCommon },
+static const value_string nr_rrc_T_n_TimingAdvanceOffset_01_vals[] = {
+ { 0, "n0" },
+ { 1, "n25560" },
+ { 2, "n39936" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_n_TimingAdvanceOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_ssb_PositionsInBurst_01_sequence[] = {
+ { &hf_nr_rrc_inOneGroup , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_8 },
+ { &hf_nr_rrc_groupPresence, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_8 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_supplementaryUplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_ssb_PositionsInBurst_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_supplementaryUplink, T_supplementaryUplink_sequence);
+ ett_nr_rrc_T_ssb_PositionsInBurst_01, T_ssb_PositionsInBurst_01_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_ssb_PeriodicityServingCell_vals[] = {
+ { 0, "ms5" },
+ { 1, "ms10" },
+ { 2, "ms20" },
+ { 3, "ms40" },
+ { 4, "ms80" },
+ { 5, "ms160" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_ssb_PeriodicityServingCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 6, NULL, FALSE, 0, NULL);
return offset;
}
@@ -9245,12 +11931,42 @@ dissect_nr_rrc_INTEGER_0_maxNrofSymbols_1(tvbuff_t *tvb _U_, int offset _U_, asn
}
+static const value_string nr_rrc_T_dl_UL_TransmissionPeriodicity_v1530_vals[] = {
+ { 0, "ms3" },
+ { 1, "ms4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_dl_UL_TransmissionPeriodicity_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t TDD_UL_DL_Pattern_eag_1_sequence[] = {
+ { &hf_nr_rrc_dl_UL_TransmissionPeriodicity_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_UL_TransmissionPeriodicity_v1530 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_TDD_UL_DL_Pattern_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, TDD_UL_DL_Pattern_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t TDD_UL_DL_Pattern_sequence[] = {
{ &hf_nr_rrc_dl_UL_TransmissionPeriodicity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dl_UL_TransmissionPeriodicity },
{ &hf_nr_rrc_nrofDownlinkSlots, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofSlots },
{ &hf_nr_rrc_nrofDownlinkSymbols, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofSymbols_1 },
{ &hf_nr_rrc_nrofUplinkSlots, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofSlots },
{ &hf_nr_rrc_nrofUplinkSymbols, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofSymbols_1 },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_Pattern_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -9281,198 +11997,281 @@ dissect_nr_rrc_TDD_UL_DL_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
static int
-dissect_nr_rrc_ControlResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_M60_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofControlResourceSets_1, NULL, FALSE);
+ -60, 50U, NULL, FALSE);
return offset;
}
+static const per_sequence_t ServingCellConfigCommonSIB_sequence[] = {
+ { &hf_nr_rrc_downlinkConfigCommon_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DownlinkConfigCommonSIB },
+ { &hf_nr_rrc_uplinkConfigCommon_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfigCommonSIB },
+ { &hf_nr_rrc_supplementaryUplink_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfigCommonSIB },
+ { &hf_nr_rrc_n_TimingAdvanceOffset_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_n_TimingAdvanceOffset_01 },
+ { &hf_nr_rrc_ssb_PositionsInBurst_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ssb_PositionsInBurst_01 },
+ { &hf_nr_rrc_ssb_PeriodicityServingCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ssb_PeriodicityServingCell },
+ { &hf_nr_rrc_tdd_UL_DL_ConfigurationCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigCommon },
+ { &hf_nr_rrc_ss_PBCH_BlockPower, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M60_50 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_BIT_STRING_SIZE_45(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 45, 45, FALSE, NULL, NULL);
+dissect_nr_rrc_ServingCellConfigCommonSIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ServingCellConfigCommonSIB, ServingCellConfigCommonSIB_sequence);
return offset;
}
+static const value_string nr_rrc_T_ims_EmergencySupport_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_INTEGER_1_maxCoReSetDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxCoReSetDuration, NULL, FALSE);
+dissect_nr_rrc_T_ims_EmergencySupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_reg_BundleSize_vals[] = {
- { 0, "n2" },
- { 1, "n3" },
- { 2, "n6" },
+static const value_string nr_rrc_T_eCallOverIMS_Support_vals[] = {
+ { 0, "true" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_reg_BundleSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_eCallOverIMS_Support(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_interleaverSize_vals[] = {
- { 0, "n2" },
- { 1, "n3" },
- { 2, "n6" },
+static const value_string nr_rrc_T_t300_vals[] = {
+ { 0, "ms100" },
+ { 1, "ms200" },
+ { 2, "ms300" },
+ { 3, "ms400" },
+ { 4, "ms600" },
+ { 5, "ms1000" },
+ { 6, "ms1500" },
+ { 7, "ms2000" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_interleaverSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_t300(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_interleaved_sequence[] = {
- { &hf_nr_rrc_reg_BundleSize, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reg_BundleSize },
- { &hf_nr_rrc_interleaverSize, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_interleaverSize },
- { &hf_nr_rrc_shiftIndex , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_t301_vals[] = {
+ { 0, "ms100" },
+ { 1, "ms200" },
+ { 2, "ms300" },
+ { 3, "ms400" },
+ { 4, "ms600" },
+ { 5, "ms1000" },
+ { 6, "ms1500" },
+ { 7, "ms2000" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_T_interleaved(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_interleaved, T_interleaved_sequence);
+dissect_nr_rrc_T_t301(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_cce_REG_MappingType_vals[] = {
- { 0, "interleaved" },
- { 1, "nonInterleaved" },
+static const value_string nr_rrc_T_t310_01_vals[] = {
+ { 0, "ms0" },
+ { 1, "ms50" },
+ { 2, "ms100" },
+ { 3, "ms200" },
+ { 4, "ms500" },
+ { 5, "ms1000" },
+ { 6, "ms2000" },
{ 0, NULL }
};
-static const per_choice_t T_cce_REG_MappingType_choice[] = {
- { 0, &hf_nr_rrc_interleaved , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_interleaved },
- { 1, &hf_nr_rrc_nonInterleaved, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_nr_rrc_T_cce_REG_MappingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_cce_REG_MappingType, T_cce_REG_MappingType_choice,
- NULL);
+dissect_nr_rrc_T_t310_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 7, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_precoderGranularity_vals[] = {
- { 0, "sameAsREG-bundle" },
- { 1, "allContiguousRBs" },
+static const value_string nr_rrc_T_n310_01_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n3" },
+ { 3, "n4" },
+ { 4, "n6" },
+ { 5, "n8" },
+ { 6, "n10" },
+ { 7, "n20" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_precoderGranularity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_n310_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
+static const value_string nr_rrc_T_t311_vals[] = {
+ { 0, "ms1000" },
+ { 1, "ms3000" },
+ { 2, "ms5000" },
+ { 3, "ms10000" },
+ { 4, "ms15000" },
+ { 5, "ms20000" },
+ { 6, "ms30000" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofTCI_States_1, NULL, FALSE);
+dissect_nr_rrc_T_t311(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 7, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId_sequence_of[1] = {
- { &hf_nr_rrc_tci_StatesPDCCH_ToAddList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId },
+static const value_string nr_rrc_T_n311_01_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n3" },
+ { 3, "n4" },
+ { 4, "n5" },
+ { 5, "n6" },
+ { 6, "n8" },
+ { 7, "n10" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId, SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId_sequence_of,
- 1, maxNrofTCI_StatesPDCCH, FALSE);
+dissect_nr_rrc_T_n311_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_tci_PresentInDCI_vals[] = {
- { 0, "enabled" },
+static const value_string nr_rrc_T_t319_vals[] = {
+ { 0, "ms100" },
+ { 1, "ms200" },
+ { 2, "ms300" },
+ { 3, "ms400" },
+ { 4, "ms600" },
+ { 5, "ms1000" },
+ { 6, "ms1500" },
+ { 7, "ms2000" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_tci_PresentInDCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_t319(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
+static const per_sequence_t UE_TimersAndConstants_sequence[] = {
+ { &hf_nr_rrc_t300 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t300 },
+ { &hf_nr_rrc_t301 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t301 },
+ { &hf_nr_rrc_t310_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t310_01 },
+ { &hf_nr_rrc_n310_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n310_01 },
+ { &hf_nr_rrc_t311 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t311 },
+ { &hf_nr_rrc_n311_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n311_01 },
+ { &hf_nr_rrc_t319 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t319 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_UE_TimersAndConstants(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UE_TimersAndConstants, UE_TimersAndConstants_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_maxAccessCat_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 65535U, NULL, FALSE);
+ 1U, maxAccessCat_1, NULL, FALSE);
return offset;
}
-static const per_sequence_t ControlResourceSet_sequence[] = {
- { &hf_nr_rrc_controlResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSetId },
- { &hf_nr_rrc_frequencyDomainResources, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_45 },
- { &hf_nr_rrc_duration , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCoReSetDuration },
- { &hf_nr_rrc_cce_REG_MappingType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cce_REG_MappingType },
- { &hf_nr_rrc_precoderGranularity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_precoderGranularity },
- { &hf_nr_rrc_tci_StatesPDCCH_ToAddList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId },
- { &hf_nr_rrc_tci_StatesPDCCH_ToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId },
- { &hf_nr_rrc_tci_PresentInDCI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tci_PresentInDCI },
- { &hf_nr_rrc_pdcch_DMRS_ScramblingID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 },
+
+static int
+dissect_nr_rrc_UAC_BarringInfoSetIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxBarringInfoSet, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t UAC_BarringPerCat_sequence[] = {
+ { &hf_nr_rrc_accessCategory, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxAccessCat_1 },
+ { &hf_nr_rrc_uac_barringInfoSetIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringInfoSetIndex },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_ControlResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_UAC_BarringPerCat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ControlResourceSet, ControlResourceSet_sequence);
+ ett_nr_rrc_UAC_BarringPerCat, UAC_BarringPerCat_sequence);
return offset;
}
+static const per_sequence_t UAC_BarringPerCatList_sequence_of[1] = {
+ { &hf_nr_rrc_UAC_BarringPerCatList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringPerCat },
+};
static int
-dissect_nr_rrc_SearchSpaceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofSearchSpaces_1, NULL, FALSE);
+dissect_nr_rrc_UAC_BarringPerCatList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UAC_BarringPerCatList, UAC_BarringPerCatList_sequence_of,
+ 1, maxAccessCat_1, FALSE);
return offset;
}
@@ -9480,129 +12279,124 @@ dissect_nr_rrc_SearchSpaceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
-dissect_nr_rrc_INTEGER_0_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_1_maxPLMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 1U, NULL, FALSE);
+ 1U, maxPLMN, NULL, FALSE);
return offset;
}
+static const per_sequence_t SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex_sequence_of[1] = {
+ { &hf_nr_rrc_uac_ImplicitACBarringList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringInfoSetIndex },
+};
static int
-dissect_nr_rrc_INTEGER_0_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 7U, NULL, FALSE);
+dissect_nr_rrc_SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex, SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex_sequence_of,
+ maxAccessCat_1, maxAccessCat_1, FALSE);
return offset;
}
-static const value_string nr_rrc_T_monitoringSlotPeriodicityAndOffset_vals[] = {
- { 0, "sl1" },
- { 1, "sl2" },
- { 2, "sl4" },
- { 3, "sl5" },
- { 4, "sl8" },
- { 5, "sl10" },
- { 6, "sl16" },
- { 7, "sl20" },
- { 8, "sl40" },
- { 9, "sl80" },
- { 10, "sl160" },
- { 11, "sl320" },
- { 12, "sl640" },
- { 13, "sl1280" },
- { 14, "sl2560" },
+static const value_string nr_rrc_T_uac_ACBarringListType_vals[] = {
+ { 0, "uac-ImplicitACBarringList" },
+ { 1, "uac-ExplicitACBarringList" },
{ 0, NULL }
};
-static const per_choice_t T_monitoringSlotPeriodicityAndOffset_choice[] = {
- { 0, &hf_nr_rrc_sl1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_sl2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1 },
- { 2, &hf_nr_rrc_sl4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 },
- { 3, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
- { 4, &hf_nr_rrc_sl8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 },
- { 5, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
- { 6, &hf_nr_rrc_sl16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
- { 7, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
- { 8, &hf_nr_rrc_sl40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
- { 9, &hf_nr_rrc_sl80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
- { 10, &hf_nr_rrc_sl160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
- { 11, &hf_nr_rrc_sl320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
- { 12, &hf_nr_rrc_sl640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 },
- { 13, &hf_nr_rrc_sl1280 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1279 },
- { 14, &hf_nr_rrc_sl2560 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2559 },
+static const per_choice_t T_uac_ACBarringListType_choice[] = {
+ { 0, &hf_nr_rrc_uac_ImplicitACBarringList, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex },
+ { 1, &hf_nr_rrc_uac_ExplicitACBarringList, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UAC_BarringPerCatList },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_monitoringSlotPeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_uac_ACBarringListType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_monitoringSlotPeriodicityAndOffset, T_monitoringSlotPeriodicityAndOffset_choice,
+ ett_nr_rrc_T_uac_ACBarringListType, T_uac_ACBarringListType_choice,
NULL);
return offset;
}
+static const per_sequence_t UAC_BarringPerPLMN_sequence[] = {
+ { &hf_nr_rrc_plmn_IdentityIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxPLMN },
+ { &hf_nr_rrc_uac_ACBarringListType, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uac_ACBarringListType },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_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);
+dissect_nr_rrc_UAC_BarringPerPLMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UAC_BarringPerPLMN, UAC_BarringPerPLMN_sequence);
return offset;
}
+static const per_sequence_t UAC_BarringPerPLMN_List_sequence_of[1] = {
+ { &hf_nr_rrc_UAC_BarringPerPLMN_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringPerPLMN },
+};
static int
-dissect_nr_rrc_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);
+dissect_nr_rrc_UAC_BarringPerPLMN_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UAC_BarringPerPLMN_List, UAC_BarringPerPLMN_List_sequence_of,
+ 1, maxPLMN, FALSE);
return offset;
}
-static const value_string nr_rrc_T_aggregationLevel1_vals[] = {
- { 0, "n0" },
- { 1, "n1" },
- { 2, "n2" },
- { 3, "n3" },
- { 4, "n4" },
- { 5, "n5" },
- { 6, "n6" },
- { 7, "n8" },
+static const value_string nr_rrc_T_uac_BarringFactor_vals[] = {
+ { 0, "p00" },
+ { 1, "p05" },
+ { 2, "p10" },
+ { 3, "p15" },
+ { 4, "p20" },
+ { 5, "p25" },
+ { 6, "p30" },
+ { 7, "p40" },
+ { 8, "p50" },
+ { 9, "p60" },
+ { 10, "p70" },
+ { 11, "p75" },
+ { 12, "p80" },
+ { 13, "p85" },
+ { 14, "p90" },
+ { 15, "p95" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_aggregationLevel1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_uac_BarringFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+ 16, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_aggregationLevel2_vals[] = {
- { 0, "n0" },
- { 1, "n1" },
- { 2, "n2" },
- { 3, "n3" },
- { 4, "n4" },
- { 5, "n5" },
- { 6, "n6" },
- { 7, "n8" },
+static const value_string nr_rrc_T_uac_BarringTime_vals[] = {
+ { 0, "s4" },
+ { 1, "s8" },
+ { 2, "s16" },
+ { 3, "s32" },
+ { 4, "s64" },
+ { 5, "s128" },
+ { 6, "s256" },
+ { 7, "s512" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_aggregationLevel2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_uac_BarringTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8, NULL, FALSE, 0, NULL);
@@ -9610,160 +12404,429 @@ dissect_nr_rrc_T_aggregationLevel2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
-static const value_string nr_rrc_T_aggregationLevel4_vals[] = {
- { 0, "n0" },
- { 1, "n1" },
- { 2, "n2" },
- { 3, "n3" },
- { 4, "n4" },
- { 5, "n5" },
- { 6, "n6" },
- { 7, "n8" },
+
+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 UAC_BarringInfoSet_sequence[] = {
+ { &hf_nr_rrc_uac_BarringFactor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_uac_BarringFactor },
+ { &hf_nr_rrc_uac_BarringTime, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_uac_BarringTime },
+ { &hf_nr_rrc_uac_BarringForAccessIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_7 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UAC_BarringInfoSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UAC_BarringInfoSet, UAC_BarringInfoSet_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t UAC_BarringInfoSetList_sequence_of[1] = {
+ { &hf_nr_rrc_UAC_BarringInfoSetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringInfoSet },
+};
+
+static int
+dissect_nr_rrc_UAC_BarringInfoSetList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UAC_BarringInfoSetList, UAC_BarringInfoSetList_sequence_of,
+ 1, maxBarringInfoSet, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_UAC_AccessCategory1_SelectionAssistanceInfo_vals[] = {
+ { 0, "a" },
+ { 1, "b" },
+ { 2, "c" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_aggregationLevel4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_UAC_AccessCategory1_SelectionAssistanceInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+ 3, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_aggregationLevel8_vals[] = {
- { 0, "n0" },
- { 1, "n1" },
- { 2, "n2" },
- { 3, "n3" },
- { 4, "n4" },
- { 5, "n5" },
- { 6, "n6" },
- { 7, "n8" },
+static const per_sequence_t SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo_sequence_of[1] = {
+ { &hf_nr_rrc_individualPLMNList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_AccessCategory1_SelectionAssistanceInfo },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo, SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo_sequence_of,
+ 2, maxPLMN, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo_vals[] = {
+ { 0, "plmnCommon" },
+ { 1, "individualPLMNList" },
{ 0, NULL }
};
+static const per_choice_t T_uac_AccessCategory1_SelectionAssistanceInfo_choice[] = {
+ { 0, &hf_nr_rrc_plmnCommon , ASN1_NO_EXTENSIONS , dissect_nr_rrc_UAC_AccessCategory1_SelectionAssistanceInfo },
+ { 1, &hf_nr_rrc_individualPLMNList, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_aggregationLevel8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo, T_uac_AccessCategory1_SelectionAssistanceInfo_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_aggregationLevel16_vals[] = {
- { 0, "n0" },
- { 1, "n1" },
- { 2, "n2" },
- { 3, "n3" },
- { 4, "n4" },
- { 5, "n5" },
- { 6, "n6" },
- { 7, "n8" },
+static const per_sequence_t T_uac_BarringInfo_sequence[] = {
+ { &hf_nr_rrc_uac_BarringForCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UAC_BarringPerCatList },
+ { &hf_nr_rrc_uac_BarringPerPLMN_List, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UAC_BarringPerPLMN_List },
+ { &hf_nr_rrc_uac_BarringInfoSetList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringInfoSetList },
+ { &hf_nr_rrc_uac_AccessCategory1_SelectionAssistanceInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_uac_BarringInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_uac_BarringInfo, T_uac_BarringInfo_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_useFullResumeID_vals[] = {
+ { 0, "true" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_aggregationLevel16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_useFullResumeID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_nrofCandidates_sequence[] = {
- { &hf_nr_rrc_aggregationLevel1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel1 },
- { &hf_nr_rrc_aggregationLevel2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel2 },
- { &hf_nr_rrc_aggregationLevel4, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel4 },
- { &hf_nr_rrc_aggregationLevel8, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel8 },
- { &hf_nr_rrc_aggregationLevel16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel16 },
+static const per_sequence_t T_nonCriticalExtension_27_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_nrofCandidates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nonCriticalExtension_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_nrofCandidates, T_nrofCandidates_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_27, T_nonCriticalExtension_27_sequence);
return offset;
}
-static const per_sequence_t T_dci_Format0_0_AndFormat1_0_sequence[] = {
- { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
+static const per_sequence_t SIB1_sequence[] = {
+ { &hf_nr_rrc_cellSelectionInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cellSelectionInfo },
+ { &hf_nr_rrc_cellAccessRelatedInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellAccessRelatedInfo },
+ { &hf_nr_rrc_connEstFailureControl, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ConnEstFailureControl },
+ { &hf_nr_rrc_si_SchedulingInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SI_SchedulingInfo },
+ { &hf_nr_rrc_servingCellConfigCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfigCommonSIB },
+ { &hf_nr_rrc_ims_EmergencySupport, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ims_EmergencySupport },
+ { &hf_nr_rrc_eCallOverIMS_Support, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eCallOverIMS_Support },
+ { &hf_nr_rrc_ue_TimersAndConstants, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_TimersAndConstants },
+ { &hf_nr_rrc_uac_BarringInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uac_BarringInfo },
+ { &hf_nr_rrc_useFullResumeID, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_useFullResumeID },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_29, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_27 },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_dci_Format0_0_AndFormat1_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SIB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SIB1");
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_dci_Format0_0_AndFormat1_0, T_dci_Format0_0_AndFormat1_0_sequence);
+ ett_nr_rrc_SIB1, SIB1_sequence);
return offset;
}
-static const value_string nr_rrc_T_aggregationLevel1_01_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
+static const value_string nr_rrc_T_c1_07_vals[] = {
+ { 0, "systemInformation" },
+ { 1, "systemInformationBlockType1" },
{ 0, NULL }
};
+static const per_choice_t T_c1_07_choice[] = {
+ { 0, &hf_nr_rrc_systemInformation, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SystemInformation },
+ { 1, &hf_nr_rrc_systemInformationBlockType1, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SIB1 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_aggregationLevel1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_c1_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_c1_07, T_c1_07_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_messageClassExtension_01_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_messageClassExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_messageClassExtension_01, T_messageClassExtension_01_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_BCCH_DL_SCH_MessageType_vals[] = {
+ { 0, "c1" },
+ { 1, "messageClassExtension" },
+ { 0, NULL }
+};
+
+static const per_choice_t BCCH_DL_SCH_MessageType_choice[] = {
+ { 0, &hf_nr_rrc_c1_07 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_07 },
+ { 1, &hf_nr_rrc_messageClassExtension_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_01 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BCCH_DL_SCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BCCH_DL_SCH_MessageType, BCCH_DL_SCH_MessageType_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t BCCH_DL_SCH_Message_sequence[] = {
+ { &hf_nr_rrc_message_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BCCH_DL_SCH_MessageType },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BCCH_DL_SCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BCCH_DL_SCH_Message, BCCH_DL_SCH_Message_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_RejectWaitTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 16U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nonCriticalExtension_18_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_nonCriticalExtension_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_18, T_nonCriticalExtension_18_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RRCReject_IEs_sequence[] = {
+ { &hf_nr_rrc_waitTime , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RejectWaitTime },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_20, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_18 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCReject_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCReject_IEs, RRCReject_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_17_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_17, T_criticalExtensionsFuture_17_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_17_vals[] = {
+ { 0, "rrcReject" },
+ { 1, "criticalExtensionsFuture" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_criticalExtensions_17_choice[] = {
+ { 0, &hf_nr_rrc_rrcReject_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReject_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_17, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_17 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensions_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_17, T_criticalExtensions_17_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t RRCReject_sequence[] = {
+ { &hf_nr_rrc_criticalExtensions_17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_17 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reject");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCReject, RRCReject_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_RRC_TransactionIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 3U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_SRB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 3U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_reestablishPDCP_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_reestablishPDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_aggregationLevel2_01_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
+static const value_string nr_rrc_T_discardOnPDCP_vals[] = {
+ { 0, "true" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_aggregationLevel2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_discardOnPDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_aggregationLevel4_01_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
+static const value_string nr_rrc_T_discardTimer_vals[] = {
+ { 0, "ms10" },
+ { 1, "ms20" },
+ { 2, "ms30" },
+ { 3, "ms40" },
+ { 4, "ms50" },
+ { 5, "ms60" },
+ { 6, "ms75" },
+ { 7, "ms100" },
+ { 8, "ms150" },
+ { 9, "ms200" },
+ { 10, "ms250" },
+ { 11, "ms300" },
+ { 12, "ms500" },
+ { 13, "ms750" },
+ { 14, "ms1500" },
+ { 15, "infinity" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_aggregationLevel4_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_discardTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 16, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_aggregationLevel8_01_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
+static const value_string nr_rrc_T_pdcp_SN_SizeUL_vals[] = {
+ { 0, "len12bits" },
+ { 1, "len18bits" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_aggregationLevel8_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_pdcp_SN_SizeUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -9771,15 +12834,15 @@ dissect_nr_rrc_T_aggregationLevel8_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
}
-static const value_string nr_rrc_T_aggregationLevel16_01_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
+static const value_string nr_rrc_T_pdcp_SN_SizeDL_vals[] = {
+ { 0, "len12bits" },
+ { 1, "len18bits" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_aggregationLevel16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_pdcp_SN_SizeDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -9787,297 +12850,468 @@ dissect_nr_rrc_T_aggregationLevel16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_c
}
-static const per_sequence_t T_nrofCandidates_SFI_sequence[] = {
- { &hf_nr_rrc_aggregationLevel1_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel1_01 },
- { &hf_nr_rrc_aggregationLevel2_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel2_01 },
- { &hf_nr_rrc_aggregationLevel4_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel4_01 },
- { &hf_nr_rrc_aggregationLevel8_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel8_01 },
- { &hf_nr_rrc_aggregationLevel16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel16_01 },
+
+static int
+dissect_nr_rrc_INTEGER_1_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 16383U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_profiles_sequence[] = {
+ { &hf_nr_rrc_profile0x0001, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_profile0x0002, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_profile0x0003, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_profile0x0004, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_profile0x0006, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_profile0x0101, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_profile0x0102, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_profile0x0103, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_profile0x0104, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_nrofCandidates_SFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_profiles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_nrofCandidates_SFI, T_nrofCandidates_SFI_sequence);
+ ett_nr_rrc_T_profiles, T_profiles_sequence);
return offset;
}
-static const per_sequence_t T_dci_Format2_0_sequence[] = {
- { &hf_nr_rrc_nrofCandidates_SFI, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCandidates_SFI },
+static const value_string nr_rrc_T_drb_ContinueROHC_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_drb_ContinueROHC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_rohc_sequence[] = {
+ { &hf_nr_rrc_maxCID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_16383 },
+ { &hf_nr_rrc_profiles , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_profiles },
+ { &hf_nr_rrc_drb_ContinueROHC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_drb_ContinueROHC },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_dci_Format2_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_rohc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_dci_Format2_0, T_dci_Format2_0_sequence);
+ ett_nr_rrc_T_rohc, T_rohc_sequence);
return offset;
}
-static const per_sequence_t T_dci_Format2_1_sequence[] = {
- { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
+static const per_sequence_t T_profiles_01_sequence[] = {
+ { &hf_nr_rrc_profile0x0006, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_dci_Format2_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_profiles_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_dci_Format2_1, T_dci_Format2_1_sequence);
+ ett_nr_rrc_T_profiles_01, T_profiles_01_sequence);
return offset;
}
-static const per_sequence_t T_dci_Format2_2_sequence[] = {
- { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
+static const value_string nr_rrc_T_drb_ContinueROHC_01_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_T_dci_Format2_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_drb_ContinueROHC_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_uplinkOnlyROHC_sequence[] = {
+ { &hf_nr_rrc_maxCID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_16383 },
+ { &hf_nr_rrc_profiles_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_profiles_01 },
+ { &hf_nr_rrc_drb_ContinueROHC_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_drb_ContinueROHC_01 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_uplinkOnlyROHC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_dci_Format2_2, T_dci_Format2_2_sequence);
+ ett_nr_rrc_T_uplinkOnlyROHC, T_uplinkOnlyROHC_sequence);
return offset;
}
-static const value_string nr_rrc_T_monitoringPeriodicity_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
- { 2, "n4" },
- { 3, "n5" },
- { 4, "n8" },
- { 5, "n10" },
- { 6, "n16" },
- { 7, "n20" },
+static const value_string nr_rrc_T_headerCompression_vals[] = {
+ { 0, "notUsed" },
+ { 1, "rohc" },
+ { 2, "uplinkOnlyROHC" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_headerCompression_choice[] = {
+ { 0, &hf_nr_rrc_notUsed , ASN1_EXTENSION_ROOT , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_rohc , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_rohc },
+ { 2, &hf_nr_rrc_uplinkOnlyROHC, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_uplinkOnlyROHC },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_headerCompression(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_headerCompression, T_headerCompression_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_integrityProtection_vals[] = {
+ { 0, "enabled" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_monitoringPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_integrityProtection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_nrofPDCCH_Candidates_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
+static const value_string nr_rrc_T_statusReportRequired_vals[] = {
+ { 0, "true" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_nrofPDCCH_Candidates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_statusReportRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_dci_Format2_3_sequence[] = {
- { &hf_nr_rrc_monitoringPeriodicity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_monitoringPeriodicity },
- { &hf_nr_rrc_nrofPDCCH_Candidates, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPDCCH_Candidates },
+static const value_string nr_rrc_T_outOfOrderDelivery_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_outOfOrderDelivery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_drb_sequence[] = {
+ { &hf_nr_rrc_discardTimer , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_discardTimer },
+ { &hf_nr_rrc_pdcp_SN_SizeUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_SN_SizeUL },
+ { &hf_nr_rrc_pdcp_SN_SizeDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_SN_SizeDL },
+ { &hf_nr_rrc_headerCompression, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_headerCompression },
+ { &hf_nr_rrc_integrityProtection, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_integrityProtection },
+ { &hf_nr_rrc_statusReportRequired, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_statusReportRequired },
+ { &hf_nr_rrc_outOfOrderDelivery, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_outOfOrderDelivery },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_dci_Format2_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_drb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_dci_Format2_3, T_dci_Format2_3_sequence);
+ ett_nr_rrc_T_drb, T_drb_sequence);
return offset;
}
-static const per_sequence_t T_common_sequence[] = {
- { &hf_nr_rrc_dci_Format0_0_AndFormat1_0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format0_0_AndFormat1_0 },
- { &hf_nr_rrc_dci_Format2_0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_0 },
- { &hf_nr_rrc_dci_Format2_1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_1 },
- { &hf_nr_rrc_dci_Format2_2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_2 },
- { &hf_nr_rrc_dci_Format2_3, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_3 },
+
+static int
+dissect_nr_rrc_CellGroupId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxSecondaryCellGroups, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_LogicalChannelIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxLC_ID, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_primaryPath_sequence[] = {
+ { &hf_nr_rrc_cellGroup , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellGroupId },
+ { &hf_nr_rrc_logicalChannel, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_LogicalChannelIdentity },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_common(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_primaryPath(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_common, T_common_sequence);
+ ett_nr_rrc_T_primaryPath, T_primaryPath_sequence);
return offset;
}
-static const value_string nr_rrc_T_dci_Formats_vals[] = {
- { 0, "formats0-0-And-1-0" },
- { 1, "formats0-1-And-1-1" },
+static const value_string nr_rrc_UL_DataSplitThreshold_vals[] = {
+ { 0, "b0" },
+ { 1, "b100" },
+ { 2, "b200" },
+ { 3, "b400" },
+ { 4, "b800" },
+ { 5, "b1600" },
+ { 6, "b3200" },
+ { 7, "b6400" },
+ { 8, "b12800" },
+ { 9, "b25600" },
+ { 10, "b51200" },
+ { 11, "b102400" },
+ { 12, "b204800" },
+ { 13, "b409600" },
+ { 14, "b819200" },
+ { 15, "b1228800" },
+ { 16, "b1638400" },
+ { 17, "b2457600" },
+ { 18, "b3276800" },
+ { 19, "b4096000" },
+ { 20, "b4915200" },
+ { 21, "b5734400" },
+ { 22, "b6553600" },
+ { 23, "infinity" },
+ { 24, "spare8" },
+ { 25, "spare7" },
+ { 26, "spare6" },
+ { 27, "spare5" },
+ { 28, "spare4" },
+ { 29, "spare3" },
+ { 30, "spare2" },
+ { 31, "spare1" },
{ 0, NULL }
};
+static value_string_ext nr_rrc_UL_DataSplitThreshold_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_UL_DataSplitThreshold_vals);
+
static int
-dissect_nr_rrc_T_dci_Formats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_UL_DataSplitThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 32, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_ue_Specific_sequence[] = {
- { &hf_nr_rrc_dci_Formats , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dci_Formats },
+static const per_sequence_t T_moreThanOneRLC_sequence[] = {
+ { &hf_nr_rrc_primaryPath , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_primaryPath },
+ { &hf_nr_rrc_ul_DataSplitThreshold, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UL_DataSplitThreshold },
+ { &hf_nr_rrc_pdcp_Duplication, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_ue_Specific(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_moreThanOneRLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_ue_Specific, T_ue_Specific_sequence);
+ ett_nr_rrc_T_moreThanOneRLC, T_moreThanOneRLC_sequence);
return offset;
}
-static const value_string nr_rrc_T_searchSpaceType_vals[] = {
- { 0, "common" },
- { 1, "ue-Specific" },
+static const value_string nr_rrc_T_t_Reordering_vals[] = {
+ { 0, "ms0" },
+ { 1, "ms1" },
+ { 2, "ms2" },
+ { 3, "ms4" },
+ { 4, "ms5" },
+ { 5, "ms8" },
+ { 6, "ms10" },
+ { 7, "ms15" },
+ { 8, "ms20" },
+ { 9, "ms30" },
+ { 10, "ms40" },
+ { 11, "ms50" },
+ { 12, "ms60" },
+ { 13, "ms80" },
+ { 14, "ms100" },
+ { 15, "ms120" },
+ { 16, "ms140" },
+ { 17, "ms160" },
+ { 18, "ms180" },
+ { 19, "ms200" },
+ { 20, "ms220" },
+ { 21, "ms240" },
+ { 22, "ms260" },
+ { 23, "ms280" },
+ { 24, "ms300" },
+ { 25, "ms500" },
+ { 26, "ms750" },
+ { 27, "ms1000" },
+ { 28, "ms1250" },
+ { 29, "ms1500" },
+ { 30, "ms1750" },
+ { 31, "ms2000" },
+ { 32, "ms2250" },
+ { 33, "ms2500" },
+ { 34, "ms2750" },
+ { 35, "ms3000" },
+ { 36, "spare28" },
+ { 37, "spare27" },
+ { 38, "spare26" },
+ { 39, "spare25" },
+ { 40, "spare24" },
+ { 41, "spare23" },
+ { 42, "spare22" },
+ { 43, "spare21" },
+ { 44, "spare20" },
+ { 45, "spare19" },
+ { 46, "spare18" },
+ { 47, "spare17" },
+ { 48, "spare16" },
+ { 49, "spare15" },
+ { 50, "spare14" },
+ { 51, "spare13" },
+ { 52, "spare12" },
+ { 53, "spare11" },
+ { 54, "spare10" },
+ { 55, "spare09" },
+ { 56, "spare08" },
+ { 57, "spare07" },
+ { 58, "spare06" },
+ { 59, "spare05" },
+ { 60, "spare04" },
+ { 61, "spare03" },
+ { 62, "spare02" },
+ { 63, "spare01" },
{ 0, NULL }
};
-static const per_choice_t T_searchSpaceType_choice[] = {
- { 0, &hf_nr_rrc_common , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_common },
- { 1, &hf_nr_rrc_ue_Specific , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_ue_Specific },
- { 0, NULL, 0, NULL }
-};
+static value_string_ext nr_rrc_T_t_Reordering_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_t_Reordering_vals);
+
static int
-dissect_nr_rrc_T_searchSpaceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_searchSpaceType, T_searchSpaceType_choice,
- NULL);
+dissect_nr_rrc_T_t_Reordering(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 64, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t SearchSpace_sequence[] = {
- { &hf_nr_rrc_searchSpaceId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceId },
- { &hf_nr_rrc_controlResourceSetId, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ControlResourceSetId },
- { &hf_nr_rrc_monitoringSlotPeriodicityAndOffset, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_monitoringSlotPeriodicityAndOffset },
- { &hf_nr_rrc_duration_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_2559 },
- { &hf_nr_rrc_monitoringSymbolsWithinSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_14 },
- { &hf_nr_rrc_nrofCandidates, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofCandidates },
- { &hf_nr_rrc_searchSpaceType, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceType },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_cipheringDisabled_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_SearchSpace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SearchSpace, SearchSpace_sequence);
+dissect_nr_rrc_T_cipheringDisabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_4_OF_SearchSpace_sequence_of[1] = {
- { &hf_nr_rrc_commonSearchSpace_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpace },
+static const per_sequence_t PDCP_Config_eag_1_sequence[] = {
+ { &hf_nr_rrc_cipheringDisabled, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cipheringDisabled },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace, SEQUENCE_SIZE_1_4_OF_SearchSpace_sequence_of,
- 1, 4, FALSE);
+dissect_nr_rrc_PDCP_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCP_Config_eag_1_sequence);
return offset;
}
-static const per_sequence_t PDCCH_ConfigCommon_sequence[] = {
- { &hf_nr_rrc_controlResourceSetZero, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 },
- { &hf_nr_rrc_commonControlResourceSet, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ControlResourceSet },
- { &hf_nr_rrc_searchSpaceZero, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 },
- { &hf_nr_rrc_commonSearchSpace, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace },
- { &hf_nr_rrc_searchSpaceSIB1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId },
- { &hf_nr_rrc_searchSpaceOtherSystemInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId },
- { &hf_nr_rrc_pagingSearchSpace, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId },
- { &hf_nr_rrc_ra_SearchSpace, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId },
+static const per_sequence_t PDCP_Config_sequence[] = {
+ { &hf_nr_rrc_drb , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_drb },
+ { &hf_nr_rrc_moreThanOneRLC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_moreThanOneRLC },
+ { &hf_nr_rrc_t_Reordering , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_t_Reordering },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCP_Config_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PDCCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PDCP_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PDCCH_ConfigCommon, PDCCH_ConfigCommon_sequence);
+ ett_nr_rrc_PDCP_Config, PDCP_Config_sequence);
return offset;
}
-static const per_sequence_t T_nonCriticalExtension_08_sequence[] = {
+static const per_sequence_t SRB_ToAddMod_sequence[] = {
+ { &hf_nr_rrc_srb_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRB_Identity },
+ { &hf_nr_rrc_reestablishPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reestablishPDCP },
+ { &hf_nr_rrc_discardOnPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_discardOnPDCP },
+ { &hf_nr_rrc_pdcp_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PDCP_Config },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_nonCriticalExtension_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SRB_ToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_nonCriticalExtension_08, T_nonCriticalExtension_08_sequence);
+ ett_nr_rrc_SRB_ToAddMod, SRB_ToAddMod_sequence);
return offset;
}
-static const per_sequence_t SIB1_sequence[] = {
- { &hf_nr_rrc_frequencyOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyOffsetSSB },
- { &hf_nr_rrc_ssb_PositionsInBurst, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ssb_PositionsInBurst },
- { &hf_nr_rrc_ssb_PeriodicityServingCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ssb_PeriodicityServingCell },
- { &hf_nr_rrc_ss_PBCH_BlockPower, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M60_50 },
- { &hf_nr_rrc_uplinkConfigCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfigCommon },
- { &hf_nr_rrc_supplementaryUplink, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_supplementaryUplink },
- { &hf_nr_rrc_tdd_UL_DL_Configuration, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigCommon },
- { &hf_nr_rrc_tdd_UL_DL_configurationCommon2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigCommon },
- { &hf_nr_rrc_pdcch_ConfigCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PDCCH_ConfigCommon },
- { &hf_nr_rrc_pucch_ConfigCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_ConfigCommon },
- { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
- { &hf_nr_rrc_nonCriticalExtension_08, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_08 },
- { NULL, 0, 0, NULL }
+static const per_sequence_t SRB_ToAddModList_sequence_of[1] = {
+ { &hf_nr_rrc_SRB_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRB_ToAddMod },
};
static int
-dissect_nr_rrc_SIB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SIB1, SIB1_sequence);
+dissect_nr_rrc_SRB_ToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SRB_ToAddModList, SRB_ToAddModList_sequence_of,
+ 1, 2, FALSE);
return offset;
}
-static const value_string nr_rrc_Alpha_vals[] = {
- { 0, "alpha0" },
- { 1, "alpha04" },
- { 2, "alpha05" },
- { 3, "alpha06" },
- { 4, "alpha07" },
- { 5, "alpha08" },
- { 6, "alpha09" },
- { 7, "alpha1" },
+static const value_string nr_rrc_T_srb3_ToRelease_vals[] = {
+ { 0, "true" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_Alpha(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_srb3_ToRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
@@ -10085,168 +13319,300 @@ dissect_nr_rrc_Alpha(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
static int
-dissect_nr_rrc_BWP_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PDU_SessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofBWPs, NULL, FALSE);
+ 0U, 255U, NULL, FALSE);
return offset;
}
+static const value_string nr_rrc_T_sdap_HeaderDL_vals[] = {
+ { 0, "present" },
+ { 1, "absent" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_PUCCH_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofPUCCH_ResourceSets_1, NULL, FALSE);
+dissect_nr_rrc_T_sdap_HeaderDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
+static const value_string nr_rrc_T_sdap_HeaderUL_vals[] = {
+ { 0, "present" },
+ { 1, "absent" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_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_T_sdap_HeaderUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_QFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofPUCCH_Resources_1, NULL, FALSE);
+ 0U, maxQFI, NULL, FALSE);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId_sequence_of[1] = {
- { &hf_nr_rrc_resourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI_sequence_of[1] = {
+ { &hf_nr_rrc_mappedQoS_FlowsToAdd_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QFI },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_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_maxNrofQFIs_OF_QFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId_sequence_of,
- 1, maxNrofPUCCH_ResourcesPerSet, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI, SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI_sequence_of,
+ 1, maxNrofQFIs, FALSE);
return offset;
}
+static const per_sequence_t SDAP_Config_sequence[] = {
+ { &hf_nr_rrc_pdu_Session , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDU_SessionID },
+ { &hf_nr_rrc_sdap_HeaderDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sdap_HeaderDL },
+ { &hf_nr_rrc_sdap_HeaderUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sdap_HeaderUL },
+ { &hf_nr_rrc_defaultDRB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_mappedQoS_FlowsToAdd, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI },
+ { &hf_nr_rrc_mappedQoS_FlowsToRelease, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_4_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SDAP_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SDAP_Config, SDAP_Config_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_cnAssociation_vals[] = {
+ { 0, "eps-BearerIdentity" },
+ { 1, "sdap-Config" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_cnAssociation_choice[] = {
+ { 0, &hf_nr_rrc_eps_BearerIdentity, ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
+ { 1, &hf_nr_rrc_sdap_Config , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SDAP_Config },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_cnAssociation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_cnAssociation, T_cnAssociation_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_DRB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 4U, 256U, NULL, FALSE);
+ 1U, 32U, NULL, FALSE);
return offset;
}
-static const per_sequence_t PUCCH_ResourceSet_sequence[] = {
- { &hf_nr_rrc_pucch_ResourceSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceSetId },
- { &hf_nr_rrc_resourceList , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId },
- { &hf_nr_rrc_maxPayloadMinus1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_4_256 },
+static const value_string nr_rrc_T_reestablishPDCP_01_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_reestablishPDCP_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_recoverPDCP_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_recoverPDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t DRB_ToAddMod_sequence[] = {
+ { &hf_nr_rrc_cnAssociation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cnAssociation },
+ { &hf_nr_rrc_drb_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity },
+ { &hf_nr_rrc_reestablishPDCP_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reestablishPDCP_01 },
+ { &hf_nr_rrc_recoverPDCP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_recoverPDCP },
+ { &hf_nr_rrc_pdcp_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PDCP_Config },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PUCCH_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_DRB_ToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PUCCH_ResourceSet, PUCCH_ResourceSet_sequence);
+ ett_nr_rrc_DRB_ToAddMod, DRB_ToAddMod_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet_sequence_of[1] = {
- { &hf_nr_rrc_resourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceSet },
+static const per_sequence_t DRB_ToAddModList_sequence_of[1] = {
+ { &hf_nr_rrc_DRB_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_ToAddMod },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_DRB_ToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet_sequence_of,
- 1, maxNrofPUCCH_ResourceSets, FALSE);
+ ett_nr_rrc_DRB_ToAddModList, DRB_ToAddModList_sequence_of,
+ 1, maxDRB, FALSE);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId_sequence_of[1] = {
- { &hf_nr_rrc_resourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceSetId },
+static const per_sequence_t DRB_ToReleaseList_sequence_of[1] = {
+ { &hf_nr_rrc_DRB_ToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_DRB_ToReleaseList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId_sequence_of,
- 1, maxNrofPUCCH_ResourceSets, FALSE);
+ ett_nr_rrc_DRB_ToReleaseList, DRB_ToReleaseList_sequence_of,
+ 1, maxDRB, FALSE);
return offset;
}
+static const value_string nr_rrc_CipheringAlgorithm_vals[] = {
+ { 0, "nea0" },
+ { 1, "nea1" },
+ { 2, "nea2" },
+ { 3, "nea3" },
+ { 4, "spare4" },
+ { 5, "spare3" },
+ { 6, "spare2" },
+ { 7, "spare1" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_PRB_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofPhysicalResourceBlocks_1, NULL, FALSE);
+dissect_nr_rrc_CipheringAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, TRUE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_intraSlotFrequencyHopping_vals[] = {
- { 0, "enabled" },
+static const value_string nr_rrc_IntegrityProtAlgorithm_vals[] = {
+ { 0, "nia0" },
+ { 1, "nia1" },
+ { 2, "nia2" },
+ { 3, "nia3" },
+ { 4, "spare4" },
+ { 5, "spare3" },
+ { 6, "spare2" },
+ { 7, "spare1" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_intraSlotFrequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_IntegrityProtAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 8, NULL, TRUE, 0, NULL);
return offset;
}
+static const per_sequence_t SecurityAlgorithmConfig_sequence[] = {
+ { &hf_nr_rrc_cipheringAlgorithm, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CipheringAlgorithm },
+ { &hf_nr_rrc_integrityProtAlgorithm, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_IntegrityProtAlgorithm },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 11U, NULL, FALSE);
+dissect_nr_rrc_SecurityAlgorithmConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SecurityAlgorithmConfig, SecurityAlgorithmConfig_sequence);
return offset;
}
+static const value_string nr_rrc_T_keyToUse_vals[] = {
+ { 0, "master" },
+ { 1, "secondary" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_INTEGER_1_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 2U, NULL, FALSE);
+dissect_nr_rrc_T_keyToUse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t PUCCH_format0_sequence[] = {
- { &hf_nr_rrc_initialCyclicShift, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 },
- { &hf_nr_rrc_nrofSymbols , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
- { &hf_nr_rrc_startingSymbolIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
+static const per_sequence_t SecurityConfig_sequence[] = {
+ { &hf_nr_rrc_securityAlgorithmConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SecurityAlgorithmConfig },
+ { &hf_nr_rrc_keyToUse , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_keyToUse },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PUCCH_format0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SecurityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PUCCH_format0, PUCCH_format0_sequence);
+ ett_nr_rrc_SecurityConfig, SecurityConfig_sequence);
return offset;
}
+static const per_sequence_t RadioBearerConfig_sequence[] = {
+ { &hf_nr_rrc_srb_ToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SRB_ToAddModList },
+ { &hf_nr_rrc_srb3_ToRelease, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srb3_ToRelease },
+ { &hf_nr_rrc_drb_ToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_DRB_ToAddModList },
+ { &hf_nr_rrc_drb_ToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_DRB_ToReleaseList },
+ { &hf_nr_rrc_securityConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SecurityConfig },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_4_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 4U, 14U, NULL, FALSE);
+dissect_nr_rrc_RadioBearerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RadioBearerConfig, RadioBearerConfig_sequence);
return offset;
}
@@ -10254,408 +13620,584 @@ dissect_nr_rrc_INTEGER_4_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
-dissect_nr_rrc_INTEGER_0_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 10U, NULL, FALSE);
+dissect_nr_rrc_T_masterCellGroup_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_CellGroupConfig_PDU);
return offset;
}
+static const per_sequence_t T_nonCriticalExtension_22_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 6U, NULL, FALSE);
+dissect_nr_rrc_T_nonCriticalExtension_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_22, T_nonCriticalExtension_22_sequence);
return offset;
}
-static const per_sequence_t PUCCH_format1_sequence[] = {
- { &hf_nr_rrc_initialCyclicShift, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 },
- { &hf_nr_rrc_nrofSymbols_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_14 },
- { &hf_nr_rrc_startingSymbolIndex_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10 },
- { &hf_nr_rrc_timeDomainOCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_6 },
+static const per_sequence_t RRCSetup_IEs_sequence[] = {
+ { &hf_nr_rrc_radioBearerConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RadioBearerConfig },
+ { &hf_nr_rrc_masterCellGroup_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_masterCellGroup_02 },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_24, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_22 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PUCCH_format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_RRCSetup_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PUCCH_format1, PUCCH_format1_sequence);
+ ett_nr_rrc_RRCSetup_IEs, RRCSetup_IEs_sequence);
return offset;
}
-static const per_sequence_t PUCCH_format2_sequence[] = {
- { &hf_nr_rrc_nrofPRBs_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
- { &hf_nr_rrc_nrofSymbols , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
- { &hf_nr_rrc_startingSymbolIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
+static const per_sequence_t T_criticalExtensionsFuture_21_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PUCCH_format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensionsFuture_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PUCCH_format2, PUCCH_format2_sequence);
+ ett_nr_rrc_T_criticalExtensionsFuture_21, T_criticalExtensionsFuture_21_sequence);
return offset;
}
-static const per_sequence_t PUCCH_format3_sequence[] = {
- { &hf_nr_rrc_nrofPRBs_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
- { &hf_nr_rrc_nrofSymbols_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_14 },
- { &hf_nr_rrc_startingSymbolIndex_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10 },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_criticalExtensions_21_vals[] = {
+ { 0, "rrcSetup" },
+ { 1, "criticalExtensionsFuture" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_criticalExtensions_21_choice[] = {
+ { 0, &hf_nr_rrc_rrcSetup_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCSetup_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_21, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_21 },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_PUCCH_format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PUCCH_format3, PUCCH_format3_sequence);
+dissect_nr_rrc_T_criticalExtensions_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_21, T_criticalExtensions_21_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_occ_Length_vals[] = {
- { 0, "n2" },
- { 1, "n4" },
- { 0, NULL }
+static const per_sequence_t RRCSetup_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_21, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_21 },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_occ_Length(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_RRCSetup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCSetup, RRCSetup_sequence);
return offset;
}
-static const value_string nr_rrc_T_occ_Index_vals[] = {
- { 0, "n0" },
- { 1, "n1" },
- { 2, "n2" },
- { 3, "n3" },
+static const value_string nr_rrc_T_c1_08_vals[] = {
+ { 0, "rrcReject" },
+ { 1, "rrcSetup" },
+ { 2, "spare2" },
+ { 3, "spare1" },
{ 0, NULL }
};
+static const per_choice_t T_c1_08_choice[] = {
+ { 0, &hf_nr_rrc_rrcReject , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReject },
+ { 1, &hf_nr_rrc_rrcSetup , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCSetup },
+ { 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 3, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_occ_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_c1_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_c1_08, T_c1_08_choice,
+ NULL);
return offset;
}
-static const per_sequence_t PUCCH_format4_sequence[] = {
- { &hf_nr_rrc_nrofSymbols_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_14 },
- { &hf_nr_rrc_occ_Length , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_occ_Length },
- { &hf_nr_rrc_occ_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_occ_Index },
- { &hf_nr_rrc_startingSymbolIndex_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10 },
+static const per_sequence_t T_messageClassExtension_02_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PUCCH_format4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_messageClassExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PUCCH_format4, PUCCH_format4_sequence);
+ ett_nr_rrc_T_messageClassExtension_02, T_messageClassExtension_02_sequence);
return offset;
}
-static const value_string nr_rrc_T_format_vals[] = {
- { 0, "format0" },
- { 1, "format1" },
- { 2, "format2" },
- { 3, "format3" },
- { 4, "format4" },
+static const value_string nr_rrc_DL_CCCH_MessageType_vals[] = {
+ { 0, "c1" },
+ { 1, "messageClassExtension" },
{ 0, NULL }
};
-static const per_choice_t T_format_choice[] = {
- { 0, &hf_nr_rrc_format0 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format0 },
- { 1, &hf_nr_rrc_format1_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format1 },
- { 2, &hf_nr_rrc_format2_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format2 },
- { 3, &hf_nr_rrc_format3_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format3 },
- { 4, &hf_nr_rrc_format4_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format4 },
+static const per_choice_t DL_CCCH_MessageType_choice[] = {
+ { 0, &hf_nr_rrc_c1_08 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_08 },
+ { 1, &hf_nr_rrc_messageClassExtension_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_02 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_format(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_DL_CCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_format, T_format_choice,
+ ett_nr_rrc_DL_CCCH_MessageType, DL_CCCH_MessageType_choice,
NULL);
return offset;
}
-static const per_sequence_t PUCCH_Resource_sequence[] = {
- { &hf_nr_rrc_pucch_ResourceId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
- { &hf_nr_rrc_startingPRB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PRB_Id },
- { &hf_nr_rrc_intraSlotFrequencyHopping, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraSlotFrequencyHopping },
- { &hf_nr_rrc_secondHopPRB , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PRB_Id },
- { &hf_nr_rrc_format , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_format },
+static const per_sequence_t DL_CCCH_Message_sequence[] = {
+ { &hf_nr_rrc_message_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_CCCH_MessageType },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PUCCH_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_DL_CCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ actx->pinfo->link_dir = P2P_DIR_DL;
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PUCCH_Resource, PUCCH_Resource_sequence);
+ ett_nr_rrc_DL_CCCH_Message, DL_CCCH_Message_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource_sequence_of[1] = {
- { &hf_nr_rrc_resourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Resource },
+
+static int
+dissect_nr_rrc_T_secondaryCellGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_CellGroupConfig_PDU);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_MeasObjectId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxNrofObjectId, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasObjectToRemoveList_sequence_of[1] = {
+ { &hf_nr_rrc_MeasObjectToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasObjectToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource, SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource_sequence_of,
- 1, maxNrofPUCCH_Resources, FALSE);
+ ett_nr_rrc_MeasObjectToRemoveList, MeasObjectToRemoveList_sequence_of,
+ 1, maxNrofObjectId, FALSE);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId_sequence_of[1] = {
- { &hf_nr_rrc_resourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
+static 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_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+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_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId, SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId_sequence_of,
- 1, maxNrofPUCCH_Resources, FALSE);
+ 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_interslotFrequencyHopping_vals[] = {
- { 0, "enabled" },
+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_interslotFrequencyHopping(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_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);
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_additionalDMRS_vals[] = {
- { 0, "true" },
- { 0, NULL }
+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_T_additionalDMRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_SSB_MTC2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SSB_MTC2, SSB_MTC2_sequence);
return offset;
}
-static const value_string nr_rrc_PUCCH_MaxCodeRate_vals[] = {
- { 0, "zeroDot08" },
- { 1, "zeroDot15" },
- { 2, "zeroDot25" },
- { 3, "zeroDot35" },
- { 4, "zeroDot45" },
- { 5, "zeroDot60" },
- { 6, "zeroDot80" },
+static const value_string nr_rrc_T_ssb_ToMeasure_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
+static const per_choice_t T_ssb_ToMeasure_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_27 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_ToMeasure },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_PUCCH_MaxCodeRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 7, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_ssb_ToMeasure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_ssb_ToMeasure, T_ssb_ToMeasure_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_nrofSlots_vals[] = {
- { 0, "n2" },
- { 1, "n4" },
- { 2, "n8" },
+static const per_sequence_t SSB_ConfigMobility_sequence[] = {
+ { &hf_nr_rrc_ssb_ToMeasure_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_ToMeasure },
+ { &hf_nr_rrc_deriveSSB_IndexFromCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_ss_RSSI_Measurement, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SS_RSSI_Measurement },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_SSB_ConfigMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SSB_ConfigMobility, SSB_ConfigMobility_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_nrofPRBs_vals[] = {
+ { 0, "size24" },
+ { 1, "size48" },
+ { 2, "size96" },
+ { 3, "size192" },
+ { 4, "size264" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_nrofSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nrofPRBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+ 5, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_pi2BPSK_vals[] = {
- { 0, "enabled" },
+
+static int
+dissect_nr_rrc_INTEGER_0_2169(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 2169U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_csi_rs_MeasurementBW_sequence[] = {
+ { &hf_nr_rrc_nrofPRBs , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPRBs },
+ { &hf_nr_rrc_startPRB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2169 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_csi_rs_MeasurementBW(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_csi_rs_MeasurementBW, T_csi_rs_MeasurementBW_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_density_vals[] = {
+ { 0, "d1" },
+ { 1, "d3" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_pi2BPSK(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,
- 1, NULL, FALSE, 0, NULL);
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_simultaneousHARQ_ACK_CSI_vals[] = {
- { 0, "true" },
+static const value_string nr_rrc_T_slotConfig_vals[] = {
+ { 0, "ms4" },
+ { 1, "ms5" },
+ { 2, "ms10" },
+ { 3, "ms20" },
+ { 4, "ms40" },
{ 0, NULL }
};
+static const per_choice_t T_slotConfig_choice[] = {
+ { 0, &hf_nr_rrc_ms4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 },
+ { 1, &hf_nr_rrc_ms5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
+ { 2, &hf_nr_rrc_ms10_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
+ { 3, &hf_nr_rrc_ms20_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
+ { 4, &hf_nr_rrc_ms40_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_simultaneousHARQ_ACK_CSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_slotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_slotConfig, T_slotConfig_choice,
+ NULL);
return offset;
}
-static const per_sequence_t PUCCH_FormatConfig_sequence[] = {
- { &hf_nr_rrc_interslotFrequencyHopping, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interslotFrequencyHopping },
- { &hf_nr_rrc_additionalDMRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_additionalDMRS },
- { &hf_nr_rrc_maxCodeRate , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_MaxCodeRate },
- { &hf_nr_rrc_nrofSlots , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofSlots },
- { &hf_nr_rrc_pi2BPSK , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pi2BPSK },
- { &hf_nr_rrc_simultaneousHARQ_ACK_CSI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousHARQ_ACK_CSI },
+static const per_sequence_t T_associatedSSB_sequence[] = {
+ { &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
+ { &hf_nr_rrc_isQuasiColocated, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PUCCH_FormatConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_associatedSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PUCCH_FormatConfig, PUCCH_FormatConfig_sequence);
+ ett_nr_rrc_T_associatedSSB, T_associatedSSB_sequence);
return offset;
}
-static const value_string nr_rrc_T_format1_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 12, 12, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_frequencyDomainAllocation_vals[] = {
+ { 0, "row1" },
+ { 1, "row2" },
{ 0, NULL }
};
-static const per_choice_t T_format1_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_36 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig },
+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_format1(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_format1, T_format1_choice,
+ ett_nr_rrc_T_frequencyDomainAllocation, T_frequencyDomainAllocation_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_format2_vals[] = {
- { 0, "release" },
- { 1, "setup" },
- { 0, NULL }
+
+static int
+dissect_nr_rrc_INTEGER_0_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 13U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t CSI_RS_Resource_Mobility_sequence[] = {
+ { &hf_nr_rrc_csi_RS_Index , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Index },
+ { &hf_nr_rrc_slotConfig , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_slotConfig },
+ { &hf_nr_rrc_associatedSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_associatedSSB },
+ { &hf_nr_rrc_frequencyDomainAllocation_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_frequencyDomainAllocation },
+ { &hf_nr_rrc_firstOFDMSymbolInTimeDomain, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
+ { &hf_nr_rrc_sequenceGenerationConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 },
+ { NULL, 0, 0, NULL }
};
-static const per_choice_t T_format2_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_36 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig },
- { 0, NULL, 0, NULL }
+static int
+dissect_nr_rrc_CSI_RS_Resource_Mobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CSI_RS_Resource_Mobility, CSI_RS_Resource_Mobility_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility_sequence_of[1] = {
+ { &hf_nr_rrc_csi_rs_ResourceList_Mobility_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Resource_Mobility },
};
static int
-dissect_nr_rrc_T_format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_format2, T_format2_choice,
- NULL);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility, SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility_sequence_of,
+ 1, maxNrofCSI_RS_ResourcesRRM, FALSE);
return offset;
}
-static const value_string nr_rrc_T_format3_vals[] = {
- { 0, "release" },
- { 1, "setup" },
- { 0, NULL }
+static const per_sequence_t CSI_RS_CellMobility_sequence[] = {
+ { &hf_nr_rrc_cellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
+ { &hf_nr_rrc_csi_rs_MeasurementBW, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_rs_MeasurementBW },
+ { &hf_nr_rrc_density , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_density },
+ { &hf_nr_rrc_csi_rs_ResourceList_Mobility, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility },
+ { NULL, 0, 0, NULL }
};
-static const per_choice_t T_format3_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_36 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig },
- { 0, NULL, 0, NULL }
+static int
+dissect_nr_rrc_CSI_RS_CellMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CSI_RS_CellMobility, CSI_RS_CellMobility_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility_sequence_of[1] = {
+ { &hf_nr_rrc_csi_RS_CellList_Mobility_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_CellMobility },
};
static int
-dissect_nr_rrc_T_format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_format3, T_format3_choice,
- NULL);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility, SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility_sequence_of,
+ 1, maxNrofCSI_RS_CellsRRM, FALSE);
return offset;
}
-static const value_string nr_rrc_T_format4_vals[] = {
+static const per_sequence_t CSI_RS_ResourceConfigMobility_eag_1_sequence[] = {
+ { &hf_nr_rrc_refServCellIndex_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_CSI_RS_ResourceConfigMobility_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_RS_ResourceConfigMobility_eag_1_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t CSI_RS_ResourceConfigMobility_sequence[] = {
+ { &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
+ { &hf_nr_rrc_csi_RS_CellList_Mobility, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_ResourceConfigMobility_eag_1 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_CSI_RS_ResourceConfigMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CSI_RS_ResourceConfigMobility, CSI_RS_ResourceConfigMobility_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_csi_rs_ResourceConfigMobility_vals[] = {
{ 0, "release" },
{ 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_format4_choice[] = {
+static const per_choice_t T_csi_rs_ResourceConfigMobility_choice[] = {
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_36 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig },
+ { 1, &hf_nr_rrc_setup_26 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_RS_ResourceConfigMobility },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_format4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_csi_rs_ResourceConfigMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_format4, T_format4_choice,
+ ett_nr_rrc_T_csi_rs_ResourceConfigMobility, T_csi_rs_ResourceConfigMobility_choice,
NULL);
return offset;
}
+static const per_sequence_t ReferenceSignalConfig_sequence[] = {
+ { &hf_nr_rrc_ssb_ConfigMobility, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_ConfigMobility },
+ { &hf_nr_rrc_csi_rs_ResourceConfigMobility, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_rs_ResourceConfigMobility },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_SchedulingRequestResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_ReferenceSignalConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ReferenceSignalConfig, ReferenceSignalConfig_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_2_maxNrofCSI_RS_ResourcesToAverage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxNrofSR_Resources, NULL, FALSE);
+ 2U, maxNrofCSI_RS_ResourcesToAverage, NULL, FALSE);
return offset;
}
@@ -10663,233 +14205,385 @@ dissect_nr_rrc_SchedulingRequestResourceId(tvbuff_t *tvb _U_, int offset _U_, as
static int
-dissect_nr_rrc_SchedulingRequestId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_INTEGER_1_maxNrofQuantityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 7U, NULL, FALSE);
+ 1U, maxNrofQuantityConfig, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_T_periodicityAndOffset_vals[] = {
- { 0, "sym2" },
- { 1, "sym6or7" },
- { 2, "sl1" },
- { 3, "sl2" },
- { 4, "sl4" },
- { 5, "sl5" },
- { 6, "sl8" },
- { 7, "sl10" },
- { 8, "sl16" },
- { 9, "sl20" },
- { 10, "sl40" },
- { 11, "sl80" },
- { 12, "sl160" },
- { 13, "sl320" },
- { 14, "sl640" },
- { 0, NULL }
+static const per_sequence_t Q_OffsetRangeList_sequence[] = {
+ { &hf_nr_rrc_rsrpOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
+ { &hf_nr_rrc_rsrqOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
+ { &hf_nr_rrc_sinrOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
+ { &hf_nr_rrc_rsrpOffsetCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
+ { &hf_nr_rrc_rsrqOffsetCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
+ { &hf_nr_rrc_sinrOffsetCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
+ { NULL, 0, 0, NULL }
};
-static const per_choice_t T_periodicityAndOffset_choice[] = {
- { 0, &hf_nr_rrc_sym2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_sym6or7 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 2, &hf_nr_rrc_sl1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 3, &hf_nr_rrc_sl2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1 },
- { 4, &hf_nr_rrc_sl4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 },
- { 5, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
- { 6, &hf_nr_rrc_sl8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 },
- { 7, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
- { 8, &hf_nr_rrc_sl16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
- { 9, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
- { 10, &hf_nr_rrc_sl40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
- { 11, &hf_nr_rrc_sl80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
- { 12, &hf_nr_rrc_sl160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
- { 13, &hf_nr_rrc_sl320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
- { 14, &hf_nr_rrc_sl640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 },
- { 0, NULL, 0, NULL }
+static int
+dissect_nr_rrc_Q_OffsetRangeList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_Q_OffsetRangeList, Q_OffsetRangeList_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PCI_List_sequence_of[1] = {
+ { &hf_nr_rrc_PCI_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
};
static int
-dissect_nr_rrc_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);
+dissect_nr_rrc_PCI_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PCI_List, PCI_List_sequence_of,
+ 1, maxNrofCellMeas, FALSE);
return offset;
}
-static const per_sequence_t SchedulingRequestResourceConfig_sequence[] = {
- { &hf_nr_rrc_schedulingRequestResourceId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceId },
- { &hf_nr_rrc_schedulingRequestID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestId },
- { &hf_nr_rrc_periodicityAndOffset_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_periodicityAndOffset },
- { &hf_nr_rrc_resource_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_ResourceId },
+static const per_sequence_t CellsToAddMod_sequence[] = {
+ { &hf_nr_rrc_physCellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
+ { &hf_nr_rrc_cellIndividualOffset_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRangeList },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SchedulingRequestResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CellsToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SchedulingRequestResourceConfig, SchedulingRequestResourceConfig_sequence);
+ ett_nr_rrc_CellsToAddMod, CellsToAddMod_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_sequence_of[1] = {
- { &hf_nr_rrc_schedulingRequestResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceConfig },
+static const per_sequence_t CellsToAddModList_sequence_of[1] = {
+ { &hf_nr_rrc_CellsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellsToAddMod },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_CellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig, SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_sequence_of,
- 1, maxNrofSR_Resources, FALSE);
+ ett_nr_rrc_CellsToAddModList, CellsToAddModList_sequence_of,
+ 1, maxNrofCellMeas, FALSE);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId_sequence_of[1] = {
- { &hf_nr_rrc_schedulingRequestResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceId },
+
+static int
+dissect_nr_rrc_PCI_RangeIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxNrofPCI_Ranges, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PCI_RangeIndexList_sequence_of[1] = {
+ { &hf_nr_rrc_PCI_RangeIndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_RangeIndex },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PCI_RangeIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId, SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId_sequence_of,
- 1, maxNrofSR_Resources, FALSE);
+ ett_nr_rrc_PCI_RangeIndexList, PCI_RangeIndexList_sequence_of,
+ 1, maxNrofPCI_Ranges, FALSE);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId_sequence_of[1] = {
- { &hf_nr_rrc_multi_CSI_PUCCH_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
+static 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_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId, SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId_sequence_of,
- 1, 2, FALSE);
+dissect_nr_rrc_PCI_RangeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PCI_RangeElement, PCI_RangeElement_sequence);
return offset;
}
-static const per_sequence_t T_dl_DataToUL_ACK_sequence_of[1] = {
- { &hf_nr_rrc_dl_DataToUL_ACK_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
+static 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_T_dl_DataToUL_ACK(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_T_dl_DataToUL_ACK, T_dl_DataToUL_ACK_sequence_of,
- 1, 8, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement, SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement_sequence_of,
+ 1, maxNrofPCI_Ranges, FALSE);
return offset;
}
+static const value_string nr_rrc_T_measCycleSCell_v1530_vals[] = {
+ { 0, "sf160" },
+ { 1, "sf256" },
+ { 2, "sf320" },
+ { 3, "sf512" },
+ { 4, "sf640" },
+ { 5, "sf1024" },
+ { 6, "sf1280" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_PUCCH_SpatialRelationInfoId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxNrofSpatialRelationInfos, NULL, FALSE);
+dissect_nr_rrc_T_measCycleSCell_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 7, NULL, FALSE, 0, NULL);
return offset;
}
+static const per_sequence_t MeasObjectNR_eag_1_sequence[] = {
+ { &hf_nr_rrc_freqBandIndicatorNR_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqBandIndicatorNR },
+ { &hf_nr_rrc_measCycleSCell_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_measCycleSCell_v1530 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_NZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofNZP_CSI_RS_Resources_1, NULL, FALSE);
+dissect_nr_rrc_MeasObjectNR_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasObjectNR_eag_1_sequence);
return offset;
}
+static const per_sequence_t MeasObjectNR_sequence[] = {
+ { &hf_nr_rrc_ssbFrequency , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
+ { &hf_nr_rrc_ssbSubcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing },
+ { &hf_nr_rrc_smtc1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC },
+ { &hf_nr_rrc_smtc2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC2 },
+ { &hf_nr_rrc_refFreqCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
+ { &hf_nr_rrc_referenceSignalConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReferenceSignalConfig },
+ { &hf_nr_rrc_absThreshSS_BlocksConsolidation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ThresholdNR },
+ { &hf_nr_rrc_absThreshCSI_RS_Consolidation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ThresholdNR },
+ { &hf_nr_rrc_nrofSS_BlocksToAverage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage },
+ { &hf_nr_rrc_nrofCSI_RS_ResourcesToAverage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_maxNrofCSI_RS_ResourcesToAverage },
+ { &hf_nr_rrc_quantityConfigIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofQuantityConfig },
+ { &hf_nr_rrc_offsetMO , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRangeList },
+ { &hf_nr_rrc_cellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PCI_List },
+ { &hf_nr_rrc_cellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CellsToAddModList },
+ { &hf_nr_rrc_blackCellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PCI_RangeIndexList },
+ { &hf_nr_rrc_blackCellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement },
+ { &hf_nr_rrc_whiteCellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PCI_RangeIndexList },
+ { &hf_nr_rrc_whiteCellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectNR_eag_1 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasObjectNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasObjectNR, MeasObjectNR_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_EUTRA_CellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofSRS_Resources_1, NULL, FALSE);
+ 1U, maxCellMeasEUTRA, NULL, FALSE);
return offset;
}
-static const per_sequence_t T_srs_sequence[] = {
- { &hf_nr_rrc_resource , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
- { &hf_nr_rrc_uplinkBWP , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
+static const per_sequence_t EUTRA_CellIndexList_sequence_of[1] = {
+ { &hf_nr_rrc_EUTRA_CellIndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_CellIndex },
+};
+
+static int
+dissect_nr_rrc_EUTRA_CellIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_EUTRA_CellIndexList, EUTRA_CellIndexList_sequence_of,
+ 1, maxCellMeasEUTRA, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t EUTRA_Cell_sequence[] = {
+ { &hf_nr_rrc_cellIndexEUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_CellIndex },
+ { &hf_nr_rrc_physCellId_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId },
+ { &hf_nr_rrc_cellIndividualOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_Q_OffsetRange },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_srs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_EUTRA_Cell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_srs, T_srs_sequence);
+ ett_nr_rrc_EUTRA_Cell, EUTRA_Cell_sequence);
return offset;
}
-static const value_string nr_rrc_T_referenceSignal_vals[] = {
- { 0, "ssb-Index" },
- { 1, "csi-RS-Index" },
- { 2, "srs" },
+static const per_sequence_t SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell_sequence_of[1] = {
+ { &hf_nr_rrc_cellsToAddModListEUTRAN_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_Cell },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell, SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell_sequence_of,
+ 1, maxCellMeasEUTRA, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t EUTRA_BlackCell_sequence[] = {
+ { &hf_nr_rrc_cellIndexEUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_CellIndex },
+ { &hf_nr_rrc_physCellIdRange, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellIdRange },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_EUTRA_BlackCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_EUTRA_BlackCell, EUTRA_BlackCell_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_BlackCell_sequence_of[1] = {
+ { &hf_nr_rrc_blackCellsToAddModListEUTRAN_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_BlackCell },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_BlackCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_BlackCell, SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_BlackCell_sequence_of,
+ 1, maxCellMeasEUTRA, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasObjectEUTRA_sequence[] = {
+ { &hf_nr_rrc_carrierFreq_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
+ { &hf_nr_rrc_allowedMeasBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_AllowedMeasBandwidth },
+ { &hf_nr_rrc_cellsToRemoveListEUTRAN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_CellIndexList },
+ { &hf_nr_rrc_cellsToAddModListEUTRAN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell },
+ { &hf_nr_rrc_blackCellsToRemoveListEUTRAN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_CellIndexList },
+ { &hf_nr_rrc_blackCellsToAddModListEUTRAN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_BlackCell },
+ { &hf_nr_rrc_eutra_PresenceAntennaPort1, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PresenceAntennaPort1 },
+ { &hf_nr_rrc_eutra_Q_OffsetRange, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_Q_OffsetRange },
+ { &hf_nr_rrc_widebandRSRQ_Meas, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MeasObjectEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasObjectEUTRA, MeasObjectEUTRA_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_measObject_vals[] = {
+ { 0, "measObjectNR" },
+ { 1, "measObjectEUTRA" },
{ 0, NULL }
};
-static const per_choice_t T_referenceSignal_choice[] = {
- { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
- { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
- { 2, &hf_nr_rrc_srs , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_srs },
+static const per_choice_t T_measObject_choice[] = {
+ { 0, &hf_nr_rrc_measObjectNR , ASN1_EXTENSION_ROOT , dissect_nr_rrc_MeasObjectNR },
+ { 1, &hf_nr_rrc_measObjectEUTRA, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_MeasObjectEUTRA },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_referenceSignal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_measObject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_referenceSignal, T_referenceSignal_choice,
+ ett_nr_rrc_T_measObject, T_measObject_choice,
NULL);
return offset;
}
+static const per_sequence_t MeasObjectToAddMod_sequence[] = {
+ { &hf_nr_rrc_measObjectId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId },
+ { &hf_nr_rrc_measObject , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measObject },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofPUCCH_PathlossReferenceRSs_1, NULL, FALSE);
+dissect_nr_rrc_MeasObjectToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasObjectToAddMod, MeasObjectToAddMod_sequence);
return offset;
}
+static const per_sequence_t MeasObjectToAddModList_sequence_of[1] = {
+ { &hf_nr_rrc_MeasObjectToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectToAddMod },
+};
static int
-dissect_nr_rrc_P0_PUCCH_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasObjectToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasObjectToAddModList, MeasObjectToAddModList_sequence_of,
+ 1, maxNrofObjectId, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_ReportConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 8U, NULL, FALSE);
+ 1U, maxReportConfigId, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_T_closedLoopIndex_vals[] = {
- { 0, "i0" },
- { 1, "i1" },
+static const per_sequence_t ReportConfigToRemoveList_sequence_of[1] = {
+ { &hf_nr_rrc_ReportConfigToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId },
+};
+
+static int
+dissect_nr_rrc_ReportConfigToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ReportConfigToRemoveList, ReportConfigToRemoveList_sequence_of,
+ 1, maxReportConfigId, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_NR_RS_Type_vals[] = {
+ { 0, "ssb" },
+ { 1, "csi-rs" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_closedLoopIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_NR_RS_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -10897,48 +14591,133 @@ 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 },
- { &hf_nr_rrc_closedLoopIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_closedLoopIndex },
+static const value_string nr_rrc_ReportInterval_vals[] = {
+ { 0, "ms120" },
+ { 1, "ms240" },
+ { 2, "ms480" },
+ { 3, "ms640" },
+ { 4, "ms1024" },
+ { 5, "ms2048" },
+ { 6, "ms5120" },
+ { 7, "ms10240" },
+ { 8, "ms20480" },
+ { 9, "ms40960" },
+ { 10, "min1" },
+ { 11, "min6" },
+ { 12, "min12" },
+ { 13, "min30" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_ReportInterval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 14, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_reportAmount_03_vals[] = {
+ { 0, "r1" },
+ { 1, "r2" },
+ { 2, "r4" },
+ { 3, "r8" },
+ { 4, "r16" },
+ { 5, "r32" },
+ { 6, "r64" },
+ { 7, "infinity" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_reportAmount_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasReportQuantity_sequence[] = {
+ { &hf_nr_rrc_rsrp_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_rsrq_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_sinr_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PUCCH_SpatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasReportQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PUCCH_SpatialRelationInfo, PUCCH_SpatialRelationInfo_sequence);
+ ett_nr_rrc_MeasReportQuantity, MeasReportQuantity_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo_sequence_of[1] = {
- { &hf_nr_rrc_spatialRelationInfoToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfo },
+
+static int
+dissect_nr_rrc_INTEGER_1_maxCellReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxCellReport, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxNrofIndexesToReport, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PeriodicalReportConfig_sequence[] = {
+ { &hf_nr_rrc_rsType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_RS_Type },
+ { &hf_nr_rrc_reportInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
+ { &hf_nr_rrc_reportAmount_03, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_03 },
+ { &hf_nr_rrc_reportQuantityCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity },
+ { &hf_nr_rrc_maxReportCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport },
+ { &hf_nr_rrc_reportQuantityRsIndexes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasReportQuantity },
+ { &hf_nr_rrc_maxNrofRsIndexesToReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport },
+ { &hf_nr_rrc_includeBeamMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_useWhiteCellList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo_sequence_of,
- 1, maxNrofSpatialRelationInfos, FALSE);
+dissect_nr_rrc_PeriodicalReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PeriodicalReportConfig, PeriodicalReportConfig_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId_sequence_of[1] = {
- { &hf_nr_rrc_spatialRelationInfoToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfoId },
+static const value_string nr_rrc_MeasTriggerQuantity_vals[] = {
+ { 0, "rsrp" },
+ { 1, "rsrq" },
+ { 2, "sinr" },
+ { 0, NULL }
+};
+
+static const per_choice_t MeasTriggerQuantity_choice[] = {
+ { 0, &hf_nr_rrc_rsrp , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRP_Range },
+ { 1, &hf_nr_rrc_rsrq , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRQ_Range },
+ { 2, &hf_nr_rrc_sinr , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SINR_Range },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId_sequence_of,
- 1, maxNrofSpatialRelationInfos, FALSE);
+dissect_nr_rrc_MeasTriggerQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasTriggerQuantity, MeasTriggerQuantity_choice,
+ NULL);
return offset;
}
@@ -10946,102 +14725,245 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelat
static int
-dissect_nr_rrc_INTEGER_M16_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_Hysteresis(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- -16, 15U, NULL, FALSE);
+ 0U, 30U, NULL, FALSE);
return offset;
}
-static const per_sequence_t P0_PUCCH_sequence[] = {
- { &hf_nr_rrc_p0_PUCCH_Id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUCCH_Id },
- { &hf_nr_rrc_p0_PUCCH_Value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M16_15 },
+static const value_string nr_rrc_TimeToTrigger_vals[] = {
+ { 0, "ms0" },
+ { 1, "ms40" },
+ { 2, "ms64" },
+ { 3, "ms80" },
+ { 4, "ms100" },
+ { 5, "ms128" },
+ { 6, "ms160" },
+ { 7, "ms256" },
+ { 8, "ms320" },
+ { 9, "ms480" },
+ { 10, "ms512" },
+ { 11, "ms640" },
+ { 12, "ms1024" },
+ { 13, "ms1280" },
+ { 14, "ms2560" },
+ { 15, "ms5120" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_TimeToTrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 16, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_eventA1_sequence[] = {
+ { &hf_nr_rrc_a1_Threshold , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
+ { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
+ { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_P0_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_eventA1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_P0_PUCCH, P0_PUCCH_sequence);
+ ett_nr_rrc_T_eventA1, T_eventA1_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH_sequence_of[1] = {
- { &hf_nr_rrc_p0_Set_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUCCH },
+static const per_sequence_t T_eventA2_sequence[] = {
+ { &hf_nr_rrc_a2_Threshold , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
+ { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
+ { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH, SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH_sequence_of,
- 1, maxNrofPUCCH_P0_PerSet, FALSE);
+dissect_nr_rrc_T_eventA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_eventA2, T_eventA2_sequence);
return offset;
}
-static const value_string nr_rrc_T_referenceSignal_01_vals[] = {
- { 0, "ssb-Index" },
- { 1, "csi-RS-Index" },
+
+static int
+dissect_nr_rrc_INTEGER_M30_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ -30, 30U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_MeasTriggerQuantityOffset_vals[] = {
+ { 0, "rsrp" },
+ { 1, "rsrq" },
+ { 2, "sinr" },
{ 0, NULL }
};
-static const per_choice_t T_referenceSignal_01_choice[] = {
- { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
- { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+static const per_choice_t MeasTriggerQuantityOffset_choice[] = {
+ { 0, &hf_nr_rrc_rsrp_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M30_30 },
+ { 1, &hf_nr_rrc_rsrq_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M30_30 },
+ { 2, &hf_nr_rrc_sinr_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M30_30 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_referenceSignal_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasTriggerQuantityOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_referenceSignal_01, T_referenceSignal_01_choice,
+ ett_nr_rrc_MeasTriggerQuantityOffset, MeasTriggerQuantityOffset_choice,
NULL);
return offset;
}
-static const per_sequence_t PUCCH_PathlossReferenceRS_sequence[] = {
- { &hf_nr_rrc_pucch_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id },
- { &hf_nr_rrc_referenceSignal_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_01 },
+static const per_sequence_t T_eventA3_sequence[] = {
+ { &hf_nr_rrc_a3_Offset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityOffset },
+ { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
+ { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
+ { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PUCCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_eventA3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PUCCH_PathlossReferenceRS, PUCCH_PathlossReferenceRS_sequence);
+ ett_nr_rrc_T_eventA3, T_eventA3_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS_sequence_of[1] = {
- { &hf_nr_rrc_pathlossReferenceRSs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS },
+static const per_sequence_t T_eventA4_sequence[] = {
+ { &hf_nr_rrc_a4_Threshold , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
+ { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
+ { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
+ { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS, SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS_sequence_of,
- 1, maxNrofPUCCH_PathlossReferenceRSs, FALSE);
+dissect_nr_rrc_T_eventA4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_eventA4, T_eventA4_sequence);
return offset;
}
-static const value_string nr_rrc_T_twoPUCCH_PC_AdjustmentStates_vals[] = {
- { 0, "twoStates" },
+static const per_sequence_t T_eventA5_sequence[] = {
+ { &hf_nr_rrc_a5_Threshold1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
+ { &hf_nr_rrc_a5_Threshold2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
+ { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
+ { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
+ { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_eventA5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_eventA5, T_eventA5_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_eventA6_sequence[] = {
+ { &hf_nr_rrc_a6_Offset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityOffset },
+ { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
+ { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
+ { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_eventA6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_eventA6, T_eventA6_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_eventId_01_vals[] = {
+ { 0, "eventA1" },
+ { 1, "eventA2" },
+ { 2, "eventA3" },
+ { 3, "eventA4" },
+ { 4, "eventA5" },
+ { 5, "eventA6" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_eventId_01_choice[] = {
+ { 0, &hf_nr_rrc_eventA1 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA1 },
+ { 1, &hf_nr_rrc_eventA2 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA2 },
+ { 2, &hf_nr_rrc_eventA3 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA3 },
+ { 3, &hf_nr_rrc_eventA4 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA4 },
+ { 4, &hf_nr_rrc_eventA5 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA5 },
+ { 5, &hf_nr_rrc_eventA6 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA6 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_eventId_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_eventId_01, T_eventId_01_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_reportAmount_02_vals[] = {
+ { 0, "r1" },
+ { 1, "r2" },
+ { 2, "r4" },
+ { 3, "r8" },
+ { 4, "r16" },
+ { 5, "r32" },
+ { 6, "r64" },
+ { 7, "infinity" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_twoPUCCH_PC_AdjustmentStates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_reportAmount_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_reportAddNeighMeas_vals[] = {
+ { 0, "setup" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_reportAddNeighMeas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -11049,144 +14971,370 @@ dissect_nr_rrc_T_twoPUCCH_PC_AdjustmentStates(tvbuff_t *tvb _U_, int offset _U_,
}
-static const per_sequence_t PUCCH_PowerControl_sequence[] = {
- { &hf_nr_rrc_deltaF_PUCCH_f0, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
- { &hf_nr_rrc_deltaF_PUCCH_f1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
- { &hf_nr_rrc_deltaF_PUCCH_f2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
- { &hf_nr_rrc_deltaF_PUCCH_f3, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
- { &hf_nr_rrc_deltaF_PUCCH_f4, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
- { &hf_nr_rrc_p0_Set , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH },
- { &hf_nr_rrc_pathlossReferenceRSs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS },
- { &hf_nr_rrc_twoPUCCH_PC_AdjustmentStates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_PC_AdjustmentStates },
+static const per_sequence_t EventTriggerConfig_sequence[] = {
+ { &hf_nr_rrc_eventId_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eventId_01 },
+ { &hf_nr_rrc_rsType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_RS_Type },
+ { &hf_nr_rrc_reportInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
+ { &hf_nr_rrc_reportAmount_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_02 },
+ { &hf_nr_rrc_reportQuantityCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity },
+ { &hf_nr_rrc_maxReportCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport },
+ { &hf_nr_rrc_reportQuantityRsIndexes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasReportQuantity },
+ { &hf_nr_rrc_maxNrofRSIndexesToReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport },
+ { &hf_nr_rrc_includeBeamMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_reportAddNeighMeas, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reportAddNeighMeas },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PUCCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_EventTriggerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PUCCH_PowerControl, PUCCH_PowerControl_sequence);
+ ett_nr_rrc_EventTriggerConfig, EventTriggerConfig_sequence);
return offset;
}
-static const per_sequence_t PUCCH_Config_sequence[] = {
- { &hf_nr_rrc_resourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet },
- { &hf_nr_rrc_resourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId },
- { &hf_nr_rrc_resourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource },
- { &hf_nr_rrc_resourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId },
- { &hf_nr_rrc_format1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format1 },
- { &hf_nr_rrc_format2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format2 },
- { &hf_nr_rrc_format3 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format3 },
- { &hf_nr_rrc_format4 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format4 },
- { &hf_nr_rrc_schedulingRequestResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig },
- { &hf_nr_rrc_schedulingRequestResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId },
- { &hf_nr_rrc_multi_CSI_PUCCH_ResourceList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId },
- { &hf_nr_rrc_dl_DataToUL_ACK, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_DataToUL_ACK },
- { &hf_nr_rrc_spatialRelationInfoToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo },
- { &hf_nr_rrc_spatialRelationInfoToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId },
- { &hf_nr_rrc_pucch_PowerControl, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_PowerControl },
+static const per_sequence_t ReportCGI_sequence[] = {
+ { &hf_nr_rrc_cellForWhichToReportCGI_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PUCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_ReportCGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PUCCH_Config, PUCCH_Config_sequence);
+ ett_nr_rrc_ReportCGI, ReportCGI_sequence);
return offset;
}
-static const value_string nr_rrc_T_pucch_Config_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const value_string nr_rrc_T_reportType_01_vals[] = {
+ { 0, "periodical" },
+ { 1, "eventTriggered" },
+ { 2, "reportCGI" },
{ 0, NULL }
};
-static const per_choice_t T_pucch_Config_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_04 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_Config },
+static const per_choice_t T_reportType_01_choice[] = {
+ { 0, &hf_nr_rrc_periodical_01, ASN1_EXTENSION_ROOT , dissect_nr_rrc_PeriodicalReportConfig },
+ { 1, &hf_nr_rrc_eventTriggered_01, ASN1_EXTENSION_ROOT , dissect_nr_rrc_EventTriggerConfig },
+ { 2, &hf_nr_rrc_reportCGI_01 , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_ReportCGI },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_pucch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_reportType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_pucch_Config, T_pucch_Config_choice,
+ ett_nr_rrc_T_reportType_01, T_reportType_01_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_txConfig_vals[] = {
- { 0, "codebook" },
- { 1, "nonCodebook" },
+static const per_sequence_t ReportConfigNR_sequence[] = {
+ { &hf_nr_rrc_reportType_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportType_01 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_ReportConfigNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ReportConfigNR, ReportConfigNR_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_reportAmount_01_vals[] = {
+ { 0, "r1" },
+ { 1, "r2" },
+ { 2, "r4" },
+ { 3, "r8" },
+ { 4, "r16" },
+ { 5, "r32" },
+ { 6, "r64" },
+ { 7, "infinity" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_txConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_reportAmount_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_dmrs_Type_01_vals[] = {
- { 0, "type2" },
+static const per_sequence_t PeriodicalReportConfigInterRAT_sequence[] = {
+ { &hf_nr_rrc_reportInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
+ { &hf_nr_rrc_reportAmount_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_01 },
+ { &hf_nr_rrc_reportQuantity_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity },
+ { &hf_nr_rrc_maxReportCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PeriodicalReportConfigInterRAT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PeriodicalReportConfigInterRAT, PeriodicalReportConfigInterRAT_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_RSRP_RangeEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 97U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_RSRQ_RangeEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 34U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_SINR_RangeEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 127U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_MeasTriggerQuantityEUTRA_vals[] = {
+ { 0, "rsrp" },
+ { 1, "rsrq" },
+ { 2, "sinr" },
{ 0, NULL }
};
+static const per_choice_t MeasTriggerQuantityEUTRA_choice[] = {
+ { 0, &hf_nr_rrc_rsrp_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRP_RangeEUTRA },
+ { 1, &hf_nr_rrc_rsrq_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRQ_RangeEUTRA },
+ { 2, &hf_nr_rrc_sinr_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SINR_RangeEUTRA },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_dmrs_Type_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_MeasTriggerQuantityEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasTriggerQuantityEUTRA, MeasTriggerQuantityEUTRA_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_dmrs_AdditionalPosition_01_vals[] = {
- { 0, "pos0" },
- { 1, "pos1" },
- { 2, "pos3" },
+static const per_sequence_t T_eventB1_sequence[] = {
+ { &hf_nr_rrc_b1_ThresholdEUTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityEUTRA },
+ { &hf_nr_rrc_reportOnLeave, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_hysteresis , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
+ { &hf_nr_rrc_timeToTrigger, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_eventB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_eventB1, T_eventB1_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_eventB2_sequence[] = {
+ { &hf_nr_rrc_b2_Threshold1, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
+ { &hf_nr_rrc_b2_Threshold2EUTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityEUTRA },
+ { &hf_nr_rrc_reportOnLeave, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_hysteresis , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
+ { &hf_nr_rrc_timeToTrigger, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_eventB2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_eventB2, T_eventB2_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_eventId_vals[] = {
+ { 0, "eventB1" },
+ { 1, "eventB2" },
{ 0, NULL }
};
+static const per_choice_t T_eventId_choice[] = {
+ { 0, &hf_nr_rrc_eventB1 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventB1 },
+ { 1, &hf_nr_rrc_eventB2 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventB2 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_dmrs_AdditionalPosition_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_eventId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_eventId, T_eventId_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_reportAmount_vals[] = {
+ { 0, "r1" },
+ { 1, "r2" },
+ { 2, "r4" },
+ { 3, "r8" },
+ { 4, "r16" },
+ { 5, "r32" },
+ { 6, "r64" },
+ { 7, "infinity" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_reportAmount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
+static const per_sequence_t EventTriggerConfigInterRAT_sequence[] = {
+ { &hf_nr_rrc_eventId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eventId },
+ { &hf_nr_rrc_rsType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_RS_Type },
+ { &hf_nr_rrc_reportInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
+ { &hf_nr_rrc_reportAmount , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount },
+ { &hf_nr_rrc_reportQuantity_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity },
+ { &hf_nr_rrc_maxReportCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_1_276(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 276U, NULL, FALSE);
+dissect_nr_rrc_EventTriggerConfigInterRAT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_EventTriggerConfigInterRAT, EventTriggerConfigInterRAT_sequence);
return offset;
}
-static const per_sequence_t T_frequencyDensity_01_sequence_of[1] = {
- { &hf_nr_rrc_frequencyDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
+static const per_sequence_t ReportCGI_EUTRA_sequence[] = {
+ { &hf_nr_rrc_cellForWhichToReportCGI, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_frequencyDensity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_ReportCGI_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ReportCGI_EUTRA, ReportCGI_EUTRA_sequence);
+
+ return offset;
+}
+
+
+static const 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_PeriodicalReportConfigInterRAT },
+ { 1, &hf_nr_rrc_eventTriggered, ASN1_EXTENSION_ROOT , dissect_nr_rrc_EventTriggerConfigInterRAT },
+ { 2, &hf_nr_rrc_reportCGI , ASN1_EXTENSION_ROOT , dissect_nr_rrc_ReportCGI_EUTRA },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_reportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_reportType, T_reportType_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t ReportConfigInterRAT_sequence[] = {
+ { &hf_nr_rrc_reportType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportType },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_ReportConfigInterRAT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ReportConfigInterRAT, ReportConfigInterRAT_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_reportConfig_vals[] = {
+ { 0, "reportConfigNR" },
+ { 1, "reportConfigInterRAT" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_reportConfig_choice[] = {
+ { 0, &hf_nr_rrc_reportConfigNR, ASN1_EXTENSION_ROOT , dissect_nr_rrc_ReportConfigNR },
+ { 1, &hf_nr_rrc_reportConfigInterRAT, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_ReportConfigInterRAT },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_reportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_reportConfig, T_reportConfig_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t ReportConfigToAddMod_sequence[] = {
+ { &hf_nr_rrc_reportConfigId_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId },
+ { &hf_nr_rrc_reportConfig , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportConfig },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_ReportConfigToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ReportConfigToAddMod, ReportConfigToAddMod_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ReportConfigToAddModList_sequence_of[1] = {
+ { &hf_nr_rrc_ReportConfigToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigToAddMod },
+};
+
+static int
+dissect_nr_rrc_ReportConfigToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_frequencyDensity_01, T_frequencyDensity_01_sequence_of,
- 2, 2, FALSE);
+ ett_nr_rrc_ReportConfigToAddModList, ReportConfigToAddModList_sequence_of,
+ 1, maxReportConfigId, FALSE);
return offset;
}
@@ -11194,224 +15342,424 @@ dissect_nr_rrc_T_frequencyDensity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
static int
-dissect_nr_rrc_INTEGER_0_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 29U, NULL, FALSE);
+ 1U, maxNrofMeasId, NULL, FALSE);
return offset;
}
-static const per_sequence_t T_timeDensity_01_sequence_of[1] = {
- { &hf_nr_rrc_timeDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
+static const per_sequence_t MeasIdToRemoveList_sequence_of[1] = {
+ { &hf_nr_rrc_MeasIdToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
};
static int
-dissect_nr_rrc_T_timeDensity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasIdToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_timeDensity_01, T_timeDensity_01_sequence_of,
- 3, 3, FALSE);
+ ett_nr_rrc_MeasIdToRemoveList, MeasIdToRemoveList_sequence_of,
+ 1, maxNrofMeasId, FALSE);
return offset;
}
-static const value_string nr_rrc_T_maxNrofPorts_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
- { 0, NULL }
+static const per_sequence_t MeasIdToAddMod_sequence[] = {
+ { &hf_nr_rrc_measId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
+ { &hf_nr_rrc_measObjectId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId },
+ { &hf_nr_rrc_reportConfigId_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId },
+ { NULL, 0, 0, NULL }
};
+static int
+dissect_nr_rrc_MeasIdToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasIdToAddMod, MeasIdToAddMod_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasIdToAddModList_sequence_of[1] = {
+ { &hf_nr_rrc_MeasIdToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasIdToAddMod },
+};
static int
-dissect_nr_rrc_T_maxNrofPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_MeasIdToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasIdToAddModList, MeasIdToAddModList_sequence_of,
+ 1, maxNrofMeasId, FALSE);
return offset;
}
-static const value_string nr_rrc_T_resourceElementOffset_01_vals[] = {
- { 0, "offset01" },
- { 1, "offset10" },
- { 2, "offset11" },
+static const value_string nr_rrc_T_s_MeasureConfig_vals[] = {
+ { 0, "ssb-RSRP" },
+ { 1, "csi-RSRP" },
{ 0, NULL }
};
+static const per_choice_t T_s_MeasureConfig_choice[] = {
+ { 0, &hf_nr_rrc_ssb_RSRP , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRP_Range },
+ { 1, &hf_nr_rrc_csi_RSRP , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRP_Range },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_resourceElementOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_s_MeasureConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_s_MeasureConfig, T_s_MeasureConfig_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_ptrs_Power_vals[] = {
- { 0, "p00" },
- { 1, "p01" },
- { 2, "p10" },
- { 3, "p11" },
+static const value_string nr_rrc_FilterCoefficient_vals[] = {
+ { 0, "fc0" },
+ { 1, "fc1" },
+ { 2, "fc2" },
+ { 3, "fc3" },
+ { 4, "fc4" },
+ { 5, "fc5" },
+ { 6, "fc6" },
+ { 7, "fc7" },
+ { 8, "fc8" },
+ { 9, "fc9" },
+ { 10, "fc11" },
+ { 11, "fc13" },
+ { 12, "fc15" },
+ { 13, "fc17" },
+ { 14, "fc19" },
+ { 15, "spare1" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_ptrs_Power(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_FilterCoefficient(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+ 16, NULL, TRUE, 0, NULL);
return offset;
}
-static const per_sequence_t T_cp_OFDM_sequence[] = {
- { &hf_nr_rrc_frequencyDensity_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyDensity_01 },
- { &hf_nr_rrc_timeDensity_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDensity_01 },
- { &hf_nr_rrc_maxNrofPorts , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNrofPorts },
- { &hf_nr_rrc_resourceElementOffset_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_resourceElementOffset_01 },
- { &hf_nr_rrc_ptrs_Power , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ptrs_Power },
+static const per_sequence_t FilterConfig_sequence[] = {
+ { &hf_nr_rrc_filterCoefficientRSRP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient },
+ { &hf_nr_rrc_filterCoefficientRSRQ, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient },
+ { &hf_nr_rrc_filterCoefficientRS_SINR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_cp_OFDM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_FilterConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_cp_OFDM, T_cp_OFDM_sequence);
+ ett_nr_rrc_FilterConfig, FilterConfig_sequence);
return offset;
}
-static const per_sequence_t T_sampleDensity_sequence_of[1] = {
- { &hf_nr_rrc_sampleDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
+static const per_sequence_t QuantityConfigRS_sequence[] = {
+ { &hf_nr_rrc_ssb_FilterConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FilterConfig },
+ { &hf_nr_rrc_cs_RS_FilterConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FilterConfig },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_sampleDensity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_sampleDensity, T_sampleDensity_sequence_of,
- 5, 5, FALSE);
+dissect_nr_rrc_QuantityConfigRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_QuantityConfigRS, QuantityConfigRS_sequence);
return offset;
}
-static const value_string nr_rrc_T_timeDensityTransformPrecoding_vals[] = {
- { 0, "d2" },
- { 0, NULL }
+static const per_sequence_t QuantityConfigNR_sequence[] = {
+ { &hf_nr_rrc_quantityConfigCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QuantityConfigRS },
+ { &hf_nr_rrc_quantityConfigRS_Index, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_QuantityConfigRS },
+ { NULL, 0, 0, NULL }
};
+static int
+dissect_nr_rrc_QuantityConfigNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_QuantityConfigNR, QuantityConfigNR_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR_sequence_of[1] = {
+ { &hf_nr_rrc_quantityConfigNR_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QuantityConfigNR },
+};
static int
-dissect_nr_rrc_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);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR, SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR_sequence_of,
+ 1, maxNrofQuantityConfig, FALSE);
return offset;
}
-static const per_sequence_t T_dft_S_OFDM_sequence[] = {
- { &hf_nr_rrc_sampleDensity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sampleDensity },
- { &hf_nr_rrc_timeDensityTransformPrecoding, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDensityTransformPrecoding },
+static const per_sequence_t QuantityConfig_eag_1_sequence[] = {
+ { &hf_nr_rrc_quantityConfigEUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterConfig },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_dft_S_OFDM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_QuantityConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, QuantityConfig_eag_1_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t QuantityConfig_sequence[] = {
+ { &hf_nr_rrc_quantityConfigNR_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_QuantityConfig_eag_1 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_QuantityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_dft_S_OFDM, T_dft_S_OFDM_sequence);
+ ett_nr_rrc_QuantityConfig, QuantityConfig_sequence);
return offset;
}
-static const value_string nr_rrc_T_modeSpecificParameters_vals[] = {
- { 0, "cp-OFDM" },
- { 1, "dft-S-OFDM" },
+static const value_string nr_rrc_T_gapFR2_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_modeSpecificParameters_choice[] = {
- { 0, &hf_nr_rrc_cp_OFDM , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_cp_OFDM },
- { 1, &hf_nr_rrc_dft_S_OFDM , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_dft_S_OFDM },
+static const per_choice_t T_gapFR2_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup , ASN1_NO_EXTENSIONS , dissect_nr_rrc_GapConfig },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_modeSpecificParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_gapFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_modeSpecificParameters, T_modeSpecificParameters_choice,
+ ett_nr_rrc_T_gapFR2, T_gapFR2_choice,
NULL);
return offset;
}
-static const per_sequence_t PTRS_UplinkConfig_sequence[] = {
- { &hf_nr_rrc_modeSpecificParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_modeSpecificParameters },
+static const value_string nr_rrc_T_gapFR1_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_gapFR1_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup , ASN1_NO_EXTENSIONS , dissect_nr_rrc_GapConfig },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_gapFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_gapFR1, T_gapFR1_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_gapUE_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_gapUE_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup , ASN1_NO_EXTENSIONS , dissect_nr_rrc_GapConfig },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_gapUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_gapUE, T_gapUE_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasGapConfig_eag_1_sequence[] = {
+ { &hf_nr_rrc_gapFR1 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_gapFR1 },
+ { &hf_nr_rrc_gapUE , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_gapUE },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PTRS_UplinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasGapConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasGapConfig_eag_1_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasGapConfig_sequence[] = {
+ { &hf_nr_rrc_gapFR2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_gapFR2 },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasGapConfig_eag_1 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MeasGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PTRS_UplinkConfig, PTRS_UplinkConfig_sequence);
+ ett_nr_rrc_MeasGapConfig, MeasGapConfig_sequence);
return offset;
}
-static const value_string nr_rrc_T_phaseTrackingRS_01_vals[] = {
+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_phaseTrackingRS_01_choice[] = {
+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_20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PTRS_UplinkConfig },
+ { 1, &hf_nr_rrc_setup_25 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasGapSharingScheme },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_phaseTrackingRS_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+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_phaseTrackingRS_01, T_phaseTrackingRS_01_choice,
+ ett_nr_rrc_T_gapSharingFR2, T_gapSharingFR2_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_maxLength_01_vals[] = {
- { 0, "len2" },
+static const value_string nr_rrc_T_gapSharingFR1_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
{ 0, NULL }
};
+static const per_choice_t T_gapSharingFR1_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_25 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasGapSharingScheme },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_maxLength_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_gapSharingFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_gapSharingFR1, T_gapSharingFR1_choice,
+ NULL);
return offset;
}
-static const 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 },
+static const value_string nr_rrc_T_gapSharingUE_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_gapSharingUE_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_25 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasGapSharingScheme },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_gapSharingUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_gapSharingUE, T_gapSharingUE_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasGapSharingConfig_eag_1_sequence[] = {
+ { &hf_nr_rrc_gapSharingFR1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_gapSharingFR1 },
+ { &hf_nr_rrc_gapSharingUE , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_gapSharingUE },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_transformPrecodingDisabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasGapSharingConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasGapSharingConfig_eag_1_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasGapSharingConfig_sequence[] = {
+ { &hf_nr_rrc_gapSharingFR2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_gapSharingFR2 },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasGapSharingConfig_eag_1 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MeasGapSharingConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_transformPrecodingDisabled, T_transformPrecodingDisabled_sequence);
+ ett_nr_rrc_MeasGapSharingConfig, MeasGapSharingConfig_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasConfig_sequence[] = {
+ { &hf_nr_rrc_measObjectToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasObjectToRemoveList },
+ { &hf_nr_rrc_measObjectToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasObjectToAddModList },
+ { &hf_nr_rrc_reportConfigToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReportConfigToRemoveList },
+ { &hf_nr_rrc_reportConfigToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReportConfigToAddModList },
+ { &hf_nr_rrc_measIdToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasIdToRemoveList },
+ { &hf_nr_rrc_measIdToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasIdToAddModList },
+ { &hf_nr_rrc_s_MeasureConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_s_MeasureConfig },
+ { &hf_nr_rrc_quantityConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_QuantityConfig },
+ { &hf_nr_rrc_measGapConfig_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasGapConfig },
+ { &hf_nr_rrc_measGapSharingConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasGapSharingConfig },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasConfig, MeasConfig_sequence);
return offset;
}
@@ -11419,22 +15767,22 @@ dissect_nr_rrc_T_transformPrecodingDisabled(tvbuff_t *tvb _U_, int offset _U_, a
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);
+dissect_nr_rrc_T_masterCellGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_CellGroupConfig_PDU);
return offset;
}
-static const value_string nr_rrc_T_disableSequenceGroupHopping_vals[] = {
- { 0, "disabled" },
+static const value_string nr_rrc_T_fullConfig_vals[] = {
+ { 0, "true" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_disableSequenceGroupHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_fullConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -11442,108 +15790,296 @@ dissect_nr_rrc_T_disableSequenceGroupHopping(tvbuff_t *tvb _U_, int offset _U_,
}
-static const value_string nr_rrc_T_sequenceHoppingEnabled_vals[] = {
- { 0, "enabled" },
- { 0, NULL }
+
+static int
+dissect_nr_rrc_DedicatedNAS_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *nas_5gs_tvb = NULL;
+ proto_tree *subtree;
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, &nas_5gs_tvb);
+
+ if (nas_5gs_tvb && nas_5gs_handle) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_DedicatedNAS_Message);
+ nr_rrc_call_dissector(nas_5gs_handle, nas_5gs_tvb, actx->pinfo, subtree);
+ }
+
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message_sequence_of[1] = {
+ { &hf_nr_rrc_dedicatedNAS_MessageList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DedicatedNAS_Message },
};
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message, SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message_sequence_of,
+ 1, maxDRB, FALSE);
+
+ return offset;
+}
+
+
static int
-dissect_nr_rrc_T_sequenceHoppingEnabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_NextHopChainingCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 7U, NULL, FALSE);
return offset;
}
-static 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 },
+
+static int
+dissect_nr_rrc_T_nas_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *nas_5gs_tvb = NULL;
+ proto_tree *subtree;
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, &nas_5gs_tvb);
+
+ if (nas_5gs_tvb && nas_5gs_handle) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_nas_Container);
+ nr_rrc_call_dissector(nas_5gs_handle, nas_5gs_tvb, actx->pinfo, subtree);
+ }
+
+
+ return offset;
+}
+
+
+static const per_sequence_t MasterKeyUpdate_sequence[] = {
+ { &hf_nr_rrc_keySetChangeIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_nextHopChainingCount, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NextHopChainingCount },
+ { &hf_nr_rrc_nas_Container, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_nas_Container },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_transformPrecodingEnabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MasterKeyUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_transformPrecodingEnabled, T_transformPrecodingEnabled_sequence);
+ ett_nr_rrc_MasterKeyUpdate, MasterKeyUpdate_sequence);
return offset;
}
-static const per_sequence_t DMRS_UplinkConfig_sequence[] = {
- { &hf_nr_rrc_dmrs_Type_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_Type_01 },
- { &hf_nr_rrc_dmrs_AdditionalPosition_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_AdditionalPosition_01 },
- { &hf_nr_rrc_phaseTrackingRS_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_phaseTrackingRS_01 },
- { &hf_nr_rrc_maxLength_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxLength_01 },
- { &hf_nr_rrc_transformPrecodingDisabled, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecodingDisabled },
- { &hf_nr_rrc_transformPrecodingEnabled, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecodingEnabled },
+
+static int
+dissect_nr_rrc_T_dedicatedSIB1_Delivery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_SIB1_PDU);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_T_dedicatedSystemInformationDelivery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, dissect_SystemInformation_PDU);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_delayBudgetReportingProhibitTimer_vals[] = {
+ { 0, "s0" },
+ { 1, "s0dot4" },
+ { 2, "s0dot8" },
+ { 3, "s1dot6" },
+ { 4, "s3" },
+ { 5, "s6" },
+ { 6, "s12" },
+ { 7, "s30" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_delayBudgetReportingProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_setup_sequence[] = {
+ { &hf_nr_rrc_delayBudgetReportingProhibitTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_delayBudgetReportingProhibitTimer },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_DMRS_UplinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_setup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_DMRS_UplinkConfig, DMRS_UplinkConfig_sequence);
+ ett_nr_rrc_T_setup, T_setup_sequence);
return offset;
}
-static const value_string nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_vals[] = {
+static const value_string nr_rrc_T_delayBudgetReportingConfig_vals[] = {
{ 0, "release" },
{ 1, "setup" },
{ 0, NULL }
};
-static const per_choice_t T_dmrs_UplinkForPUSCH_MappingTypeA_choice[] = {
+static const per_choice_t T_delayBudgetReportingConfig_choice[] = {
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_37 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig },
+ { 1, &hf_nr_rrc_setup_49 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_setup },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_delayBudgetReportingConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA, T_dmrs_UplinkForPUSCH_MappingTypeA_choice,
+ ett_nr_rrc_T_delayBudgetReportingConfig, T_delayBudgetReportingConfig_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const per_sequence_t OtherConfig_sequence[] = {
+ { &hf_nr_rrc_delayBudgetReportingConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_delayBudgetReportingConfig },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_OtherConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_OtherConfig, OtherConfig_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nonCriticalExtension_16_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_nonCriticalExtension_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_16, T_nonCriticalExtension_16_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RRCReconfiguration_v1530_IEs_sequence[] = {
+ { &hf_nr_rrc_masterCellGroup, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_masterCellGroup },
+ { &hf_nr_rrc_fullConfig , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_fullConfig },
+ { &hf_nr_rrc_dedicatedNAS_MessageList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message },
+ { &hf_nr_rrc_masterKeyUpdate, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MasterKeyUpdate },
+ { &hf_nr_rrc_dedicatedSIB1_Delivery, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dedicatedSIB1_Delivery },
+ { &hf_nr_rrc_dedicatedSystemInformationDelivery, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dedicatedSystemInformationDelivery },
+ { &hf_nr_rrc_otherConfig , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OtherConfig },
+ { &hf_nr_rrc_nonCriticalExtension_17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_16 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCReconfiguration_v1530_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCReconfiguration_v1530_IEs, RRCReconfiguration_v1530_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RRCReconfiguration_IEs_sequence[] = {
+ { &hf_nr_rrc_radioBearerConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RadioBearerConfig },
+ { &hf_nr_rrc_secondaryCellGroup, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_secondaryCellGroup },
+ { &hf_nr_rrc_measConfig , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasConfig },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReconfiguration_v1530_IEs },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCReconfiguration_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCReconfiguration_IEs, RRCReconfiguration_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_15_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_15, T_criticalExtensionsFuture_15_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_15_vals[] = {
+ { 0, "rrcReconfiguration" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
-static const per_choice_t T_dmrs_UplinkForPUSCH_MappingTypeB_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_37 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig },
+static const per_choice_t T_criticalExtensions_15_choice[] = {
+ { 0, &hf_nr_rrc_rrcReconfiguration_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfiguration_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_15, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_15 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensions_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB, T_dmrs_UplinkForPUSCH_MappingTypeB_choice,
+ ett_nr_rrc_T_criticalExtensions_15, T_criticalExtensions_15_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_tpc_Accumulation_vals[] = {
- { 0, "disabled" },
+static const per_sequence_t RRCReconfiguration_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_15 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCReconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCReconfiguration, RRCReconfiguration_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_T_masterCellGroup_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_CellGroupConfig_PDU);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_fullConfig_01_vals[] = {
+ { 0, "true" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_tpc_Accumulation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_fullConfig_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -11551,170 +16087,327 @@ dissect_nr_rrc_T_tpc_Accumulation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
+static const per_sequence_t T_nonCriticalExtension_20_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_P0_PUSCH_AlphaSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofP0_PUSCH_AlphaSets_1, NULL, FALSE);
+dissect_nr_rrc_T_nonCriticalExtension_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_20, T_nonCriticalExtension_20_sequence);
return offset;
}
-static const per_sequence_t P0_PUSCH_AlphaSet_sequence[] = {
- { &hf_nr_rrc_p0_PUSCH_AlphaSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId },
- { &hf_nr_rrc_p0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
- { &hf_nr_rrc_alpha , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Alpha },
+static const per_sequence_t RRCResume_IEs_sequence[] = {
+ { &hf_nr_rrc_radioBearerConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RadioBearerConfig },
+ { &hf_nr_rrc_masterCellGroup_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_masterCellGroup_01 },
+ { &hf_nr_rrc_measConfig , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasConfig },
+ { &hf_nr_rrc_fullConfig_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_fullConfig_01 },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_22, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_20 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_P0_PUSCH_AlphaSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_RRCResume_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_P0_PUSCH_AlphaSet, P0_PUSCH_AlphaSet_sequence);
+ ett_nr_rrc_RRCResume_IEs, RRCResume_IEs_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet_sequence_of[1] = {
- { &hf_nr_rrc_p0_AlphaSets_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSet },
+static const per_sequence_t T_criticalExtensionsFuture_19_sequence[] = {
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet, SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet_sequence_of,
- 1, maxNrofP0_PUSCH_AlphaSets, FALSE);
+dissect_nr_rrc_T_criticalExtensionsFuture_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_19, T_criticalExtensionsFuture_19_sequence);
return offset;
}
+static const value_string nr_rrc_T_criticalExtensions_19_vals[] = {
+ { 0, "rrcResume" },
+ { 1, "criticalExtensionsFuture" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_criticalExtensions_19_choice[] = {
+ { 0, &hf_nr_rrc_rrcResume_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCResume_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_19, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_19 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofPUSCH_PathlossReferenceRSs_1, NULL, FALSE);
+dissect_nr_rrc_T_criticalExtensions_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_19, T_criticalExtensions_19_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_referenceSignal_02_vals[] = {
- { 0, "ssb-Index" },
- { 1, "csi-RS-Index" },
+static const per_sequence_t RRCResume_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_19, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_19 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCResume(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCResume, RRCResume_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t CarrierInfoNR_sequence[] = {
+ { &hf_nr_rrc_carrierFreq , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
+ { &hf_nr_rrc_ssbSubcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
+ { &hf_nr_rrc_smtc , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_CarrierInfoNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CarrierInfoNR, CarrierInfoNR_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_cnType_r15_vals[] = {
+ { 0, "epc" },
+ { 1, "fiveGC" },
{ 0, NULL }
};
-static const per_choice_t T_referenceSignal_02_choice[] = {
- { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
- { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+
+static int
+dissect_nr_rrc_T_cnType_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t RedirectedCarrierInfo_EUTRA_sequence[] = {
+ { &hf_nr_rrc_eutraFrequency, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
+ { &hf_nr_rrc_cnType_r15 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cnType_r15 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RedirectedCarrierInfo_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RedirectedCarrierInfo_EUTRA, RedirectedCarrierInfo_EUTRA_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_RedirectedCarrierInfo_vals[] = {
+ { 0, "nr" },
+ { 1, "eutra" },
+ { 0, NULL }
+};
+
+static const per_choice_t RedirectedCarrierInfo_choice[] = {
+ { 0, &hf_nr_rrc_nr , ASN1_EXTENSION_ROOT , dissect_nr_rrc_CarrierInfoNR },
+ { 1, &hf_nr_rrc_eutra , ASN1_EXTENSION_ROOT , dissect_nr_rrc_RedirectedCarrierInfo_EUTRA },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_referenceSignal_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_RedirectedCarrierInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_referenceSignal_02, T_referenceSignal_02_choice,
+ ett_nr_rrc_RedirectedCarrierInfo, RedirectedCarrierInfo_choice,
NULL);
return offset;
}
-static const per_sequence_t PUSCH_PathlossReferenceRS_sequence[] = {
- { &hf_nr_rrc_pusch_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id },
- { &hf_nr_rrc_referenceSignal_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_02 },
+static const per_sequence_t FreqPriorityEUTRA_sequence[] = {
+ { &hf_nr_rrc_carrierFreq_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
+ { &hf_nr_rrc_cellReselectionPriority, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellReselectionPriority },
+ { &hf_nr_rrc_cellReselectionSubPriority, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellReselectionSubPriority },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PUSCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_FreqPriorityEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PUSCH_PathlossReferenceRS, PUSCH_PathlossReferenceRS_sequence);
+ ett_nr_rrc_FreqPriorityEUTRA, FreqPriorityEUTRA_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_sequence_of[1] = {
- { &hf_nr_rrc_pathlossReferenceRSToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS },
+static const per_sequence_t FreqPriorityListEUTRA_sequence_of[1] = {
+ { &hf_nr_rrc_FreqPriorityListEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqPriorityEUTRA },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_FreqPriorityListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS, SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_sequence_of,
- 1, maxNrofPUSCH_PathlossReferenceRSs, FALSE);
+ ett_nr_rrc_FreqPriorityListEUTRA, FreqPriorityListEUTRA_sequence_of,
+ 1, maxFreq, FALSE);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id_sequence_of[1] = {
- { &hf_nr_rrc_pathlossReferenceRSToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id },
+static const per_sequence_t FreqPriorityNR_sequence[] = {
+ { &hf_nr_rrc_carrierFreq , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
+ { &hf_nr_rrc_cellReselectionPriority, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellReselectionPriority },
+ { &hf_nr_rrc_cellReselectionSubPriority, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellReselectionSubPriority },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_FreqPriorityNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_FreqPriorityNR, FreqPriorityNR_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t FreqPriorityListNR_sequence_of[1] = {
+ { &hf_nr_rrc_FreqPriorityListNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqPriorityNR },
+};
+
+static int
+dissect_nr_rrc_FreqPriorityListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id, SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id_sequence_of,
- 1, maxNrofPUSCH_PathlossReferenceRSs, FALSE);
+ ett_nr_rrc_FreqPriorityListNR, FreqPriorityListNR_sequence_of,
+ 1, maxFreq, FALSE);
return offset;
}
-static const value_string nr_rrc_T_twoPUSCH_PC_AdjustmentStates_vals[] = {
- { 0, "twoStates" },
+static const value_string nr_rrc_T_t320_vals[] = {
+ { 0, "min5" },
+ { 1, "min10" },
+ { 2, "min20" },
+ { 3, "min30" },
+ { 4, "min60" },
+ { 5, "min120" },
+ { 6, "min180" },
+ { 7, "spare1" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_twoPUSCH_PC_AdjustmentStates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_t320(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_deltaMCS_vals[] = {
- { 0, "enabled" },
+static const per_sequence_t CellReselectionPriorities_sequence[] = {
+ { &hf_nr_rrc_freqPriorityListEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_FreqPriorityListEUTRA },
+ { &hf_nr_rrc_freqPriorityListNR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_FreqPriorityListNR },
+ { &hf_nr_rrc_t320 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_t320 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_CellReselectionPriorities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CellReselectionPriorities, CellReselectionPriorities_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_I_RNTI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 40, 40, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_ShortI_RNTI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 24, 24, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_PeriodicRNAU_TimerValue_vals[] = {
+ { 0, "min5" },
+ { 1, "min10" },
+ { 2, "min20" },
+ { 3, "min30" },
+ { 4, "min60" },
+ { 5, "min120" },
+ { 6, "min360" },
+ { 7, "min720" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_deltaMCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PeriodicRNAU_TimerValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
+static const per_sequence_t SuspendConfig_sequence[] = {
+ { &hf_nr_rrc_fullI_RNTI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_I_RNTI_Value },
+ { &hf_nr_rrc_shortI_RNTI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ShortI_RNTI_Value },
+ { &hf_nr_rrc_ran_PagingCycle, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PagingCycle },
+ { &hf_nr_rrc_ran_NotificationAreaInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RAN_NotificationAreaInfo },
+ { &hf_nr_rrc_t380 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PeriodicRNAU_TimerValue },
+ { &hf_nr_rrc_nextHopChainingCount, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NextHopChainingCount },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_SRI_PUSCH_PowerControlId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofSRI_PUSCH_Mappings_1, NULL, FALSE);
+dissect_nr_rrc_SuspendConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SuspendConfig, SuspendConfig_sequence);
return offset;
}
-static const value_string nr_rrc_T_sri_PUSCH_ClosedLoopIndex_vals[] = {
- { 0, "i0" },
- { 1, "i1" },
+static const value_string nr_rrc_T_deprioritisationType_vals[] = {
+ { 0, "frequency" },
+ { 1, "nr" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_sri_PUSCH_ClosedLoopIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_deprioritisationType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -11722,831 +16415,1997 @@ dissect_nr_rrc_T_sri_PUSCH_ClosedLoopIndex(tvbuff_t *tvb _U_, int offset _U_, as
}
-static const per_sequence_t SRI_PUSCH_PowerControl_sequence[] = {
- { &hf_nr_rrc_sri_PUSCH_PowerControlId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRI_PUSCH_PowerControlId },
- { &hf_nr_rrc_sri_PUSCH_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id },
- { &hf_nr_rrc_sri_P0_PUSCH_AlphaSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId },
- { &hf_nr_rrc_sri_PUSCH_ClosedLoopIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sri_PUSCH_ClosedLoopIndex },
+static const value_string nr_rrc_T_deprioritisationTimer_vals[] = {
+ { 0, "min5" },
+ { 1, "min10" },
+ { 2, "min15" },
+ { 3, "min30" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_deprioritisationTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_deprioritisationReq_sequence[] = {
+ { &hf_nr_rrc_deprioritisationType, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_deprioritisationType },
+ { &hf_nr_rrc_deprioritisationTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_deprioritisationTimer },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SRI_PUSCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_deprioritisationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SRI_PUSCH_PowerControl, SRI_PUSCH_PowerControl_sequence);
+ ett_nr_rrc_T_deprioritisationReq, T_deprioritisationReq_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl_sequence_of[1] = {
- { &hf_nr_rrc_sri_PUSCH_MappingToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRI_PUSCH_PowerControl },
+static const per_sequence_t T_nonCriticalExtension_19_sequence[] = {
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl, SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl_sequence_of,
- 1, maxNrofSRI_PUSCH_Mappings, FALSE);
+dissect_nr_rrc_T_nonCriticalExtension_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_19, T_nonCriticalExtension_19_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId_sequence_of[1] = {
- { &hf_nr_rrc_sri_PUSCH_MappingToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRI_PUSCH_PowerControlId },
+static const per_sequence_t RRCRelease_IEs_sequence[] = {
+ { &hf_nr_rrc_redirectedCarrierInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RedirectedCarrierInfo },
+ { &hf_nr_rrc_cellReselectionPriorities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellReselectionPriorities },
+ { &hf_nr_rrc_suspendConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SuspendConfig },
+ { &hf_nr_rrc_deprioritisationReq, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_deprioritisationReq },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_21, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_19 },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId, SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId_sequence_of,
- 1, maxNrofSRI_PUSCH_Mappings, FALSE);
+dissect_nr_rrc_RRCRelease_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCRelease_IEs, RRCRelease_IEs_sequence);
return offset;
}
-static const per_sequence_t PUSCH_PowerControl_sequence[] = {
- { &hf_nr_rrc_tpc_Accumulation, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_Accumulation },
- { &hf_nr_rrc_msg3_Alpha , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Alpha },
- { &hf_nr_rrc_p0_NominalWithoutGrant, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M202_24 },
- { &hf_nr_rrc_p0_AlphaSets , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet },
- { &hf_nr_rrc_pathlossReferenceRSToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS },
- { &hf_nr_rrc_pathlossReferenceRSToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id },
- { &hf_nr_rrc_twoPUSCH_PC_AdjustmentStates, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUSCH_PC_AdjustmentStates },
- { &hf_nr_rrc_deltaMCS , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_deltaMCS },
- { &hf_nr_rrc_sri_PUSCH_MappingToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl },
- { &hf_nr_rrc_sri_PUSCH_MappingToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId },
+static const per_sequence_t T_criticalExtensionsFuture_18_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PUSCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensionsFuture_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PUSCH_PowerControl, PUSCH_PowerControl_sequence);
+ ett_nr_rrc_T_criticalExtensionsFuture_18, T_criticalExtensionsFuture_18_sequence);
return offset;
}
-static const value_string nr_rrc_T_frequencyHopping_01_vals[] = {
- { 0, "mode1" },
- { 1, "mode2" },
+static const value_string nr_rrc_T_criticalExtensions_18_vals[] = {
+ { 0, "rrcRelease" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
+static const per_choice_t T_criticalExtensions_18_choice[] = {
+ { 0, &hf_nr_rrc_rrcRelease_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCRelease_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_18, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_18 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_frequencyHopping_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_criticalExtensions_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_18, T_criticalExtensions_18_choice,
+ NULL);
return offset;
}
+static const per_sequence_t RRCRelease_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_18 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxNrofPhysicalResourceBlocks_1, NULL, FALSE);
+dissect_nr_rrc_RRCRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Release");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCRelease, RRCRelease_sequence);
return offset;
}
-static const per_sequence_t T_frequencyHoppingOffsetLists_sequence_of[1] = {
- { &hf_nr_rrc_frequencyHoppingOffsetLists_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1 },
+static const per_sequence_t T_nonCriticalExtension_14_sequence[] = {
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_frequencyHoppingOffsetLists(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_frequencyHoppingOffsetLists, T_frequencyHoppingOffsetLists_sequence_of,
- 1, 4, FALSE);
+dissect_nr_rrc_T_nonCriticalExtension_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_14, T_nonCriticalExtension_14_sequence);
return offset;
}
-static const value_string nr_rrc_T_resourceAllocation_02_vals[] = {
- { 0, "resourceAllocationType0" },
- { 1, "resourceAllocationType1" },
- { 2, "dynamicSwitch" },
- { 0, NULL }
+static const per_sequence_t RRCReestablishment_IEs_sequence[] = {
+ { &hf_nr_rrc_nextHopChainingCount, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NextHopChainingCount },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_14 },
+ { NULL, 0, 0, NULL }
};
+static int
+dissect_nr_rrc_RRCReestablishment_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCReestablishment_IEs, RRCReestablishment_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_13_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_T_resourceAllocation_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_criticalExtensionsFuture_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_13, T_criticalExtensionsFuture_13_sequence);
return offset;
}
-static const value_string nr_rrc_T_pusch_TimeDomainAllocationList_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const value_string nr_rrc_T_criticalExtensions_13_vals[] = {
+ { 0, "rrcReestablishment" },
+ { 1, "criticalExtensionsFuture" },
{ 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 },
+static const per_choice_t T_criticalExtensions_13_choice[] = {
+ { 0, &hf_nr_rrc_rrcReestablishment_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReestablishment_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_13, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_13 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_pusch_TimeDomainAllocationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensions_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_pusch_TimeDomainAllocationList, T_pusch_TimeDomainAllocationList_choice,
+ ett_nr_rrc_T_criticalExtensions_13, T_criticalExtensions_13_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_pusch_AggregationFactor_vals[] = {
- { 0, "n2" },
- { 1, "n4" },
- { 2, "n8" },
- { 0, NULL }
+static const per_sequence_t RRCReestablishment_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_13, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_13 },
+ { NULL, 0, 0, NULL }
};
+static int
+dissect_nr_rrc_RRCReestablishment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCReestablishment, RRCReestablishment_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SecurityConfigSMC_sequence[] = {
+ { &hf_nr_rrc_securityAlgorithmConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SecurityAlgorithmConfig },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_T_pusch_AggregationFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_SecurityConfigSMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SecurityConfigSMC, SecurityConfigSMC_sequence);
return offset;
}
-static const value_string nr_rrc_T_mcs_Table_02_vals[] = {
- { 0, "qam256" },
- { 1, "spare1" },
- { 0, NULL }
+static const per_sequence_t T_nonCriticalExtension_24_sequence[] = {
+ { NULL, 0, 0, NULL }
};
+static int
+dissect_nr_rrc_T_nonCriticalExtension_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_24, T_nonCriticalExtension_24_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SecurityModeCommand_IEs_sequence[] = {
+ { &hf_nr_rrc_securityConfigSMC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SecurityConfigSMC },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_26, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_24 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_T_mcs_Table_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_SecurityModeCommand_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SecurityModeCommand_IEs, SecurityModeCommand_IEs_sequence);
return offset;
}
-static const value_string nr_rrc_T_mcs_TableTransformPrecoder_01_vals[] = {
- { 0, "qam256" },
- { 1, "spare1" },
+static const per_sequence_t T_criticalExtensionsFuture_24_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_24, T_criticalExtensionsFuture_24_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_24_vals[] = {
+ { 0, "securityModeCommand" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
+static const per_choice_t T_criticalExtensions_24_choice[] = {
+ { 0, &hf_nr_rrc_securityModeCommand_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SecurityModeCommand_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_24, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_24 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_mcs_TableTransformPrecoder_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_criticalExtensions_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_24, T_criticalExtensions_24_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_transformPrecoder_01_vals[] = {
- { 0, "enabled" },
- { 1, "disabled" },
- { 0, NULL }
+static const per_sequence_t SecurityModeCommand_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_24, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_24 },
+ { NULL, 0, 0, NULL }
};
+static int
+dissect_nr_rrc_SecurityModeCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Command");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SecurityModeCommand, SecurityModeCommand_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nonCriticalExtension_09_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_T_transformPrecoder_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_nonCriticalExtension_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_09, T_nonCriticalExtension_09_sequence);
return offset;
}
-static const value_string nr_rrc_T_codebookSubset_vals[] = {
- { 0, "fullyAndPartialAndNonCoherent" },
- { 1, "partialAndNonCoherent" },
- { 2, "nonCoherent" },
+static const per_sequence_t DLInformationTransfer_IEs_sequence[] = {
+ { &hf_nr_rrc_dedicatedNAS_Message, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DedicatedNAS_Message },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_09, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_09 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_DLInformationTransfer_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_DLInformationTransfer_IEs, DLInformationTransfer_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_09_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_09, T_criticalExtensionsFuture_09_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_09_vals[] = {
+ { 0, "dlInformationTransfer" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
+static const per_choice_t T_criticalExtensions_09_choice[] = {
+ { 0, &hf_nr_rrc_dlInformationTransfer_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_DLInformationTransfer_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_09, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_09 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_codebookSubset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_criticalExtensions_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_09, T_criticalExtensions_09_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_rbg_Size_02_vals[] = {
- { 0, "config2" },
+static const per_sequence_t DLInformationTransfer_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_09, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_09 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_DLInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DL Information Transfer");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_DLInformationTransfer, DLInformationTransfer_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_T_capabilityRequestFilter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *cap_req_filter_tvb = NULL;
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, &cap_req_filter_tvb);
+
+
+
+ if (cap_req_filter_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_capabilityRequestFilter);
+ switch(nr_priv->rat_type){
+ case RAT_Type_nr:
+ dissect_UE_CapabilityRequestFilterNR_PDU(cap_req_filter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ }
+
+ return offset;
+}
+
+
+static const per_sequence_t UE_CapabilityRAT_Request_sequence[] = {
+ { &hf_nr_rrc_rat_Type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RAT_Type },
+ { &hf_nr_rrc_capabilityRequestFilter, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_capabilityRequestFilter },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UE_CapabilityRAT_Request(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ /* Initialise to invalid value */
+ nr_priv->rat_type = 0xFF;
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UE_CapabilityRAT_Request, UE_CapabilityRAT_Request_sequence);
+
+
+
+ return offset;
+}
+
+
+static const per_sequence_t UE_CapabilityRAT_RequestList_sequence_of[1] = {
+ { &hf_nr_rrc_UE_CapabilityRAT_RequestList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_CapabilityRAT_Request },
+};
+
+static int
+dissect_nr_rrc_UE_CapabilityRAT_RequestList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UE_CapabilityRAT_RequestList, UE_CapabilityRAT_RequestList_sequence_of,
+ 1, maxRAT_CapabilityContainers, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nonCriticalExtension_30_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_nonCriticalExtension_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_30, T_nonCriticalExtension_30_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t UECapabilityEnquiry_IEs_sequence[] = {
+ { &hf_nr_rrc_ue_CapabilityRAT_RequestList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_CapabilityRAT_RequestList },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_32, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_30 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UECapabilityEnquiry_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UECapabilityEnquiry_IEs, UECapabilityEnquiry_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_29_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_29, T_criticalExtensionsFuture_29_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_29_vals[] = {
+ { 0, "ueCapabilityEnquiry" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
+static const per_choice_t T_criticalExtensions_29_choice[] = {
+ { 0, &hf_nr_rrc_ueCapabilityEnquiry_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UECapabilityEnquiry_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_29, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_29 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_rbg_Size_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_criticalExtensions_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_29, T_criticalExtensions_29_choice,
+ NULL);
return offset;
}
-static const per_sequence_t BetaOffsets_sequence[] = {
- { &hf_nr_rrc_betaOffsetACK_Index1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
- { &hf_nr_rrc_betaOffsetACK_Index2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
- { &hf_nr_rrc_betaOffsetACK_Index3, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
- { &hf_nr_rrc_betaOffsetCSI_Part1_Index1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
- { &hf_nr_rrc_betaOffsetCSI_Part1_Index2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
- { &hf_nr_rrc_betaOffsetCSI_Part2_Index1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
- { &hf_nr_rrc_betaOffsetCSI_Part2_Index2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
+static const per_sequence_t UECapabilityEnquiry_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_29, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_29 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_UECapabilityEnquiry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Enquiry");
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BetaOffsets, BetaOffsets_sequence);
+ ett_nr_rrc_UECapabilityEnquiry, UECapabilityEnquiry_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_4_OF_BetaOffsets_sequence_of[1] = {
- { &hf_nr_rrc_dynamic_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BetaOffsets },
+
+static int
+dissect_nr_rrc_INTEGER_0_33554431(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 33554431U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t DRB_CountMSB_Info_sequence[] = {
+ { &hf_nr_rrc_drb_Identity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity },
+ { &hf_nr_rrc_countMSB_Uplink, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_33554431 },
+ { &hf_nr_rrc_countMSB_Downlink, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_33554431 },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_DRB_CountMSB_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_DRB_CountMSB_Info, DRB_CountMSB_Info_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t DRB_CountMSB_InfoList_sequence_of[1] = {
+ { &hf_nr_rrc_DRB_CountMSB_InfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_CountMSB_Info },
+};
+
+static int
+dissect_nr_rrc_DRB_CountMSB_InfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets, SEQUENCE_SIZE_4_OF_BetaOffsets_sequence_of,
- 4, 4, FALSE);
+ ett_nr_rrc_DRB_CountMSB_InfoList, DRB_CountMSB_InfoList_sequence_of,
+ 1, maxDRB, FALSE);
return offset;
}
-static const value_string nr_rrc_T_betaOffsets_vals[] = {
- { 0, "dynamic" },
- { 1, "semiStatic" },
+static const per_sequence_t T_nonCriticalExtension_07_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_nonCriticalExtension_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_07, T_nonCriticalExtension_07_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t CounterCheck_IEs_sequence[] = {
+ { &hf_nr_rrc_drb_CountMSB_InfoList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_CountMSB_InfoList },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_07, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_07 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_CounterCheck_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CounterCheck_IEs, CounterCheck_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_07_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_07, T_criticalExtensionsFuture_07_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_07_vals[] = {
+ { 0, "counterCheck" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
-static const per_choice_t T_betaOffsets_choice[] = {
- { 0, &hf_nr_rrc_dynamic_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets },
- { 1, &hf_nr_rrc_semiStatic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BetaOffsets },
+static const per_choice_t T_criticalExtensions_07_choice[] = {
+ { 0, &hf_nr_rrc_counterCheck_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_CounterCheck_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_07, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_07 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_betaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensions_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_betaOffsets, T_betaOffsets_choice,
+ ett_nr_rrc_T_criticalExtensions_07, T_criticalExtensions_07_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_scaling_vals[] = {
- { 0, "f0p5" },
- { 1, "f0p65" },
- { 2, "f0p8" },
- { 3, "f1" },
+static const per_sequence_t CounterCheck_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_07, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_07 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_CounterCheck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Counter Check");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CounterCheck, CounterCheck_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_targetRAT_Type_vals[] = {
+ { T_targetRAT_Type_eutra, "eutra" },
+ { T_targetRAT_Type_spare3, "spare3" },
+ { T_targetRAT_Type_spare2, "spare2" },
+ { T_targetRAT_Type_spare1, "spare1" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_scaling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_targetRAT_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ guint32 target_rat_type;
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+ 4, &target_rat_type, TRUE, 0, NULL);
+
+ nr_priv->target_rat_type = (guint8)target_rat_type;
+
return offset;
}
-static const per_sequence_t UCI_OnPUSCH_sequence[] = {
- { &hf_nr_rrc_betaOffsets , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_betaOffsets },
- { &hf_nr_rrc_scaling , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_scaling },
+
+static int
+dissect_nr_rrc_T_targetRAT_MessageContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *target_rat_msg_cont_tvb = NULL;
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, &target_rat_msg_cont_tvb);
+
+ if (target_rat_msg_cont_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_rr_rrc_targetRAT_MessageContainer);
+ switch (nr_priv->target_rat_type) {
+ case T_targetRAT_Type_eutra:
+ /* eutra */
+ if (lte_rrc_conn_reconf_handle)
+ nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree);
+ break;
+ default:
+ break;
+ }
+ }
+
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nonCriticalExtension_12_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_UCI_OnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nonCriticalExtension_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_UCI_OnPUSCH, UCI_OnPUSCH_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_12, T_nonCriticalExtension_12_sequence);
return offset;
}
-static const value_string nr_rrc_T_uci_OnPUSCH_01_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const per_sequence_t MobilityFromNRCommand_IEs_sequence[] = {
+ { &hf_nr_rrc_targetRAT_Type, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_targetRAT_Type },
+ { &hf_nr_rrc_targetRAT_MessageContainer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_targetRAT_MessageContainer },
+ { &hf_nr_rrc_nas_SecurityParamFromNR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_12 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MobilityFromNRCommand_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MobilityFromNRCommand_IEs, MobilityFromNRCommand_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_12_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_12, T_criticalExtensionsFuture_12_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_12_vals[] = {
+ { 0, "mobilityFromNRCommand" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
-static const per_choice_t T_uci_OnPUSCH_01_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_39 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_UCI_OnPUSCH },
+static const per_choice_t T_criticalExtensions_12_choice[] = {
+ { 0, &hf_nr_rrc_mobilityFromNRCommand_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MobilityFromNRCommand_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_12, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_12 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_uci_OnPUSCH_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensions_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_uci_OnPUSCH_01, T_uci_OnPUSCH_01_choice,
+ ett_nr_rrc_T_criticalExtensions_12, T_criticalExtensions_12_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_tp_pi2BPSK_vals[] = {
- { 0, "enabled" },
+static const per_sequence_t MobilityFromNRCommand_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_12 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MobilityFromNRCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Mobility From NR Command");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MobilityFromNRCommand, MobilityFromNRCommand_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_c1_09_vals[] = {
+ { 0, "rrcReconfiguration" },
+ { 1, "rrcResume" },
+ { 2, "rrcRelease" },
+ { 3, "rrcReestablishment" },
+ { 4, "securityModeCommand" },
+ { 5, "dlInformationTransfer" },
+ { 6, "ueCapabilityEnquiry" },
+ { 7, "counterCheck" },
+ { 8, "mobilityFromNRCommand" },
+ { 9, "spare7" },
+ { 10, "spare6" },
+ { 11, "spare5" },
+ { 12, "spare4" },
+ { 13, "spare3" },
+ { 14, "spare2" },
+ { 15, "spare1" },
{ 0, NULL }
};
+static const per_choice_t T_c1_09_choice[] = {
+ { 0, &hf_nr_rrc_rrcReconfiguration_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfiguration },
+ { 1, &hf_nr_rrc_rrcResume , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCResume },
+ { 2, &hf_nr_rrc_rrcRelease , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCRelease },
+ { 3, &hf_nr_rrc_rrcReestablishment, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReestablishment },
+ { 4, &hf_nr_rrc_securityModeCommand, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SecurityModeCommand },
+ { 5, &hf_nr_rrc_dlInformationTransfer, ASN1_NO_EXTENSIONS , dissect_nr_rrc_DLInformationTransfer },
+ { 6, &hf_nr_rrc_ueCapabilityEnquiry, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UECapabilityEnquiry },
+ { 7, &hf_nr_rrc_counterCheck , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CounterCheck },
+ { 8, &hf_nr_rrc_mobilityFromNRCommand, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MobilityFromNRCommand },
+ { 9, &hf_nr_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 10, &hf_nr_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 11, &hf_nr_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 12, &hf_nr_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 13, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 14, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 15, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_tp_pi2BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_c1_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_c1_09, T_c1_09_choice,
+ NULL);
return offset;
}
-static const per_sequence_t PUSCH_Config_sequence[] = {
- { &hf_nr_rrc_dataScramblingIdentityPUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1023 },
- { &hf_nr_rrc_txConfig , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_txConfig },
- { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA },
- { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB },
- { &hf_nr_rrc_pusch_PowerControl, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PUSCH_PowerControl },
- { &hf_nr_rrc_frequencyHopping_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyHopping_01 },
- { &hf_nr_rrc_frequencyHoppingOffsetLists, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyHoppingOffsetLists },
- { &hf_nr_rrc_resourceAllocation_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceAllocation_02 },
- { &hf_nr_rrc_pusch_TimeDomainAllocationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_TimeDomainAllocationList },
- { &hf_nr_rrc_pusch_AggregationFactor, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_AggregationFactor },
- { &hf_nr_rrc_mcs_Table_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_Table_02 },
- { &hf_nr_rrc_mcs_TableTransformPrecoder_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_TableTransformPrecoder_01 },
- { &hf_nr_rrc_transformPrecoder_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecoder_01 },
- { &hf_nr_rrc_codebookSubset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_codebookSubset },
- { &hf_nr_rrc_maxRank , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_4 },
- { &hf_nr_rrc_rbg_Size_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rbg_Size_02 },
- { &hf_nr_rrc_uci_OnPUSCH_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_uci_OnPUSCH_01 },
- { &hf_nr_rrc_tp_pi2BPSK , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tp_pi2BPSK },
+static const per_sequence_t T_messageClassExtension_03_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PUSCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_messageClassExtension_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PUSCH_Config, PUSCH_Config_sequence);
+ ett_nr_rrc_T_messageClassExtension_03, T_messageClassExtension_03_sequence);
return offset;
}
-static const value_string nr_rrc_T_pusch_Config_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const value_string nr_rrc_DL_DCCH_MessageType_vals[] = {
+ { 0, "c1" },
+ { 1, "messageClassExtension" },
{ 0, NULL }
};
-static const per_choice_t T_pusch_Config_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_05 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_Config },
+static const per_choice_t DL_DCCH_MessageType_choice[] = {
+ { 0, &hf_nr_rrc_c1_09 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_09 },
+ { 1, &hf_nr_rrc_messageClassExtension_03, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_03 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_pusch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_DL_DCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_pusch_Config, T_pusch_Config_choice,
+ ett_nr_rrc_DL_DCCH_MessageType, DL_DCCH_MessageType_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_frequencyHopping_vals[] = {
- { 0, "mode1" },
- { 1, "mode2" },
+static const per_sequence_t DL_DCCH_Message_sequence[] = {
+ { &hf_nr_rrc_message_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_DCCH_MessageType },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_DL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+ actx->pinfo->link_dir = P2P_DIR_DL;
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_DL_DCCH_Message, DL_DCCH_Message_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_NG_5G_S_TMSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 48, 48, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_PagingUE_Identity_vals[] = {
+ { 0, "ng-5G-S-TMSI" },
+ { 1, "i-RNTI" },
{ 0, NULL }
};
+static const per_choice_t PagingUE_Identity_choice[] = {
+ { 0, &hf_nr_rrc_ng_5G_S_TMSI , ASN1_EXTENSION_ROOT , dissect_nr_rrc_NG_5G_S_TMSI },
+ { 1, &hf_nr_rrc_i_RNTI , ASN1_EXTENSION_ROOT , dissect_nr_rrc_I_RNTI_Value },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_frequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_PagingUE_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PagingUE_Identity, PagingUE_Identity_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_mcs_Table_vals[] = {
- { 0, "qam256" },
- { 1, "spare1" },
+static const value_string nr_rrc_T_accessType_vals[] = {
+ { 0, "non3GPP" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_mcs_Table(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_accessType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_mcs_TableTransformPrecoder_vals[] = {
- { 0, "qam256" },
+static const per_sequence_t PagingRecord_sequence[] = {
+ { &hf_nr_rrc_ue_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PagingUE_Identity },
+ { &hf_nr_rrc_accessType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_accessType },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PagingRecord(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PagingRecord, PagingRecord_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PagingRecordList_sequence_of[1] = {
+ { &hf_nr_rrc_PagingRecordList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PagingRecord },
+};
+
+static int
+dissect_nr_rrc_PagingRecordList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PagingRecordList, PagingRecordList_sequence_of,
+ 1, maxNrofPageRec, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nonCriticalExtension_13_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_nonCriticalExtension_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_13, T_nonCriticalExtension_13_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t Paging_sequence[] = {
+ { &hf_nr_rrc_pagingRecordList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PagingRecordList },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_13 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_Paging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_Paging, Paging_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_c1_10_vals[] = {
+ { 0, "paging" },
{ 1, "spare1" },
{ 0, NULL }
};
+static const per_choice_t T_c1_10_choice[] = {
+ { 0, &hf_nr_rrc_paging , ASN1_NO_EXTENSIONS , dissect_nr_rrc_Paging },
+ { 1, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_mcs_TableTransformPrecoder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_c1_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_c1_10, T_c1_10_choice,
+ NULL);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_4_OF_BetaOffsets_sequence_of[1] = {
- { &hf_nr_rrc_dynamic_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BetaOffsets },
+static const per_sequence_t T_messageClassExtension_04_sequence[] = {
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets, SEQUENCE_SIZE_1_4_OF_BetaOffsets_sequence_of,
- 1, 4, FALSE);
+dissect_nr_rrc_T_messageClassExtension_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_messageClassExtension_04, T_messageClassExtension_04_sequence);
return offset;
}
-static const value_string nr_rrc_CG_UCI_OnPUSCH_vals[] = {
- { 0, "dynamic" },
- { 1, "semiStatic" },
+static const value_string nr_rrc_PCCH_MessageType_vals[] = {
+ { 0, "c1" },
+ { 1, "messageClassExtension" },
{ 0, NULL }
};
-static const per_choice_t CG_UCI_OnPUSCH_choice[] = {
- { 0, &hf_nr_rrc_dynamic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets },
- { 1, &hf_nr_rrc_semiStatic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BetaOffsets },
+static const per_choice_t PCCH_MessageType_choice[] = {
+ { 0, &hf_nr_rrc_c1_10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_10 },
+ { 1, &hf_nr_rrc_messageClassExtension_04, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_04 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_CG_UCI_OnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CG_UCI_OnPUSCH, CG_UCI_OnPUSCH_choice,
+ ett_nr_rrc_PCCH_MessageType, PCCH_MessageType_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_uci_OnPUSCH_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const per_sequence_t PCCH_Message_sequence[] = {
+ { &hf_nr_rrc_message_04 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCCH_MessageType },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PCCH_Message, PCCH_Message_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 39, 39, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_InitialUE_Identity_vals[] = {
+ { 0, "ng-5G-S-TMSI-Part1" },
+ { 1, "randomValue" },
{ 0, NULL }
};
-static const per_choice_t T_uci_OnPUSCH_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CG_UCI_OnPUSCH },
+static const per_choice_t InitialUE_Identity_choice[] = {
+ { 0, &hf_nr_rrc_ng_5G_S_TMSI_Part1, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_39 },
+ { 1, &hf_nr_rrc_randomValue , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_39 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_uci_OnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_InitialUE_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_uci_OnPUSCH, T_uci_OnPUSCH_choice,
+ ett_nr_rrc_InitialUE_Identity, InitialUE_Identity_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_resourceAllocation_vals[] = {
- { 0, "resourceAllocationType0" },
- { 1, "resourceAllocationType1" },
- { 2, "dynamicSwitch" },
+static const value_string nr_rrc_EstablishmentCause_vals[] = {
+ { 0, "emergency" },
+ { 1, "highPriorityAccess" },
+ { 2, "mt-Access" },
+ { 3, "mo-Signalling" },
+ { 4, "mo-Data" },
+ { 5, "mo-VoiceCall" },
+ { 6, "mo-VideoCall" },
+ { 7, "mo-SMS" },
+ { 8, "mps-PriorityAccess" },
+ { 9, "mcs-PriorityAccess" },
+ { 10, "spare6" },
+ { 11, "spare5" },
+ { 12, "spare4" },
+ { 13, "spare3" },
+ { 14, "spare2" },
+ { 15, "spare1" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_resourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_EstablishmentCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+ 16, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_rbg_Size_vals[] = {
- { 0, "config2" },
+static const per_sequence_t RRCSetupRequest_IEs_sequence[] = {
+ { &hf_nr_rrc_ue_Identity_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InitialUE_Identity },
+ { &hf_nr_rrc_establishmentCause, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EstablishmentCause },
+ { &hf_nr_rrc_spare , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCSetupRequest_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCSetupRequest_IEs, RRCSetupRequest_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RRCSetupRequest_sequence[] = {
+ { &hf_nr_rrc_rrcSetupRequest_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRCSetupRequest_IEs },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup Request");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCSetupRequest, RRCSetupRequest_sequence);
+
+ return offset;
+}
+
+
+
+static 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 const value_string nr_rrc_ResumeCause_vals[] = {
+ { 0, "emergency" },
+ { 1, "highPriorityAccess" },
+ { 2, "mt-Access" },
+ { 3, "mo-Signalling" },
+ { 4, "mo-Data" },
+ { 5, "mo-VoiceCall" },
+ { 6, "mo-VideoCall" },
+ { 7, "mo-SMS" },
+ { 8, "rna-Update" },
+ { 9, "mps-PriorityAccess" },
+ { 10, "mcs-PriorityAccess" },
+ { 11, "spare1" },
+ { 12, "spare2" },
+ { 13, "spare3" },
+ { 14, "spare4" },
+ { 15, "spare5" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_rbg_Size(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_ResumeCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 16, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_powerControlLoopToUse_vals[] = {
- { 0, "n0" },
- { 1, "n1" },
+static const per_sequence_t RRCResumeRequest_IEs_sequence[] = {
+ { &hf_nr_rrc_resumeIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ShortI_RNTI_Value },
+ { &hf_nr_rrc_resumeMAC_I , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_16 },
+ { &hf_nr_rrc_resumeCause , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResumeCause },
+ { &hf_nr_rrc_spare , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCResumeRequest_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCResumeRequest_IEs, RRCResumeRequest_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RRCResumeRequest_sequence[] = {
+ { &hf_nr_rrc_rrcResumeRequest_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRCResumeRequest_IEs },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCResumeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Request");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCResumeRequest, RRCResumeRequest_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_RNTI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 65535U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t ReestabUE_Identity_sequence[] = {
+ { &hf_nr_rrc_c_RNTI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value },
+ { &hf_nr_rrc_physCellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
+ { &hf_nr_rrc_shortMAC_I , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ShortMAC_I },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_ReestabUE_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ReestabUE_Identity, ReestabUE_Identity_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_ReestablishmentCause_vals[] = {
+ { 0, "reconfigurationFailure" },
+ { 1, "handoverFailure" },
+ { 2, "otherFailure" },
+ { 3, "spare1" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_powerControlLoopToUse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_ReestablishmentCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+ 4, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_transformPrecoder_vals[] = {
- { 0, "enabled" },
+static const per_sequence_t RRCReestablishmentRequest_IEs_sequence[] = {
+ { &hf_nr_rrc_ue_Identity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReestabUE_Identity },
+ { &hf_nr_rrc_reestablishmentCause, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReestablishmentCause },
+ { &hf_nr_rrc_spare , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCReestablishmentRequest_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCReestablishmentRequest_IEs, RRCReestablishmentRequest_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RRCReestablishmentRequest_sequence[] = {
+ { &hf_nr_rrc_rrcReestablishmentRequest_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRCReestablishmentRequest_IEs },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCReestablishmentRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment Request");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCReestablishmentRequest, RRCReestablishmentRequest_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_maxSI_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ maxSI_Message, maxSI_Message, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t RRCSystemInfoRequest_r15_IEs_sequence[] = {
+ { &hf_nr_rrc_requested_SI_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_maxSI_Message },
+ { &hf_nr_rrc_spare_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_12 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCSystemInfoRequest_r15_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCSystemInfoRequest_r15_IEs, RRCSystemInfoRequest_r15_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_23_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_23, T_criticalExtensionsFuture_23_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_23_vals[] = {
+ { 0, "rrcSystemInfoRequest-r15" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
+static const per_choice_t T_criticalExtensions_23_choice[] = {
+ { 0, &hf_nr_rrc_rrcSystemInfoRequest_r15, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCSystemInfoRequest_r15_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_23, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_23 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_transformPrecoder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_criticalExtensions_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_23, T_criticalExtensions_23_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_repK_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
- { 2, "n4" },
- { 3, "n8" },
+static const per_sequence_t RRCSystemInfoRequest_sequence[] = {
+ { &hf_nr_rrc_criticalExtensions_23, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_23 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCSystemInfoRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC System Info Request");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCSystemInfoRequest, RRCSystemInfoRequest_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_c1_11_vals[] = {
+ { 0, "rrcSetupRequest" },
+ { 1, "rrcResumeRequest" },
+ { 2, "rrcReestablishmentRequest" },
+ { 3, "rrcSystemInfoRequest" },
{ 0, NULL }
};
+static const per_choice_t T_c1_11_choice[] = {
+ { 0, &hf_nr_rrc_rrcSetupRequest, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCSetupRequest },
+ { 1, &hf_nr_rrc_rrcResumeRequest, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCResumeRequest },
+ { 2, &hf_nr_rrc_rrcReestablishmentRequest, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReestablishmentRequest },
+ { 3, &hf_nr_rrc_rrcSystemInfoRequest, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCSystemInfoRequest },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_repK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_c1_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_c1_11, T_c1_11_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_repK_RV_vals[] = {
- { 0, "s1-0231" },
- { 1, "s2-0303" },
- { 2, "s3-0000" },
+static const per_sequence_t T_messageClassExtension_05_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_messageClassExtension_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_messageClassExtension_05, T_messageClassExtension_05_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_UL_CCCH_MessageType_vals[] = {
+ { 0, "c1" },
+ { 1, "messageClassExtension" },
{ 0, NULL }
};
+static const per_choice_t UL_CCCH_MessageType_choice[] = {
+ { 0, &hf_nr_rrc_c1_11 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_11 },
+ { 1, &hf_nr_rrc_messageClassExtension_05, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_05 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_repK_RV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_UL_CCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UL_CCCH_MessageType, UL_CCCH_MessageType_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_periodicity_vals[] = {
- { 0, "sym2" },
- { 1, "sym7" },
- { 2, "sym1x14" },
- { 3, "sym2x14" },
- { 4, "sym4x14" },
- { 5, "sym5x14" },
- { 6, "sym8x14" },
- { 7, "sym10x14" },
- { 8, "sym16x14" },
- { 9, "sym20x14" },
- { 10, "sym32x14" },
- { 11, "sym40x14" },
- { 12, "sym64x14" },
- { 13, "sym80x14" },
- { 14, "sym128x14" },
- { 15, "sym160x14" },
- { 16, "sym256x14" },
- { 17, "sym320x14" },
- { 18, "sym512x14" },
- { 19, "sym640x14" },
- { 20, "sym1024x14" },
- { 21, "sym1280x14" },
- { 22, "sym2560x14" },
- { 23, "sym5120x14" },
- { 24, "sym6" },
- { 25, "sym1x12" },
- { 26, "sym2x12" },
- { 27, "sym4x12" },
- { 28, "sym5x12" },
- { 29, "sym8x12" },
- { 30, "sym10x12" },
- { 31, "sym16x12" },
- { 32, "sym20x12" },
- { 33, "sym32x12" },
- { 34, "sym40x12" },
- { 35, "sym64x12" },
- { 36, "sym80x12" },
- { 37, "sym128x12" },
- { 38, "sym160x12" },
- { 39, "sym256x12" },
- { 40, "sym320x12" },
- { 41, "sym512x12" },
- { 42, "sym640x12" },
- { 43, "sym1280x12" },
- { 44, "sym2560x12" },
+static const per_sequence_t UL_CCCH_Message_sequence[] = {
+ { &hf_nr_rrc_message_05 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_CCCH_MessageType },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UL_CCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+ actx->pinfo->link_dir = P2P_DIR_UL;
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UL_CCCH_Message, UL_CCCH_Message_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RRCResumeRequest1_IEs_sequence[] = {
+ { &hf_nr_rrc_resumeIdentity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_I_RNTI_Value },
+ { &hf_nr_rrc_resumeMAC_I , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_16 },
+ { &hf_nr_rrc_resumeCause , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResumeCause },
+ { &hf_nr_rrc_spare , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCResumeRequest1_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCResumeRequest1_IEs, RRCResumeRequest1_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RRCResumeRequest1_sequence[] = {
+ { &hf_nr_rrc_rrcResumeRequest1_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRCResumeRequest1_IEs },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCResumeRequest1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Request 1");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCResumeRequest1, RRCResumeRequest1_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_c1_12_vals[] = {
+ { 0, "rrcResumeRequest1" },
+ { 1, "spare3" },
+ { 2, "spare2" },
+ { 3, "spare1" },
{ 0, NULL }
};
-static value_string_ext nr_rrc_T_periodicity_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_periodicity_vals);
+static const per_choice_t T_c1_12_choice[] = {
+ { 0, &hf_nr_rrc_rrcResumeRequest1, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCResumeRequest1 },
+ { 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 3, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 0, NULL, 0, NULL }
+};
+static int
+dissect_nr_rrc_T_c1_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_c1_12, T_c1_12_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_messageClassExtension_06_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_T_periodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 45, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_messageClassExtension_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_messageClassExtension_06, T_messageClassExtension_06_sequence);
return offset;
}
+static const value_string nr_rrc_UL_CCCH1_MessageType_vals[] = {
+ { 0, "c1" },
+ { 1, "messageClassExtension" },
+ { 0, NULL }
+};
+
+static const per_choice_t UL_CCCH1_MessageType_choice[] = {
+ { 0, &hf_nr_rrc_c1_12 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_12 },
+ { 1, &hf_nr_rrc_messageClassExtension_06, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_06 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_BIT_STRING_SIZE_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 18, 18, FALSE, NULL, NULL);
+dissect_nr_rrc_UL_CCCH1_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UL_CCCH1_MessageType, UL_CCCH1_MessageType_choice,
+ NULL);
return offset;
}
+static const per_sequence_t UL_CCCH1_Message_sequence[] = {
+ { &hf_nr_rrc_message_06 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_CCCH1_MessageType },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofPUSCH_PathlossReferenceRSs_1, NULL, FALSE);
+dissect_nr_rrc_UL_CCCH1_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+ actx->pinfo->link_dir = P2P_DIR_UL;
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UL_CCCH1_Message, UL_CCCH1_Message_sequence);
return offset;
}
-static const per_sequence_t T_rrc_ConfiguredUplinkGrant_sequence[] = {
- { &hf_nr_rrc_timeDomainOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_5119 },
- { &hf_nr_rrc_timeDomainAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
- { &hf_nr_rrc_frequencyDomainAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_18 },
- { &hf_nr_rrc_antennaPort , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
- { &hf_nr_rrc_dmrs_SeqInitialization, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1 },
- { &hf_nr_rrc_precodingAndNumberOfLayers, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
- { &hf_nr_rrc_srs_ResourceIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
- { &hf_nr_rrc_mcsAndTBS , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
- { &hf_nr_rrc_frequencyHoppingOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1 },
- { &hf_nr_rrc_pathlossReferenceIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1 },
+static const per_sequence_t MeasResultServMO_sequence[] = {
+ { &hf_nr_rrc_servCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
+ { &hf_nr_rrc_measResultServingCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR },
+ { &hf_nr_rrc_measResultBestNeighCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultNR },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_rrc_ConfiguredUplinkGrant(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_T_rrc_ConfiguredUplinkGrant, T_rrc_ConfiguredUplinkGrant_sequence);
+ ett_nr_rrc_MeasResultServMO, MeasResultServMO_sequence);
return offset;
}
-static const per_sequence_t ConfiguredGrantConfig_sequence[] = {
- { &hf_nr_rrc_frequencyHopping, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyHopping },
- { &hf_nr_rrc_cg_DMRS_Configuration, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DMRS_UplinkConfig },
- { &hf_nr_rrc_mcs_Table , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_Table },
- { &hf_nr_rrc_mcs_TableTransformPrecoder, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_TableTransformPrecoder },
- { &hf_nr_rrc_uci_OnPUSCH , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_uci_OnPUSCH },
- { &hf_nr_rrc_resourceAllocation, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceAllocation },
- { &hf_nr_rrc_rbg_Size , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rbg_Size },
- { &hf_nr_rrc_powerControlLoopToUse, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_powerControlLoopToUse },
- { &hf_nr_rrc_p0_PUSCH_Alpha, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId },
- { &hf_nr_rrc_transformPrecoder, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecoder },
- { &hf_nr_rrc_nrofHARQ_Processes, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
- { &hf_nr_rrc_repK , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_repK },
- { &hf_nr_rrc_repK_RV , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_repK_RV },
- { &hf_nr_rrc_periodicity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity },
- { &hf_nr_rrc_configuredGrantTimer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_64 },
- { &hf_nr_rrc_rrc_ConfiguredUplinkGrant, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rrc_ConfiguredUplinkGrant },
+static const per_sequence_t MeasResultServMOList_sequence_of[1] = {
+ { &hf_nr_rrc_MeasResultServMOList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServMO },
+};
+
+static int
+dissect_nr_rrc_MeasResultServMOList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasResultServMOList, MeasResultServMOList_sequence_of,
+ 1, maxNrofServingCells, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasQuantityResultsEUTRA_sequence[] = {
+ { &hf_nr_rrc_rsrp_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_RangeEUTRA },
+ { &hf_nr_rrc_rsrq_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_RangeEUTRA },
+ { &hf_nr_rrc_sinr_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SINR_RangeEUTRA },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_ConfiguredGrantConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasQuantityResultsEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_ConfiguredGrantConfig, ConfiguredGrantConfig_sequence);
+ ett_nr_rrc_MeasQuantityResultsEUTRA, MeasQuantityResultsEUTRA_sequence);
return offset;
}
-static const value_string nr_rrc_T_configuredGrantConfig_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const per_sequence_t PLMN_IdentityList_EUTRA_EPC_sequence_of[1] = {
+ { &hf_nr_rrc_PLMN_IdentityList_EUTRA_EPC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity },
+};
+
+static int
+dissect_nr_rrc_PLMN_IdentityList_EUTRA_EPC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PLMN_IdentityList_EUTRA_EPC, PLMN_IdentityList_EUTRA_EPC_sequence_of,
+ 1, maxPLMN, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 28, 28, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t CellAccessRelatedInfo_EUTRA_EPC_sequence[] = {
+ { &hf_nr_rrc_plmn_IdentityList_eutra_epc, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_IdentityList_EUTRA_EPC },
+ { &hf_nr_rrc_trackingAreaCode_eutra_epc, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_16 },
+ { &hf_nr_rrc_cellIdentity_eutra_epc, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_28 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_CellAccessRelatedInfo_EUTRA_EPC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CellAccessRelatedInfo_EUTRA_EPC, CellAccessRelatedInfo_EUTRA_EPC_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC_sequence_of[1] = {
+ { &hf_nr_rrc_cgi_info_EPC_list_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellAccessRelatedInfo_EUTRA_EPC },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC, SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC_sequence_of,
+ 1, maxPLMN, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_cgi_info_EPC_sequence[] = {
+ { &hf_nr_rrc_cgi_info_EPC_legacy, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellAccessRelatedInfo_EUTRA_EPC },
+ { &hf_nr_rrc_cgi_info_EPC_list, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_cgi_info_EPC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_cgi_info_EPC, T_cgi_info_EPC_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_PLMN_Identity_EUTRA_5GC_vals[] = {
+ { 0, "plmn-Identity-EUTRA-5GC" },
+ { 1, "plmn-index" },
{ 0, NULL }
};
-static const per_choice_t T_configuredGrantConfig_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_06 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_ConfiguredGrantConfig },
+static const per_choice_t PLMN_Identity_EUTRA_5GC_choice[] = {
+ { 0, &hf_nr_rrc_plmn_Identity_EUTRA_5GC, ASN1_NO_EXTENSIONS , dissect_nr_rrc_PLMN_Identity },
+ { 1, &hf_nr_rrc_plmn_index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_maxPLMN },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_configuredGrantConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PLMN_Identity_EUTRA_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_configuredGrantConfig, T_configuredGrantConfig_choice,
+ ett_nr_rrc_PLMN_Identity_EUTRA_5GC, PLMN_Identity_EUTRA_5GC_choice,
NULL);
return offset;
}
+static const per_sequence_t PLMN_IdentityList_EUTRA_5GC_sequence_of[1] = {
+ { &hf_nr_rrc_PLMN_IdentityList_EUTRA_5GC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity_EUTRA_5GC },
+};
static int
-dissect_nr_rrc_SRS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, maxNrofSRS_ResourceSets_1, NULL, FALSE);
+dissect_nr_rrc_PLMN_IdentityList_EUTRA_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PLMN_IdentityList_EUTRA_5GC, PLMN_IdentityList_EUTRA_5GC_sequence_of,
+ 1, maxPLMN, FALSE);
return offset;
}
-static const 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 const value_string nr_rrc_CellIdentity_EUTRA_5GC_vals[] = {
+ { 0, "cellIdentity-EUTRA" },
+ { 1, "cellId-index" },
+ { 0, NULL }
+};
+
+static const per_choice_t CellIdentity_EUTRA_5GC_choice[] = {
+ { 0, &hf_nr_rrc_cellIdentity_EUTRA, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_28 },
+ { 1, &hf_nr_rrc_cellId_index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_maxPLMN },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_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_) {
+dissect_nr_rrc_CellIdentity_EUTRA_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CellIdentity_EUTRA_5GC, CellIdentity_EUTRA_5GC_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t CellAccessRelatedInfo_EUTRA_5GC_sequence[] = {
+ { &hf_nr_rrc_plmn_IdentityList_eutra_5gc, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_IdentityList_EUTRA_5GC },
+ { &hf_nr_rrc_trackingAreaCode_eutra_5gc, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TrackingAreaCode },
+ { &hf_nr_rrc_ranac_5gc , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RAN_AreaCode },
+ { &hf_nr_rrc_cellIdentity_eutra_5gc, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellIdentity_EUTRA_5GC },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_CellAccessRelatedInfo_EUTRA_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CellAccessRelatedInfo_EUTRA_5GC, CellAccessRelatedInfo_EUTRA_5GC_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC_sequence_of[1] = {
+ { &hf_nr_rrc_cgi_info_5GC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellAccessRelatedInfo_EUTRA_5GC },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId, SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId_sequence_of,
- 1, maxNrofSRS_ResourceSets, FALSE);
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC, SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC_sequence_of,
+ 1, maxPLMN, FALSE);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId_sequence_of[1] = {
- { &hf_nr_rrc_srs_ResourceIdList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
+static const per_sequence_t MultiBandInfoListEUTRA_sequence_of[1] = {
+ { &hf_nr_rrc_MultiBandInfoListEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MultiBandInfoListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId, SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId_sequence_of,
- 1, maxNrofSRS_ResourcesPerSet, FALSE);
+ ett_nr_rrc_MultiBandInfoListEUTRA, MultiBandInfoListEUTRA_sequence_of,
+ 1, maxMultiBands, FALSE);
return offset;
}
+static const value_string nr_rrc_T_freqBandIndicatorPriority_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
static int
-dissect_nr_rrc_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_) {
+dissect_nr_rrc_T_freqBandIndicatorPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_cgi_Info_sequence[] = {
+ { &hf_nr_rrc_cgi_info_EPC , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cgi_info_EPC },
+ { &hf_nr_rrc_cgi_info_5GC , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC },
+ { &hf_nr_rrc_freqBandIndicator, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA },
+ { &hf_nr_rrc_multiBandInfoList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MultiBandInfoListEUTRA },
+ { &hf_nr_rrc_freqBandIndicatorPriority, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_freqBandIndicatorPriority },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_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_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_cgi_Info, T_cgi_Info_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasResultEUTRA_sequence[] = {
+ { &hf_nr_rrc_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
+ { &hf_nr_rrc_measResult_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasQuantityResultsEUTRA },
+ { &hf_nr_rrc_cgi_Info_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cgi_Info },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MeasResultEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasResultEUTRA, MeasResultEUTRA_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasResultListEUTRA_sequence_of[1] = {
+ { &hf_nr_rrc_MeasResultListEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultEUTRA },
+};
+
+static int
+dissect_nr_rrc_MeasResultListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasResultListEUTRA, MeasResultListEUTRA_sequence_of,
+ 1, maxCellReport, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_measResultNeighCells_vals[] = {
+ { 0, "measResultListNR" },
+ { 1, "measResultListEUTRA" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_measResultNeighCells_choice[] = {
+ { 0, &hf_nr_rrc_measResultListNR, ASN1_EXTENSION_ROOT , dissect_nr_rrc_MeasResultListNR },
+ { 1, &hf_nr_rrc_measResultListEUTRA, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_MeasResultListEUTRA },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_measResultNeighCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_measResultNeighCells, T_measResultNeighCells_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasResults_sequence[] = {
+ { &hf_nr_rrc_measId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
+ { &hf_nr_rrc_measResultServingMOList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServMOList },
+ { &hf_nr_rrc_measResultNeighCells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultNeighCells },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MeasResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasResults, MeasResults_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nonCriticalExtension_11_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_nonCriticalExtension_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_11, T_nonCriticalExtension_11_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasurementReport_IEs_sequence[] = {
+ { &hf_nr_rrc_measResults , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResults },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_11 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MeasurementReport_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasurementReport_IEs, MeasurementReport_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_11_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_11, T_criticalExtensionsFuture_11_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_11_vals[] = {
+ { 0, "measurementReport" },
+ { 1, "criticalExtensionsFuture" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_criticalExtensions_11_choice[] = {
+ { 0, &hf_nr_rrc_measurementReport_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementReport_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_11, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_11 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensions_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_11, T_criticalExtensions_11_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasurementReport_sequence[] = {
+ { &hf_nr_rrc_criticalExtensions_11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_11 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Measurement Report");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasurementReport, MeasurementReport_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BWP_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxNrofSRS_TriggerStates_1, NULL, FALSE);
+ 0U, maxNrofBWPs, NULL, FALSE);
return offset;
}
@@ -12554,662 +18413,1393 @@ dissect_nr_rrc_INTEGER_1_maxNrofSRS_TriggerStates_1(tvbuff_t *tvb _U_, int offse
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_) {
+dissect_nr_rrc_INTEGER_0_3301(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 32U, NULL, FALSE);
+ 0U, 3301U, NULL, FALSE);
return offset;
}
-static const per_sequence_t T_aperiodic_01_sequence[] = {
- { &hf_nr_rrc_aperiodicSRS_ResourceTrigger, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofSRS_TriggerStates_1 },
- { &hf_nr_rrc_csi_RS_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
- { &hf_nr_rrc_slotOffset , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_32 },
+static const per_sequence_t UplinkTxDirectCurrentBWP_sequence[] = {
+ { &hf_nr_rrc_bwp_Id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
+ { &hf_nr_rrc_shift7dot5kHz, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_txDirectCurrentLocation, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3301 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_aperiodic_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_UplinkTxDirectCurrentBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_aperiodic_01, T_aperiodic_01_sequence);
+ ett_nr_rrc_UplinkTxDirectCurrentBWP, UplinkTxDirectCurrentBWP_sequence);
return offset;
}
-static const per_sequence_t T_semi_persistent_sequence[] = {
- { &hf_nr_rrc_associatedCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP_sequence_of[1] = {
+ { &hf_nr_rrc_uplinkDirectCurrentBWP_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UplinkTxDirectCurrentBWP },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP, SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP_sequence_of,
+ 1, maxNrofBWPs, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t UplinkTxDirectCurrentCell_sequence[] = {
+ { &hf_nr_rrc_servCellIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
+ { &hf_nr_rrc_uplinkDirectCurrentBWP, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_semi_persistent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_UplinkTxDirectCurrentCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_semi_persistent, T_semi_persistent_sequence);
+ ett_nr_rrc_UplinkTxDirectCurrentCell, UplinkTxDirectCurrentCell_sequence);
return offset;
}
-static const per_sequence_t T_periodic_01_sequence[] = {
- { &hf_nr_rrc_associatedCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+static const per_sequence_t UplinkTxDirectCurrentList_sequence_of[1] = {
+ { &hf_nr_rrc_UplinkTxDirectCurrentList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UplinkTxDirectCurrentCell },
+};
+
+static int
+dissect_nr_rrc_UplinkTxDirectCurrentList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UplinkTxDirectCurrentList, UplinkTxDirectCurrentList_sequence_of,
+ 1, maxNrofServingCells, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nonCriticalExtension_17_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_periodic_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nonCriticalExtension_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_periodic_01, T_periodic_01_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_17, T_nonCriticalExtension_17_sequence);
return offset;
}
-static const value_string nr_rrc_T_resourceType_01_vals[] = {
- { 0, "aperiodic" },
- { 1, "semi-persistent" },
- { 2, "periodic" },
+static const per_sequence_t RRCReconfigurationComplete_v1530_IEs_sequence[] = {
+ { &hf_nr_rrc_uplinkTxDirectCurrentList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UplinkTxDirectCurrentList },
+ { &hf_nr_rrc_nonCriticalExtension_19, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_17 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCReconfigurationComplete_v1530_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCReconfigurationComplete_v1530_IEs, RRCReconfigurationComplete_v1530_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RRCReconfigurationComplete_IEs_sequence[] = {
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReconfigurationComplete_v1530_IEs },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCReconfigurationComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCReconfigurationComplete_IEs, RRCReconfigurationComplete_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_16_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_16, T_criticalExtensionsFuture_16_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_16_vals[] = {
+ { 0, "rrcReconfigurationComplete" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
-static const per_choice_t T_resourceType_01_choice[] = {
- { 0, &hf_nr_rrc_aperiodic_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_aperiodic_01 },
- { 1, &hf_nr_rrc_semi_persistent, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semi_persistent },
- { 2, &hf_nr_rrc_periodic_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_periodic_01 },
+static const per_choice_t T_criticalExtensions_16_choice[] = {
+ { 0, &hf_nr_rrc_rrcReconfigurationComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationComplete_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_16 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_resourceType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensions_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_resourceType_01, T_resourceType_01_choice,
+ ett_nr_rrc_T_criticalExtensions_16, T_criticalExtensions_16_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_usage_vals[] = {
- { 0, "beamManagement" },
- { 1, "codebook" },
- { 2, "nonCodebook" },
- { 3, "antennaSwitching" },
+static const per_sequence_t RRCReconfigurationComplete_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_16 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Complete");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCReconfigurationComplete, RRCReconfigurationComplete_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_AMF_Identifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 24, 24, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t RegisteredAMF_sequence[] = {
+ { &hf_nr_rrc_plmn_Identity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PLMN_Identity },
+ { &hf_nr_rrc_amf_Identifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AMF_Identifier },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RegisteredAMF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RegisteredAMF, RegisteredAMF_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_guami_Type_vals[] = {
+ { 0, "native" },
+ { 1, "mapped" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_guami_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_pathlossReferenceRS_vals[] = {
- { 0, "ssb-Index" },
- { 1, "csi-RS-Index" },
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 32, 32, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_S_NSSAI_vals[] = {
+ { 0, "sst" },
+ { 1, "sst-SD" },
{ 0, NULL }
};
-static const per_choice_t T_pathlossReferenceRS_choice[] = {
- { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
- { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+static const per_choice_t S_NSSAI_choice[] = {
+ { 0, &hf_nr_rrc_sst , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
+ { 1, &hf_nr_rrc_sst_SD , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_32 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_pathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_S_NSSAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_pathlossReferenceRS, T_pathlossReferenceRS_choice,
+ ett_nr_rrc_S_NSSAI, S_NSSAI_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_srs_PowerControlAdjustmentStates_vals[] = {
- { 0, "sameAsFci2" },
- { 1, "separateClosedLoop" },
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI_sequence_of[1] = {
+ { &hf_nr_rrc_s_nssai_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_S_NSSAI },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI, SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI_sequence_of,
+ 1, maxNrofS_NSSAI, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 9, 9, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_ng_5G_S_TMSI_Value_vals[] = {
+ { 0, "ng-5G-S-TMSI" },
+ { 1, "ng-5G-S-TMSI-Part2" },
{ 0, NULL }
};
+static const per_choice_t T_ng_5G_S_TMSI_Value_choice[] = {
+ { 0, &hf_nr_rrc_ng_5G_S_TMSI , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NG_5G_S_TMSI },
+ { 1, &hf_nr_rrc_ng_5G_S_TMSI_Part2, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_9 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_srs_PowerControlAdjustmentStates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_ng_5G_S_TMSI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_ng_5G_S_TMSI_Value, T_ng_5G_S_TMSI_Value_choice,
+ NULL);
return offset;
}
-static const per_sequence_t SRS_ResourceSet_sequence[] = {
- { &hf_nr_rrc_srs_ResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSetId },
- { &hf_nr_rrc_srs_ResourceIdList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId },
- { &hf_nr_rrc_resourceType_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType_01 },
- { &hf_nr_rrc_usage , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_usage },
- { &hf_nr_rrc_alpha , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_Alpha },
- { &hf_nr_rrc_p0_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M202_24 },
- { &hf_nr_rrc_pathlossReferenceRS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pathlossReferenceRS },
- { &hf_nr_rrc_srs_PowerControlAdjustmentStates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_PowerControlAdjustmentStates },
+static const per_sequence_t T_nonCriticalExtension_23_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SRS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nonCriticalExtension_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SRS_ResourceSet, SRS_ResourceSet_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_23, T_nonCriticalExtension_23_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet_sequence_of[1] = {
- { &hf_nr_rrc_srs_ResourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSet },
+static const per_sequence_t RRCSetupComplete_IEs_sequence[] = {
+ { &hf_nr_rrc_selectedPLMN_Identity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxPLMN },
+ { &hf_nr_rrc_registeredAMF, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RegisteredAMF },
+ { &hf_nr_rrc_guami_Type , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_guami_Type },
+ { &hf_nr_rrc_s_nssai_List , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI },
+ { &hf_nr_rrc_dedicatedNAS_Message, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DedicatedNAS_Message },
+ { &hf_nr_rrc_ng_5G_S_TMSI_Value, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ng_5G_S_TMSI_Value },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_25, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_23 },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet, SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet_sequence_of,
- 1, maxNrofSRS_ResourceSets, FALSE);
+dissect_nr_rrc_RRCSetupComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCSetupComplete_IEs, RRCSetupComplete_IEs_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId_sequence_of[1] = {
- { &hf_nr_rrc_srs_ResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
+static const per_sequence_t T_criticalExtensionsFuture_22_sequence[] = {
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId, SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId_sequence_of,
- 1, maxNrofSRS_Resources, FALSE);
+dissect_nr_rrc_T_criticalExtensionsFuture_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_22, T_criticalExtensionsFuture_22_sequence);
return offset;
}
-static const value_string nr_rrc_T_nrofSRS_Ports_vals[] = {
- { 0, "port1" },
- { 1, "ports2" },
- { 2, "ports4" },
+static const value_string nr_rrc_T_criticalExtensions_22_vals[] = {
+ { 0, "rrcSetupComplete" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
+static const per_choice_t T_criticalExtensions_22_choice[] = {
+ { 0, &hf_nr_rrc_rrcSetupComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCSetupComplete_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_22, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_22 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_nrofSRS_Ports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_criticalExtensions_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_22, T_criticalExtensions_22_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_ptrs_PortIndex_vals[] = {
- { 0, "n0" },
- { 1, "n1" },
+static const per_sequence_t RRCSetupComplete_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_22, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_22 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCSetupComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup Complete");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCSetupComplete, RRCSetupComplete_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nonCriticalExtension_15_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_nonCriticalExtension_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_15, T_nonCriticalExtension_15_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RRCReestablishmentComplete_IEs_sequence[] = {
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_15 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCReestablishmentComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCReestablishmentComplete_IEs, RRCReestablishmentComplete_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_14_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_14, T_criticalExtensionsFuture_14_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_14_vals[] = {
+ { 0, "rrcReestablishmentComplete" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
+static const per_choice_t T_criticalExtensions_14_choice[] = {
+ { 0, &hf_nr_rrc_rrcReestablishmentComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReestablishmentComplete_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_14, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_14 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_ptrs_PortIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_criticalExtensions_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_14, T_criticalExtensions_14_choice,
+ NULL);
return offset;
}
-static const per_sequence_t T_n2_sequence[] = {
- { &hf_nr_rrc_combOffset_n2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1 },
- { &hf_nr_rrc_cyclicShift_n2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
+static const per_sequence_t RRCReestablishmentComplete_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_14, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_14 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_n2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_RRCReestablishmentComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment Complete");
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_n2, T_n2_sequence);
+ ett_nr_rrc_RRCReestablishmentComplete, RRCReestablishmentComplete_sequence);
return offset;
}
-static const per_sequence_t T_n4_sequence[] = {
- { &hf_nr_rrc_combOffset_n4, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
- { &hf_nr_rrc_cyclicShift_n4, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 },
+static const per_sequence_t T_nonCriticalExtension_21_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_n4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nonCriticalExtension_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_n4, T_n4_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_21, T_nonCriticalExtension_21_sequence);
return offset;
}
-static const value_string nr_rrc_T_transmissionComb_vals[] = {
- { 0, "n2" },
- { 1, "n4" },
+static const per_sequence_t RRCResumeComplete_IEs_sequence[] = {
+ { &hf_nr_rrc_dedicatedNAS_Message, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DedicatedNAS_Message },
+ { &hf_nr_rrc_selectedPLMN_Identity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxPLMN },
+ { &hf_nr_rrc_uplinkTxDirectCurrentList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UplinkTxDirectCurrentList },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_23, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_21 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RRCResumeComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCResumeComplete_IEs, RRCResumeComplete_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_20_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_20, T_criticalExtensionsFuture_20_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_20_vals[] = {
+ { 0, "rrcResumeComplete" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
-static const per_choice_t T_transmissionComb_choice[] = {
- { 0, &hf_nr_rrc_n2_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_n2 },
- { 1, &hf_nr_rrc_n4_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_n4 },
+static const per_choice_t T_criticalExtensions_20_choice[] = {
+ { 0, &hf_nr_rrc_rrcResumeComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCResumeComplete_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_20, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_20 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_transmissionComb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensions_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_transmissionComb, T_transmissionComb_choice,
+ ett_nr_rrc_T_criticalExtensions_20, T_criticalExtensions_20_choice,
NULL);
return offset;
}
+static const per_sequence_t RRCResumeComplete_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_20, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_20 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 5U, NULL, FALSE);
+dissect_nr_rrc_RRCResumeComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Complete");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RRCResumeComplete, RRCResumeComplete_sequence);
return offset;
}
-static const value_string nr_rrc_T_nrofSymbols_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
- { 2, "n4" },
+static const per_sequence_t T_nonCriticalExtension_25_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_nonCriticalExtension_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_25, T_nonCriticalExtension_25_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SecurityModeComplete_IEs_sequence[] = {
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_27, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_25 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_SecurityModeComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SecurityModeComplete_IEs, SecurityModeComplete_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_25_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_25, T_criticalExtensionsFuture_25_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_25_vals[] = {
+ { 0, "securityModeComplete" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
+static const per_choice_t T_criticalExtensions_25_choice[] = {
+ { 0, &hf_nr_rrc_securityModeComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SecurityModeComplete_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_25, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_25 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_nrofSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_criticalExtensions_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_25, T_criticalExtensions_25_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_repetitionFactor_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
- { 2, "n4" },
+static const per_sequence_t SecurityModeComplete_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_25, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_25 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_SecurityModeComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Complete");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SecurityModeComplete, SecurityModeComplete_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nonCriticalExtension_26_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_nonCriticalExtension_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_26, T_nonCriticalExtension_26_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SecurityModeFailure_IEs_sequence[] = {
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_28, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_26 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_SecurityModeFailure_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SecurityModeFailure_IEs, SecurityModeFailure_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_26_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_26, T_criticalExtensionsFuture_26_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_26_vals[] = {
+ { 0, "securityModeFailure" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
+static const per_choice_t T_criticalExtensions_26_choice[] = {
+ { 0, &hf_nr_rrc_securityModeFailure_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SecurityModeFailure_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_26, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_26 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_repetitionFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_criticalExtensions_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_26, T_criticalExtensions_26_choice,
+ NULL);
return offset;
}
-static const per_sequence_t T_resourceMapping_sequence[] = {
- { &hf_nr_rrc_startPosition, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_5 },
- { &hf_nr_rrc_nrofSymbols_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofSymbols },
- { &hf_nr_rrc_repetitionFactor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_repetitionFactor },
+static const per_sequence_t SecurityModeFailure_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_26, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_26 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_resourceMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_SecurityModeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Failure");
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_resourceMapping, T_resourceMapping_sequence);
+ ett_nr_rrc_SecurityModeFailure, SecurityModeFailure_sequence);
return offset;
}
+static const per_sequence_t T_nonCriticalExtension_32_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_67(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 67U, NULL, FALSE);
+dissect_nr_rrc_T_nonCriticalExtension_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_32, T_nonCriticalExtension_32_sequence);
return offset;
}
+static const per_sequence_t ULInformationTransfer_IEs_sequence[] = {
+ { &hf_nr_rrc_dedicatedNAS_Message, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DedicatedNAS_Message },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_34, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_32 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_INTEGER_0_268(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 268U, NULL, FALSE);
+dissect_nr_rrc_ULInformationTransfer_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ULInformationTransfer_IEs, ULInformationTransfer_IEs_sequence);
return offset;
}
-static const per_sequence_t T_freqHopping_sequence[] = {
- { &hf_nr_rrc_c_SRS , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
- { &hf_nr_rrc_b_SRS , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
- { &hf_nr_rrc_b_hop , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
+static const per_sequence_t T_criticalExtensionsFuture_31_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_freqHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensionsFuture_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_freqHopping, T_freqHopping_sequence);
+ ett_nr_rrc_T_criticalExtensionsFuture_31, T_criticalExtensionsFuture_31_sequence);
return offset;
}
-static const value_string nr_rrc_T_groupOrSequenceHopping_vals[] = {
- { 0, "neither" },
- { 1, "groupHopping" },
- { 2, "sequenceHopping" },
+static const value_string nr_rrc_T_criticalExtensions_31_vals[] = {
+ { 0, "ulInformationTransfer" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
+static const per_choice_t T_criticalExtensions_31_choice[] = {
+ { 0, &hf_nr_rrc_ulInformationTransfer_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_ULInformationTransfer_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_31, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_31 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_groupOrSequenceHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_criticalExtensions_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_31, T_criticalExtensions_31_choice,
+ NULL);
return offset;
}
-static const per_sequence_t T_aperiodic_02_sequence[] = {
- { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
+static const per_sequence_t ULInformationTransfer_sequence[] = {
+ { &hf_nr_rrc_criticalExtensions_31, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_31 },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_aperiodic_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_ULInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UL Information Transfer");
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_aperiodic_02, T_aperiodic_02_sequence);
+ ett_nr_rrc_ULInformationTransfer, ULInformationTransfer_sequence);
return offset;
}
-static const value_string nr_rrc_SRS_PeriodicityAndOffset_vals[] = {
- { 0, "sl1" },
- { 1, "sl2" },
- { 2, "sl4" },
- { 3, "sl5" },
- { 4, "sl8" },
- { 5, "sl10" },
- { 6, "sl16" },
- { 7, "sl20" },
- { 8, "sl32" },
- { 9, "sl40" },
- { 10, "sl64" },
- { 11, "sl80" },
- { 12, "sl160" },
- { 13, "sl320" },
- { 14, "sl640" },
- { 15, "sl1280" },
- { 16, "sl2560" },
+static const per_sequence_t EUTRA_RSTD_Info_sequence[] = {
+ { &hf_nr_rrc_carrierFreq_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA },
+ { &hf_nr_rrc_measPRS_Offset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_39 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_EUTRA_RSTD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_EUTRA_RSTD_Info, EUTRA_RSTD_Info_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t EUTRA_RSTD_InfoList_sequence_of[1] = {
+ { &hf_nr_rrc_EUTRA_RSTD_InfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_RSTD_Info },
+};
+
+static int
+dissect_nr_rrc_EUTRA_RSTD_InfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_EUTRA_RSTD_InfoList, EUTRA_RSTD_InfoList_sequence_of,
+ 1, maxInterRAT_RSTD_Freq, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_LocationMeasurementInfo_vals[] = {
+ { 0, "eutra-RSTD" },
{ 0, NULL }
};
-static value_string_ext nr_rrc_SRS_PeriodicityAndOffset_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_SRS_PeriodicityAndOffset_vals);
+static const per_choice_t LocationMeasurementInfo_choice[] = {
+ { 0, &hf_nr_rrc_eutra_RSTD , ASN1_EXTENSION_ROOT , dissect_nr_rrc_EUTRA_RSTD_InfoList },
+ { 0, NULL, 0, NULL }
+};
-static const per_choice_t SRS_PeriodicityAndOffset_choice[] = {
- { 0, &hf_nr_rrc_sl1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_sl2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1 },
- { 2, &hf_nr_rrc_sl4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 },
- { 3, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
- { 4, &hf_nr_rrc_sl8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 },
- { 5, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
- { 6, &hf_nr_rrc_sl16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
- { 7, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
- { 8, &hf_nr_rrc_sl32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 },
- { 9, &hf_nr_rrc_sl40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
- { 10, &hf_nr_rrc_sl64 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_63 },
- { 11, &hf_nr_rrc_sl80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
- { 12, &hf_nr_rrc_sl160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
- { 13, &hf_nr_rrc_sl320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
- { 14, &hf_nr_rrc_sl640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 },
- { 15, &hf_nr_rrc_sl1280 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1279 },
- { 16, &hf_nr_rrc_sl2560 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2559 },
+static int
+dissect_nr_rrc_LocationMeasurementInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_LocationMeasurementInfo, LocationMeasurementInfo_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_measurementIndication_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_measurementIndication_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_LocationMeasurementInfo },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_SRS_PeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_measurementIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SRS_PeriodicityAndOffset, SRS_PeriodicityAndOffset_choice,
+ ett_nr_rrc_T_measurementIndication, T_measurementIndication_choice,
NULL);
return offset;
}
-static const per_sequence_t T_semi_persistent_01_sequence[] = {
- { &hf_nr_rrc_periodicityAndOffset_sp, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PeriodicityAndOffset },
+static const per_sequence_t T_nonCriticalExtension_10_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_semi_persistent_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nonCriticalExtension_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_semi_persistent_01, T_semi_persistent_01_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_10, T_nonCriticalExtension_10_sequence);
return offset;
}
-static const per_sequence_t T_periodic_02_sequence[] = {
- { &hf_nr_rrc_periodicityAndOffset_p, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PeriodicityAndOffset },
+static const per_sequence_t LocationMeasurementIndication_IEs_sequence[] = {
+ { &hf_nr_rrc_measurementIndication, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measurementIndication },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_10 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_periodic_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_LocationMeasurementIndication_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_periodic_02, T_periodic_02_sequence);
+ ett_nr_rrc_LocationMeasurementIndication_IEs, LocationMeasurementIndication_IEs_sequence);
return offset;
}
-static const value_string nr_rrc_T_resourceType_02_vals[] = {
- { 0, "aperiodic" },
- { 1, "semi-persistent" },
- { 2, "periodic" },
+static const per_sequence_t T_criticalExtensionsFuture_10_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_10, T_criticalExtensionsFuture_10_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_10_vals[] = {
+ { 0, "locationMeasurementIndication" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
-static const per_choice_t T_resourceType_02_choice[] = {
- { 0, &hf_nr_rrc_aperiodic_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_aperiodic_02 },
- { 1, &hf_nr_rrc_semi_persistent_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semi_persistent_01 },
- { 2, &hf_nr_rrc_periodic_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_periodic_02 },
+static const per_choice_t T_criticalExtensions_10_choice[] = {
+ { 0, &hf_nr_rrc_locationMeasurementIndication_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_LocationMeasurementIndication_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_10, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_10 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_resourceType_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensions_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_resourceType_02, T_resourceType_02_choice,
+ ett_nr_rrc_T_criticalExtensions_10, T_criticalExtensions_10_choice,
NULL);
return offset;
}
+static const per_sequence_t LocationMeasurementIndication_sequence[] = {
+ { &hf_nr_rrc_criticalExtensions_10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_10 },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_nr_rrc_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_LocationMeasurementIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Location Measurement Indication");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_LocationMeasurementIndication, LocationMeasurementIndication_sequence);
return offset;
}
-static const per_sequence_t T_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 },
+static const per_sequence_t T_nonCriticalExtension_31_sequence[] = {
{ 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_) {
+dissect_nr_rrc_T_nonCriticalExtension_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_srs_01, T_srs_01_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_31, T_nonCriticalExtension_31_sequence);
return offset;
}
-static const value_string nr_rrc_T_referenceSignal_03_vals[] = {
- { 0, "ssb-Index" },
- { 1, "csi-RS-Index" },
- { 2, "srs" },
+static const per_sequence_t UECapabilityInformation_IEs_sequence[] = {
+ { &hf_nr_rrc_ue_CapabilityRAT_ContainerList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_CapabilityRAT_ContainerList },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_33, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_31 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UECapabilityInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UECapabilityInformation_IEs, UECapabilityInformation_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_30_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_30, T_criticalExtensionsFuture_30_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_30_vals[] = {
+ { 0, "ueCapabilityInformation" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
-static const per_choice_t T_referenceSignal_03_choice[] = {
- { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
- { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
- { 2, &hf_nr_rrc_srs_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_srs_01 },
+static const per_choice_t T_criticalExtensions_30_choice[] = {
+ { 0, &hf_nr_rrc_ueCapabilityInformation_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UECapabilityInformation_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_30, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_30 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_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_criticalExtensions_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_referenceSignal_03, T_referenceSignal_03_choice,
+ ett_nr_rrc_T_criticalExtensions_30, T_criticalExtensions_30_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 },
+static const per_sequence_t UECapabilityInformation_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_30, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_30 },
{ 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_) {
+dissect_nr_rrc_UECapabilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Information");
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Counter Check Response");
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Assistance Information");
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SRS_SpatialRelationInfo, SRS_SpatialRelationInfo_sequence);
+ ett_nr_rrc_UECapabilityInformation, UECapabilityInformation_sequence);
return offset;
}
-static const per_sequence_t SRS_Resource_sequence[] = {
- { &hf_nr_rrc_srs_ResourceId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
- { &hf_nr_rrc_nrofSRS_Ports, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofSRS_Ports },
- { &hf_nr_rrc_ptrs_PortIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ptrs_PortIndex },
- { &hf_nr_rrc_transmissionComb, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_transmissionComb },
- { &hf_nr_rrc_resourceMapping_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceMapping },
- { &hf_nr_rrc_freqDomainPosition, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_67 },
- { &hf_nr_rrc_freqDomainShift, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_268 },
- { &hf_nr_rrc_freqHopping , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_freqHopping },
- { &hf_nr_rrc_groupOrSequenceHopping, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_groupOrSequenceHopping },
- { &hf_nr_rrc_resourceType_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType_02 },
- { &hf_nr_rrc_sequenceId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_10 },
- { &hf_nr_rrc_spatialRelationInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SRS_SpatialRelationInfo },
+
+static int
+dissect_nr_rrc_INTEGER_0_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 4294967295U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t DRB_CountInfo_sequence[] = {
+ { &hf_nr_rrc_drb_Identity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity },
+ { &hf_nr_rrc_count_Uplink , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4294967295 },
+ { &hf_nr_rrc_count_Downlink, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4294967295 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_DRB_CountInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SRS_Resource, SRS_Resource_sequence);
+ ett_nr_rrc_DRB_CountInfo, DRB_CountInfo_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource_sequence_of[1] = {
- { &hf_nr_rrc_srs_ResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_Resource },
+static const per_sequence_t DRB_CountInfoList_sequence_of[1] = {
+ { &hf_nr_rrc_DRB_CountInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_CountInfo },
};
static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_DRB_CountInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource, SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource_sequence_of,
- 1, maxNrofSRS_Resources, FALSE);
+ ett_nr_rrc_DRB_CountInfoList, DRB_CountInfoList_sequence_of,
+ 0, maxDRB, FALSE);
return offset;
}
-static const value_string nr_rrc_T_tpc_Accumulation_01_vals[] = {
- { 0, "disabled" },
+static const per_sequence_t T_nonCriticalExtension_08_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_nonCriticalExtension_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_08, T_nonCriticalExtension_08_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t CounterCheckResponse_IEs_sequence[] = {
+ { &hf_nr_rrc_drb_CountInfoList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_CountInfoList },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_08, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_08 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_CounterCheckResponse_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CounterCheckResponse_IEs, CounterCheckResponse_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_08_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_08, T_criticalExtensionsFuture_08_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_08_vals[] = {
+ { 0, "counterCheckResponse" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
+static const per_choice_t T_criticalExtensions_08_choice[] = {
+ { 0, &hf_nr_rrc_counterCheckResponse_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_CounterCheckResponse_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_08, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_08 },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_nr_rrc_T_tpc_Accumulation_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensions_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions_08, T_criticalExtensions_08_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t CounterCheckResponse_sequence[] = {
+ { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
+ { &hf_nr_rrc_criticalExtensions_08, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_08 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_CounterCheckResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CounterCheckResponse, CounterCheckResponse_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_type1_vals[] = {
+ { 0, "msMinus1280" },
+ { 1, "msMinus640" },
+ { 2, "msMinus320" },
+ { 3, "msMinus160" },
+ { 4, "msMinus80" },
+ { 5, "msMinus60" },
+ { 6, "msMinus40" },
+ { 7, "msMinus20" },
+ { 8, "ms0" },
+ { 9, "ms20" },
+ { 10, "ms40" },
+ { 11, "ms60" },
+ { 12, "ms80" },
+ { 13, "ms160" },
+ { 14, "ms320" },
+ { 15, "ms640" },
+ { 16, "ms1280" },
+ { 0, NULL }
+};
+
+static value_string_ext nr_rrc_T_type1_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_type1_vals);
+
+
+static int
+dissect_nr_rrc_T_type1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 17, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t SRS_Config_sequence[] = {
- { &hf_nr_rrc_srs_ResourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId },
- { &hf_nr_rrc_srs_ResourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet },
- { &hf_nr_rrc_srs_ResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId },
- { &hf_nr_rrc_srs_ResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource },
- { &hf_nr_rrc_tpc_Accumulation_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_Accumulation_01 },
+static const value_string nr_rrc_DelayBudgetReport_vals[] = {
+ { 0, "type1" },
+ { 0, NULL }
+};
+
+static const per_choice_t DelayBudgetReport_choice[] = {
+ { 0, &hf_nr_rrc_type1 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_type1 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_DelayBudgetReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_DelayBudgetReport, DelayBudgetReport_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nonCriticalExtension_29_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_SRS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nonCriticalExtension_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SRS_Config, SRS_Config_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_29, T_nonCriticalExtension_29_sequence);
return offset;
}
-static const value_string nr_rrc_T_srs_Config_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const per_sequence_t UEAssistanceInformation_IEs_sequence[] = {
+ { &hf_nr_rrc_delayBudgetReport, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DelayBudgetReport },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_31, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_29 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UEAssistanceInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UEAssistanceInformation_IEs, UEAssistanceInformation_IEs_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_28_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture_28, T_criticalExtensionsFuture_28_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_28_vals[] = {
+ { 0, "ueAssistanceInformation" },
+ { 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
-static const per_choice_t T_srs_Config_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_07 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_Config },
+static const per_choice_t T_criticalExtensions_28_choice[] = {
+ { 0, &hf_nr_rrc_ueAssistanceInformation_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UEAssistanceInformation_IEs },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_28, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_28 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_srs_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensions_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_srs_Config, T_srs_Config_choice,
+ ett_nr_rrc_T_criticalExtensions_28, T_criticalExtensions_28_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t UEAssistanceInformation_sequence[] = {
+ { &hf_nr_rrc_criticalExtensions_28, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_28 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UEAssistanceInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UEAssistanceInformation, UEAssistanceInformation_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_c1_13_vals[] = {
+ { 0, "measurementReport" },
+ { 1, "rrcReconfigurationComplete" },
+ { 2, "rrcSetupComplete" },
+ { 3, "rrcReestablishmentComplete" },
+ { 4, "rrcResumeComplete" },
+ { 5, "securityModeComplete" },
+ { 6, "securityModeFailure" },
+ { 7, "ulInformationTransfer" },
+ { 8, "locationMeasurementIndication" },
+ { 9, "ueCapabilityInformation" },
+ { 10, "counterCheckResponse" },
+ { 11, "ueAssistanceInformation" },
+ { 12, "spare4" },
+ { 13, "spare3" },
+ { 14, "spare2" },
+ { 15, "spare1" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_c1_13_choice[] = {
+ { 0, &hf_nr_rrc_measurementReport, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementReport },
+ { 1, &hf_nr_rrc_rrcReconfigurationComplete, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationComplete },
+ { 2, &hf_nr_rrc_rrcSetupComplete, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCSetupComplete },
+ { 3, &hf_nr_rrc_rrcReestablishmentComplete, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReestablishmentComplete },
+ { 4, &hf_nr_rrc_rrcResumeComplete, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCResumeComplete },
+ { 5, &hf_nr_rrc_securityModeComplete, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SecurityModeComplete },
+ { 6, &hf_nr_rrc_securityModeFailure, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SecurityModeFailure },
+ { 7, &hf_nr_rrc_ulInformationTransfer, ASN1_NO_EXTENSIONS , dissect_nr_rrc_ULInformationTransfer },
+ { 8, &hf_nr_rrc_locationMeasurementIndication, ASN1_NO_EXTENSIONS , dissect_nr_rrc_LocationMeasurementIndication },
+ { 9, &hf_nr_rrc_ueCapabilityInformation, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UECapabilityInformation },
+ { 10, &hf_nr_rrc_counterCheckResponse, ASN1_NO_EXTENSIONS , dissect_nr_rrc_CounterCheckResponse },
+ { 11, &hf_nr_rrc_ueAssistanceInformation, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UEAssistanceInformation },
+ { 12, &hf_nr_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 13, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 14, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 15, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_c1_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_c1_13, T_c1_13_choice,
NULL);
return offset;
}
+static const per_sequence_t T_messageClassExtension_07_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_messageClassExtension_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_messageClassExtension_07, T_messageClassExtension_07_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_UL_DCCH_MessageType_vals[] = {
+ { 0, "c1" },
+ { 1, "messageClassExtension" },
+ { 0, NULL }
+};
+
+static const per_choice_t UL_DCCH_MessageType_choice[] = {
+ { 0, &hf_nr_rrc_c1_13 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_13 },
+ { 1, &hf_nr_rrc_messageClassExtension_07, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_07 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UL_DCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UL_DCCH_MessageType, UL_DCCH_MessageType_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t UL_DCCH_Message_sequence[] = {
+ { &hf_nr_rrc_message_07 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_DCCH_MessageType },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+ actx->pinfo->link_dir = P2P_DIR_UL;
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UL_DCCH_Message, UL_DCCH_Message_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_Alpha_vals[] = {
+ { 0, "alpha0" },
+ { 1, "alpha04" },
+ { 2, "alpha05" },
+ { 3, "alpha06" },
+ { 4, "alpha07" },
+ { 5, "alpha08" },
+ { 6, "alpha09" },
+ { 7, "alpha1" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_Alpha(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
static const per_sequence_t BFR_SSB_Resource_sequence[] = {
{ &hf_nr_rrc_ssb_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
{ &hf_nr_rrc_ra_PreambleIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
@@ -13227,6 +19817,16 @@ dissect_nr_rrc_BFR_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
static int
+dissect_nr_rrc_NZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofNZP_CSI_RS_Resources_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
dissect_nr_rrc_INTEGER_0_maxRA_Occasions_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, maxRA_Occasions_1, NULL, FALSE);
@@ -13396,6 +19996,19 @@ dissect_nr_rrc_T_beamFailureRecoveryTimer(tvbuff_t *tvb _U_, int offset _U_, asn
}
+static const per_sequence_t BeamFailureRecoveryConfig_eag_1_sequence[] = {
+ { &hf_nr_rrc_msg1_SubcarrierSpacing_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BeamFailureRecoveryConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BeamFailureRecoveryConfig_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t BeamFailureRecoveryConfig_sequence[] = {
{ &hf_nr_rrc_rootSequenceIndex_BFR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_137 },
{ &hf_nr_rrc_rach_ConfigBFR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RACH_ConfigGeneric },
@@ -13406,6 +20019,7 @@ static const per_sequence_t BeamFailureRecoveryConfig_sequence[] = {
{ &hf_nr_rrc_recoverySearchSpaceId, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId },
{ &hf_nr_rrc_ra_Prioritization, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RA_Prioritization },
{ &hf_nr_rrc_beamFailureRecoveryTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamFailureRecoveryTimer },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BeamFailureRecoveryConfig_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -13418,177 +20032,99 @@ dissect_nr_rrc_BeamFailureRecoveryConfig(tvbuff_t *tvb _U_, int offset _U_, asn1
}
-static const value_string nr_rrc_T_beamFailureRecoveryConfig_vals[] = {
- { 0, "release" },
- { 1, "setup" },
- { 0, NULL }
-};
-
-static const per_choice_t T_beamFailureRecoveryConfig_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_08 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BeamFailureRecoveryConfig },
- { 0, NULL, 0, NULL }
-};
-
-static int
-dissect_nr_rrc_T_beamFailureRecoveryConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_beamFailureRecoveryConfig, T_beamFailureRecoveryConfig_choice,
- NULL);
-
- return offset;
-}
-
-
-static const per_sequence_t BWP_UplinkDedicated_sequence[] = {
- { &hf_nr_rrc_pucch_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_Config },
- { &hf_nr_rrc_pusch_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_Config },
- { &hf_nr_rrc_configuredGrantConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredGrantConfig },
- { &hf_nr_rrc_srs_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_Config },
- { &hf_nr_rrc_beamFailureRecoveryConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamFailureRecoveryConfig },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_nr_rrc_BWP_UplinkDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BWP_UplinkDedicated, BWP_UplinkDedicated_sequence);
-
- return offset;
-}
-
-
-static const per_sequence_t BWP_Uplink_sequence[] = {
- { &hf_nr_rrc_bwp_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
- { &hf_nr_rrc_bwp_Common , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_UplinkCommon },
- { &hf_nr_rrc_bwp_Dedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_UplinkDedicated },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_nr_rrc_BWP_Uplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BWP_Uplink, BWP_Uplink_sequence);
-
- return offset;
-}
-
-
-static const value_string nr_rrc_T_pdcch_ConfigCommon_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const value_string nr_rrc_T_periodicBSR_Timer_vals[] = {
+ { 0, "sf1" },
+ { 1, "sf5" },
+ { 2, "sf10" },
+ { 3, "sf16" },
+ { 4, "sf20" },
+ { 5, "sf32" },
+ { 6, "sf40" },
+ { 7, "sf64" },
+ { 8, "sf80" },
+ { 9, "sf128" },
+ { 10, "sf160" },
+ { 11, "sf320" },
+ { 12, "sf640" },
+ { 13, "sf1280" },
+ { 14, "sf2560" },
+ { 15, "infinity" },
{ 0, NULL }
};
-static const per_choice_t T_pdcch_ConfigCommon_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_09 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_ConfigCommon },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_nr_rrc_T_pdcch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_pdcch_ConfigCommon, T_pdcch_ConfigCommon_choice,
- NULL);
+dissect_nr_rrc_T_periodicBSR_Timer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 16, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_mappingType_vals[] = {
- { 0, "typeA" },
- { 1, "typeB" },
+static const value_string nr_rrc_T_retxBSR_Timer_vals[] = {
+ { 0, "sf10" },
+ { 1, "sf20" },
+ { 2, "sf40" },
+ { 3, "sf80" },
+ { 4, "sf160" },
+ { 5, "sf320" },
+ { 6, "sf640" },
+ { 7, "sf1280" },
+ { 8, "sf2560" },
+ { 9, "sf5120" },
+ { 10, "sf10240" },
+ { 11, "spare5" },
+ { 12, "spare4" },
+ { 13, "spare3" },
+ { 14, "spare2" },
+ { 15, "spare1" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_mappingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_retxBSR_Timer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
-
- return offset;
-}
-
-
-static const per_sequence_t PDSCH_TimeDomainResourceAllocation_sequence[] = {
- { &hf_nr_rrc_k0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_32 },
- { &hf_nr_rrc_mappingType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mappingType },
- { &hf_nr_rrc_startSymbolAndLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_127 },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PDSCH_TimeDomainResourceAllocation, PDSCH_TimeDomainResourceAllocation_sequence);
-
- return offset;
-}
-
-
-static const per_sequence_t PDSCH_TimeDomainResourceAllocationList_sequence_of[1] = {
- { &hf_nr_rrc_PDSCH_TimeDomainResourceAllocationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation },
-};
-
-static int
-dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList, PDSCH_TimeDomainResourceAllocationList_sequence_of,
- 1, maxNrofDL_Allocations, FALSE);
-
- return offset;
-}
-
-
-static const per_sequence_t PDSCH_ConfigCommon_sequence[] = {
- { &hf_nr_rrc_pdsch_TimeDomainAllocationList_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_nr_rrc_PDSCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PDSCH_ConfigCommon, PDSCH_ConfigCommon_sequence);
+ 16, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_pdsch_ConfigCommon_vals[] = {
- { 0, "release" },
- { 1, "setup" },
+static const value_string nr_rrc_T_logicalChannelSR_DelayTimer_vals[] = {
+ { 0, "sf20" },
+ { 1, "sf40" },
+ { 2, "sf64" },
+ { 3, "sf128" },
+ { 4, "sf512" },
+ { 5, "sf1024" },
+ { 6, "sf2560" },
+ { 7, "spare1" },
{ 0, NULL }
};
-static const per_choice_t T_pdsch_ConfigCommon_choice[] = {
- { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_ConfigCommon },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_nr_rrc_T_pdsch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_pdsch_ConfigCommon, T_pdsch_ConfigCommon_choice,
- NULL);
+dissect_nr_rrc_T_logicalChannelSR_DelayTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t BWP_DownlinkCommon_sequence[] = {
- { &hf_nr_rrc_genericParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP },
- { &hf_nr_rrc_pdcch_ConfigCommon_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_ConfigCommon },
- { &hf_nr_rrc_pdsch_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_ConfigCommon },
+static const per_sequence_t BSR_Config_sequence[] = {
+ { &hf_nr_rrc_periodicBSR_Timer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicBSR_Timer },
+ { &hf_nr_rrc_retxBSR_Timer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_retxBSR_Timer },
+ { &hf_nr_rrc_logicalChannelSR_DelayTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_logicalChannelSR_DelayTimer },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_BWP_DownlinkCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_BSR_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BWP_DownlinkCommon, BWP_DownlinkCommon_sequence);
+ ett_nr_rrc_BSR_Config, BSR_Config_sequence);
return offset;
}
@@ -13650,16 +20186,6 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId(tvbuff_t *tvb _U_, int offset
}
-
-static int
-dissect_nr_rrc_RNTI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 65535U, NULL, FALSE);
-
- return offset;
-}
-
-
static const value_string nr_rrc_T_timeFrequencySet_vals[] = {
{ 0, "set0" },
{ 1, "set1" },
@@ -13750,7 +20276,7 @@ static const value_string nr_rrc_T_downlinkPreemption_vals[] = {
static const per_choice_t T_downlinkPreemption_choice[] = {
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_26 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DownlinkPreemption },
+ { 1, &hf_nr_rrc_setup_28 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DownlinkPreemption },
{ 0, NULL, 0, NULL }
};
@@ -13798,7 +20324,7 @@ static const value_string nr_rrc_T_tpc_PUSCH_vals[] = {
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 },
+ { 1, &hf_nr_rrc_setup_29 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_TPC_CommandConfig },
{ 0, NULL, 0, NULL }
};
@@ -13835,7 +20361,7 @@ static const value_string nr_rrc_T_tpc_PUCCH_vals[] = {
static const per_choice_t T_tpc_PUCCH_choice[] = {
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_28 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_TPC_CommandConfig },
+ { 1, &hf_nr_rrc_setup_30 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_TPC_CommandConfig },
{ 0, NULL, 0, NULL }
};
@@ -13859,9 +20385,23 @@ dissect_nr_rrc_INTEGER_1_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
+static const per_sequence_t SRS_TPC_CommandConfig_eag_1_sequence[] = {
+ { &hf_nr_rrc_startingBitOfFormat2_3SUL_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_31 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_SRS_TPC_CommandConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SRS_TPC_CommandConfig_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t SRS_TPC_CommandConfig_sequence[] = {
{ &hf_nr_rrc_startingBitOfFormat2_3, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_31 },
{ &hf_nr_rrc_fieldTypeFormat2_3, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1 },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_TPC_CommandConfig_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -13882,7 +20422,7 @@ static const value_string nr_rrc_T_tpc_SRS_vals[] = {
static const per_choice_t T_tpc_SRS_choice[] = {
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 1, &hf_nr_rrc_setup_29 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_TPC_CommandConfig },
+ { 1, &hf_nr_rrc_setup_31 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_TPC_CommandConfig },
{ 0, NULL, 0, NULL }
};
@@ -13925,7 +20465,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_11 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_Config },
+ { 1, &hf_nr_rrc_setup_04 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_Config },
{ 0, NULL, 0, NULL }
};
@@ -13986,6 +20526,16 @@ dissect_nr_rrc_T_maxLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
}
+
+static int
+dissect_nr_rrc_INTEGER_1_276(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 276U, NULL, FALSE);
+
+ return offset;
+}
+
+
static const per_sequence_t T_frequencyDensity_sequence_of[1] = {
{ &hf_nr_rrc_frequencyDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
};
@@ -14000,6 +20550,16 @@ dissect_nr_rrc_T_frequencyDensity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
+
+static int
+dissect_nr_rrc_INTEGER_0_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 29U, NULL, FALSE);
+
+ return offset;
+}
+
+
static const per_sequence_t T_timeDensity_sequence_of[1] = {
{ &hf_nr_rrc_timeDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
};
@@ -14056,7 +20616,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_19 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PTRS_DownlinkConfig },
+ { 1, &hf_nr_rrc_setup_20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PTRS_DownlinkConfig },
{ 0, NULL, 0, NULL }
};
@@ -14097,7 +20657,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_31 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig },
+ { 1, &hf_nr_rrc_setup_33 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig },
{ 0, NULL, 0, NULL }
};
@@ -14119,7 +20679,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_31 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig },
+ { 1, &hf_nr_rrc_setup_33 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig },
{ 0, NULL, 0, NULL }
};
@@ -14275,7 +20835,7 @@ static const value_string nr_rrc_T_pdsch_TimeDomainAllocationList_vals[] = {
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 },
+ { 1, &hf_nr_rrc_setup_34 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList },
{ 0, NULL, 0, NULL }
};
@@ -14326,16 +20886,6 @@ dissect_nr_rrc_BIT_STRING_SIZE_275(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
-
-static int
-dissect_nr_rrc_BIT_STRING_SIZE_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 28, 28, FALSE, NULL, NULL);
-
- return offset;
-}
-
-
static const value_string nr_rrc_T_symbolsInResourceBlock_vals[] = {
{ 0, "oneSlot" },
{ 1, "twoSlots" },
@@ -14380,6 +20930,16 @@ dissect_nr_rrc_BIT_STRING_SIZE_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
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 int
dissect_nr_rrc_BIT_STRING_SIZE_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
20, 20, FALSE, NULL, NULL);
@@ -14468,7 +21028,7 @@ dissect_nr_rrc_T_patternType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
-static const value_string nr_rrc_T_mode_vals[] = {
+static const value_string nr_rrc_T_dummy_vals[] = {
{ 0, "dynamic" },
{ 1, "semiStatic" },
{ 0, NULL }
@@ -14476,7 +21036,7 @@ static const value_string nr_rrc_T_mode_vals[] = {
static int
-dissect_nr_rrc_T_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_dummy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -14488,7 +21048,7 @@ static const per_sequence_t RateMatchPattern_sequence[] = {
{ &hf_nr_rrc_rateMatchPatternId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPatternId },
{ &hf_nr_rrc_patternType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_patternType },
{ &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing },
- { &hf_nr_rrc_mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mode },
+ { &hf_nr_rrc_dummy_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dummy },
{ NULL, 0, 0, NULL }
};
@@ -14583,7 +21143,7 @@ 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, "qam256" },
- { 1, "spare1" },
+ { 1, "qam64LowSE" },
{ 0, NULL }
};
@@ -14838,7 +21398,7 @@ static const per_choice_t T_density_01_choice[] = {
{ 0, &hf_nr_rrc_dot5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_dot5 },
{ 1, &hf_nr_rrc_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
{ 2, &hf_nr_rrc_three , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
- { 3, &hf_nr_rrc_spare_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 3, &hf_nr_rrc_spare_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
{ 0, NULL, 0, NULL }
};
@@ -15060,7 +21620,7 @@ static const value_string nr_rrc_T_p_ZP_CSI_RS_ResourceSet_vals[] = {
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 },
+ { 1, &hf_nr_rrc_setup_35 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_ZP_CSI_RS_ResourceSet },
{ 0, NULL, 0, NULL }
};
@@ -15119,7 +21679,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_12 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_Config },
+ { 1, &hf_nr_rrc_setup_05 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_Config },
{ 0, NULL, 0, NULL }
};
@@ -15165,10 +21725,36 @@ dissect_nr_rrc_T_periodicity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
+
+static int
+dissect_nr_rrc_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofPUCCH_Resources_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_mcs_Table_03_vals[] = {
+ { 0, "qam64LowSE" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_mcs_Table_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
static const per_sequence_t SPS_Config_sequence[] = {
- { &hf_nr_rrc_periodicity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity_01 },
- { &hf_nr_rrc_nrofHARQ_Processes_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
- { &hf_nr_rrc_n1PUCCH_AN , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_ResourceId },
+ { &hf_nr_rrc_periodicity_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity_01 },
+ { &hf_nr_rrc_nrofHARQ_Processes_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
+ { &hf_nr_rrc_n1PUCCH_AN , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_ResourceId },
+ { &hf_nr_rrc_mcs_Table_03 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_Table_03 },
{ NULL, 0, 0, NULL }
};
@@ -15189,7 +21775,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_13 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SPS_Config },
+ { 1, &hf_nr_rrc_setup_06 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SPS_Config },
{ 0, NULL, 0, NULL }
};
@@ -15365,7 +21951,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_14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RadioLinkMonitoringConfig },
+ { 1, &hf_nr_rrc_setup_07 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RadioLinkMonitoringConfig },
{ 0, NULL, 0, NULL }
};
@@ -15398,8 +21984,8 @@ dissect_nr_rrc_BWP_DownlinkDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
static const per_sequence_t BWP_Downlink_sequence[] = {
{ &hf_nr_rrc_bwp_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
- { &hf_nr_rrc_bwp_Common_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_DownlinkCommon },
- { &hf_nr_rrc_bwp_Dedicated_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_DownlinkDedicated },
+ { &hf_nr_rrc_bwp_Common , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_DownlinkCommon },
+ { &hf_nr_rrc_bwp_Dedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_DownlinkDedicated },
{ NULL, 0, 0, NULL }
};
@@ -15412,6 +21998,3137 @@ dissect_nr_rrc_BWP_Downlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
+
+static int
+dissect_nr_rrc_PUCCH_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofPUCCH_ResourceSets_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId_sequence_of[1] = {
+ { &hf_nr_rrc_resourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId_sequence_of,
+ 1, maxNrofPUCCH_ResourcesPerSet, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_4_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 4U, 256U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUCCH_ResourceSet_sequence[] = {
+ { &hf_nr_rrc_pucch_ResourceSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceSetId },
+ { &hf_nr_rrc_resourceList , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId },
+ { &hf_nr_rrc_maxPayloadMinus1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_4_256 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_ResourceSet, PUCCH_ResourceSet_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet_sequence_of[1] = {
+ { &hf_nr_rrc_resourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceSet },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet_sequence_of,
+ 1, maxNrofPUCCH_ResourceSets, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId_sequence_of[1] = {
+ { &hf_nr_rrc_resourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceSetId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId_sequence_of,
+ 1, maxNrofPUCCH_ResourceSets, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_PRB_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofPhysicalResourceBlocks_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_intraSlotFrequencyHopping_vals[] = {
+ { 0, "enabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_intraSlotFrequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 11U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 2U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUCCH_format0_sequence[] = {
+ { &hf_nr_rrc_initialCyclicShift, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 },
+ { &hf_nr_rrc_nrofSymbols , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
+ { &hf_nr_rrc_startingSymbolIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_format0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_format0, PUCCH_format0_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_4_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 4U, 14U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 10U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 6U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUCCH_format1_sequence[] = {
+ { &hf_nr_rrc_initialCyclicShift, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 },
+ { &hf_nr_rrc_nrofSymbols_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_14 },
+ { &hf_nr_rrc_startingSymbolIndex_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10 },
+ { &hf_nr_rrc_timeDomainOCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_6 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_format1, PUCCH_format1_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUCCH_format2_sequence[] = {
+ { &hf_nr_rrc_nrofPRBs_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
+ { &hf_nr_rrc_nrofSymbols , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
+ { &hf_nr_rrc_startingSymbolIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_format2, PUCCH_format2_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUCCH_format3_sequence[] = {
+ { &hf_nr_rrc_nrofPRBs_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
+ { &hf_nr_rrc_nrofSymbols_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_14 },
+ { &hf_nr_rrc_startingSymbolIndex_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_format3, PUCCH_format3_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_occ_Length_vals[] = {
+ { 0, "n2" },
+ { 1, "n4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_occ_Length(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_occ_Index_vals[] = {
+ { 0, "n0" },
+ { 1, "n1" },
+ { 2, "n2" },
+ { 3, "n3" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_occ_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUCCH_format4_sequence[] = {
+ { &hf_nr_rrc_nrofSymbols_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_14 },
+ { &hf_nr_rrc_occ_Length , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_occ_Length },
+ { &hf_nr_rrc_occ_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_occ_Index },
+ { &hf_nr_rrc_startingSymbolIndex_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_format4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_format4, PUCCH_format4_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_format_vals[] = {
+ { 0, "format0" },
+ { 1, "format1" },
+ { 2, "format2" },
+ { 3, "format3" },
+ { 4, "format4" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_format_choice[] = {
+ { 0, &hf_nr_rrc_format0 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format0 },
+ { 1, &hf_nr_rrc_format1_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format1 },
+ { 2, &hf_nr_rrc_format2_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format2 },
+ { 3, &hf_nr_rrc_format3_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format3 },
+ { 4, &hf_nr_rrc_format4_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format4 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_format(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_format, T_format_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUCCH_Resource_sequence[] = {
+ { &hf_nr_rrc_pucch_ResourceId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
+ { &hf_nr_rrc_startingPRB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PRB_Id },
+ { &hf_nr_rrc_intraSlotFrequencyHopping, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraSlotFrequencyHopping },
+ { &hf_nr_rrc_secondHopPRB , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PRB_Id },
+ { &hf_nr_rrc_format , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_format },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_Resource, PUCCH_Resource_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource_sequence_of[1] = {
+ { &hf_nr_rrc_resourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Resource },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource, SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource_sequence_of,
+ 1, maxNrofPUCCH_Resources, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId_sequence_of[1] = {
+ { &hf_nr_rrc_resourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId, SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId_sequence_of,
+ 1, maxNrofPUCCH_Resources, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_interslotFrequencyHopping_vals[] = {
+ { 0, "enabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_interslotFrequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_additionalDMRS_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_additionalDMRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_PUCCH_MaxCodeRate_vals[] = {
+ { 0, "zeroDot08" },
+ { 1, "zeroDot15" },
+ { 2, "zeroDot25" },
+ { 3, "zeroDot35" },
+ { 4, "zeroDot45" },
+ { 5, "zeroDot60" },
+ { 6, "zeroDot80" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_PUCCH_MaxCodeRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 7, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_nrofSlots_vals[] = {
+ { 0, "n2" },
+ { 1, "n4" },
+ { 2, "n8" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_nrofSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pi2BPSK_vals[] = {
+ { 0, "enabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pi2BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_simultaneousHARQ_ACK_CSI_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_simultaneousHARQ_ACK_CSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUCCH_FormatConfig_sequence[] = {
+ { &hf_nr_rrc_interslotFrequencyHopping, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interslotFrequencyHopping },
+ { &hf_nr_rrc_additionalDMRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_additionalDMRS },
+ { &hf_nr_rrc_maxCodeRate , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_MaxCodeRate },
+ { &hf_nr_rrc_nrofSlots , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofSlots },
+ { &hf_nr_rrc_pi2BPSK , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pi2BPSK },
+ { &hf_nr_rrc_simultaneousHARQ_ACK_CSI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousHARQ_ACK_CSI },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_FormatConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_FormatConfig, PUCCH_FormatConfig_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_format1_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_format1_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_38 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_format1, T_format1_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_format2_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_format2_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_38 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_format2, T_format2_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_format3_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_format3_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_38 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_format3, T_format3_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_format4_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_format4_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_38 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_format4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_format4, T_format4_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_SchedulingRequestResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxNrofSR_Resources, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_SchedulingRequestId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 7U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_periodicityAndOffset_vals[] = {
+ { 0, "sym2" },
+ { 1, "sym6or7" },
+ { 2, "sl1" },
+ { 3, "sl2" },
+ { 4, "sl4" },
+ { 5, "sl5" },
+ { 6, "sl8" },
+ { 7, "sl10" },
+ { 8, "sl16" },
+ { 9, "sl20" },
+ { 10, "sl40" },
+ { 11, "sl80" },
+ { 12, "sl160" },
+ { 13, "sl320" },
+ { 14, "sl640" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_periodicityAndOffset_choice[] = {
+ { 0, &hf_nr_rrc_sym2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_sym6or7 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 2, &hf_nr_rrc_sl1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 3, &hf_nr_rrc_sl2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1 },
+ { 4, &hf_nr_rrc_sl4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 },
+ { 5, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
+ { 6, &hf_nr_rrc_sl8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 },
+ { 7, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
+ { 8, &hf_nr_rrc_sl16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
+ { 9, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
+ { 10, &hf_nr_rrc_sl40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
+ { 11, &hf_nr_rrc_sl80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
+ { 12, &hf_nr_rrc_sl160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
+ { 13, &hf_nr_rrc_sl320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
+ { 14, &hf_nr_rrc_sl640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_periodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_periodicityAndOffset, T_periodicityAndOffset_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t SchedulingRequestResourceConfig_sequence[] = {
+ { &hf_nr_rrc_schedulingRequestResourceId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceId },
+ { &hf_nr_rrc_schedulingRequestID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestId },
+ { &hf_nr_rrc_periodicityAndOffset_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_periodicityAndOffset },
+ { &hf_nr_rrc_resource_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_ResourceId },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_SchedulingRequestResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SchedulingRequestResourceConfig, SchedulingRequestResourceConfig_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_sequence_of[1] = {
+ { &hf_nr_rrc_schedulingRequestResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceConfig },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig, SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_sequence_of,
+ 1, maxNrofSR_Resources, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId_sequence_of[1] = {
+ { &hf_nr_rrc_schedulingRequestResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId, SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId_sequence_of,
+ 1, maxNrofSR_Resources, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId_sequence_of[1] = {
+ { &hf_nr_rrc_multi_CSI_PUCCH_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId, SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId_sequence_of,
+ 1, 2, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_dl_DataToUL_ACK_sequence_of[1] = {
+ { &hf_nr_rrc_dl_DataToUL_ACK_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
+};
+
+static int
+dissect_nr_rrc_T_dl_DataToUL_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_dl_DataToUL_ACK, T_dl_DataToUL_ACK_sequence_of,
+ 1, 8, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_PUCCH_SpatialRelationInfoId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxNrofSpatialRelationInfos, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofSRS_Resources_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_srs_sequence[] = {
+ { &hf_nr_rrc_resource , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
+ { &hf_nr_rrc_uplinkBWP , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_srs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_srs, T_srs_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_referenceSignal_01_vals[] = {
+ { 0, "ssb-Index" },
+ { 1, "csi-RS-Index" },
+ { 2, "srs" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_referenceSignal_01_choice[] = {
+ { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
+ { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+ { 2, &hf_nr_rrc_srs , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_srs },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_referenceSignal_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_referenceSignal_01, T_referenceSignal_01_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofPUCCH_PathlossReferenceRSs_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_P0_PUCCH_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 8U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_closedLoopIndex_vals[] = {
+ { 0, "i0" },
+ { 1, "i1" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_closedLoopIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUCCH_SpatialRelationInfo_sequence[] = {
+ { &hf_nr_rrc_pucch_SpatialRelationInfoId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfoId },
+ { &hf_nr_rrc_servingCellId, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex },
+ { &hf_nr_rrc_referenceSignal_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_01 },
+ { &hf_nr_rrc_pucch_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id },
+ { &hf_nr_rrc_p0_PUCCH_Id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUCCH_Id },
+ { &hf_nr_rrc_closedLoopIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_closedLoopIndex },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_SpatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_SpatialRelationInfo, PUCCH_SpatialRelationInfo_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo_sequence_of[1] = {
+ { &hf_nr_rrc_spatialRelationInfoToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfo },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo_sequence_of,
+ 1, maxNrofSpatialRelationInfos, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId_sequence_of[1] = {
+ { &hf_nr_rrc_spatialRelationInfoToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfoId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId_sequence_of,
+ 1, maxNrofSpatialRelationInfos, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_M16_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ -16, 15U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t P0_PUCCH_sequence[] = {
+ { &hf_nr_rrc_p0_PUCCH_Id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUCCH_Id },
+ { &hf_nr_rrc_p0_PUCCH_Value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M16_15 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_P0_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_P0_PUCCH, P0_PUCCH_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH_sequence_of[1] = {
+ { &hf_nr_rrc_p0_Set_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUCCH },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH, SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH_sequence_of,
+ 1, maxNrofPUCCH_P0_PerSet, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_referenceSignal_vals[] = {
+ { 0, "ssb-Index" },
+ { 1, "csi-RS-Index" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_referenceSignal_choice[] = {
+ { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
+ { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_referenceSignal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_referenceSignal, T_referenceSignal_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUCCH_PathlossReferenceRS_sequence[] = {
+ { &hf_nr_rrc_pucch_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id },
+ { &hf_nr_rrc_referenceSignal, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_PathlossReferenceRS, PUCCH_PathlossReferenceRS_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS_sequence_of[1] = {
+ { &hf_nr_rrc_pathlossReferenceRSs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS, SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS_sequence_of,
+ 1, maxNrofPUCCH_PathlossReferenceRSs, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_twoPUCCH_PC_AdjustmentStates_vals[] = {
+ { 0, "twoStates" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_twoPUCCH_PC_AdjustmentStates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUCCH_PowerControl_sequence[] = {
+ { &hf_nr_rrc_deltaF_PUCCH_f0, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
+ { &hf_nr_rrc_deltaF_PUCCH_f1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
+ { &hf_nr_rrc_deltaF_PUCCH_f2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
+ { &hf_nr_rrc_deltaF_PUCCH_f3, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
+ { &hf_nr_rrc_deltaF_PUCCH_f4, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
+ { &hf_nr_rrc_p0_Set , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH },
+ { &hf_nr_rrc_pathlossReferenceRSs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS },
+ { &hf_nr_rrc_twoPUCCH_PC_AdjustmentStates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_PC_AdjustmentStates },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_PowerControl, PUCCH_PowerControl_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUCCH_Config_sequence[] = {
+ { &hf_nr_rrc_resourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet },
+ { &hf_nr_rrc_resourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId },
+ { &hf_nr_rrc_resourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource },
+ { &hf_nr_rrc_resourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId },
+ { &hf_nr_rrc_format1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format1 },
+ { &hf_nr_rrc_format2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format2 },
+ { &hf_nr_rrc_format3 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format3 },
+ { &hf_nr_rrc_format4 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format4 },
+ { &hf_nr_rrc_schedulingRequestResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig },
+ { &hf_nr_rrc_schedulingRequestResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId },
+ { &hf_nr_rrc_multi_CSI_PUCCH_ResourceList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId },
+ { &hf_nr_rrc_dl_DataToUL_ACK, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_DataToUL_ACK },
+ { &hf_nr_rrc_spatialRelationInfoToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo },
+ { &hf_nr_rrc_spatialRelationInfoToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId },
+ { &hf_nr_rrc_pucch_PowerControl, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_PowerControl },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUCCH_Config, PUCCH_Config_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pucch_Config_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_pucch_Config_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_11 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_Config },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_pucch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_pucch_Config, T_pucch_Config_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_txConfig_vals[] = {
+ { 0, "codebook" },
+ { 1, "nonCodebook" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_txConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_dmrs_Type_01_vals[] = {
+ { 0, "type2" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_dmrs_Type_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_dmrs_AdditionalPosition_01_vals[] = {
+ { 0, "pos0" },
+ { 1, "pos1" },
+ { 2, "pos3" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_dmrs_AdditionalPosition_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_frequencyDensity_01_sequence_of[1] = {
+ { &hf_nr_rrc_frequencyDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
+};
+
+static int
+dissect_nr_rrc_T_frequencyDensity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_frequencyDensity_01, T_frequencyDensity_01_sequence_of,
+ 2, 2, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_timeDensity_01_sequence_of[1] = {
+ { &hf_nr_rrc_timeDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
+};
+
+static int
+dissect_nr_rrc_T_timeDensity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_timeDensity_01, T_timeDensity_01_sequence_of,
+ 3, 3, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_maxNrofPorts_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_maxNrofPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_resourceElementOffset_01_vals[] = {
+ { 0, "offset01" },
+ { 1, "offset10" },
+ { 2, "offset11" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_resourceElementOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_ptrs_Power_vals[] = {
+ { 0, "p00" },
+ { 1, "p01" },
+ { 2, "p10" },
+ { 3, "p11" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_ptrs_Power(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_transformPrecoderDisabled_sequence[] = {
+ { &hf_nr_rrc_frequencyDensity_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyDensity_01 },
+ { &hf_nr_rrc_timeDensity_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDensity_01 },
+ { &hf_nr_rrc_maxNrofPorts , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNrofPorts },
+ { &hf_nr_rrc_resourceElementOffset_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_resourceElementOffset_01 },
+ { &hf_nr_rrc_ptrs_Power , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ptrs_Power },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_transformPrecoderDisabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_transformPrecoderDisabled, T_transformPrecoderDisabled_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_sampleDensity_sequence_of[1] = {
+ { &hf_nr_rrc_sampleDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
+};
+
+static int
+dissect_nr_rrc_T_sampleDensity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_sampleDensity, T_sampleDensity_sequence_of,
+ 5, 5, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_timeDensityTransformPrecoding_vals[] = {
+ { 0, "d2" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_timeDensityTransformPrecoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_transformPrecoderEnabled_sequence[] = {
+ { &hf_nr_rrc_sampleDensity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sampleDensity },
+ { &hf_nr_rrc_timeDensityTransformPrecoding, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDensityTransformPrecoding },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_transformPrecoderEnabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_transformPrecoderEnabled, T_transformPrecoderEnabled_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PTRS_UplinkConfig_sequence[] = {
+ { &hf_nr_rrc_transformPrecoderDisabled, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecoderDisabled },
+ { &hf_nr_rrc_transformPrecoderEnabled, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecoderEnabled },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PTRS_UplinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PTRS_UplinkConfig, PTRS_UplinkConfig_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_phaseTrackingRS_01_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_phaseTrackingRS_01_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_21 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PTRS_UplinkConfig },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_phaseTrackingRS_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_phaseTrackingRS_01, T_phaseTrackingRS_01_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_maxLength_01_vals[] = {
+ { 0, "len2" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_maxLength_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_transformPrecodingDisabled_sequence[] = {
+ { &hf_nr_rrc_scramblingID0, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 },
+ { &hf_nr_rrc_scramblingID1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_transformPrecodingDisabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_transformPrecodingDisabled, T_transformPrecodingDisabled_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_1007(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 1007U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_sequenceGroupHopping_vals[] = {
+ { 0, "disabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_sequenceGroupHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_sequenceHopping_vals[] = {
+ { 0, "enabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_sequenceHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_transformPrecodingEnabled_sequence[] = {
+ { &hf_nr_rrc_nPUSCH_Identity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1007 },
+ { &hf_nr_rrc_sequenceGroupHopping, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sequenceGroupHopping },
+ { &hf_nr_rrc_sequenceHopping, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sequenceHopping },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_transformPrecodingEnabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_transformPrecodingEnabled, T_transformPrecodingEnabled_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t DMRS_UplinkConfig_sequence[] = {
+ { &hf_nr_rrc_dmrs_Type_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_Type_01 },
+ { &hf_nr_rrc_dmrs_AdditionalPosition_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_AdditionalPosition_01 },
+ { &hf_nr_rrc_phaseTrackingRS_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_phaseTrackingRS_01 },
+ { &hf_nr_rrc_maxLength_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxLength_01 },
+ { &hf_nr_rrc_transformPrecodingDisabled, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecodingDisabled },
+ { &hf_nr_rrc_transformPrecodingEnabled, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecodingEnabled },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_DMRS_UplinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_DMRS_UplinkConfig, DMRS_UplinkConfig_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_dmrs_UplinkForPUSCH_MappingTypeA_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_39 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA, T_dmrs_UplinkForPUSCH_MappingTypeA_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_dmrs_UplinkForPUSCH_MappingTypeB_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_39 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB, T_dmrs_UplinkForPUSCH_MappingTypeB_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_tpc_Accumulation_vals[] = {
+ { 0, "disabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_tpc_Accumulation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_P0_PUSCH_AlphaSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofP0_PUSCH_AlphaSets_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t P0_PUSCH_AlphaSet_sequence[] = {
+ { &hf_nr_rrc_p0_PUSCH_AlphaSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId },
+ { &hf_nr_rrc_p0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
+ { &hf_nr_rrc_alpha , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Alpha },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_P0_PUSCH_AlphaSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_P0_PUSCH_AlphaSet, P0_PUSCH_AlphaSet_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet_sequence_of[1] = {
+ { &hf_nr_rrc_p0_AlphaSets_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSet },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet, SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet_sequence_of,
+ 1, maxNrofP0_PUSCH_AlphaSets, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofPUSCH_PathlossReferenceRSs_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_referenceSignal_02_vals[] = {
+ { 0, "ssb-Index" },
+ { 1, "csi-RS-Index" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_referenceSignal_02_choice[] = {
+ { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
+ { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_referenceSignal_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_referenceSignal_02, T_referenceSignal_02_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUSCH_PathlossReferenceRS_sequence[] = {
+ { &hf_nr_rrc_pusch_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id },
+ { &hf_nr_rrc_referenceSignal_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_02 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUSCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUSCH_PathlossReferenceRS, PUSCH_PathlossReferenceRS_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_sequence_of[1] = {
+ { &hf_nr_rrc_pathlossReferenceRSToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS, SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_sequence_of,
+ 1, maxNrofPUSCH_PathlossReferenceRSs, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id_sequence_of[1] = {
+ { &hf_nr_rrc_pathlossReferenceRSToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id, SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id_sequence_of,
+ 1, maxNrofPUSCH_PathlossReferenceRSs, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_twoPUSCH_PC_AdjustmentStates_vals[] = {
+ { 0, "twoStates" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_twoPUSCH_PC_AdjustmentStates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_deltaMCS_vals[] = {
+ { 0, "enabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_deltaMCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_SRI_PUSCH_PowerControlId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofSRI_PUSCH_Mappings_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_sri_PUSCH_ClosedLoopIndex_vals[] = {
+ { 0, "i0" },
+ { 1, "i1" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_sri_PUSCH_ClosedLoopIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t SRI_PUSCH_PowerControl_sequence[] = {
+ { &hf_nr_rrc_sri_PUSCH_PowerControlId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRI_PUSCH_PowerControlId },
+ { &hf_nr_rrc_sri_PUSCH_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id },
+ { &hf_nr_rrc_sri_P0_PUSCH_AlphaSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId },
+ { &hf_nr_rrc_sri_PUSCH_ClosedLoopIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sri_PUSCH_ClosedLoopIndex },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_SRI_PUSCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SRI_PUSCH_PowerControl, SRI_PUSCH_PowerControl_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl_sequence_of[1] = {
+ { &hf_nr_rrc_sri_PUSCH_MappingToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRI_PUSCH_PowerControl },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl, SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl_sequence_of,
+ 1, maxNrofSRI_PUSCH_Mappings, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId_sequence_of[1] = {
+ { &hf_nr_rrc_sri_PUSCH_MappingToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRI_PUSCH_PowerControlId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId, SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId_sequence_of,
+ 1, maxNrofSRI_PUSCH_Mappings, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUSCH_PowerControl_sequence[] = {
+ { &hf_nr_rrc_tpc_Accumulation, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_Accumulation },
+ { &hf_nr_rrc_msg3_Alpha , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Alpha },
+ { &hf_nr_rrc_p0_NominalWithoutGrant, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M202_24 },
+ { &hf_nr_rrc_p0_AlphaSets , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet },
+ { &hf_nr_rrc_pathlossReferenceRSToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS },
+ { &hf_nr_rrc_pathlossReferenceRSToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id },
+ { &hf_nr_rrc_twoPUSCH_PC_AdjustmentStates, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUSCH_PC_AdjustmentStates },
+ { &hf_nr_rrc_deltaMCS , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_deltaMCS },
+ { &hf_nr_rrc_sri_PUSCH_MappingToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl },
+ { &hf_nr_rrc_sri_PUSCH_MappingToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUSCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUSCH_PowerControl, PUSCH_PowerControl_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_frequencyHopping_01_vals[] = {
+ { 0, "intraSlot" },
+ { 1, "interSlot" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_frequencyHopping_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxNrofPhysicalResourceBlocks_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_frequencyHoppingOffsetLists_sequence_of[1] = {
+ { &hf_nr_rrc_frequencyHoppingOffsetLists_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1 },
+};
+
+static int
+dissect_nr_rrc_T_frequencyHoppingOffsetLists(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_frequencyHoppingOffsetLists, T_frequencyHoppingOffsetLists_sequence_of,
+ 1, 4, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_resourceAllocation_02_vals[] = {
+ { 0, "resourceAllocationType0" },
+ { 1, "resourceAllocationType1" },
+ { 2, "dynamicSwitch" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_resourceAllocation_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pusch_TimeDomainAllocationList_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_pusch_TimeDomainAllocationList_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_pusch_TimeDomainAllocationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_pusch_TimeDomainAllocationList, T_pusch_TimeDomainAllocationList_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pusch_AggregationFactor_vals[] = {
+ { 0, "n2" },
+ { 1, "n4" },
+ { 2, "n8" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pusch_AggregationFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_mcs_Table_02_vals[] = {
+ { 0, "qam256" },
+ { 1, "qam64LowSE" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_mcs_Table_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_mcs_TableTransformPrecoder_01_vals[] = {
+ { 0, "qam256" },
+ { 1, "qam64LowSE" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_mcs_TableTransformPrecoder_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_transformPrecoder_01_vals[] = {
+ { 0, "enabled" },
+ { 1, "disabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_transformPrecoder_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_codebookSubset_vals[] = {
+ { 0, "fullyAndPartialAndNonCoherent" },
+ { 1, "partialAndNonCoherent" },
+ { 2, "nonCoherent" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_codebookSubset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_rbg_Size_02_vals[] = {
+ { 0, "config2" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_rbg_Size_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t BetaOffsets_sequence[] = {
+ { &hf_nr_rrc_betaOffsetACK_Index1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
+ { &hf_nr_rrc_betaOffsetACK_Index2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
+ { &hf_nr_rrc_betaOffsetACK_Index3, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
+ { &hf_nr_rrc_betaOffsetCSI_Part1_Index1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
+ { &hf_nr_rrc_betaOffsetCSI_Part1_Index2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
+ { &hf_nr_rrc_betaOffsetCSI_Part2_Index1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
+ { &hf_nr_rrc_betaOffsetCSI_Part2_Index2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BetaOffsets, BetaOffsets_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_4_OF_BetaOffsets_sequence_of[1] = {
+ { &hf_nr_rrc_dynamic_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BetaOffsets },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets, SEQUENCE_SIZE_4_OF_BetaOffsets_sequence_of,
+ 4, 4, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_betaOffsets_vals[] = {
+ { 0, "dynamic" },
+ { 1, "semiStatic" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_betaOffsets_choice[] = {
+ { 0, &hf_nr_rrc_dynamic_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets },
+ { 1, &hf_nr_rrc_semiStatic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BetaOffsets },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_betaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_betaOffsets, T_betaOffsets_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scaling_vals[] = {
+ { 0, "f0p5" },
+ { 1, "f0p65" },
+ { 2, "f0p8" },
+ { 3, "f1" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scaling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t UCI_OnPUSCH_sequence[] = {
+ { &hf_nr_rrc_betaOffsets , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_betaOffsets },
+ { &hf_nr_rrc_scaling , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_scaling },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UCI_OnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UCI_OnPUSCH, UCI_OnPUSCH_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_uci_OnPUSCH_01_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_uci_OnPUSCH_01_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_41 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_UCI_OnPUSCH },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_uci_OnPUSCH_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_uci_OnPUSCH_01, T_uci_OnPUSCH_01_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_tp_pi2BPSK_vals[] = {
+ { 0, "enabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_tp_pi2BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PUSCH_Config_sequence[] = {
+ { &hf_nr_rrc_dataScramblingIdentityPUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1023 },
+ { &hf_nr_rrc_txConfig , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_txConfig },
+ { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA },
+ { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB },
+ { &hf_nr_rrc_pusch_PowerControl, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PUSCH_PowerControl },
+ { &hf_nr_rrc_frequencyHopping_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyHopping_01 },
+ { &hf_nr_rrc_frequencyHoppingOffsetLists, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyHoppingOffsetLists },
+ { &hf_nr_rrc_resourceAllocation_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceAllocation_02 },
+ { &hf_nr_rrc_pusch_TimeDomainAllocationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_TimeDomainAllocationList },
+ { &hf_nr_rrc_pusch_AggregationFactor, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_AggregationFactor },
+ { &hf_nr_rrc_mcs_Table_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_Table_02 },
+ { &hf_nr_rrc_mcs_TableTransformPrecoder_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_TableTransformPrecoder_01 },
+ { &hf_nr_rrc_transformPrecoder_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecoder_01 },
+ { &hf_nr_rrc_codebookSubset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_codebookSubset },
+ { &hf_nr_rrc_maxRank , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_4 },
+ { &hf_nr_rrc_rbg_Size_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rbg_Size_02 },
+ { &hf_nr_rrc_uci_OnPUSCH_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_uci_OnPUSCH_01 },
+ { &hf_nr_rrc_tp_pi2BPSK , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tp_pi2BPSK },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PUSCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PUSCH_Config, PUSCH_Config_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pusch_Config_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_pusch_Config_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_12 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_Config },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_pusch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_pusch_Config, T_pusch_Config_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_frequencyHopping_vals[] = {
+ { 0, "intraSlot" },
+ { 1, "interSlot" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_frequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_mcs_Table_vals[] = {
+ { 0, "qam256" },
+ { 1, "qam64LowSE" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_mcs_Table(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_mcs_TableTransformPrecoder_vals[] = {
+ { 0, "qam256" },
+ { 1, "qam64LowSE" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_mcs_TableTransformPrecoder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_4_OF_BetaOffsets_sequence_of[1] = {
+ { &hf_nr_rrc_dynamic_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BetaOffsets },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets, SEQUENCE_SIZE_1_4_OF_BetaOffsets_sequence_of,
+ 1, 4, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_CG_UCI_OnPUSCH_vals[] = {
+ { 0, "dynamic" },
+ { 1, "semiStatic" },
+ { 0, NULL }
+};
+
+static const per_choice_t CG_UCI_OnPUSCH_choice[] = {
+ { 0, &hf_nr_rrc_dynamic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets },
+ { 1, &hf_nr_rrc_semiStatic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BetaOffsets },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_CG_UCI_OnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CG_UCI_OnPUSCH, CG_UCI_OnPUSCH_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_uci_OnPUSCH_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_uci_OnPUSCH_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_17 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CG_UCI_OnPUSCH },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_uci_OnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_uci_OnPUSCH, T_uci_OnPUSCH_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_resourceAllocation_vals[] = {
+ { 0, "resourceAllocationType0" },
+ { 1, "resourceAllocationType1" },
+ { 2, "dynamicSwitch" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_resourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_rbg_Size_vals[] = {
+ { 0, "config2" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_rbg_Size(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_powerControlLoopToUse_vals[] = {
+ { 0, "n0" },
+ { 1, "n1" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_powerControlLoopToUse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_transformPrecoder_vals[] = {
+ { 0, "enabled" },
+ { 1, "disabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_transformPrecoder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_repK_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n4" },
+ { 3, "n8" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_repK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_repK_RV_vals[] = {
+ { 0, "s1-0231" },
+ { 1, "s2-0303" },
+ { 2, "s3-0000" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_repK_RV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_periodicity_vals[] = {
+ { 0, "sym2" },
+ { 1, "sym7" },
+ { 2, "sym1x14" },
+ { 3, "sym2x14" },
+ { 4, "sym4x14" },
+ { 5, "sym5x14" },
+ { 6, "sym8x14" },
+ { 7, "sym10x14" },
+ { 8, "sym16x14" },
+ { 9, "sym20x14" },
+ { 10, "sym32x14" },
+ { 11, "sym40x14" },
+ { 12, "sym64x14" },
+ { 13, "sym80x14" },
+ { 14, "sym128x14" },
+ { 15, "sym160x14" },
+ { 16, "sym256x14" },
+ { 17, "sym320x14" },
+ { 18, "sym512x14" },
+ { 19, "sym640x14" },
+ { 20, "sym1024x14" },
+ { 21, "sym1280x14" },
+ { 22, "sym2560x14" },
+ { 23, "sym5120x14" },
+ { 24, "sym6" },
+ { 25, "sym1x12" },
+ { 26, "sym2x12" },
+ { 27, "sym4x12" },
+ { 28, "sym5x12" },
+ { 29, "sym8x12" },
+ { 30, "sym10x12" },
+ { 31, "sym16x12" },
+ { 32, "sym20x12" },
+ { 33, "sym32x12" },
+ { 34, "sym40x12" },
+ { 35, "sym64x12" },
+ { 36, "sym80x12" },
+ { 37, "sym128x12" },
+ { 38, "sym160x12" },
+ { 39, "sym256x12" },
+ { 40, "sym320x12" },
+ { 41, "sym512x12" },
+ { 42, "sym640x12" },
+ { 43, "sym1280x12" },
+ { 44, "sym2560x12" },
+ { 0, NULL }
+};
+
+static value_string_ext nr_rrc_T_periodicity_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_periodicity_vals);
+
+
+static int
+dissect_nr_rrc_T_periodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 45, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 18, 18, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofPUSCH_PathlossReferenceRSs_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_rrc_ConfiguredUplinkGrant_sequence[] = {
+ { &hf_nr_rrc_timeDomainOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_5119 },
+ { &hf_nr_rrc_timeDomainAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
+ { &hf_nr_rrc_frequencyDomainAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_18 },
+ { &hf_nr_rrc_antennaPort , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
+ { &hf_nr_rrc_dmrs_SeqInitialization, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1 },
+ { &hf_nr_rrc_precodingAndNumberOfLayers, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
+ { &hf_nr_rrc_srs_ResourceIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 },
+ { &hf_nr_rrc_mcsAndTBS , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
+ { &hf_nr_rrc_frequencyHoppingOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1 },
+ { &hf_nr_rrc_pathlossReferenceIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_rrc_ConfiguredUplinkGrant(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_rrc_ConfiguredUplinkGrant, T_rrc_ConfiguredUplinkGrant_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ConfiguredGrantConfig_sequence[] = {
+ { &hf_nr_rrc_frequencyHopping, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyHopping },
+ { &hf_nr_rrc_cg_DMRS_Configuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DMRS_UplinkConfig },
+ { &hf_nr_rrc_mcs_Table , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_Table },
+ { &hf_nr_rrc_mcs_TableTransformPrecoder, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_TableTransformPrecoder },
+ { &hf_nr_rrc_uci_OnPUSCH , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_uci_OnPUSCH },
+ { &hf_nr_rrc_resourceAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceAllocation },
+ { &hf_nr_rrc_rbg_Size , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rbg_Size },
+ { &hf_nr_rrc_powerControlLoopToUse, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_powerControlLoopToUse },
+ { &hf_nr_rrc_p0_PUSCH_Alpha, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId },
+ { &hf_nr_rrc_transformPrecoder, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecoder },
+ { &hf_nr_rrc_nrofHARQ_Processes, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
+ { &hf_nr_rrc_repK , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_repK },
+ { &hf_nr_rrc_repK_RV , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_repK_RV },
+ { &hf_nr_rrc_periodicity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity },
+ { &hf_nr_rrc_configuredGrantTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_64 },
+ { &hf_nr_rrc_rrc_ConfiguredUplinkGrant, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rrc_ConfiguredUplinkGrant },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_ConfiguredGrantConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_ConfiguredGrantConfig, ConfiguredGrantConfig_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_configuredGrantConfig_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_configuredGrantConfig_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_13 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_ConfiguredGrantConfig },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_configuredGrantConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_configuredGrantConfig, T_configuredGrantConfig_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_SRS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNrofSRS_ResourceSets_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId_sequence_of[1] = {
+ { &hf_nr_rrc_srs_ResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSetId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId, SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId_sequence_of,
+ 1, maxNrofSRS_ResourceSets, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId_sequence_of[1] = {
+ { &hf_nr_rrc_srs_ResourceIdList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId, SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId_sequence_of,
+ 1, maxNrofSRS_ResourcesPerSet, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_maxNrofSRS_TriggerStates_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxNrofSRS_TriggerStates_1, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 32U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_aperiodicSRS_ResourceTriggerList_v1530_sequence_of[1] = {
+ { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList_v1530_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofSRS_TriggerStates_1 },
+};
+
+static int
+dissect_nr_rrc_T_aperiodicSRS_ResourceTriggerList_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_aperiodicSRS_ResourceTriggerList_v1530, T_aperiodicSRS_ResourceTriggerList_v1530_sequence_of,
+ 1, maxNrofSRS_TriggerStates_2, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_eag_1_sequence[] = {
+ { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aperiodicSRS_ResourceTriggerList_v1530 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_aperiodic_01_sequence[] = {
+ { &hf_nr_rrc_aperiodicSRS_ResourceTrigger, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofSRS_TriggerStates_1 },
+ { &hf_nr_rrc_csi_RS_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+ { &hf_nr_rrc_slotOffset , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_32 },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_aperiodic_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_aperiodic_01, T_aperiodic_01_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_semi_persistent_sequence[] = {
+ { &hf_nr_rrc_associatedCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_semi_persistent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_semi_persistent, T_semi_persistent_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_periodic_01_sequence[] = {
+ { &hf_nr_rrc_associatedCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_periodic_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_periodic_01, T_periodic_01_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_resourceType_01_vals[] = {
+ { 0, "aperiodic" },
+ { 1, "semi-persistent" },
+ { 2, "periodic" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_resourceType_01_choice[] = {
+ { 0, &hf_nr_rrc_aperiodic_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_aperiodic_01 },
+ { 1, &hf_nr_rrc_semi_persistent, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semi_persistent },
+ { 2, &hf_nr_rrc_periodic_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_periodic_01 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_resourceType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_resourceType_01, T_resourceType_01_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_usage_vals[] = {
+ { 0, "beamManagement" },
+ { 1, "codebook" },
+ { 2, "nonCodebook" },
+ { 3, "antennaSwitching" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pathlossReferenceRS_vals[] = {
+ { 0, "ssb-Index" },
+ { 1, "csi-RS-Index" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_pathlossReferenceRS_choice[] = {
+ { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
+ { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_pathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_pathlossReferenceRS, T_pathlossReferenceRS_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_srs_PowerControlAdjustmentStates_vals[] = {
+ { 0, "sameAsFci2" },
+ { 1, "separateClosedLoop" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_srs_PowerControlAdjustmentStates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t SRS_ResourceSet_sequence[] = {
+ { &hf_nr_rrc_srs_ResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSetId },
+ { &hf_nr_rrc_srs_ResourceIdList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId },
+ { &hf_nr_rrc_resourceType_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType_01 },
+ { &hf_nr_rrc_usage , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_usage },
+ { &hf_nr_rrc_alpha , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_Alpha },
+ { &hf_nr_rrc_p0_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M202_24 },
+ { &hf_nr_rrc_pathlossReferenceRS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pathlossReferenceRS },
+ { &hf_nr_rrc_srs_PowerControlAdjustmentStates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_PowerControlAdjustmentStates },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_SRS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SRS_ResourceSet, SRS_ResourceSet_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet_sequence_of[1] = {
+ { &hf_nr_rrc_srs_ResourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSet },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet, SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet_sequence_of,
+ 1, maxNrofSRS_ResourceSets, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId_sequence_of[1] = {
+ { &hf_nr_rrc_srs_ResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId, SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId_sequence_of,
+ 1, maxNrofSRS_Resources, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_nrofSRS_Ports_vals[] = {
+ { 0, "port1" },
+ { 1, "ports2" },
+ { 2, "ports4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_nrofSRS_Ports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_ptrs_PortIndex_vals[] = {
+ { 0, "n0" },
+ { 1, "n1" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_ptrs_PortIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_n2_sequence[] = {
+ { &hf_nr_rrc_combOffset_n2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1 },
+ { &hf_nr_rrc_cyclicShift_n2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_n2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_n2, T_n2_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_n4_sequence[] = {
+ { &hf_nr_rrc_combOffset_n4, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
+ { &hf_nr_rrc_cyclicShift_n4, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_n4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_n4, T_n4_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_transmissionComb_vals[] = {
+ { 0, "n2" },
+ { 1, "n4" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_transmissionComb_choice[] = {
+ { 0, &hf_nr_rrc_n2_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_n2 },
+ { 1, &hf_nr_rrc_n4_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_n4 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_transmissionComb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_transmissionComb, T_transmissionComb_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 5U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_nrofSymbols_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_nrofSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_repetitionFactor_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_repetitionFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_resourceMapping_sequence[] = {
+ { &hf_nr_rrc_startPosition, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_5 },
+ { &hf_nr_rrc_nrofSymbols_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofSymbols },
+ { &hf_nr_rrc_repetitionFactor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_repetitionFactor },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_resourceMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_resourceMapping, T_resourceMapping_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_67(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 67U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_0_268(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 268U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_freqHopping_sequence[] = {
+ { &hf_nr_rrc_c_SRS , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
+ { &hf_nr_rrc_b_SRS , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
+ { &hf_nr_rrc_b_hop , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_freqHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_freqHopping, T_freqHopping_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_groupOrSequenceHopping_vals[] = {
+ { 0, "neither" },
+ { 1, "groupHopping" },
+ { 2, "sequenceHopping" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_groupOrSequenceHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_aperiodic_02_sequence[] = {
+ { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_aperiodic_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_aperiodic_02, T_aperiodic_02_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_SRS_PeriodicityAndOffset_vals[] = {
+ { 0, "sl1" },
+ { 1, "sl2" },
+ { 2, "sl4" },
+ { 3, "sl5" },
+ { 4, "sl8" },
+ { 5, "sl10" },
+ { 6, "sl16" },
+ { 7, "sl20" },
+ { 8, "sl32" },
+ { 9, "sl40" },
+ { 10, "sl64" },
+ { 11, "sl80" },
+ { 12, "sl160" },
+ { 13, "sl320" },
+ { 14, "sl640" },
+ { 15, "sl1280" },
+ { 16, "sl2560" },
+ { 0, NULL }
+};
+
+static value_string_ext nr_rrc_SRS_PeriodicityAndOffset_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_SRS_PeriodicityAndOffset_vals);
+
+static const per_choice_t SRS_PeriodicityAndOffset_choice[] = {
+ { 0, &hf_nr_rrc_sl1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_sl2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1 },
+ { 2, &hf_nr_rrc_sl4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 },
+ { 3, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
+ { 4, &hf_nr_rrc_sl8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 },
+ { 5, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
+ { 6, &hf_nr_rrc_sl16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
+ { 7, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
+ { 8, &hf_nr_rrc_sl32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 },
+ { 9, &hf_nr_rrc_sl40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
+ { 10, &hf_nr_rrc_sl64 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_63 },
+ { 11, &hf_nr_rrc_sl80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
+ { 12, &hf_nr_rrc_sl160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
+ { 13, &hf_nr_rrc_sl320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
+ { 14, &hf_nr_rrc_sl640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 },
+ { 15, &hf_nr_rrc_sl1280 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1279 },
+ { 16, &hf_nr_rrc_sl2560 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2559 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_SRS_PeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SRS_PeriodicityAndOffset, SRS_PeriodicityAndOffset_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_semi_persistent_01_sequence[] = {
+ { &hf_nr_rrc_periodicityAndOffset_sp, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PeriodicityAndOffset },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_semi_persistent_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_semi_persistent_01, T_semi_persistent_01_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_periodic_02_sequence[] = {
+ { &hf_nr_rrc_periodicityAndOffset_p, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PeriodicityAndOffset },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_periodic_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_periodic_02, T_periodic_02_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_resourceType_02_vals[] = {
+ { 0, "aperiodic" },
+ { 1, "semi-persistent" },
+ { 2, "periodic" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_resourceType_02_choice[] = {
+ { 0, &hf_nr_rrc_aperiodic_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_aperiodic_02 },
+ { 1, &hf_nr_rrc_semi_persistent_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semi_persistent_01 },
+ { 2, &hf_nr_rrc_periodic_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_periodic_02 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_resourceType_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_resourceType_02, T_resourceType_02_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_srs_01_sequence[] = {
+ { &hf_nr_rrc_resourceId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
+ { &hf_nr_rrc_uplinkBWP , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_srs_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_srs_01, T_srs_01_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_referenceSignal_03_vals[] = {
+ { 0, "ssb-Index" },
+ { 1, "csi-RS-Index" },
+ { 2, "srs" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_referenceSignal_03_choice[] = {
+ { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
+ { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
+ { 2, &hf_nr_rrc_srs_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_srs_01 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_referenceSignal_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_referenceSignal_03, T_referenceSignal_03_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t SRS_SpatialRelationInfo_sequence[] = {
+ { &hf_nr_rrc_servingCellId, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex },
+ { &hf_nr_rrc_referenceSignal_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_03 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_SRS_SpatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SRS_SpatialRelationInfo, SRS_SpatialRelationInfo_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SRS_Resource_sequence[] = {
+ { &hf_nr_rrc_srs_ResourceId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
+ { &hf_nr_rrc_nrofSRS_Ports, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofSRS_Ports },
+ { &hf_nr_rrc_ptrs_PortIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ptrs_PortIndex },
+ { &hf_nr_rrc_transmissionComb, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_transmissionComb },
+ { &hf_nr_rrc_resourceMapping_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceMapping },
+ { &hf_nr_rrc_freqDomainPosition, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_67 },
+ { &hf_nr_rrc_freqDomainShift, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_268 },
+ { &hf_nr_rrc_freqHopping , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_freqHopping },
+ { &hf_nr_rrc_groupOrSequenceHopping, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_groupOrSequenceHopping },
+ { &hf_nr_rrc_resourceType_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType_02 },
+ { &hf_nr_rrc_sequenceId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 },
+ { &hf_nr_rrc_spatialRelationInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SRS_SpatialRelationInfo },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_SRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SRS_Resource, SRS_Resource_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource_sequence_of[1] = {
+ { &hf_nr_rrc_srs_ResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_Resource },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource, SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource_sequence_of,
+ 1, maxNrofSRS_Resources, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_tpc_Accumulation_01_vals[] = {
+ { 0, "disabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_tpc_Accumulation_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t SRS_Config_sequence[] = {
+ { &hf_nr_rrc_srs_ResourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId },
+ { &hf_nr_rrc_srs_ResourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet },
+ { &hf_nr_rrc_srs_ResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId },
+ { &hf_nr_rrc_srs_ResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource },
+ { &hf_nr_rrc_tpc_Accumulation_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_Accumulation_01 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_SRS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SRS_Config, SRS_Config_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_srs_Config_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_srs_Config_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_Config },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_srs_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_srs_Config, T_srs_Config_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_beamFailureRecoveryConfig_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_beamFailureRecoveryConfig_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_15 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BeamFailureRecoveryConfig },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_beamFailureRecoveryConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_beamFailureRecoveryConfig, T_beamFailureRecoveryConfig_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t BWP_UplinkDedicated_sequence[] = {
+ { &hf_nr_rrc_pucch_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_Config },
+ { &hf_nr_rrc_pusch_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_Config },
+ { &hf_nr_rrc_configuredGrantConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredGrantConfig },
+ { &hf_nr_rrc_srs_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_Config },
+ { &hf_nr_rrc_beamFailureRecoveryConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamFailureRecoveryConfig },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BWP_UplinkDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BWP_UplinkDedicated, BWP_UplinkDedicated_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t BWP_Uplink_sequence[] = {
+ { &hf_nr_rrc_bwp_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
+ { &hf_nr_rrc_bwp_Common_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_UplinkCommon },
+ { &hf_nr_rrc_bwp_Dedicated_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_UplinkDedicated },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BWP_Uplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BWP_Uplink, BWP_Uplink_sequence);
+
+ return offset;
+}
+
+
static const value_string nr_rrc_T_servedRadioBearer_vals[] = {
{ 0, "srb-Identity" },
{ 1, "drb-Identity" },
@@ -16121,6 +25838,28 @@ dissect_nr_rrc_INTEGER_0_maxLCG_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
+static const value_string nr_rrc_T_bitRateQueryProhibitTimer_vals[] = {
+ { 0, "s0" },
+ { 1, "s0dot4" },
+ { 2, "s0dot8" },
+ { 3, "s1dot6" },
+ { 4, "s3" },
+ { 5, "s6" },
+ { 6, "s12" },
+ { 7, "s30" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_bitRateQueryProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
static const per_sequence_t T_ul_SpecificParameters_sequence[] = {
{ &hf_nr_rrc_priority , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
{ &hf_nr_rrc_prioritisedBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_prioritisedBitRate },
@@ -16133,6 +25872,7 @@ static const per_sequence_t T_ul_SpecificParameters_sequence[] = {
{ &hf_nr_rrc_schedulingRequestID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SchedulingRequestId },
{ &hf_nr_rrc_logicalChannelSR_Mask, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
{ &hf_nr_rrc_logicalChannelSR_DelayTimerApplied, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_bitRateQueryProhibitTimer, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_nr_rrc_T_bitRateQueryProhibitTimer },
{ NULL, 0, 0, NULL }
};
@@ -16582,7 +26322,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_21 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DRX_Config },
+ { 1, &hf_nr_rrc_setup_22 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DRX_Config },
{ 0, NULL, 0, NULL }
};
@@ -16699,104 +26439,6 @@ dissect_nr_rrc_SchedulingRequestConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_c
}
-static const value_string nr_rrc_T_periodicBSR_Timer_vals[] = {
- { 0, "sf1" },
- { 1, "sf5" },
- { 2, "sf10" },
- { 3, "sf16" },
- { 4, "sf20" },
- { 5, "sf32" },
- { 6, "sf40" },
- { 7, "sf64" },
- { 8, "sf80" },
- { 9, "sf128" },
- { 10, "sf160" },
- { 11, "sf320" },
- { 12, "sf640" },
- { 13, "sf1280" },
- { 14, "sf2560" },
- { 15, "infinity" },
- { 0, NULL }
-};
-
-
-static int
-dissect_nr_rrc_T_periodicBSR_Timer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 16, NULL, FALSE, 0, NULL);
-
- return offset;
-}
-
-
-static const value_string nr_rrc_T_retxBSR_Timer_vals[] = {
- { 0, "sf10" },
- { 1, "sf20" },
- { 2, "sf40" },
- { 3, "sf80" },
- { 4, "sf160" },
- { 5, "sf320" },
- { 6, "sf640" },
- { 7, "sf1280" },
- { 8, "sf2560" },
- { 9, "sf5120" },
- { 10, "sf10240" },
- { 11, "spare5" },
- { 12, "spare4" },
- { 13, "spare3" },
- { 14, "spare2" },
- { 15, "spare1" },
- { 0, NULL }
-};
-
-
-static int
-dissect_nr_rrc_T_retxBSR_Timer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 16, NULL, FALSE, 0, NULL);
-
- return offset;
-}
-
-
-static const value_string nr_rrc_T_logicalChannelSR_DelayTimer_vals[] = {
- { 0, "sf20" },
- { 1, "sf40" },
- { 2, "sf64" },
- { 3, "sf128" },
- { 4, "sf512" },
- { 5, "sf1024" },
- { 6, "sf2560" },
- { 7, "spare1" },
- { 0, NULL }
-};
-
-
-static int
-dissect_nr_rrc_T_logicalChannelSR_DelayTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 8, NULL, FALSE, 0, NULL);
-
- return offset;
-}
-
-
-static const per_sequence_t BSR_Config_sequence[] = {
- { &hf_nr_rrc_periodicBSR_Timer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicBSR_Timer },
- { &hf_nr_rrc_retxBSR_Timer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_retxBSR_Timer },
- { &hf_nr_rrc_logicalChannelSR_DelayTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_logicalChannelSR_DelayTimer },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_nr_rrc_BSR_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BSR_Config, BSR_Config_sequence);
-
- return offset;
-}
-
-
static int
dissect_nr_rrc_TAG_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -16948,7 +26590,7 @@ static const per_sequence_t PHR_Config_sequence[] = {
{ &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_dummy , 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 }
@@ -16971,7 +26613,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_22 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PHR_Config },
+ { 1, &hf_nr_rrc_setup_23 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PHR_Config },
{ 0, NULL, 0, NULL }
};
@@ -16985,6 +26627,72 @@ dissect_nr_rrc_T_phr_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
+static const value_string nr_rrc_DataInactivityTimer_vals[] = {
+ { 0, "s1" },
+ { 1, "s2" },
+ { 2, "s3" },
+ { 3, "s5" },
+ { 4, "s7" },
+ { 5, "s10" },
+ { 6, "s15" },
+ { 7, "s20" },
+ { 8, "s40" },
+ { 9, "s50" },
+ { 10, "s60" },
+ { 11, "s80" },
+ { 12, "s100" },
+ { 13, "s120" },
+ { 14, "s150" },
+ { 15, "s180" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_DataInactivityTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 16, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_dataInactivityTimer_v1530_vals[] = {
+ { 0, "release" },
+ { 1, "setup" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_dataInactivityTimer_v1530_choice[] = {
+ { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 1, &hf_nr_rrc_setup_24 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DataInactivityTimer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_dataInactivityTimer_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_dataInactivityTimer_v1530, T_dataInactivityTimer_v1530_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MAC_CellGroupConfig_eag_1_sequence[] = {
+ { &hf_nr_rrc_csi_Mask_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_dataInactivityTimer_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dataInactivityTimer_v1530 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MAC_CellGroupConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_CellGroupConfig_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t MAC_CellGroupConfig_sequence[] = {
{ &hf_nr_rrc_drx_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_drx_Config },
{ &hf_nr_rrc_schedulingRequestConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SchedulingRequestConfig },
@@ -16992,6 +26700,7 @@ static const per_sequence_t MAC_CellGroupConfig_sequence[] = {
{ &hf_nr_rrc_tag_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TAG_Config },
{ &hf_nr_rrc_phr_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_phr_Config },
{ &hf_nr_rrc_skipUplinkTxDynamic, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_CellGroupConfig_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -17058,7 +26767,7 @@ static const value_string nr_rrc_T_cs_RNTI_vals[] = {
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 },
+ { 1, &hf_nr_rrc_setup_37 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RNTI_Value },
{ 0, NULL, 0, NULL }
};
@@ -17072,16 +26781,31 @@ dissect_nr_rrc_T_cs_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
}
+static const per_sequence_t PhysicalCellGroupConfig_eag_1_sequence[] = {
+ { &hf_nr_rrc_mcs_C_RNTI , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RNTI_Value },
+ { &hf_nr_rrc_p_UE_FR1 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PhysicalCellGroupConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalCellGroupConfig_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t PhysicalCellGroupConfig_sequence[] = {
{ &hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUCCH },
{ &hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUSCH },
- { &hf_nr_rrc_p_NR , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
+ { &hf_nr_rrc_p_NR_FR1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
{ &hf_nr_rrc_pdsch_HARQ_ACK_Codebook, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pdsch_HARQ_ACK_Codebook },
{ &hf_nr_rrc_tpc_SRS_RNTI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RNTI_Value },
{ &hf_nr_rrc_tpc_PUCCH_RNTI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RNTI_Value },
{ &hf_nr_rrc_tpc_PUSCH_RNTI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RNTI_Value },
{ &hf_nr_rrc_sp_CSI_RNTI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RNTI_Value },
{ &hf_nr_rrc_cs_RNTI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cs_RNTI },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysicalCellGroupConfig_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -17096,7 +26820,7 @@ 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_frequencyBandList_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MultiFrequencyBandListNR },
{ &hf_nr_rrc_absoluteFrequencyPointA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
{ &hf_nr_rrc_scs_SpecificCarrierList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier },
{ NULL, 0, 0, NULL }
@@ -17126,6 +26850,56 @@ dissect_nr_rrc_DownlinkConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
}
+static const value_string nr_rrc_T_frequencyShift7p5khz_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_frequencyShift7p5khz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t FrequencyInfoUL_sequence[] = {
+ { &hf_nr_rrc_frequencyBandList_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MultiFrequencyBandListNR },
+ { &hf_nr_rrc_absoluteFrequencyPointA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
+ { &hf_nr_rrc_scs_SpecificCarrierList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier },
+ { &hf_nr_rrc_additionalSpectrumEmission, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_AdditionalSpectrumEmission },
+ { &hf_nr_rrc_p_Max , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
+ { &hf_nr_rrc_frequencyShift7p5khz, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyShift7p5khz },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_FrequencyInfoUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_FrequencyInfoUL, FrequencyInfoUL_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t UplinkConfigCommon_sequence[] = {
+ { &hf_nr_rrc_frequencyInfoUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FrequencyInfoUL },
+ { &hf_nr_rrc_initialUplinkBWP_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BWP_UplinkCommon },
+ { &hf_nr_rrc_dummy_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeAlignmentTimer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_UplinkConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UplinkConfigCommon, UplinkConfigCommon_sequence);
+
+ return offset;
+}
+
+
static const value_string nr_rrc_T_n_TimingAdvanceOffset_vals[] = {
{ 0, "n0" },
{ 1, "n25600" },
@@ -17143,14 +26917,14 @@ dissect_nr_rrc_T_n_TimingAdvanceOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_c
}
-static const value_string nr_rrc_T_ssb_PositionsInBurst_01_vals[] = {
+static const value_string nr_rrc_T_ssb_PositionsInBurst_vals[] = {
{ 0, "shortBitmap" },
{ 1, "mediumBitmap" },
{ 2, "longBitmap" },
{ 0, NULL }
};
-static const per_choice_t T_ssb_PositionsInBurst_01_choice[] = {
+static const per_choice_t T_ssb_PositionsInBurst_choice[] = {
{ 0, &hf_nr_rrc_shortBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 },
{ 1, &hf_nr_rrc_mediumBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
{ 2, &hf_nr_rrc_longBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 },
@@ -17158,9 +26932,9 @@ static const per_choice_t T_ssb_PositionsInBurst_01_choice[] = {
};
static int
-dissect_nr_rrc_T_ssb_PositionsInBurst_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_ssb_PositionsInBurst(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_ssb_PositionsInBurst_01, T_ssb_PositionsInBurst_01_choice,
+ ett_nr_rrc_T_ssb_PositionsInBurst, T_ssb_PositionsInBurst_choice,
NULL);
return offset;
@@ -17257,54 +27031,44 @@ dissect_nr_rrc_T_radioframeAllocationPeriod(tvbuff_t *tvb _U_, int offset _U_, a
}
-
-static int
-dissect_nr_rrc_BIT_STRING_SIZE_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 24, 24, FALSE, NULL, NULL);
-
- return offset;
-}
-
-
-static const value_string nr_rrc_T_subframeAllocation_vals[] = {
+static const value_string nr_rrc_T_subframeAllocation1_vals[] = {
{ 0, "oneFrame" },
{ 1, "fourFrames" },
{ 0, NULL }
};
-static const per_choice_t T_subframeAllocation_choice[] = {
+static const per_choice_t T_subframeAllocation1_choice[] = {
{ 0, &hf_nr_rrc_oneFrame , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_6 },
{ 1, &hf_nr_rrc_fourFrames , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_24 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_subframeAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_subframeAllocation1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_subframeAllocation, T_subframeAllocation_choice,
+ ett_nr_rrc_T_subframeAllocation1, T_subframeAllocation1_choice,
NULL);
return offset;
}
-static const value_string nr_rrc_T_subframeAllocation_v1430_vals[] = {
- { 0, "oneFrame-v1430" },
- { 1, "fourFrames-v1430" },
+static const value_string nr_rrc_T_subframeAllocation2_vals[] = {
+ { 0, "oneFrame" },
+ { 1, "fourFrames" },
{ 0, NULL }
};
-static const per_choice_t T_subframeAllocation_v1430_choice[] = {
- { 0, &hf_nr_rrc_oneFrame_v1430, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_2 },
- { 1, &hf_nr_rrc_fourFrames_v1430, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
+static const per_choice_t T_subframeAllocation2_choice[] = {
+ { 0, &hf_nr_rrc_oneFrame_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_2 },
+ { 1, &hf_nr_rrc_fourFrames_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_subframeAllocation_v1430(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_subframeAllocation2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_subframeAllocation_v1430, T_subframeAllocation_v1430_choice,
+ ett_nr_rrc_T_subframeAllocation2, T_subframeAllocation2_choice,
NULL);
return offset;
@@ -17314,8 +27078,8 @@ dissect_nr_rrc_T_subframeAllocation_v1430(tvbuff_t *tvb _U_, int offset _U_, asn
static const per_sequence_t EUTRA_MBSFN_SubframeConfig_sequence[] = {
{ &hf_nr_rrc_radioframeAllocationPeriod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_radioframeAllocationPeriod },
{ &hf_nr_rrc_radioframeAllocationOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
- { &hf_nr_rrc_subframeAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subframeAllocation },
- { &hf_nr_rrc_subframeAllocation_v1430, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_subframeAllocation_v1430 },
+ { &hf_nr_rrc_subframeAllocation1, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subframeAllocation1 },
+ { &hf_nr_rrc_subframeAllocation2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_subframeAllocation2 },
{ NULL, 0, 0, NULL }
};
@@ -17405,7 +27169,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_46 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RateMatchPatternLTE_CRS },
+ { 1, &hf_nr_rrc_setup_48 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RateMatchPatternLTE_CRS },
{ 0, NULL, 0, NULL }
};
@@ -17425,7 +27189,7 @@ static const per_sequence_t ServingCellConfigCommon_sequence[] = {
{ &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_PositionsInBurst, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_PositionsInBurst },
{ &hf_nr_rrc_ssb_periodicityServingCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_periodicityServingCell },
{ &hf_nr_rrc_dmrs_TypeA_Position_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dmrs_TypeA_Position_01 },
{ &hf_nr_rrc_lte_CRS_ToMatchAround, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_lte_CRS_ToMatchAround },
@@ -17630,9 +27394,23 @@ dissect_nr_rrc_T_resources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
}
+static const per_sequence_t CFRA_eag_1_sequence[] = {
+ { &hf_nr_rrc_totalNumberOfRA_Preambles_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_63 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_CFRA_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CFRA_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t CFRA_sequence[] = {
{ &hf_nr_rrc_occasions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_occasions },
{ &hf_nr_rrc_resources , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resources },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CFRA_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -17668,7 +27446,7 @@ static const value_string nr_rrc_T_rach_ConfigDedicated_vals[] = {
static const per_choice_t T_rach_ConfigDedicated_choice[] = {
{ 0, &hf_nr_rrc_uplink , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RACH_ConfigDedicated },
- { 1, &hf_nr_rrc_supplementaryUplink_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RACH_ConfigDedicated },
+ { 1, &hf_nr_rrc_supplementaryUplink, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RACH_ConfigDedicated },
{ 0, NULL, 0, NULL }
};
@@ -17682,11 +27460,25 @@ dissect_nr_rrc_T_rach_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
}
+static const per_sequence_t ReconfigurationWithSync_eag_1_sequence[] = {
+ { &hf_nr_rrc_smtc , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_ReconfigurationWithSync_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReconfigurationWithSync_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t ReconfigurationWithSync_sequence[] = {
{ &hf_nr_rrc_spCellConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfigCommon },
{ &hf_nr_rrc_newUE_Identity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value },
{ &hf_nr_rrc_t304 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t304 },
{ &hf_nr_rrc_rach_ConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rach_ConfigDedicated },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReconfigurationWithSync_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -17766,10 +27558,45 @@ dissect_nr_rrc_T_n311(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
}
+static const value_string nr_rrc_T_t311_v1530_vals[] = {
+ { 0, "ms1000" },
+ { 1, "ms3000" },
+ { 2, "ms5000" },
+ { 3, "ms10000" },
+ { 4, "ms15000" },
+ { 5, "ms20000" },
+ { 6, "ms30000" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_t311_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 7, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t RLF_TimersAndConstants_eag_1_sequence[] = {
+ { &hf_nr_rrc_t311_v1530 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t311_v1530 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_RLF_TimersAndConstants_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RLF_TimersAndConstants_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t RLF_TimersAndConstants_sequence[] = {
{ &hf_nr_rrc_t310 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t310 },
{ &hf_nr_rrc_n310 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n310 },
{ &hf_nr_rrc_n311 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n311 },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RLF_TimersAndConstants_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -17790,7 +27617,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_15 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RLF_TimersAndConstants },
+ { 1, &hf_nr_rrc_setup_16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RLF_TimersAndConstants },
{ 0, NULL, 0, NULL }
};
@@ -18065,7 +27892,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_40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_CodeBlockGroupTransmission },
+ { 1, &hf_nr_rrc_setup_42 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_CodeBlockGroupTransmission },
{ 0, NULL, 0, NULL }
};
@@ -18135,7 +27962,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_44 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_ServingCellConfig },
+ { 1, &hf_nr_rrc_setup_46 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_ServingCellConfig },
{ 0, NULL, 0, NULL }
};
@@ -18283,7 +28110,7 @@ static const value_string nr_rrc_T_carrierSwitching_vals[] = {
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 },
+ { 1, &hf_nr_rrc_setup_47 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_CarrierSwitching },
{ 0, NULL, 0, NULL }
};
@@ -18460,7 +28287,7 @@ static const value_string nr_rrc_T_slotFormatIndicator_vals[] = {
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 },
+ { 1, &hf_nr_rrc_setup_32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SlotFormatIndicator },
{ 0, NULL, 0, NULL }
};
@@ -18496,7 +28323,7 @@ static const value_string nr_rrc_T_pdcch_ServingCellConfig_vals[] = {
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 },
+ { 1, &hf_nr_rrc_setup_43 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_ServingCellConfig },
{ 0, NULL, 0, NULL }
};
@@ -18551,7 +28378,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_34 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_CodeBlockGroupTransmission },
+ { 1, &hf_nr_rrc_setup_36 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_CodeBlockGroupTransmission },
{ 0, NULL, 0, NULL }
};
@@ -18627,7 +28454,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_42 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_ServingCellConfig },
+ { 1, &hf_nr_rrc_setup_44 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_ServingCellConfig },
{ 0, NULL, 0, NULL }
};
@@ -19577,26 +29404,6 @@ 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);
-
- return offset;
-}
-
-
-
-static int
dissect_nr_rrc_BIT_STRING_SIZE_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
11, 11, FALSE, NULL, NULL);
@@ -19627,9 +29434,9 @@ 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_) {
+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,
- 16, 16, FALSE, NULL, NULL);
+ 17, 17, FALSE, NULL, NULL);
return offset;
}
@@ -19637,9 +29444,9 @@ dissect_nr_rrc_BIT_STRING_SIZE_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
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_) {
+dissect_nr_rrc_BIT_STRING_SIZE_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 17, 17, FALSE, NULL, NULL);
+ 19, 19, FALSE, NULL, NULL);
return offset;
}
@@ -19662,9 +29469,12 @@ static const value_string nr_rrc_T_csi_ReportingBand_vals[] = {
{ 13, "subbands16" },
{ 14, "subbands17" },
{ 15, "subbands18" },
+ { 16, "subbands19-v1530" },
{ 0, NULL }
};
+static value_string_ext nr_rrc_T_csi_ReportingBand_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_csi_ReportingBand_vals);
+
static const per_choice_t T_csi_ReportingBand_choice[] = {
{ 0, &hf_nr_rrc_subbands3 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_3 },
{ 1, &hf_nr_rrc_subbands4 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_4 },
@@ -19682,6 +29492,7 @@ static const per_choice_t T_csi_ReportingBand_choice[] = {
{ 13, &hf_nr_rrc_subbands16 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_16 },
{ 14, &hf_nr_rrc_subbands17 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_17 },
{ 15, &hf_nr_rrc_subbands18 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_18 },
+ { 16, &hf_nr_rrc_subbands19_v1530, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_BIT_STRING_SIZE_19 },
{ 0, NULL, 0, NULL }
};
@@ -19779,16 +29590,6 @@ dissect_nr_rrc_BIT_STRING_SIZE_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
-dissect_nr_rrc_BIT_STRING_SIZE_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 32, 32, FALSE, NULL, NULL);
-
- return offset;
-}
-
-
-
-static int
dissect_nr_rrc_BIT_STRING_SIZE_192(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
192, 192, FALSE, NULL, NULL);
@@ -19974,16 +29775,16 @@ dissect_nr_rrc_T_subType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
}
-static const per_sequence_t T_type1_sequence[] = {
+static const per_sequence_t T_type1_01_sequence[] = {
{ &hf_nr_rrc_subType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subType },
{ &hf_nr_rrc_codebookMode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_type1(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_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_type1, T_type1_sequence);
+ ett_nr_rrc_T_type1_01, T_type1_01_sequence);
return offset;
}
@@ -20210,7 +30011,7 @@ static const value_string nr_rrc_T_codebookType_vals[] = {
};
static const per_choice_t T_codebookType_choice[] = {
- { 0, &hf_nr_rrc_type1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_type1 },
+ { 0, &hf_nr_rrc_type1_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_type1_01 },
{ 1, &hf_nr_rrc_type2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_type2 },
{ 0, NULL, 0, NULL }
};
@@ -20312,7 +30113,7 @@ dissect_nr_rrc_T_groupBasedBeamReporting(tvbuff_t *tvb _U_, int offset _U_, asn1
static const value_string nr_rrc_T_cqi_Table_vals[] = {
{ 0, "table1" },
{ 1, "table2" },
- { 2, "spare2" },
+ { 2, "table3" },
{ 3, "spare1" },
{ 0, NULL }
};
@@ -20620,12 +30421,56 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndex
}
+static const value_string nr_rrc_T_reportSlotConfig_v1530_vals[] = {
+ { 0, "sl4" },
+ { 1, "sl8" },
+ { 2, "sl16" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_reportSlotConfig_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_semiPersistentOnPUSCH_v1530_sequence[] = {
+ { &hf_nr_rrc_reportSlotConfig_v1530, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportSlotConfig_v1530 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_semiPersistentOnPUSCH_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_semiPersistentOnPUSCH_v1530, T_semiPersistentOnPUSCH_v1530_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t CSI_ReportConfig_eag_1_sequence[] = {
+ { &hf_nr_rrc_semiPersistentOnPUSCH_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_semiPersistentOnPUSCH_v1530 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_CSI_ReportConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_ReportConfig_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t CSI_ReportConfig_sequence[] = {
{ &hf_nr_rrc_reportConfigId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId },
{ &hf_nr_rrc_carrier , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex },
{ &hf_nr_rrc_resourcesForChannelMeasurement, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfigId },
- { &hf_nr_rrc_csi_IM_ResourcesForInterference, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ResourceConfigId },
- { &hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ResourceConfigId },
+ { &hf_nr_rrc_csi_IM_ResourcesForInterference_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ResourceConfigId },
+ { &hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ResourceConfigId },
{ &hf_nr_rrc_reportConfigType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportConfigType },
{ &hf_nr_rrc_reportQuantity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportQuantity },
{ &hf_nr_rrc_reportFreqConfiguration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reportFreqConfiguration },
@@ -20637,6 +30482,7 @@ static const per_sequence_t CSI_ReportConfig_sequence[] = {
{ &hf_nr_rrc_cqi_Table , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cqi_Table },
{ &hf_nr_rrc_subbandSize , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subbandSize },
{ &hf_nr_rrc_non_PMI_PortIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfig_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -20761,8 +30607,8 @@ dissect_nr_rrc_INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig(tvbuff_t *tvb _U_,
static const per_sequence_t CSI_AssociatedReportConfigInfo_sequence[] = {
{ &hf_nr_rrc_reportConfigId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId },
{ &hf_nr_rrc_resourcesForChannel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourcesForChannel },
- { &hf_nr_rrc_csi_IM_ResourcesforInteference, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig },
- { &hf_nr_rrc_nzp_CSI_RS_ResourcesforInterference, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig },
+ { &hf_nr_rrc_csi_IM_ResourcesForInterference, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig },
+ { &hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig },
{ NULL, 0, 0, NULL }
};
@@ -20825,7 +30671,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_17 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_AperiodicTriggerStateList },
+ { 1, &hf_nr_rrc_setup_18 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_AperiodicTriggerStateList },
{ 0, NULL, 0, NULL }
};
@@ -20875,7 +30721,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_18 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList },
+ { 1, &hf_nr_rrc_setup_19 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList },
{ 0, NULL, 0, NULL }
};
@@ -20927,7 +30773,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_43 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_MeasConfig },
+ { 1, &hf_nr_rrc_setup_45 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_MeasConfig },
{ 0, NULL, 0, NULL }
};
@@ -21086,7 +30932,7 @@ static const per_sequence_t ServingCellConfig_sequence[] = {
{ &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_supplementaryUplink_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfig },
{ &hf_nr_rrc_pdcch_ServingCellConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_ServingCellConfig },
{ &hf_nr_rrc_pdsch_ServingCellConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_ServingCellConfig },
{ &hf_nr_rrc_csi_MeasConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_MeasConfig },
@@ -21136,10 +30982,24 @@ dissect_nr_rrc_SCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
}
+static const per_sequence_t SCellConfig_eag_1_sequence[] = {
+ { &hf_nr_rrc_smtc , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_SCellConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SCellConfig_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t SCellConfig_sequence[] = {
{ &hf_nr_rrc_sCellIndex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellIndex },
{ &hf_nr_rrc_sCellConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfigCommon },
{ &hf_nr_rrc_sCellConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfig },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellConfig_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -21180,6 +31040,34 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex(tvbuff_t *tvb _U_, in
}
+static const value_string nr_rrc_T_reportUplinkTxDirectCurrent_v1530_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_reportUplinkTxDirectCurrent_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t CellGroupConfig_eag_1_sequence[] = {
+ { &hf_nr_rrc_reportUplinkTxDirectCurrent_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reportUplinkTxDirectCurrent_v1530 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_CellGroupConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CellGroupConfig_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t CellGroupConfig_sequence[] = {
{ &hf_nr_rrc_cellGroupId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupId },
{ &hf_nr_rrc_rlc_BearerToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig },
@@ -21189,6 +31077,7 @@ static const per_sequence_t CellGroupConfig_sequence[] = {
{ &hf_nr_rrc_spCellConfig , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SpCellConfig },
{ &hf_nr_rrc_sCellToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig },
{ &hf_nr_rrc_sCellToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupConfig_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -21237,16 +31126,6 @@ dissect_nr_rrc_AccessStratumRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
}
-
-static int
-dissect_nr_rrc_FreqBandIndicatorEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, maxBandsEUTRA, NULL, FALSE);
-
- return offset;
-}
-
-
static const value_string nr_rrc_CA_BandwidthClassEUTRA_vals[] = {
{ 0, "a" },
{ 1, "b" },
@@ -21339,8 +31218,8 @@ static const value_string nr_rrc_BandParameters_vals[] = {
};
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, &hf_nr_rrc_eutra_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eutra },
+ { 1, &hf_nr_rrc_nr_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nr },
{ 0, NULL, 0, NULL }
};
@@ -21448,12 +31327,23 @@ dissect_nr_rrc_T_ue_CA_PowerClass_N(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
}
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 1, 32, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
static const per_sequence_t CA_ParametersEUTRA_sequence[] = {
{ &hf_nr_rrc_multipleTimingAdvance, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleTimingAdvance },
{ &hf_nr_rrc_simultaneousRx_Tx, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRx_Tx },
{ &hf_nr_rrc_supportedNAICS_2CRS_AP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_1_8 },
{ &hf_nr_rrc_additionalRx_Tx_PerformanceReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_additionalRx_Tx_PerformanceReq },
{ &hf_nr_rrc_ue_CA_PowerClass_N, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_CA_PowerClass_N },
+ { &hf_nr_rrc_supportedBandwidthCombinationSetEUTRA_v1530, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_1_32 },
{ NULL, 0, 0, NULL }
};
@@ -21737,11 +31627,16 @@ dissect_nr_rrc_MRDC_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
}
+static const value_string nr_rrc_T_powerClass_v1530_vals[] = {
+ { 0, "pc2" },
+ { 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_T_powerClass_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
@@ -21754,6 +31649,7 @@ static const per_sequence_t BandCombination_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 },
{ &hf_nr_rrc_supportedBandwidthCombinationSet, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_1_32 },
+ { &hf_nr_rrc_powerClass_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_powerClass_v1530 },
{ NULL, 0, 0, NULL }
};
@@ -21857,8 +31753,8 @@ static const value_string nr_rrc_FeatureSet_vals[] = {
};
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, &hf_nr_rrc_eutra_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eutra_01 },
+ { 1, &hf_nr_rrc_nr_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nr_01 },
{ 0, NULL, 0, NULL }
};
@@ -21958,14 +31854,14 @@ dissect_nr_rrc_T_scalingFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
}
-static const value_string nr_rrc_T_crossCarrierSchedulingDL_OtherSCS_vals[] = {
+static const value_string nr_rrc_T_crossCarrierScheduling_OtherSCS_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_crossCarrierSchedulingDL_OtherSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_crossCarrierScheduling_OtherSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -22033,7 +31929,7 @@ 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[] = {
+static const value_string nr_rrc_T_pdcch_MonitoringAnyOccasions_vals[] = {
{ 0, "withoutDCI-Gap" },
{ 1, "withDCI-Gap" },
{ 0, NULL }
@@ -22041,7 +31937,7 @@ static const value_string nr_rrc_T_pdcchMonitoringAnyOccasions_vals[] = {
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_pdcch_MonitoringAnyOccasions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
@@ -22049,14 +31945,14 @@ dissect_nr_rrc_T_pdcchMonitoringAnyOccasions(tvbuff_t *tvb _U_, int offset _U_,
}
-static const value_string nr_rrc_T_pdcchMonitoringAnyOccasionsWithSpanGap_vals[] = {
+static const value_string nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGap_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_pdcchMonitoringAnyOccasionsWithSpanGap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -22744,13 +32640,13 @@ 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_crossCarrierScheduling_OtherSCS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_crossCarrierScheduling_OtherSCS },
{ &hf_nr_rrc_scellWithoutSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scellWithoutSSB },
{ &hf_nr_rrc_csi_RS_MeasSCellWithoutSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_MeasSCellWithoutSSB },
{ &hf_nr_rrc_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_pdcch_MonitoringAnyOccasions, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_MonitoringAnyOccasions },
+ { &hf_nr_rrc_pdcch_MonitoringAnyOccasionsWithSpanGap, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGap },
{ &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 },
@@ -22772,7 +32668,7 @@ dissect_nr_rrc_FeatureSetDownlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
-static const value_string nr_rrc_T_fr1_vals[] = {
+static const value_string nr_rrc_T_fr1_02_vals[] = {
{ 0, "mhz5" },
{ 1, "mhz10" },
{ 2, "mhz15" },
@@ -22789,7 +32685,7 @@ static const value_string nr_rrc_T_fr1_vals[] = {
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_) {
+dissect_nr_rrc_T_fr1_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11, NULL, FALSE, 0, NULL);
@@ -22797,7 +32693,7 @@ dissect_nr_rrc_T_fr1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
}
-static const value_string nr_rrc_T_fr2_vals[] = {
+static const value_string nr_rrc_T_fr2_02_vals[] = {
{ 0, "mhz50" },
{ 1, "mhz100" },
{ 2, "mhz200" },
@@ -22807,7 +32703,7 @@ static const value_string nr_rrc_T_fr2_vals[] = {
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_T_fr2_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, FALSE, 0, NULL);
@@ -22822,8 +32718,8 @@ static const value_string nr_rrc_SupportedBandwidth_vals[] = {
};
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, &hf_nr_rrc_fr1_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr1_02 },
+ { 1, &hf_nr_rrc_fr2_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr2_02 },
{ 0, NULL, 0, NULL }
};
@@ -22907,6 +32803,34 @@ dissect_nr_rrc_FeatureSetDownlinkPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_c
}
+static const per_sequence_t SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_sequence_of[1] = {
+ { &hf_nr_rrc_featureSetsDownlink_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlink },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink, SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_sequence_of,
+ 1, maxDownlinkFeatureSets, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_sequence_of[1] = {
+ { &hf_nr_rrc_featureSetsDownlinkPerCC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlinkPerCC },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC, SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_sequence_of,
+ 1, maxPerCC_FeatureSets, FALSE);
+
+ return offset;
+}
+
+
static int
dissect_nr_rrc_FeatureSetUplinkPerCC_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -22948,14 +32872,14 @@ dissect_nr_rrc_T_scalingFactor_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
-static const value_string nr_rrc_T_crossCarrierSchedulingUL_OtherSCS_vals[] = {
+static const value_string nr_rrc_T_crossCarrierScheduling_OtherSCS_01_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_crossCarrierSchedulingUL_OtherSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_crossCarrierScheduling_OtherSCS_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -23161,6 +33085,21 @@ dissect_nr_rrc_T_dynamicSwitchSUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
+static const value_string nr_rrc_T_simultaneousTxSUL_NonSUL_v1530_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_simultaneousTxSUL_NonSUL_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
static const value_string nr_rrc_T_scs_15kHz_01_vals[] = {
{ 0, "upto2" },
{ 1, "upto4" },
@@ -23276,13 +33215,14 @@ dissect_nr_rrc_CSI_ReportFramework(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
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_crossCarrierScheduling_OtherSCS_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_crossCarrierScheduling_OtherSCS_01 },
{ &hf_nr_rrc_intraBandFreqSeparationUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqSeparationClass },
{ &hf_nr_rrc_searchSpaceSharingCA_UL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceSharingCA_UL },
{ &hf_nr_rrc_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_simultaneousTxSUL_NonSUL_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousTxSUL_NonSUL_v1530 },
{ &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 }
@@ -23297,6 +33237,20 @@ dissect_nr_rrc_FeatureSetUplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
+static const per_sequence_t SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_sequence_of[1] = {
+ { &hf_nr_rrc_featureSetsUplink_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplink },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink, SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_sequence_of,
+ 1, maxUplinkFeatureSets, FALSE);
+
+ return offset;
+}
+
+
static const value_string nr_rrc_T_channelBW_90mhz_01_vals[] = {
{ 0, "supported" },
{ 0, NULL }
@@ -23344,21 +33298,6 @@ dissect_nr_rrc_T_mimo_CB_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
}
-static const value_string nr_rrc_T_simultaneousTxSUL_NonSUL_vals[] = {
- { 0, "supported" },
- { 0, NULL }
-};
-
-
-static int
-dissect_nr_rrc_T_simultaneousTxSUL_NonSUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
-
- return offset;
-}
-
-
static const per_sequence_t FeatureSetUplinkPerCC_sequence[] = {
{ &hf_nr_rrc_supportedSubcarrierSpacingUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
{ &hf_nr_rrc_supportedBandwidthUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SupportedBandwidth },
@@ -23366,7 +33305,6 @@ static const per_sequence_t FeatureSetUplinkPerCC_sequence[] = {
{ &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 }
};
@@ -23379,48 +33317,6 @@ dissect_nr_rrc_FeatureSetUplinkPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_sequence_of[1] = {
- { &hf_nr_rrc_featureSetsDownlink_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlink },
-};
-
-static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink, SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_sequence_of,
- 1, maxDownlinkFeatureSets, FALSE);
-
- return offset;
-}
-
-
-static const per_sequence_t SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_sequence_of[1] = {
- { &hf_nr_rrc_featureSetsDownlinkPerCC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlinkPerCC },
-};
-
-static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC, SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_sequence_of,
- 1, maxPerCC_FeatureSets, FALSE);
-
- return offset;
-}
-
-
-static const per_sequence_t SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_sequence_of[1] = {
- { &hf_nr_rrc_featureSetsUplink_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplink },
-};
-
-static int
-dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink, SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_sequence_of,
- 1, maxUplinkFeatureSets, FALSE);
-
- return offset;
-}
-
-
static const per_sequence_t SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_sequence_of[1] = {
{ &hf_nr_rrc_featureSetsUplinkPerCC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplinkPerCC },
};
@@ -23468,7 +33364,7 @@ dissect_nr_rrc_FreqBandInformationEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_
}
-static const value_string nr_rrc_AggregatedBandwith_vals[] = {
+static const value_string nr_rrc_AggregatedBandwidth_vals[] = {
{ 0, "mhz50" },
{ 1, "mhz100" },
{ 2, "mhz150" },
@@ -23490,7 +33386,7 @@ static const value_string nr_rrc_AggregatedBandwith_vals[] = {
static int
-dissect_nr_rrc_AggregatedBandwith(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_AggregatedBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
16, NULL, FALSE, 0, NULL);
@@ -23510,8 +33406,8 @@ dissect_nr_rrc_INTEGER_1_maxNrofServingCells(tvbuff_t *tvb _U_, int offset _U_,
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_maxBandwidthRequestedDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_AggregatedBandwidth },
+ { &hf_nr_rrc_maxBandwidthRequestedUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_AggregatedBandwidth },
{ &hf_nr_rrc_maxCarriersRequestedDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofServingCells },
{ &hf_nr_rrc_maxCarriersRequestedUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofServingCells },
{ NULL, 0, 0, NULL }
@@ -23562,14 +33458,28 @@ dissect_nr_rrc_FreqBandList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
-static const value_string nr_rrc_T_independentGapConfig_vals[] = {
+static const per_sequence_t SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA_sequence_of[1] = {
+ { &hf_nr_rrc_supportedBandListEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA },
+};
+
+static int
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA, SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA_sequence_of,
+ 1, maxBandsEUTRA, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_mfbi_EUTRA_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_independentGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_mfbi_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -23577,28 +33487,61 @@ dissect_nr_rrc_T_independentGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
}
-static const per_sequence_t MeasParametersMRDC_Common_sequence[] = {
- { &hf_nr_rrc_independentGapConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_independentGapConfig },
+static const value_string nr_rrc_T_multiNS_Pmax_EUTRA_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_multiNS_Pmax_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_rs_SINR_MeasEUTRA_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_rs_SINR_MeasEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t EUTRA_ParametersCommon_sequence[] = {
+ { &hf_nr_rrc_mfbi_EUTRA , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mfbi_EUTRA },
+ { &hf_nr_rrc_modifiedMRP_BehaviorEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_32 },
+ { &hf_nr_rrc_multiNS_Pmax_EUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multiNS_Pmax_EUTRA },
+ { &hf_nr_rrc_rs_SINR_MeasEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rs_SINR_MeasEUTRA },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasParametersMRDC_Common(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_EUTRA_ParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasParametersMRDC_Common, MeasParametersMRDC_Common_sequence);
+ ett_nr_rrc_EUTRA_ParametersCommon, EUTRA_ParametersCommon_sequence);
return offset;
}
-static const value_string nr_rrc_T_sftd_MeasPSCell_vals[] = {
+static const value_string nr_rrc_T_rsrqMeasWidebandEUTRA_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_sftd_MeasPSCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_rsrqMeasWidebandEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -23606,14 +33549,58 @@ dissect_nr_rrc_T_sftd_MeasPSCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
}
-static const value_string nr_rrc_T_sftd_MeasNR_Cell_vals[] = {
+static const per_sequence_t EUTRA_ParametersXDD_Diff_sequence[] = {
+ { &hf_nr_rrc_rsrqMeasWidebandEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rsrqMeasWidebandEUTRA },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_EUTRA_ParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_EUTRA_ParametersXDD_Diff, EUTRA_ParametersXDD_Diff_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t EUTRA_Parameters_sequence[] = {
+ { &hf_nr_rrc_supportedBandListEUTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA },
+ { &hf_nr_rrc_eutra_ParametersCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_ParametersCommon },
+ { &hf_nr_rrc_eutra_ParametersXDD_Diff, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_ParametersXDD_Diff },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_EUTRA_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_EUTRA_Parameters, EUTRA_Parameters_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t InterRAT_Parameters_sequence[] = {
+ { &hf_nr_rrc_eutra_03 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_Parameters },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_InterRAT_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_InterRAT_Parameters, InterRAT_Parameters_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_lcp_Restriction_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_sftd_MeasNR_Cell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_lcp_Restriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -23621,29 +33608,105 @@ dissect_nr_rrc_T_sftd_MeasNR_Cell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
-static const per_sequence_t MeasParametersMRDC_XDD_Diff_sequence[] = {
- { &hf_nr_rrc_sftd_MeasPSCell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sftd_MeasPSCell },
- { &hf_nr_rrc_sftd_MeasNR_Cell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sftd_MeasNR_Cell },
+static const value_string nr_rrc_T_pucch_SpatialRelInfoMAC_CE_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pucch_SpatialRelInfoMAC_CE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_lch_ToSCellRestriction_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_lch_ToSCellRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_recommendedBitRate_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_recommendedBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_recommendedBitRateQuery_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_recommendedBitRateQuery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MAC_ParametersCommon_eag_1_sequence[] = {
+ { &hf_nr_rrc_recommendedBitRate, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_recommendedBitRate },
+ { &hf_nr_rrc_recommendedBitRateQuery, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_recommendedBitRateQuery },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasParametersMRDC_XDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MAC_ParametersCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_ParametersCommon_eag_1_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MAC_ParametersCommon_sequence[] = {
+ { &hf_nr_rrc_lcp_Restriction, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_lcp_Restriction },
+ { &hf_nr_rrc_pucch_SpatialRelInfoMAC_CE, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_SpatialRelInfoMAC_CE },
+ { &hf_nr_rrc_lch_ToSCellRestriction, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_lch_ToSCellRestriction },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_ParametersCommon_eag_1 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MAC_ParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasParametersMRDC_XDD_Diff, MeasParametersMRDC_XDD_Diff_sequence);
+ ett_nr_rrc_MAC_ParametersCommon, MAC_ParametersCommon_sequence);
return offset;
}
-static const value_string nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_vals[] = {
+static const value_string nr_rrc_T_skipUplinkTxDynamic_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_skipUplinkTxDynamic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -23651,59 +33714,256 @@ dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology(tvbuff_t *tvb _U_, int off
}
-static const per_sequence_t MeasParametersMRDC_FRX_Diff_sequence[] = {
- { &hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology },
+static const value_string nr_rrc_T_logicalChannelSR_DelayTimer_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_logicalChannelSR_DelayTimer_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_longDRX_Cycle_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_longDRX_Cycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_shortDRX_Cycle_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_shortDRX_Cycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_multipleSR_Configurations_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_multipleSR_Configurations(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_multipleConfiguredGrants_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_multipleConfiguredGrants(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MAC_ParametersXDD_Diff_sequence[] = {
+ { &hf_nr_rrc_skipUplinkTxDynamic_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_skipUplinkTxDynamic },
+ { &hf_nr_rrc_logicalChannelSR_DelayTimer_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_logicalChannelSR_DelayTimer_01 },
+ { &hf_nr_rrc_longDRX_Cycle, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_longDRX_Cycle },
+ { &hf_nr_rrc_shortDRX_Cycle, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_shortDRX_Cycle },
+ { &hf_nr_rrc_multipleSR_Configurations, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleSR_Configurations },
+ { &hf_nr_rrc_multipleConfiguredGrants, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleConfiguredGrants },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasParametersMRDC_FRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MAC_ParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasParametersMRDC_FRX_Diff, MeasParametersMRDC_FRX_Diff_sequence);
+ ett_nr_rrc_MAC_ParametersXDD_Diff, MAC_ParametersXDD_Diff_sequence);
return offset;
}
-static const per_sequence_t MeasParametersMRDC_sequence[] = {
- { &hf_nr_rrc_measParametersMRDC_Common, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersMRDC_Common },
- { &hf_nr_rrc_measParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersMRDC_XDD_Diff },
- { &hf_nr_rrc_measParametersMRDC_FRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersMRDC_FRX_Diff },
+static const per_sequence_t MAC_Parameters_sequence[] = {
+ { &hf_nr_rrc_mac_ParametersCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersCommon },
+ { &hf_nr_rrc_mac_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersXDD_Diff },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MAC_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasParametersMRDC, MeasParametersMRDC_sequence);
+ ett_nr_rrc_MAC_Parameters, MAC_Parameters_sequence);
return offset;
}
-static const per_sequence_t RF_ParametersMRDC_sequence[] = {
- { &hf_nr_rrc_supportedBandCombinationList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList },
- { &hf_nr_rrc_appliedFreqBandListFilter, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqBandList },
+
+static int
+dissect_nr_rrc_BIT_STRING_SIZE_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 22, 22, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_ssb_RLM_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_ssb_RLM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_ssb_AndCSI_RS_RLM_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_ssb_AndCSI_RS_RLM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_eventB_MeasAndReport_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_eventB_MeasAndReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_handoverFDD_TDD_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_handoverFDD_TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_eutra_CGI_Reporting_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_eutra_CGI_Reporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_nr_CGI_Reporting_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_nr_CGI_Reporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasAndMobParametersCommon_eag_1_sequence[] = {
+ { &hf_nr_rrc_eventB_MeasAndReport, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eventB_MeasAndReport },
+ { &hf_nr_rrc_handoverFDD_TDD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_handoverFDD_TDD },
+ { &hf_nr_rrc_eutra_CGI_Reporting, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eutra_CGI_Reporting },
+ { &hf_nr_rrc_nr_CGI_Reporting, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nr_CGI_Reporting },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_RF_ParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasAndMobParametersCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersCommon_eag_1_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasAndMobParametersCommon_sequence[] = {
+ { &hf_nr_rrc_supportedGapPattern, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_22 },
+ { &hf_nr_rrc_ssb_RLM , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_RLM },
+ { &hf_nr_rrc_ssb_AndCSI_RS_RLM, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_AndCSI_RS_RLM },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersCommon_eag_1 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MeasAndMobParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RF_ParametersMRDC, RF_ParametersMRDC_sequence);
+ ett_nr_rrc_MeasAndMobParametersCommon, MeasAndMobParametersCommon_sequence);
return offset;
}
-static const value_string nr_rrc_T_splitSRB_WithOneUL_Path_vals[] = {
+static const value_string nr_rrc_T_intraAndInterF_MeasAndReport_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_splitSRB_WithOneUL_Path(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_intraAndInterF_MeasAndReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -23711,14 +33971,14 @@ dissect_nr_rrc_T_splitSRB_WithOneUL_Path(tvbuff_t *tvb _U_, int offset _U_, asn1
}
-static const value_string nr_rrc_T_splitDRB_withUL_Both_MCG_SCG_vals[] = {
+static const value_string nr_rrc_T_eventA_MeasAndReport_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_splitDRB_withUL_Both_MCG_SCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_eventA_MeasAndReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -23726,14 +33986,14 @@ dissect_nr_rrc_T_splitDRB_withUL_Both_MCG_SCG(tvbuff_t *tvb _U_, int offset _U_,
}
-static const value_string nr_rrc_T_srb3_vals[] = {
+static const value_string nr_rrc_T_handoverInterF_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_srb3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_handoverInterF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -23741,177 +34001,417 @@ 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_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 },
+static const value_string nr_rrc_T_handoverLTE_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_handoverLTE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_handover_eLTE_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_handover_eLTE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasAndMobParametersXDD_Diff_eag_1_sequence[] = {
+ { &hf_nr_rrc_handoverInterF, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_handoverInterF },
+ { &hf_nr_rrc_handoverLTE , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_handoverLTE },
+ { &hf_nr_rrc_handover_eLTE, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_handover_eLTE },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasAndMobParametersXDD_Diff_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersXDD_Diff_eag_1_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasAndMobParametersXDD_Diff_sequence[] = {
+ { &hf_nr_rrc_intraAndInterF_MeasAndReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_intraAndInterF_MeasAndReport },
+ { &hf_nr_rrc_eventA_MeasAndReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_eventA_MeasAndReport },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersXDD_Diff_eag_1 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MeasAndMobParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_GeneralParametersMRDC_XDD_Diff, GeneralParametersMRDC_XDD_Diff_sequence);
+ ett_nr_rrc_MeasAndMobParametersXDD_Diff, MeasAndMobParametersXDD_Diff_sequence);
return offset;
}
-static const per_sequence_t UE_MRDC_CapabilityAddXDD_Mode_sequence[] = {
- { &hf_nr_rrc_measParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersMRDC_XDD_Diff },
- { &hf_nr_rrc_generalParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff },
+static const value_string nr_rrc_T_ss_SINR_Meas_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_ss_SINR_Meas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_csi_SINR_Meas_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_csi_SINR_Meas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_csi_RS_RLM_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_csi_RS_RLM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_handoverInterF_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_handoverInterF_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_handoverLTE_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_handoverLTE_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_handover_eLTE_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_handover_eLTE_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasAndMobParametersFRX_Diff_eag_1_sequence[] = {
+ { &hf_nr_rrc_handoverInterF_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_handoverInterF_01 },
+ { &hf_nr_rrc_handoverLTE_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_handoverLTE_01 },
+ { &hf_nr_rrc_handover_eLTE_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_handover_eLTE_01 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersFRX_Diff_eag_1_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasAndMobParametersFRX_Diff_sequence[] = {
+ { &hf_nr_rrc_ss_SINR_Meas , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ss_SINR_Meas },
+ { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB },
+ { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB },
+ { &hf_nr_rrc_csi_SINR_Meas, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_SINR_Meas },
+ { &hf_nr_rrc_csi_RS_RLM , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_RLM },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_1 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MeasAndMobParametersFRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode, UE_MRDC_CapabilityAddXDD_Mode_sequence);
+ ett_nr_rrc_MeasAndMobParametersFRX_Diff, MeasAndMobParametersFRX_Diff_sequence);
return offset;
}
-static const per_sequence_t UE_MRDC_CapabilityAddFRX_Mode_sequence[] = {
- { &hf_nr_rrc_measParametersMRDC_FRX_Diff, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasParametersMRDC_FRX_Diff },
+static const per_sequence_t MeasAndMobParameters_sequence[] = {
+ { &hf_nr_rrc_measAndMobParametersCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersCommon },
+ { &hf_nr_rrc_measAndMobParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersXDD_Diff },
+ { &hf_nr_rrc_measAndMobParametersFRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersFRX_Diff },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasAndMobParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode, UE_MRDC_CapabilityAddFRX_Mode_sequence);
+ ett_nr_rrc_MeasAndMobParameters, MeasAndMobParameters_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination_sequence_of[1] = {
- { &hf_nr_rrc_featureSetCombinations_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetCombination },
+static const value_string nr_rrc_T_independentGapConfig_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
};
+
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);
+dissect_nr_rrc_T_independentGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_nonCriticalExtension_09_sequence[] = {
+static const per_sequence_t MeasAndMobParametersMRDC_Common_sequence[] = {
+ { &hf_nr_rrc_independentGapConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_independentGapConfig },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_nonCriticalExtension_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasAndMobParametersMRDC_Common(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_nonCriticalExtension_09, T_nonCriticalExtension_09_sequence);
+ ett_nr_rrc_MeasAndMobParametersMRDC_Common, MeasAndMobParametersMRDC_Common_sequence);
return offset;
}
-static const per_sequence_t UE_MRDC_Capability_sequence[] = {
- { &hf_nr_rrc_measParametersMRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersMRDC },
- { &hf_nr_rrc_rf_ParametersMRDC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC },
- { &hf_nr_rrc_generalParametersMRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff },
- { &hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode },
- { &hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode },
- { &hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode },
- { &hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode },
- { &hf_nr_rrc_featureSetCombinations, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination },
- { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
- { &hf_nr_rrc_nonCriticalExtension_09, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_09 },
+static const value_string nr_rrc_T_sftd_MeasPSCell_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_sftd_MeasPSCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_sftd_MeasNR_Cell_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_sftd_MeasNR_Cell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasAndMobParametersMRDC_XDD_Diff_sequence[] = {
+ { &hf_nr_rrc_sftd_MeasPSCell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sftd_MeasPSCell },
+ { &hf_nr_rrc_sftd_MeasNR_Cell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sftd_MeasNR_Cell },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_UE_MRDC_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_UE_MRDC_Capability, UE_MRDC_Capability_sequence);
+ ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff, MeasAndMobParametersMRDC_XDD_Diff_sequence);
return offset;
}
-static const per_sequence_t T_supportedROHC_Profiles_sequence[] = {
- { &hf_nr_rrc_profile0x0000, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_profile0x0001, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_profile0x0002, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_profile0x0003, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_profile0x0004, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_profile0x0006, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_profile0x0101, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_profile0x0102, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_profile0x0103, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
- { &hf_nr_rrc_profile0x0104, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+static const value_string nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasAndMobParametersMRDC_FRX_Diff_sequence[] = {
+ { &hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_supportedROHC_Profiles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_supportedROHC_Profiles, T_supportedROHC_Profiles_sequence);
+ ett_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff, MeasAndMobParametersMRDC_FRX_Diff_sequence);
return offset;
}
-static const value_string nr_rrc_T_maxNumberROHC_ContextSessions_vals[] = {
- { 0, "cs2" },
- { 1, "cs4" },
- { 2, "cs8" },
- { 3, "cs12" },
- { 4, "cs16" },
- { 5, "cs24" },
- { 6, "cs32" },
- { 7, "cs48" },
- { 8, "cs64" },
- { 9, "cs128" },
- { 10, "cs256" },
- { 11, "cs512" },
- { 12, "cs1024" },
- { 13, "cs16384" },
- { 14, "spare2" },
- { 15, "spare1" },
+static const per_sequence_t MeasAndMobParametersMRDC_sequence[] = {
+ { &hf_nr_rrc_measAndMobParametersMRDC_Common, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC_Common },
+ { &hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff },
+ { &hf_nr_rrc_measAndMobParametersMRDC_FRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MeasAndMobParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MeasAndMobParametersMRDC, MeasAndMobParametersMRDC_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_maxNumberConfiguredTCIstatesPerCC_vals[] = {
+ { 0, "n4" },
+ { 1, "n8" },
+ { 2, "n16" },
+ { 3, "n32" },
+ { 4, "n64" },
+ { 5, "n128" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_maxNumberROHC_ContextSessions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+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,
- 16, NULL, FALSE, 0, NULL);
+ 6, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_uplinkOnlyROHC_Profiles_vals[] = {
- { 0, "supported" },
+static const value_string nr_rrc_T_maxNumberActiveTCI_PerBWP_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n4" },
+ { 3, "n8" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_uplinkOnlyROHC_Profiles(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,
- 1, NULL, FALSE, 0, NULL);
+ 4, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_continueROHC_Context_vals[] = {
+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_continueROHC_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+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);
@@ -23919,14 +34419,31 @@ dissect_nr_rrc_T_continueROHC_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
}
-static const value_string nr_rrc_T_outOfOrderDelivery_01_vals[] = {
+static const value_string nr_rrc_T_pusch_TransCoherence_vals[] = {
+ { 0, "nonCoherent" },
+ { 1, "partialNonCoherent" },
+ { 2, "fullCoherent" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pusch_TransCoherence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_beamCorrespondence_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_outOfOrderDelivery_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_beamCorrespondence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -23934,14 +34451,14 @@ dissect_nr_rrc_T_outOfOrderDelivery_01(tvbuff_t *tvb _U_, int offset _U_, asn1_c
}
-static const value_string nr_rrc_T_shortSN_vals[] = {
+static const value_string nr_rrc_T_periodicBeamReport_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_shortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_periodicBeamReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -23949,33 +34466,29 @@ 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_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedROHC_Profiles },
- { &hf_nr_rrc_maxNumberROHC_ContextSessions, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberROHC_ContextSessions },
- { &hf_nr_rrc_uplinkOnlyROHC_Profiles, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_uplinkOnlyROHC_Profiles },
- { &hf_nr_rrc_continueROHC_Context, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_continueROHC_Context },
- { &hf_nr_rrc_outOfOrderDelivery_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_outOfOrderDelivery_01 },
- { &hf_nr_rrc_shortSN , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_shortSN },
- { NULL, 0, 0, NULL }
+static const value_string nr_rrc_T_aperiodicBeamReport_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
};
+
static int
-dissect_nr_rrc_PDCP_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PDCP_Parameters, PDCP_Parameters_sequence);
+dissect_nr_rrc_T_aperiodicBeamReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_am_WithShortSN_vals[] = {
+static const value_string nr_rrc_T_sp_BeamReportPUCCH_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_am_WithShortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_sp_BeamReportPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -23983,14 +34496,14 @@ dissect_nr_rrc_T_am_WithShortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
-static const value_string nr_rrc_T_um_WithShortSN_vals[] = {
+static const value_string nr_rrc_T_sp_BeamReportPUSCH_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_um_WithShortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_sp_BeamReportPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -23998,14 +34511,215 @@ dissect_nr_rrc_T_um_WithShortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
-static const value_string nr_rrc_T_um_WIthLongSN_vals[] = {
+static const value_string nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx_vals[] = {
+ { 0, "n8" },
+ { 1, "n16" },
+ { 2, "n32" },
+ { 3, "n64" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx_vals[] = {
+ { 0, "n0" },
+ { 1, "n4" },
+ { 2, "n8" },
+ { 3, "n16" },
+ { 4, "n32" },
+ { 5, "n64" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 6, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_supportedCSI_RS_Density_vals[] = {
+ { 0, "one" },
+ { 1, "three" },
+ { 2, "oneAndThree" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_supportedCSI_RS_Density(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t BeamManagementSSB_CSI_RS_sequence[] = {
+ { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx },
+ { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceTwoTx, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx },
+ { &hf_nr_rrc_supportedCSI_RS_Density, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_Density },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_BeamManagementSSB_CSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_BeamManagementSSB_CSI_RS, BeamManagementSSB_CSI_RS_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_2_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 2U, 8U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_15kHz_02_vals[] = {
+ { 0, "n4" },
+ { 1, "n7" },
+ { 2, "n14" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_15kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_30kHz_02_vals[] = {
+ { 0, "n4" },
+ { 1, "n7" },
+ { 2, "n14" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_30kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_60kHz_03_vals[] = {
+ { 0, "n4" },
+ { 1, "n7" },
+ { 2, "n14" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_60kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_120kHz_02_vals[] = {
+ { 0, "n4" },
+ { 1, "n7" },
+ { 2, "n14" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_120kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_240kHz_vals[] = {
+ { 0, "n4" },
+ { 1, "n7" },
+ { 2, "n14" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_240kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_maxNumberRxTxBeamSwitchDL_sequence[] = {
+ { &hf_nr_rrc_scs_15kHz_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_02 },
+ { &hf_nr_rrc_scs_30kHz_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_02 },
+ { &hf_nr_rrc_scs_60kHz_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_03 },
+ { &hf_nr_rrc_scs_120kHz_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_02 },
+ { &hf_nr_rrc_scs_240kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_240kHz },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_maxNumberRxTxBeamSwitchDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL, T_maxNumberRxTxBeamSwitchDL_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_maxNumberNonGroupBeamReporting_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_maxNumberNonGroupBeamReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_groupBeamReporting_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_um_WIthLongSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_groupBeamReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -24013,30 +34727,57 @@ 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_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 },
+static const value_string nr_rrc_T_maxNumberSRS_ResourcePerSet_BM_vals[] = {
+ { 0, "n2" },
+ { 1, "n4" },
+ { 2, "n8" },
+ { 3, "n16" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_maxNumberSRS_ResourcePerSet_BM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_uplinkBeamManagement_sequence[] = {
+ { &hf_nr_rrc_maxNumberSRS_ResourcePerSet_BM, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_ResourcePerSet_BM },
+ { &hf_nr_rrc_maxNumberSRS_ResourceSet, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_RLC_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_uplinkBeamManagement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RLC_Parameters, RLC_Parameters_sequence);
+ ett_nr_rrc_T_uplinkBeamManagement, T_uplinkBeamManagement_sequence);
return offset;
}
-static const value_string nr_rrc_T_lcp_Restriction_vals[] = {
+
+static int
+dissect_nr_rrc_INTEGER_1_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 256U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_twoPortsPTRS_DL_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_lcp_Restriction(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);
@@ -24044,14 +34785,14 @@ dissect_nr_rrc_T_lcp_Restriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
}
-static const value_string nr_rrc_T_pucch_SpatialRelInfoMAC_CE_vals[] = {
+static const value_string nr_rrc_T_twoPortsPTRS_UL_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_pucch_SpatialRelInfoMAC_CE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+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);
@@ -24059,29 +34800,201 @@ 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_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 },
+static const value_string nr_rrc_T_scs_15kHz_03_vals[] = {
+ { 0, "sym2" },
+ { 1, "sym4" },
+ { 2, "sym8" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_15kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_30kHz_03_vals[] = {
+ { 0, "sym4" },
+ { 1, "sym8" },
+ { 2, "sym14" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_30kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_60kHz_04_vals[] = {
+ { 0, "sym8" },
+ { 1, "sym14" },
+ { 2, "sym28" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_60kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_scs_120kHz_03_vals[] = {
+ { 0, "sym14" },
+ { 1, "sym28" },
+ { 2, "sym56" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_scs_120kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_beamReportTiming_sequence[] = {
+ { &hf_nr_rrc_scs_15kHz_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_03 },
+ { &hf_nr_rrc_scs_30kHz_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_03 },
+ { &hf_nr_rrc_scs_60kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_04 },
+ { &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_MAC_ParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+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_MAC_ParametersCommon, MAC_ParametersCommon_sequence);
+ ett_nr_rrc_T_beamReportTiming, T_beamReportTiming_sequence);
return offset;
}
-static const value_string nr_rrc_T_skipUplinkTxDynamic_vals[] = {
+static const per_sequence_t PTRS_DensityRecommendationDL_sequence[] = {
+ { &hf_nr_rrc_frequencyDensity1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
+ { &hf_nr_rrc_frequencyDensity2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
+ { &hf_nr_rrc_timeDensity1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
+ { &hf_nr_rrc_timeDensity2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
+ { &hf_nr_rrc_timeDensity3 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PTRS_DensityRecommendationDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PTRS_DensityRecommendationDL, PTRS_DensityRecommendationDL_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_ptrs_DensityRecommendationSetDL_sequence[] = {
+ { &hf_nr_rrc_scs_15kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL },
+ { &hf_nr_rrc_scs_30kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL },
+ { &hf_nr_rrc_scs_60kHz_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL },
+ { &hf_nr_rrc_scs_120kHz_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_ptrs_DensityRecommendationSetDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_ptrs_DensityRecommendationSetDL, T_ptrs_DensityRecommendationSetDL_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PTRS_DensityRecommendationUL_sequence[] = {
+ { &hf_nr_rrc_frequencyDensity1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
+ { &hf_nr_rrc_frequencyDensity2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
+ { &hf_nr_rrc_timeDensity1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
+ { &hf_nr_rrc_timeDensity2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
+ { &hf_nr_rrc_timeDensity3 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
+ { &hf_nr_rrc_sampleDensity1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
+ { &hf_nr_rrc_sampleDensity2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
+ { &hf_nr_rrc_sampleDensity3, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
+ { &hf_nr_rrc_sampleDensity4, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
+ { &hf_nr_rrc_sampleDensity5, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_PTRS_DensityRecommendationUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_PTRS_DensityRecommendationUL, PTRS_DensityRecommendationUL_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_ptrs_DensityRecommendationSetUL_sequence[] = {
+ { &hf_nr_rrc_scs_15kHz_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL },
+ { &hf_nr_rrc_scs_30kHz_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL },
+ { &hf_nr_rrc_scs_60kHz_06 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL },
+ { &hf_nr_rrc_scs_120kHz_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_ptrs_DensityRecommendationSetUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_ptrs_DensityRecommendationSetUL, T_ptrs_DensityRecommendationSetUL_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_INTEGER_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 128U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t CSI_RS_ForTracking_sequence[] = {
+ { &hf_nr_rrc_burstLength , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
+ { &hf_nr_rrc_maxSimultaneousResourceSetsPerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
+ { &hf_nr_rrc_maxConfiguredResourceSetsPerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
+ { &hf_nr_rrc_maxConfiguredResourceSetsAllCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_128 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_CSI_RS_ForTracking(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_CSI_RS_ForTracking, CSI_RS_ForTracking_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_aperiodicTRS_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_skipUplinkTxDynamic(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,
1, NULL, FALSE, 0, NULL);
@@ -24089,14 +35002,106 @@ dissect_nr_rrc_T_skipUplinkTxDynamic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
}
-static const value_string nr_rrc_T_logicalChannelSR_DelayTimer_01_vals[] = {
+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_maxNumberSimultaneousSRS_PerCC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_4 },
+ { &hf_nr_rrc_beamReportTiming, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamReportTiming },
+ { &hf_nr_rrc_ptrs_DensityRecommendationSetDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ptrs_DensityRecommendationSetDL },
+ { &hf_nr_rrc_ptrs_DensityRecommendationSetUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ptrs_DensityRecommendationSetUL },
+ { &hf_nr_rrc_csi_RS_ForTracking, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_RS_ForTracking },
+ { &hf_nr_rrc_aperiodicTRS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_aperiodicTRS },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_MIMO_ParametersPerBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_MIMO_ParametersPerBand, MIMO_ParametersPerBand_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_supportedROHC_Profiles_sequence[] = {
+ { &hf_nr_rrc_profile0x0000, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_profile0x0001, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_profile0x0002, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_profile0x0003, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_profile0x0004, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_profile0x0006, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_profile0x0101, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_profile0x0102, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_profile0x0103, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { &hf_nr_rrc_profile0x0104, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_supportedROHC_Profiles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_supportedROHC_Profiles, T_supportedROHC_Profiles_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_maxNumberROHC_ContextSessions_vals[] = {
+ { 0, "cs2" },
+ { 1, "cs4" },
+ { 2, "cs8" },
+ { 3, "cs12" },
+ { 4, "cs16" },
+ { 5, "cs24" },
+ { 6, "cs32" },
+ { 7, "cs48" },
+ { 8, "cs64" },
+ { 9, "cs128" },
+ { 10, "cs256" },
+ { 11, "cs512" },
+ { 12, "cs1024" },
+ { 13, "cs16384" },
+ { 14, "spare2" },
+ { 15, "spare1" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_maxNumberROHC_ContextSessions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 16, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_uplinkOnlyROHC_Profiles_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_logicalChannelSR_DelayTimer_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_uplinkOnlyROHC_Profiles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -24104,14 +35109,14 @@ dissect_nr_rrc_T_logicalChannelSR_DelayTimer_01(tvbuff_t *tvb _U_, int offset _U
}
-static const value_string nr_rrc_T_longDRX_Cycle_vals[] = {
+static const value_string nr_rrc_T_continueROHC_Context_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_longDRX_Cycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_continueROHC_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -24119,14 +35124,14 @@ dissect_nr_rrc_T_longDRX_Cycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
}
-static const value_string nr_rrc_T_shortDRX_Cycle_vals[] = {
+static const value_string nr_rrc_T_outOfOrderDelivery_01_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_shortDRX_Cycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+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);
@@ -24134,14 +35139,14 @@ dissect_nr_rrc_T_shortDRX_Cycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
-static const value_string nr_rrc_T_multipleSR_Configurations_vals[] = {
+static const value_string nr_rrc_T_shortSN_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_multipleSR_Configurations(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_shortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -24149,14 +35154,14 @@ dissect_nr_rrc_T_multipleSR_Configurations(tvbuff_t *tvb _U_, int offset _U_, as
}
-static const value_string nr_rrc_T_multipleConfiguredGrants_vals[] = {
+static const value_string nr_rrc_T_pdcp_DuplicationSRB3_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_multipleConfiguredGrants(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_pdcp_DuplicationSRB3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -24164,35 +35169,82 @@ dissect_nr_rrc_T_multipleConfiguredGrants(tvbuff_t *tvb _U_, int offset _U_, asn
}
-static const per_sequence_t MAC_ParametersXDD_Diff_sequence[] = {
- { &hf_nr_rrc_skipUplinkTxDynamic_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_skipUplinkTxDynamic },
- { &hf_nr_rrc_logicalChannelSR_DelayTimer_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_logicalChannelSR_DelayTimer_01 },
- { &hf_nr_rrc_longDRX_Cycle, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_longDRX_Cycle },
- { &hf_nr_rrc_shortDRX_Cycle, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_shortDRX_Cycle },
- { &hf_nr_rrc_multipleSR_Configurations, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleSR_Configurations },
- { &hf_nr_rrc_multipleConfiguredGrants, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleConfiguredGrants },
+static const value_string nr_rrc_T_pdcp_DuplicationMCG_OrSCG_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pdcp_DuplicationMCG_OrSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PDCP_Parameters_sequence[] = {
+ { &hf_nr_rrc_supportedROHC_Profiles, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedROHC_Profiles },
+ { &hf_nr_rrc_maxNumberROHC_ContextSessions, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberROHC_ContextSessions },
+ { &hf_nr_rrc_uplinkOnlyROHC_Profiles, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_uplinkOnlyROHC_Profiles },
+ { &hf_nr_rrc_continueROHC_Context, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_continueROHC_Context },
+ { &hf_nr_rrc_outOfOrderDelivery_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_outOfOrderDelivery_01 },
+ { &hf_nr_rrc_shortSN , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_shortSN },
+ { &hf_nr_rrc_pdcp_DuplicationSRB3, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_DuplicationSRB3 },
+ { &hf_nr_rrc_pdcp_DuplicationMCG_OrSCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_DuplicationMCG_OrSCG },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MAC_ParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PDCP_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MAC_ParametersXDD_Diff, MAC_ParametersXDD_Diff_sequence);
+ ett_nr_rrc_PDCP_Parameters, PDCP_Parameters_sequence);
return offset;
}
-static const per_sequence_t MAC_Parameters_sequence[] = {
- { &hf_nr_rrc_mac_ParametersCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersCommon },
- { &hf_nr_rrc_mac_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersXDD_Diff },
+static const value_string nr_rrc_T_pdcp_DuplicationSplitSRB_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pdcp_DuplicationSplitSRB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_pdcp_DuplicationSplitDRB_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_pdcp_DuplicationSplitDRB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PDCP_ParametersMRDC_sequence[] = {
+ { &hf_nr_rrc_pdcp_DuplicationSplitSRB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_DuplicationSplitSRB },
+ { &hf_nr_rrc_pdcp_DuplicationSplitDRB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_DuplicationSplitDRB },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MAC_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_PDCP_ParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MAC_Parameters, MAC_Parameters_sequence);
+ ett_nr_rrc_PDCP_ParametersMRDC, PDCP_ParametersMRDC_sequence);
return offset;
}
@@ -24709,6 +35761,34 @@ dissect_nr_rrc_T_bwp_SwitchingDelay(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
}
+static const value_string nr_rrc_T_eutra_RS_SINR_measurement_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_nr_rrc_T_eutra_RS_SINR_measurement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t Phy_ParametersCommon_eag_1_sequence[] = {
+ { &hf_nr_rrc_eutra_RS_SINR_measurement, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eutra_RS_SINR_measurement },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_Phy_ParametersCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersCommon_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t Phy_ParametersCommon_sequence[] = {
{ &hf_nr_rrc_csi_RS_CFRA_ForHO, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_CFRA_ForHO },
{ &hf_nr_rrc_dynamicPRB_BundlingDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicPRB_BundlingDL },
@@ -24744,6 +35824,7 @@ static const per_sequence_t Phy_ParametersCommon_sequence[] = {
{ &hf_nr_rrc_rateMatchingResrcSetSemi_Static, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatchingResrcSetSemi_Static },
{ &hf_nr_rrc_rateMatchingResrcSetDynamic, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatchingResrcSetDynamic },
{ &hf_nr_rrc_bwp_SwitchingDelay, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_SwitchingDelay },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersCommon_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -24850,7 +35931,7 @@ dissect_nr_rrc_T_dynamicSFI_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static const value_string nr_rrc_T_supportedDMRS_TypeDL_vals[] = {
{ 0, "type1" },
- { 1, "type2" },
+ { 1, "type1And2" },
{ 0, NULL }
};
@@ -24866,7 +35947,7 @@ dissect_nr_rrc_T_supportedDMRS_TypeDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
static const value_string nr_rrc_T_supportedDMRS_TypeUL_vals[] = {
{ 0, "type1" },
- { 1, "type2" },
+ { 1, "type1And2" },
{ 0, NULL }
};
@@ -25105,16 +36186,11 @@ dissect_nr_rrc_T_pusch_LBRM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
-static const value_string nr_rrc_T_pdcch_BlindDetectionCA_vals[] = {
- { 0, "supported" },
- { 0, NULL }
-};
-
static int
-dissect_nr_rrc_T_pdcch_BlindDetectionCA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_INTEGER_4_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 4U, 16U, NULL, FALSE);
return offset;
}
@@ -25339,7 +36415,7 @@ static const per_sequence_t Phy_ParametersFRX_Diff_sequence[] = {
{ &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_pdcch_BlindDetectionCA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_4_16 },
{ &hf_nr_rrc_tpc_PUSCH_RNTI_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_PUSCH_RNTI },
{ &hf_nr_rrc_tpc_PUCCH_RNTI_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_PUCCH_RNTI },
{ &hf_nr_rrc_tpc_SRS_RNTI_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_SRS_RNTI },
@@ -25380,14 +36456,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_scs_60kHz_05_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_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);
@@ -25428,7 +36504,7 @@ dissect_nr_rrc_T_pdsch_RE_MappingFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
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_scs_60kHz_07 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_05 },
{ &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 }
@@ -25507,98 +36583,97 @@ dissect_nr_rrc_Phy_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
}
-static const value_string nr_rrc_T_maxNumberConfiguredTCIstatesPerCC_vals[] = {
- { 0, "n4" },
- { 1, "n8" },
- { 2, "n16" },
- { 3, "n32" },
- { 4, "n64" },
- { 0, NULL }
-};
-
static int
-dissect_nr_rrc_T_maxNumberConfiguredTCIstatesPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 5, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_INTEGER_1_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 5U, NULL, FALSE);
return offset;
}
-static const value_string nr_rrc_T_maxNumberActiveTCI_PerBWP_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
- { 2, "n4" },
- { 3, "n8" },
+static const value_string nr_rrc_T_numberOfAggregatedPRB_vals[] = {
+ { 0, "n50" },
+ { 1, "n75" },
+ { 2, "n100" },
+ { 3, "n125" },
+ { 4, "n150" },
+ { 5, "n175" },
+ { 6, "n200" },
+ { 7, "n225" },
+ { 8, "n250" },
+ { 9, "n275" },
+ { 10, "n300" },
+ { 11, "n350" },
+ { 12, "n400" },
+ { 13, "n450" },
+ { 14, "n500" },
+ { 15, "spare" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_maxNumberActiveTCI_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_numberOfAggregatedPRB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
+ 16, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_tci_StatePDSCH_sequence[] = {
- { &hf_nr_rrc_maxNumberConfiguredTCIstatesPerCC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberConfiguredTCIstatesPerCC },
- { &hf_nr_rrc_maxNumberActiveTCI_PerBWP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberActiveTCI_PerBWP },
+static const per_sequence_t NAICS_Capability_Entry_sequence[] = {
+ { &hf_nr_rrc_numberOfNAICS_CapableCC, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_5 },
+ { &hf_nr_rrc_numberOfAggregatedPRB, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_numberOfAggregatedPRB },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_tci_StatePDSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_NAICS_Capability_Entry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_tci_StatePDSCH, T_tci_StatePDSCH_sequence);
+ ett_nr_rrc_NAICS_Capability_Entry, NAICS_Capability_Entry_sequence);
return offset;
}
-static const value_string nr_rrc_T_additionalActiveTCI_StatePDCCH_vals[] = {
- { 0, "supported" },
- { 0, NULL }
+static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry_sequence_of[1] = {
+ { &hf_nr_rrc_naics_Capability_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NAICS_Capability_Entry },
};
-
static int
-dissect_nr_rrc_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);
+dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry, SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry_sequence_of,
+ 1, maxNrofNAICS_Entries, FALSE);
return offset;
}
-static const value_string nr_rrc_T_pusch_TransCoherence_vals[] = {
- { 0, "nonCoherent" },
- { 1, "partialNonCoherent" },
- { 2, "fullCoherent" },
- { 0, NULL }
+static const per_sequence_t Phy_ParametersMRDC_sequence[] = {
+ { &hf_nr_rrc_naics_Capability_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_pusch_TransCoherence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+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_beamCorrespondence_vals[] = {
+static const value_string nr_rrc_T_extendedCP_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_beamCorrespondence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_extendedCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -25606,14 +36681,14 @@ dissect_nr_rrc_T_beamCorrespondence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
}
-static const value_string nr_rrc_T_periodicBeamReport_vals[] = {
+static const value_string nr_rrc_T_multipleTCI_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_periodicBeamReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+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);
@@ -25621,14 +36696,14 @@ dissect_nr_rrc_T_periodicBeamReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
}
-static const value_string nr_rrc_T_aperiodicBeamReport_vals[] = {
+static const value_string nr_rrc_T_bwp_WithoutRestriction_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_aperiodicBeamReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_bwp_WithoutRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -25636,29 +36711,30 @@ dissect_nr_rrc_T_aperiodicBeamReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
}
-static const value_string nr_rrc_T_sp_BeamReportPUCCH_vals[] = {
- { 0, "supported" },
+static const value_string nr_rrc_T_bwp_SameNumerology_vals[] = {
+ { 0, "upto2" },
+ { 1, "upto4" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_sp_BeamReportPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_bwp_SameNumerology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ 2, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_sp_BeamReportPUSCH_vals[] = {
- { 0, "supported" },
+static const value_string nr_rrc_T_bwp_DiffNumerology_vals[] = {
+ { 0, "upto4" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_sp_BeamReportPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_bwp_DiffNumerology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -25666,491 +36742,304 @@ dissect_nr_rrc_T_sp_BeamReportPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
}
-static const value_string nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx_vals[] = {
- { 0, "n8" },
- { 1, "n16" },
- { 2, "n32" },
- { 3, "n64" },
- { 0, NULL }
-};
-
-
-static int
-dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
-
- return offset;
-}
-
-
-static const value_string nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx_vals[] = {
- { 0, "n0" },
- { 1, "n4" },
- { 2, "n8" },
- { 3, "n16" },
- { 4, "n32" },
- { 5, "n64" },
- { 0, NULL }
-};
-
-
-static int
-dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 6, NULL, FALSE, 0, NULL);
-
- return offset;
-}
-
-
-static const value_string nr_rrc_T_supportedCSI_RS_Density_vals[] = {
- { 0, "one" },
- { 1, "three" },
- { 2, "oneAndThree" },
- { 0, NULL }
-};
-
-
-static int
-dissect_nr_rrc_T_supportedCSI_RS_Density(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
-
- return offset;
-}
-
-
-static const per_sequence_t BeamManagementSSB_CSI_RS_sequence[] = {
- { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx },
- { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceTwoTx, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx },
- { &hf_nr_rrc_supportedCSI_RS_Density, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_Density },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_nr_rrc_BeamManagementSSB_CSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BeamManagementSSB_CSI_RS, BeamManagementSSB_CSI_RS_sequence);
-
- return offset;
-}
-
-
-
-static int
-dissect_nr_rrc_INTEGER_2_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 2U, 8U, NULL, FALSE);
-
- return offset;
-}
-
-
-static const value_string nr_rrc_T_scs_15kHz_02_vals[] = {
- { 0, "n4" },
- { 1, "n7" },
- { 2, "n14" },
+static const value_string nr_rrc_T_crossCarrierScheduling_SameSCS_vals[] = {
+ { 0, "supported" },
{ 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_) {
+dissect_nr_rrc_T_crossCarrierScheduling_SameSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_scs_30kHz_02_vals[] = {
- { 0, "n4" },
- { 1, "n7" },
- { 2, "n14" },
+static const value_string nr_rrc_T_pdsch_256QAM_FR2_vals[] = {
+ { 0, "supported" },
{ 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_) {
+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,
- 3, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_scs_60kHz_04_vals[] = {
- { 0, "n4" },
- { 1, "n7" },
- { 2, "n14" },
+static const value_string nr_rrc_T_pusch_256QAM_vals[] = {
+ { 0, "supported" },
{ 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_) {
+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,
- 3, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_scs_120kHz_02_vals[] = {
- { 0, "n4" },
- { 1, "n7" },
- { 2, "n14" },
+static const value_string nr_rrc_T_ue_PowerClass_vals[] = {
+ { 0, "pc1" },
+ { 1, "pc2" },
+ { 2, "pc3" },
+ { 3, "pc4" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_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_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,
- 3, NULL, FALSE, 0, NULL);
+ 4, NULL, FALSE, 0, NULL);
return offset;
}
-static const value_string nr_rrc_T_scs_240kHz_vals[] = {
- { 0, "n4" },
- { 1, "n7" },
- { 2, "n14" },
+static const value_string nr_rrc_T_rateMatchingLTE_CRS_vals[] = {
+ { 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_scs_240kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+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,
- 3, NULL, FALSE, 0, NULL);
+ 1, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t T_maxNumberRxTxBeamSwitchDL_sequence[] = {
- { &hf_nr_rrc_scs_15kHz_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_02 },
- { &hf_nr_rrc_scs_30kHz_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_02 },
- { &hf_nr_rrc_scs_60kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_04 },
- { &hf_nr_rrc_scs_120kHz_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_02 },
- { &hf_nr_rrc_scs_240kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_240kHz },
+static const per_sequence_t T_fr1_sequence[] = {
+ { &hf_nr_rrc_scs_15kHz_06 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 },
+ { &hf_nr_rrc_scs_30kHz_06 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 },
+ { &hf_nr_rrc_scs_60kHz_08 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_maxNumberRxTxBeamSwitchDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_fr1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL, T_maxNumberRxTxBeamSwitchDL_sequence);
+ ett_nr_rrc_T_fr1, T_fr1_sequence);
return offset;
}
-static const value_string nr_rrc_T_maxNumberNonGroupBeamReporting_vals[] = {
- { 0, "n1" },
- { 1, "n2" },
- { 2, "n4" },
- { 0, NULL }
+static const per_sequence_t T_fr2_sequence[] = {
+ { &hf_nr_rrc_scs_60kHz_09 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_3 },
+ { &hf_nr_rrc_scs_120kHz_06, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_3 },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_maxNumberNonGroupBeamReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_fr2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_fr2, T_fr2_sequence);
return offset;
}
-static const value_string nr_rrc_T_groupBeamReporting_vals[] = {
- { 0, "supported" },
+static const value_string nr_rrc_T_channelBWs_DL_v1530_vals[] = {
+ { 0, "fr1" },
+ { 1, "fr2" },
{ 0, NULL }
};
-
-static int
-dissect_nr_rrc_T_groupBeamReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
-
- return offset;
-}
-
-
-static const value_string nr_rrc_T_maxNumberSRS_ResourcePerSet_vals[] = {
- { 0, "n2" },
- { 1, "n4" },
- { 2, "n8" },
- { 3, "n16" },
- { 4, "n32" },
- { 0, NULL }
+static const per_choice_t T_channelBWs_DL_v1530_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_maxNumberSRS_ResourcePerSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 5, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_channelBWs_DL_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_channelBWs_DL_v1530, T_channelBWs_DL_v1530_choice,
+ NULL);
return offset;
}
-static const per_sequence_t T_uplinkBeamManagement_sequence[] = {
- { &hf_nr_rrc_maxNumberSRS_ResourcePerSet_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_ResourcePerSet },
- { &hf_nr_rrc_maxNumberSRS_ResourceSet, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
+static const per_sequence_t T_fr1_01_sequence[] = {
+ { &hf_nr_rrc_scs_15kHz_06 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 },
+ { &hf_nr_rrc_scs_30kHz_06 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 },
+ { &hf_nr_rrc_scs_60kHz_08 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_uplinkBeamManagement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_fr1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_uplinkBeamManagement, T_uplinkBeamManagement_sequence);
-
- return offset;
-}
-
-
-
-static int
-dissect_nr_rrc_INTEGER_1_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 256U, NULL, FALSE);
-
- return offset;
-}
-
-
-static const value_string nr_rrc_T_twoPortsPTRS_DL_vals[] = {
- { 0, "supported" },
- { 0, NULL }
-};
-
-
-static int
-dissect_nr_rrc_T_twoPortsPTRS_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
-
- return offset;
-}
-
-
-static const value_string nr_rrc_T_twoPortsPTRS_UL_vals[] = {
- { 0, "supported" },
- { 0, NULL }
-};
-
-
-static int
-dissect_nr_rrc_T_twoPortsPTRS_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ ett_nr_rrc_T_fr1_01, T_fr1_01_sequence);
return offset;
}
-static const value_string nr_rrc_T_scs_15kHz_03_vals[] = {
- { 0, "sym2" },
- { 1, "sym4" },
- { 2, "sym8" },
- { 0, NULL }
+static const per_sequence_t T_fr2_01_sequence[] = {
+ { &hf_nr_rrc_scs_60kHz_09 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_3 },
+ { &hf_nr_rrc_scs_120kHz_06, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_3 },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_scs_15kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_fr2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_fr2_01, T_fr2_01_sequence);
return offset;
}
-static const value_string nr_rrc_T_scs_30kHz_03_vals[] = {
- { 0, "sym4" },
- { 1, "sym8" },
- { 2, "sym14" },
+static const value_string nr_rrc_T_channelBWs_UL_v1530_vals[] = {
+ { 0, "fr1" },
+ { 1, "fr2" },
{ 0, NULL }
};
-
-static int
-dissect_nr_rrc_T_scs_30kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
-
- return offset;
-}
-
-
-static const value_string nr_rrc_T_scs_60kHz_05_vals[] = {
- { 0, "sym8" },
- { 1, "sym14" },
- { 2, "sym28" },
- { 0, NULL }
+static const per_choice_t T_channelBWs_UL_v1530_choice[] = {
+ { 0, &hf_nr_rrc_fr1_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr1_01 },
+ { 1, &hf_nr_rrc_fr2_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr2_01 },
+ { 0, NULL, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_scs_60kHz_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_channelBWs_UL_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_channelBWs_UL_v1530, T_channelBWs_UL_v1530_choice,
+ NULL);
return offset;
}
-static const value_string nr_rrc_T_scs_120kHz_03_vals[] = {
- { 0, "sym14" },
- { 1, "sym28" },
- { 2, "sym56" },
+static const value_string nr_rrc_T_maxUplinkDutyCycle_vals[] = {
+ { 0, "n60" },
+ { 1, "n70" },
+ { 2, "n80" },
+ { 3, "n90" },
+ { 4, "n100" },
{ 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_maxUplinkDutyCycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, FALSE, 0, NULL);
-
- return offset;
-}
-
-
-static const per_sequence_t T_beamReportTiming_sequence[] = {
- { &hf_nr_rrc_scs_15kHz_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_03 },
- { &hf_nr_rrc_scs_30kHz_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_03 },
- { &hf_nr_rrc_scs_60kHz_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_05 },
- { &hf_nr_rrc_scs_120kHz_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_03 },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_nr_rrc_T_beamReportTiming(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_beamReportTiming, T_beamReportTiming_sequence);
+ 5, NULL, FALSE, 0, NULL);
return offset;
}
-static const per_sequence_t PTRS_DensityRecommendationDL_sequence[] = {
- { &hf_nr_rrc_frequencyDensity1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
- { &hf_nr_rrc_frequencyDensity2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
- { &hf_nr_rrc_timeDensity1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
- { &hf_nr_rrc_timeDensity2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
- { &hf_nr_rrc_timeDensity3 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
+static const per_sequence_t BandNR_eag_1_sequence[] = {
+ { &hf_nr_rrc_maxUplinkDutyCycle, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxUplinkDutyCycle },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_PTRS_DensityRecommendationDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_PTRS_DensityRecommendationDL, PTRS_DensityRecommendationDL_sequence);
+dissect_nr_rrc_BandNR_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_1_sequence);
return offset;
}
-static const 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 },
+static const per_sequence_t BandNR_sequence[] = {
+ { &hf_nr_rrc_bandNR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
+ { &hf_nr_rrc_modifiedMPR_Behaviour, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_8 },
+ { &hf_nr_rrc_mimo_ParametersPerBand, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_ParametersPerBand },
+ { &hf_nr_rrc_extendedCP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_extendedCP },
+ { &hf_nr_rrc_multipleTCI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleTCI },
+ { &hf_nr_rrc_bwp_WithoutRestriction, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_WithoutRestriction },
+ { &hf_nr_rrc_bwp_SameNumerology, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_SameNumerology },
+ { &hf_nr_rrc_bwp_DiffNumerology, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_DiffNumerology },
+ { &hf_nr_rrc_crossCarrierScheduling_SameSCS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_crossCarrierScheduling_SameSCS },
+ { &hf_nr_rrc_pdsch_256QAM_FR2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_256QAM_FR2 },
+ { &hf_nr_rrc_pusch_256QAM , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_256QAM },
+ { &hf_nr_rrc_ue_PowerClass, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_PowerClass },
+ { &hf_nr_rrc_rateMatchingLTE_CRS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatchingLTE_CRS },
+ { &hf_nr_rrc_channelBWs_DL_v1530, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_channelBWs_DL_v1530 },
+ { &hf_nr_rrc_channelBWs_UL_v1530, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_channelBWs_UL_v1530 },
+ { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_ptrs_DensityRecommendationSetDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+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_T_ptrs_DensityRecommendationSetDL, T_ptrs_DensityRecommendationSetDL_sequence);
+ ett_nr_rrc_BandNR, BandNR_sequence);
return offset;
}
-static const per_sequence_t PTRS_DensityRecommendationUL_sequence[] = {
- { &hf_nr_rrc_frequencyDensity1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
- { &hf_nr_rrc_frequencyDensity2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
- { &hf_nr_rrc_timeDensity1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
- { &hf_nr_rrc_timeDensity2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
- { &hf_nr_rrc_timeDensity3 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
- { &hf_nr_rrc_sampleDensity1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
- { &hf_nr_rrc_sampleDensity2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
- { &hf_nr_rrc_sampleDensity3, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
- { &hf_nr_rrc_sampleDensity4, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
- { &hf_nr_rrc_sampleDensity5, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
- { NULL, 0, 0, NULL }
+static 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_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);
+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 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 },
+static const per_sequence_t RF_Parameters_sequence[] = {
+ { &hf_nr_rrc_supportedBandListNR, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR },
+ { &hf_nr_rrc_supportedBandCombinationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList },
+ { &hf_nr_rrc_appliedFreqBandListFilter, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_FreqBandList },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_ptrs_DensityRecommendationSetUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+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_T_ptrs_DensityRecommendationSetUL, T_ptrs_DensityRecommendationSetUL_sequence);
-
- return offset;
-}
-
-
-
-static int
-dissect_nr_rrc_INTEGER_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 128U, NULL, FALSE);
+ ett_nr_rrc_RF_Parameters, RF_Parameters_sequence);
return offset;
}
-static const per_sequence_t CSI_RS_ForTracking_sequence[] = {
- { &hf_nr_rrc_burstLength , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
- { &hf_nr_rrc_maxSimultaneousResourceSetsPerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
- { &hf_nr_rrc_maxConfiguredResourceSetsPerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
- { &hf_nr_rrc_maxConfiguredResourceSetsAllCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_128 },
+static const per_sequence_t RF_ParametersMRDC_sequence[] = {
+ { &hf_nr_rrc_supportedBandCombinationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList },
+ { &hf_nr_rrc_appliedFreqBandListFilter, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_FreqBandList },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_CSI_RS_ForTracking(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_RF_ParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_CSI_RS_ForTracking, CSI_RS_ForTracking_sequence);
+ ett_nr_rrc_RF_ParametersMRDC, RF_ParametersMRDC_sequence);
return offset;
}
-static const value_string nr_rrc_T_aperiodicTRS_vals[] = {
+static const value_string nr_rrc_T_am_WithShortSN_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_aperiodicTRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_am_WithShortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -26158,54 +37047,14 @@ dissect_nr_rrc_T_aperiodicTRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
}
-static const per_sequence_t MIMO_ParametersPerBand_sequence[] = {
- { &hf_nr_rrc_tci_StatePDSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tci_StatePDSCH },
- { &hf_nr_rrc_additionalActiveTCI_StatePDCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_additionalActiveTCI_StatePDCCH },
- { &hf_nr_rrc_pusch_TransCoherence, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_TransCoherence },
- { &hf_nr_rrc_beamCorrespondence, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamCorrespondence },
- { &hf_nr_rrc_periodicBeamReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_periodicBeamReport },
- { &hf_nr_rrc_aperiodicBeamReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_aperiodicBeamReport },
- { &hf_nr_rrc_sp_BeamReportPUCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_BeamReportPUCCH },
- { &hf_nr_rrc_sp_BeamReportPUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_BeamReportPUSCH },
- { &hf_nr_rrc_beamManagementSSB_CSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BeamManagementSSB_CSI_RS },
- { &hf_nr_rrc_maxNumberRxBeam, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_8 },
- { &hf_nr_rrc_maxNumberRxTxBeamSwitchDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberRxTxBeamSwitchDL },
- { &hf_nr_rrc_maxNumberNonGroupBeamReporting, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberNonGroupBeamReporting },
- { &hf_nr_rrc_groupBeamReporting, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_groupBeamReporting },
- { &hf_nr_rrc_uplinkBeamManagement, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_uplinkBeamManagement },
- { &hf_nr_rrc_maxNumberCSI_RS_BFR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_64 },
- { &hf_nr_rrc_maxNumberSSB_BFR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_64 },
- { &hf_nr_rrc_maxNumberCSI_RS_SSB_BFR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_256 },
- { &hf_nr_rrc_twoPortsPTRS_DL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPortsPTRS_DL },
- { &hf_nr_rrc_twoPortsPTRS_UL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPortsPTRS_UL },
- { &hf_nr_rrc_supportedSRS_Resources, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SRS_Resources },
- { &hf_nr_rrc_srs_TxSwitch , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SRS_TxSwitch },
- { &hf_nr_rrc_maxNumberSimultaneousSRS_PerCC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_4 },
- { &hf_nr_rrc_beamReportTiming, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamReportTiming },
- { &hf_nr_rrc_ptrs_DensityRecommendationSetDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ptrs_DensityRecommendationSetDL },
- { &hf_nr_rrc_ptrs_DensityRecommendationSetUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ptrs_DensityRecommendationSetUL },
- { &hf_nr_rrc_csi_RS_ForTracking, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_RS_ForTracking },
- { &hf_nr_rrc_aperiodicTRS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_aperiodicTRS },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_nr_rrc_MIMO_ParametersPerBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MIMO_ParametersPerBand, MIMO_ParametersPerBand_sequence);
-
- return offset;
-}
-
-
-static const value_string nr_rrc_T_extendedCP_vals[] = {
+static const value_string nr_rrc_T_um_WithShortSN_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_um_WithShortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -26213,14 +37062,14 @@ dissect_nr_rrc_T_extendedCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
-static const value_string nr_rrc_T_multipleTCI_vals[] = {
+static const value_string nr_rrc_T_um_WithLongSN_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_multipleTCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_um_WithLongSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -26228,60 +37077,58 @@ dissect_nr_rrc_T_multipleTCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
-static const value_string nr_rrc_T_bwp_WithoutRestriction_vals[] = {
- { 0, "supported" },
- { 0, NULL }
+static const per_sequence_t RLC_Parameters_sequence[] = {
+ { &hf_nr_rrc_am_WithShortSN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_am_WithShortSN },
+ { &hf_nr_rrc_um_WithShortSN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_um_WithShortSN },
+ { &hf_nr_rrc_um_WithLongSN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_um_WithLongSN },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_bwp_WithoutRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_RLC_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_RLC_Parameters, RLC_Parameters_sequence);
return offset;
}
-static const value_string nr_rrc_T_bwp_SameNumerology_vals[] = {
- { 0, "upto2" },
- { 1, "upto4" },
- { 0, NULL }
+static const per_sequence_t T_nonCriticalExtension_33_sequence[] = {
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_bwp_SameNumerology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_T_nonCriticalExtension_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension_33, T_nonCriticalExtension_33_sequence);
return offset;
}
-static const value_string nr_rrc_T_bwp_DiffNumerology_vals[] = {
- { 0, "upto4" },
- { 0, NULL }
+static const per_sequence_t UE_CapabilityRequestFilterNR_sequence[] = {
+ { &hf_nr_rrc_frequencyBandList_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqBandList },
+ { &hf_nr_rrc_nonCriticalExtension_35, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_33 },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_bwp_DiffNumerology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_UE_CapabilityRequestFilterNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UE_CapabilityRequestFilterNR, UE_CapabilityRequestFilterNR_sequence);
return offset;
}
-static const value_string nr_rrc_T_crossCarrierSchedulingDL_SameSCS_vals[] = {
+static const value_string nr_rrc_T_splitSRB_WithOneUL_Path_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_crossCarrierSchedulingDL_SameSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_splitSRB_WithOneUL_Path(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -26289,14 +37136,14 @@ dissect_nr_rrc_T_crossCarrierSchedulingDL_SameSCS(tvbuff_t *tvb _U_, int offset
}
-static const value_string nr_rrc_T_crossCarrierSchedulingUL_SameSCS_vals[] = {
+static const value_string nr_rrc_T_splitDRB_withUL_Both_MCG_SCG_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_crossCarrierSchedulingUL_SameSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_splitDRB_withUL_Both_MCG_SCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -26304,14 +37151,14 @@ dissect_nr_rrc_T_crossCarrierSchedulingUL_SameSCS(tvbuff_t *tvb _U_, int offset
}
-static const value_string nr_rrc_T_pdsch_256QAM_FR2_vals[] = {
+static const value_string nr_rrc_T_srb3_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_pdsch_256QAM_FR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_srb3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -26319,14 +37166,14 @@ dissect_nr_rrc_T_pdsch_256QAM_FR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
-static const value_string nr_rrc_T_pusch_256QAM_vals[] = {
+static const value_string nr_rrc_T_v2x_EUTRA_v1530_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_pusch_256QAM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_v2x_EUTRA_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -26334,201 +37181,157 @@ dissect_nr_rrc_T_pusch_256QAM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
}
-static const value_string nr_rrc_T_ue_PowerClass_vals[] = {
- { 0, "pc2" },
- { 1, "pc3" },
- { 0, NULL }
+static const per_sequence_t GeneralParametersMRDC_XDD_Diff_sequence[] = {
+ { &hf_nr_rrc_splitSRB_WithOneUL_Path, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_splitSRB_WithOneUL_Path },
+ { &hf_nr_rrc_splitDRB_withUL_Both_MCG_SCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_splitDRB_withUL_Both_MCG_SCG },
+ { &hf_nr_rrc_srb3 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srb3 },
+ { &hf_nr_rrc_v2x_EUTRA_v1530, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_v2x_EUTRA_v1530 },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_ue_PowerClass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_GeneralParametersMRDC_XDD_Diff, GeneralParametersMRDC_XDD_Diff_sequence);
return offset;
}
-static const value_string nr_rrc_T_rateMatchingLTE_CRS_vals[] = {
- { 0, "supported" },
- { 0, NULL }
+static const per_sequence_t UE_MRDC_CapabilityAddXDD_Mode_sequence[] = {
+ { &hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff },
+ { &hf_nr_rrc_generalParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_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);
+dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode, UE_MRDC_CapabilityAddXDD_Mode_sequence);
return offset;
}
-static const per_sequence_t 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 },
+static const per_sequence_t UE_MRDC_CapabilityAddFRX_Mode_sequence[] = {
+ { &hf_nr_rrc_measAndMobParametersMRDC_FRX_Diff, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_BandNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_BandNR, BandNR_sequence);
+ ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode, UE_MRDC_CapabilityAddFRX_Mode_sequence);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_1_maxBands_OF_BandNR_sequence_of[1] = {
- { &hf_nr_rrc_supportedBandListNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR },
+static 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_maxBands_OF_BandNR(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_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_maxBands_OF_BandNR, SEQUENCE_SIZE_1_maxBands_OF_BandNR_sequence_of,
- 1, maxBands, FALSE);
+ 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 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 },
+static const per_sequence_t T_nonCriticalExtension_34_sequence[] = {
{ 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_T_nonCriticalExtension_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_RF_Parameters, RF_Parameters_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_34, T_nonCriticalExtension_34_sequence);
return offset;
}
-
-static int
-dissect_nr_rrc_BIT_STRING_SIZE_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 22, 22, FALSE, NULL, NULL);
-
- return offset;
-}
-
-
-static const per_sequence_t MeasParametersCommon_sequence[] = {
- { &hf_nr_rrc_supportedGapPattern, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_22 },
+static const per_sequence_t UE_MRDC_Capability_sequence[] = {
+ { &hf_nr_rrc_measAndMobParametersMRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC },
+ { &hf_nr_rrc_phy_ParametersMRDC_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersMRDC },
+ { &hf_nr_rrc_rf_ParametersMRDC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC },
+ { &hf_nr_rrc_generalParametersMRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff },
+ { &hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode },
+ { &hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode },
+ { &hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode },
+ { &hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode },
+ { &hf_nr_rrc_featureSetCombinations, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination },
+ { &hf_nr_rrc_pdcp_ParametersMRDC_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PDCP_ParametersMRDC },
+ { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
+ { &hf_nr_rrc_nonCriticalExtension_36, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_34 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_UE_MRDC_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasParametersCommon, MeasParametersCommon_sequence);
-
- return offset;
-}
-
-
-static const value_string nr_rrc_T_intraAndInterF_MeasAndReport_vals[] = {
- { 0, "supported" },
- { 0, NULL }
-};
-
-
-static int
-dissect_nr_rrc_T_intraAndInterF_MeasAndReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
-
- return offset;
-}
-
-
-static const value_string nr_rrc_T_eventA_MeasAndReport_vals[] = {
- { 0, "supported" },
- { 0, NULL }
-};
-
-
-static int
-dissect_nr_rrc_T_eventA_MeasAndReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+ ett_nr_rrc_UE_MRDC_Capability, UE_MRDC_Capability_sequence);
return offset;
}
-static const per_sequence_t MeasParametersXDD_Diff_sequence[] = {
- { &hf_nr_rrc_intraAndInterF_MeasAndReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_intraAndInterF_MeasAndReport },
- { &hf_nr_rrc_eventA_MeasAndReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_eventA_MeasAndReport },
+static const per_sequence_t UE_NR_CapabilityAddXDD_Mode_sequence[] = {
+ { &hf_nr_rrc_phy_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersXDD_Diff },
+ { &hf_nr_rrc_mac_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersXDD_Diff },
+ { &hf_nr_rrc_measAndMobParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersXDD_Diff },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasParametersXDD_Diff, MeasParametersXDD_Diff_sequence);
+ ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode, UE_NR_CapabilityAddXDD_Mode_sequence);
return offset;
}
-static const value_string nr_rrc_T_ss_SINR_Meas_vals[] = {
- { 0, "supported" },
- { 0, NULL }
+static const per_sequence_t UE_NR_CapabilityAddFRX_Mode_sequence[] = {
+ { &hf_nr_rrc_phy_ParametersFRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersFRX_Diff },
+ { &hf_nr_rrc_measAndMobParametersFRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersFRX_Diff },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_ss_SINR_Meas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode, UE_NR_CapabilityAddFRX_Mode_sequence);
return offset;
}
-static const value_string nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB_vals[] = {
- { 0, "supported" },
- { 0, NULL }
+static const per_sequence_t UE_NR_CapabilityAddXDD_Mode_1530_sequence[] = {
+ { &hf_nr_rrc_eutra_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_ParametersXDD_Diff },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, FALSE, 0, NULL);
+dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode_1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode_1530, UE_NR_CapabilityAddXDD_Mode_1530_sequence);
return offset;
}
-static const value_string nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB_vals[] = {
+static const value_string nr_rrc_T_voiceOverMCG_Bearer_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_voiceOverMCG_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -26536,14 +37339,14 @@ dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB(tvbuff_t *tvb _U_, int offset _
}
-static const value_string nr_rrc_T_csi_SINR_Meas_vals[] = {
+static const value_string nr_rrc_T_inactiveState_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_csi_SINR_Meas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_inactiveState(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -26551,14 +37354,14 @@ dissect_nr_rrc_T_csi_SINR_Meas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
}
-static const value_string nr_rrc_T_csi_RS_RLM_vals[] = {
+static const value_string nr_rrc_T_delayBudgetReporting_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
-dissect_nr_rrc_T_csi_RS_RLM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_delayBudgetReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, FALSE, 0, NULL);
@@ -26566,79 +37369,34 @@ 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_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ss_SINR_Meas },
- { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB },
- { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB },
- { &hf_nr_rrc_csi_SINR_Meas, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_SINR_Meas },
- { &hf_nr_rrc_csi_RS_RLM , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_RLM },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_nr_rrc_MeasParametersFRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasParametersFRX_Diff, MeasParametersFRX_Diff_sequence);
-
- return offset;
-}
-
-
-static const per_sequence_t MeasParameters_sequence[] = {
- { &hf_nr_rrc_measParametersCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersCommon },
- { &hf_nr_rrc_measParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersXDD_Diff },
- { &hf_nr_rrc_measParametersFRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersFRX_Diff },
+static const per_sequence_t T_nonCriticalExtension_35_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_MeasParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nonCriticalExtension_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_MeasParameters, MeasParameters_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_35, T_nonCriticalExtension_35_sequence);
return offset;
}
-static const per_sequence_t UE_NR_CapabilityAddXDD_Mode_sequence[] = {
- { &hf_nr_rrc_phy_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersXDD_Diff },
- { &hf_nr_rrc_mac_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersXDD_Diff },
- { &hf_nr_rrc_measParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersXDD_Diff },
+static const per_sequence_t UE_NR_Capability_1530_sequence[] = {
+ { &hf_nr_rrc_fdd_Add_UE_NR_Capabilities_1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode_1530 },
+ { &hf_nr_rrc_tdd_Add_UE_NR_Capabilities_1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode_1530 },
+ { &hf_nr_rrc_voiceOverMCG_Bearer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_voiceOverMCG_Bearer },
+ { &hf_nr_rrc_interRAT_Parameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_InterRAT_Parameters },
+ { &hf_nr_rrc_inactiveState, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_inactiveState },
+ { &hf_nr_rrc_delayBudgetReporting, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_delayBudgetReporting },
+ { &hf_nr_rrc_nonCriticalExtension_38, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_35 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_UE_NR_Capability_1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode, UE_NR_CapabilityAddXDD_Mode_sequence);
-
- return offset;
-}
-
-
-static const per_sequence_t UE_NR_CapabilityAddFRX_Mode_sequence[] = {
- { &hf_nr_rrc_phy_ParametersFRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersFRX_Diff },
- { &hf_nr_rrc_measParametersFRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersFRX_Diff },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode, UE_NR_CapabilityAddFRX_Mode_sequence);
-
- return offset;
-}
-
-
-static const per_sequence_t T_nonCriticalExtension_10_sequence[] = {
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_nr_rrc_T_nonCriticalExtension_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_nonCriticalExtension_10, T_nonCriticalExtension_10_sequence);
+ ett_nr_rrc_UE_NR_Capability_1530, UE_NR_Capability_1530_sequence);
return offset;
}
@@ -26651,7 +37409,7 @@ static const per_sequence_t UE_NR_Capability_sequence[] = {
{ &hf_nr_rrc_mac_Parameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_Parameters },
{ &hf_nr_rrc_phy_Parameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_Parameters },
{ &hf_nr_rrc_rf_Parameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters },
- { &hf_nr_rrc_measParameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParameters },
+ { &hf_nr_rrc_measAndMobParameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParameters },
{ &hf_nr_rrc_fdd_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode },
{ &hf_nr_rrc_tdd_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode },
{ &hf_nr_rrc_fr1_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode },
@@ -26659,7 +37417,7 @@ static const per_sequence_t UE_NR_Capability_sequence[] = {
{ &hf_nr_rrc_featureSets , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FeatureSets },
{ &hf_nr_rrc_featureSetCombinations, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination },
{ &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
- { &hf_nr_rrc_nonCriticalExtension_10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_10 },
+ { &hf_nr_rrc_nonCriticalExtension_37, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_Capability_1530 },
{ NULL, 0, 0, NULL }
};
@@ -26721,6 +37479,22 @@ int dissect_nr_rrc_MeasurementTimingConfiguration_PDU(tvbuff_t *tvb _U_, packet_
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_UERadioPagingInformation_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_UERadioPagingInformation(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UERadioPagingInformation_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_UERadioAccessCapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
+ offset = dissect_nr_rrc_UERadioAccessCapabilityInformation(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UERadioAccessCapabilityInformation_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_BCCH_BCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -26729,6 +37503,22 @@ static int dissect_BCCH_BCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_BCCH_DL_SCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
+ offset = dissect_nr_rrc_BCCH_DL_SCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_BCCH_DL_SCH_Message_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_DL_CCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
+ offset = dissect_nr_rrc_DL_CCCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_DL_CCCH_Message_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_DL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -26737,6 +37527,30 @@ static int dissect_DL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_PCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
+ offset = dissect_nr_rrc_PCCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_PCCH_Message_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_UL_CCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
+ offset = dissect_nr_rrc_UL_CCCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UL_CCCH_Message_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_UL_CCCH1_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
+ offset = dissect_nr_rrc_UL_CCCH1_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UL_CCCH1_Message_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
int dissect_nr_rrc_UL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -26841,6 +37655,14 @@ int dissect_nr_rrc_UE_CapabilityRAT_ContainerList_PDU(tvbuff_t *tvb _U_, packet_
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_UE_CapabilityRequestFilterNR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
+ offset = dissect_nr_rrc_UE_CapabilityRequestFilterNR(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UE_CapabilityRequestFilterNR_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
int dissect_nr_rrc_UE_MRDC_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -26873,12 +37695,21 @@ static int dissect_MeasResultSCG_Failure_PDU(tvbuff_t *tvb _U_, packet_info *pin
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_SystemInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
+ offset = dissect_nr_rrc_SystemInformation(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_SystemInformation_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
/*--- End of included file: packet-nr-rrc-fn.c ---*/
-#line 72 "./asn1/nr-rrc/packet-nr-rrc-template.c"
+#line 356 "./asn1/nr-rrc/packet-nr-rrc-template.c"
-void proto_register_nr_rrc(void) {
+void
+proto_register_nr_rrc(void) {
/* List of fields */
static hf_register_info hf[] = {
@@ -26910,14 +37741,42 @@ void proto_register_nr_rrc(void) {
{ "MeasurementTimingConfiguration", "nr-rrc.MeasurementTimingConfiguration_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_UERadioPagingInformation_PDU,
+ { "UERadioPagingInformation", "nr-rrc.UERadioPagingInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_UERadioAccessCapabilityInformation_PDU,
+ { "UERadioAccessCapabilityInformation", "nr-rrc.UERadioAccessCapabilityInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_BCCH_BCH_Message_PDU,
{ "BCCH-BCH-Message", "nr-rrc.BCCH_BCH_Message_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_BCCH_DL_SCH_Message_PDU,
+ { "BCCH-DL-SCH-Message", "nr-rrc.BCCH_DL_SCH_Message_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_DL_CCCH_Message_PDU,
+ { "DL-CCCH-Message", "nr-rrc.DL_CCCH_Message_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_DL_DCCH_Message_PDU,
{ "DL-DCCH-Message", "nr-rrc.DL_DCCH_Message_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_PCCH_Message_PDU,
+ { "PCCH-Message", "nr-rrc.PCCH_Message_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_UL_CCCH_Message_PDU,
+ { "UL-CCCH-Message", "nr-rrc.UL_CCCH_Message_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_UL_CCCH1_Message_PDU,
+ { "UL-CCCH1-Message", "nr-rrc.UL_CCCH1_Message_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_nr_rrc_UL_DCCH_Message_PDU,
{ "UL-DCCH-Message", "nr-rrc.UL_DCCH_Message_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -26956,7 +37815,7 @@ void proto_register_nr_rrc(void) {
NULL, HFILL }},
{ &hf_nr_rrc_nr_rrc_P_Max_PDU,
{ "P-Max", "nr-rrc.P_Max",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
NULL, HFILL }},
{ &hf_nr_rrc_nr_rrc_RadioBearerConfig_PDU,
{ "RadioBearerConfig", "nr-rrc.RadioBearerConfig_element",
@@ -26970,6 +37829,10 @@ void proto_register_nr_rrc(void) {
{ "UE-CapabilityRAT-ContainerList", "nr-rrc.UE_CapabilityRAT_ContainerList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_UE_CapabilityRequestFilterNR_PDU,
+ { "UE-CapabilityRequestFilterNR", "nr-rrc.UE_CapabilityRequestFilterNR_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_nr_rrc_UE_MRDC_Capability_PDU,
{ "UE-MRDC-Capability", "nr-rrc.UE_MRDC_Capability_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -26986,6 +37849,10 @@ void proto_register_nr_rrc(void) {
{ "MeasResultSCG-Failure", "nr-rrc.MeasResultSCG_Failure_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_SystemInformation_PDU,
+ { "SystemInformation", "nr-rrc.SystemInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_criticalExtensions,
{ "criticalExtensions", "nr-rrc.criticalExtensions",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_vals), 0,
@@ -27043,9 +37910,9 @@ void proto_register_nr_rrc(void) {
FT_UINT32, BASE_DEC, NULL, 0,
"UE_CapabilityRAT_ContainerList", HFILL }},
{ &hf_nr_rrc_sourceConfig,
- { "sourceConfig", "nr-rrc.sourceConfig",
- FT_BYTES, BASE_NONE, NULL, 0,
- NULL, HFILL }},
+ { "sourceConfig", "nr-rrc.sourceConfig_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "AS_Config", HFILL }},
{ &hf_nr_rrc_rrm_Config,
{ "rrm-Config", "nr-rrc.rrm_Config_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -27058,33 +37925,41 @@ void proto_register_nr_rrc(void) {
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_nonCriticalExtension_01", HFILL }},
+ { &hf_nr_rrc_rrcReconfiguration,
+ { "rrcReconfiguration", "nr-rrc.rrcReconfiguration",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_reestablishmentInfo,
{ "reestablishmentInfo", "nr-rrc.reestablishmentInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_configRestrictInfo,
+ { "configRestrictInfo", "nr-rrc.configRestrictInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ConfigRestrictInfoSCG", HFILL }},
+ { &hf_nr_rrc_ran_NotificationAreaInfo,
+ { "ran-NotificationAreaInfo", "nr-rrc.ran_NotificationAreaInfo",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_RAN_NotificationAreaInfo_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_sourcePhysCellId,
{ "sourcePhysCellId", "nr-rrc.sourcePhysCellId",
FT_UINT32, BASE_DEC, NULL, 0,
"PhysCellId", HFILL }},
{ &hf_nr_rrc_targetCellShortMAC_I,
{ "targetCellShortMAC-I", "nr-rrc.targetCellShortMAC_I",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_ShortMAC_I_vals), 0,
+ FT_BYTES, BASE_NONE, NULL, 0,
"ShortMAC_I", HFILL }},
{ &hf_nr_rrc_additionalReestabInfoList,
{ "additionalReestabInfoList", "nr-rrc.additionalReestabInfoList",
FT_UINT32, BASE_DEC, NULL, 0,
"ReestabNCellInfoList", HFILL }},
- { &hf_nr_rrc_configRestrictInfo,
- { "configRestrictInfo", "nr-rrc.configRestrictInfo_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "ConfigRestrictInfoSCG", HFILL }},
{ &hf_nr_rrc_ReestabNCellInfoList_item,
{ "ReestabNCellInfo", "nr-rrc.ReestabNCellInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_cellIdentity,
{ "cellIdentity", "nr-rrc.cellIdentity",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_CellIdentity_vals), 0,
+ FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_key_gNodeB_Star,
{ "key-gNodeB-Star", "nr-rrc.key_gNodeB_Star",
@@ -27092,11 +37967,11 @@ void proto_register_nr_rrc(void) {
"BIT_STRING_SIZE_256", HFILL }},
{ &hf_nr_rrc_shortMAC_I,
{ "shortMAC-I", "nr-rrc.shortMAC_I",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_ShortMAC_I_vals), 0,
+ FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_ue_InactiveTime,
{ "ue-InactiveTime", "nr-rrc.ue_InactiveTime",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_InactiveTime_vals), 0,
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_ue_InactiveTime_vals_ext, 0,
NULL, HFILL }},
{ &hf_nr_rrc_candidateCellInfoList,
{ "candidateCellInfoList", "nr-rrc.candidateCellInfoList",
@@ -27143,13 +38018,17 @@ void proto_register_nr_rrc(void) {
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_selectedBandCombinationNR,
- { "selectedBandCombinationNR", "nr-rrc.selectedBandCombinationNR",
- FT_UINT32, BASE_DEC, NULL, 0,
- "BandCombinationIndex", HFILL }},
+ { "selectedBandCombinationNR", "nr-rrc.selectedBandCombinationNR_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "BandCombinationInfoSN", HFILL }},
{ &hf_nr_rrc_fr_InfoListSCG,
{ "fr-InfoListSCG", "nr-rrc.fr_InfoListSCG",
FT_UINT32, BASE_DEC, NULL, 0,
"FR_InfoList", HFILL }},
+ { &hf_nr_rrc_candidateServingFreqListNR,
+ { "candidateServingFreqListNR", "nr-rrc.candidateServingFreqListNR",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_nonCriticalExtension_02,
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -27167,13 +38046,21 @@ void proto_register_nr_rrc(void) {
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueNR", HFILL }},
{ &hf_nr_rrc_requestedBC_MRDC,
- { "requestedBC-MRDC", "nr-rrc.requestedBC_MRDC",
- FT_UINT32, BASE_DEC, NULL, 0,
- "BandCombinationIndex", HFILL }},
+ { "requestedBC-MRDC", "nr-rrc.requestedBC_MRDC_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "BandCombinationInfoSN", HFILL }},
{ &hf_nr_rrc_requestedP_MaxFR1,
{ "requestedP-MaxFR1", "nr-rrc.requestedP_MaxFR1",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
"P_Max", HFILL }},
+ { &hf_nr_rrc_bandCombinationIndex,
+ { "bandCombinationIndex", "nr-rrc.bandCombinationIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_requestedFeatureSets,
+ { "requestedFeatureSets", "nr-rrc.requestedFeatureSets",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "FeatureSetEntryIndex", HFILL }},
{ &hf_nr_rrc_FR_InfoList_item,
{ "FR-Info", "nr-rrc.FR_Info_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -27186,6 +38073,10 @@ void proto_register_nr_rrc(void) {
{ "fr-Type", "nr-rrc.fr_Type",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr_Type_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_CandidateServingFreqListNR_item,
+ { "ARFCN-ValueNR", "nr-rrc.ARFCN_ValueNR",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_criticalExtensions_03,
{ "criticalExtensions", "nr-rrc.criticalExtensions",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_03_vals), 0,
@@ -27250,6 +38141,10 @@ void proto_register_nr_rrc(void) {
{ "mcg-RB-Config", "nr-rrc.mcg_RB_Config",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_mrdc_AssistanceInfo,
+ { "mrdc-AssistanceInfo", "nr-rrc.mrdc_AssistanceInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_nonCriticalExtension_03,
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -27257,18 +38152,22 @@ void proto_register_nr_rrc(void) {
{ &hf_nr_rrc_allowedBC_ListMRDC,
{ "allowedBC-ListMRDC", "nr-rrc.allowedBC_ListMRDC",
FT_UINT32, BASE_DEC, NULL, 0,
- "BandCombinationIndexList", HFILL }},
+ "BandCombinationInfoList", HFILL }},
{ &hf_nr_rrc_powerCoordination_FR1,
{ "powerCoordination-FR1", "nr-rrc.powerCoordination_FR1_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_p_maxNR,
- { "p-maxNR", "nr-rrc.p_maxNR",
- FT_INT32, BASE_DEC, NULL, 0,
+ { &hf_nr_rrc_p_maxNR_FR1,
+ { "p-maxNR-FR1", "nr-rrc.p_maxNR_FR1",
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
"P_Max", HFILL }},
{ &hf_nr_rrc_p_maxEUTRA,
{ "p-maxEUTRA", "nr-rrc.p_maxEUTRA",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
+ "P_Max", HFILL }},
+ { &hf_nr_rrc_p_maxUE_FR1,
+ { "p-maxUE-FR1", "nr-rrc.p_maxUE_FR1",
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
"P_Max", HFILL }},
{ &hf_nr_rrc_servCellIndexRangeSCG,
{ "servCellIndexRangeSCG", "nr-rrc.servCellIndexRangeSCG_element",
@@ -27290,8 +38189,16 @@ void proto_register_nr_rrc(void) {
{ "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",
+ { &hf_nr_rrc_BandCombinationInfoList_item,
+ { "BandCombinationInfo", "nr-rrc.BandCombinationInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_allowedFeatureSetsList,
+ { "allowedFeatureSetsList", "nr-rrc.allowedFeatureSetsList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex", HFILL }},
+ { &hf_nr_rrc_allowedFeatureSetsList_item,
+ { "FeatureSetEntryIndex", "nr-rrc.FeatureSetEntryIndex",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_drx_LongCycleStartOffset,
@@ -27414,6 +38321,66 @@ void proto_register_nr_rrc(void) {
{ "gapPurpose", "nr-rrc.gapPurpose",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapPurpose_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_affectedCarrierFreqCombInfoListMRDC,
+ { "affectedCarrierFreqCombInfoListMRDC", "nr-rrc.affectedCarrierFreqCombInfoListMRDC",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC", HFILL }},
+ { &hf_nr_rrc_affectedCarrierFreqCombInfoListMRDC_item,
+ { "AffectedCarrierFreqCombInfoMRDC", "nr-rrc.AffectedCarrierFreqCombInfoMRDC_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_victimSystemType,
+ { "victimSystemType", "nr-rrc.victimSystemType_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_interferenceDirectionMRDC,
+ { "interferenceDirectionMRDC", "nr-rrc.interferenceDirectionMRDC",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interferenceDirectionMRDC_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_affectedCarrierFreqCombMRDC,
+ { "affectedCarrierFreqCombMRDC", "nr-rrc.affectedCarrierFreqCombMRDC_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_affectedCarrierFreqCombEUTRA,
+ { "affectedCarrierFreqCombEUTRA", "nr-rrc.affectedCarrierFreqCombEUTRA",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_affectedCarrierFreqCombNR,
+ { "affectedCarrierFreqCombNR", "nr-rrc.affectedCarrierFreqCombNR",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_gps,
+ { "gps", "nr-rrc.gps",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gps_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_glonass,
+ { "glonass", "nr-rrc.glonass",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_glonass_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_bds,
+ { "bds", "nr-rrc.bds",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bds_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_galileo,
+ { "galileo", "nr-rrc.galileo",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_galileo_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_wlan,
+ { "wlan", "nr-rrc.wlan",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_wlan_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_bluetooth,
+ { "bluetooth", "nr-rrc.bluetooth",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bluetooth_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_AffectedCarrierFreqCombEUTRA_item,
+ { "ARFCN-ValueEUTRA", "nr-rrc.ARFCN_ValueEUTRA",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_AffectedCarrierFreqCombNR_item,
+ { "ARFCN-ValueNR", "nr-rrc.ARFCN_ValueNR",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_criticalExtensions_04,
{ "criticalExtensions", "nr-rrc.criticalExtensions",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_04_vals), 0,
@@ -27450,10 +38417,86 @@ void proto_register_nr_rrc(void) {
{ "carrierFreq", "nr-rrc.carrierFreq",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueNR", HFILL }},
+ { &hf_nr_rrc_ssbSubcarrierSpacing,
+ { "ssbSubcarrierSpacing", "nr-rrc.ssbSubcarrierSpacing",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
+ "SubcarrierSpacing", HFILL }},
{ &hf_nr_rrc_ssb_MeasurementTimingConfiguration,
{ "ssb-MeasurementTimingConfiguration", "nr-rrc.ssb_MeasurementTimingConfiguration_element",
FT_NONE, BASE_NONE, NULL, 0,
"SSB_MTC", HFILL }},
+ { &hf_nr_rrc_ss_RSSI_Measurement,
+ { "ss-RSSI-Measurement", "nr-rrc.ss_RSSI_Measurement_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_criticalExtensions_05,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_05_vals), 0,
+ "T_criticalExtensions_05", HFILL }},
+ { &hf_nr_rrc_c1_05,
+ { "c1", "nr-rrc.c1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_05_vals), 0,
+ "T_c1_05", HFILL }},
+ { &hf_nr_rrc_ueRadioPagingInformation,
+ { "ueRadioPagingInformation", "nr-rrc.ueRadioPagingInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UERadioPagingInformation_IEs", HFILL }},
+ { &hf_nr_rrc_spare7,
+ { "spare7", "nr-rrc.spare7_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_spare6,
+ { "spare6", "nr-rrc.spare6_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_spare5,
+ { "spare5", "nr-rrc.spare5_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_spare4,
+ { "spare4", "nr-rrc.spare4_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_05,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_05", HFILL }},
+ { &hf_nr_rrc_supportedBandListNRForPaging,
+ { "supportedBandListNRForPaging", "nr-rrc.supportedBandListNRForPaging",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR", HFILL }},
+ { &hf_nr_rrc_supportedBandListNRForPaging_item,
+ { "FreqBandIndicatorNR", "nr-rrc.FreqBandIndicatorNR",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_05,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_05", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_06,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_06_vals), 0,
+ "T_criticalExtensions_06", HFILL }},
+ { &hf_nr_rrc_c1_06,
+ { "c1", "nr-rrc.c1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_06_vals), 0,
+ "T_c1_06", HFILL }},
+ { &hf_nr_rrc_ueRadioAccessCapabilityInformation,
+ { "ueRadioAccessCapabilityInformation", "nr-rrc.ueRadioAccessCapabilityInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UERadioAccessCapabilityInformation_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_06,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_06", HFILL }},
+ { &hf_nr_rrc_ue_RadioAccessCapabilityInfo,
+ { "ue-RadioAccessCapabilityInfo", "nr-rrc.ue_RadioAccessCapabilityInfo",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_06,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_06", HFILL }},
{ &hf_nr_rrc_message,
{ "message", "nr-rrc.message",
FT_UINT32, BASE_DEC, VALS(nr_rrc_BCCH_BCH_MessageType_vals), 0,
@@ -27468,76 +38511,160 @@ void proto_register_nr_rrc(void) {
NULL, HFILL }},
{ &hf_nr_rrc_message_01,
{ "message", "nr-rrc.message",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_BCCH_DL_SCH_MessageType_vals), 0,
+ "BCCH_DL_SCH_MessageType", HFILL }},
+ { &hf_nr_rrc_c1_07,
+ { "c1", "nr-rrc.c1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_07_vals), 0,
+ "T_c1_07", HFILL }},
+ { &hf_nr_rrc_systemInformation,
+ { "systemInformation", "nr-rrc.systemInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_systemInformationBlockType1,
+ { "systemInformationBlockType1", "nr-rrc.systemInformationBlockType1_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "SIB1", HFILL }},
+ { &hf_nr_rrc_messageClassExtension_01,
+ { "messageClassExtension", "nr-rrc.messageClassExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_messageClassExtension_01", HFILL }},
+ { &hf_nr_rrc_message_02,
+ { "message", "nr-rrc.message",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_DL_CCCH_MessageType_vals), 0,
+ "DL_CCCH_MessageType", HFILL }},
+ { &hf_nr_rrc_c1_08,
+ { "c1", "nr-rrc.c1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_08_vals), 0,
+ "T_c1_08", HFILL }},
+ { &hf_nr_rrc_rrcReject,
+ { "rrcReject", "nr-rrc.rrcReject_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rrcSetup,
+ { "rrcSetup", "nr-rrc.rrcSetup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_messageClassExtension_02,
+ { "messageClassExtension", "nr-rrc.messageClassExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_messageClassExtension_02", HFILL }},
+ { &hf_nr_rrc_message_03,
+ { "message", "nr-rrc.message",
FT_UINT32, BASE_DEC, VALS(nr_rrc_DL_DCCH_MessageType_vals), 0,
"DL_DCCH_MessageType", HFILL }},
- { &hf_nr_rrc_c1_05,
+ { &hf_nr_rrc_c1_09,
{ "c1", "nr-rrc.c1",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_05_vals), 0,
- "T_c1_05", HFILL }},
- { &hf_nr_rrc_rrcReconfiguration,
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_09_vals), 0,
+ "T_c1_09", HFILL }},
+ { &hf_nr_rrc_rrcReconfiguration_01,
{ "rrcReconfiguration", "nr-rrc.rrcReconfiguration_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_spare15,
- { "spare15", "nr-rrc.spare15_element",
+ { &hf_nr_rrc_rrcResume,
+ { "rrcResume", "nr-rrc.rrcResume_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_spare14,
- { "spare14", "nr-rrc.spare14_element",
+ { &hf_nr_rrc_rrcRelease,
+ { "rrcRelease", "nr-rrc.rrcRelease_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_spare13,
- { "spare13", "nr-rrc.spare13_element",
+ { &hf_nr_rrc_rrcReestablishment,
+ { "rrcReestablishment", "nr-rrc.rrcReestablishment_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_spare12,
- { "spare12", "nr-rrc.spare12_element",
+ { &hf_nr_rrc_securityModeCommand,
+ { "securityModeCommand", "nr-rrc.securityModeCommand_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_spare11,
- { "spare11", "nr-rrc.spare11_element",
+ { &hf_nr_rrc_dlInformationTransfer,
+ { "dlInformationTransfer", "nr-rrc.dlInformationTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_spare10,
- { "spare10", "nr-rrc.spare10_element",
+ { &hf_nr_rrc_ueCapabilityEnquiry,
+ { "ueCapabilityEnquiry", "nr-rrc.ueCapabilityEnquiry_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_spare9,
- { "spare9", "nr-rrc.spare9_element",
+ { &hf_nr_rrc_counterCheck,
+ { "counterCheck", "nr-rrc.counterCheck_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_spare8,
- { "spare8", "nr-rrc.spare8_element",
+ { &hf_nr_rrc_mobilityFromNRCommand,
+ { "mobilityFromNRCommand", "nr-rrc.mobilityFromNRCommand_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_spare7,
- { "spare7", "nr-rrc.spare7_element",
+ { &hf_nr_rrc_messageClassExtension_03,
+ { "messageClassExtension", "nr-rrc.messageClassExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_messageClassExtension_03", HFILL }},
+ { &hf_nr_rrc_message_04,
+ { "message", "nr-rrc.message",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_PCCH_MessageType_vals), 0,
+ "PCCH_MessageType", HFILL }},
+ { &hf_nr_rrc_c1_10,
+ { "c1", "nr-rrc.c1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_10_vals), 0,
+ "T_c1_10", HFILL }},
+ { &hf_nr_rrc_paging,
+ { "paging", "nr-rrc.paging_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_spare6,
- { "spare6", "nr-rrc.spare6_element",
+ { &hf_nr_rrc_messageClassExtension_04,
+ { "messageClassExtension", "nr-rrc.messageClassExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_messageClassExtension_04", HFILL }},
+ { &hf_nr_rrc_message_05,
+ { "message", "nr-rrc.message",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_UL_CCCH_MessageType_vals), 0,
+ "UL_CCCH_MessageType", HFILL }},
+ { &hf_nr_rrc_c1_11,
+ { "c1", "nr-rrc.c1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_11_vals), 0,
+ "T_c1_11", HFILL }},
+ { &hf_nr_rrc_rrcSetupRequest,
+ { "rrcSetupRequest", "nr-rrc.rrcSetupRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_spare5,
- { "spare5", "nr-rrc.spare5_element",
+ { &hf_nr_rrc_rrcResumeRequest,
+ { "rrcResumeRequest", "nr-rrc.rrcResumeRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_spare4,
- { "spare4", "nr-rrc.spare4_element",
+ { &hf_nr_rrc_rrcReestablishmentRequest,
+ { "rrcReestablishmentRequest", "nr-rrc.rrcReestablishmentRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_messageClassExtension_01,
+ { &hf_nr_rrc_rrcSystemInfoRequest,
+ { "rrcSystemInfoRequest", "nr-rrc.rrcSystemInfoRequest_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_messageClassExtension_05,
{ "messageClassExtension", "nr-rrc.messageClassExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_messageClassExtension_01", HFILL }},
- { &hf_nr_rrc_message_02,
+ "T_messageClassExtension_05", HFILL }},
+ { &hf_nr_rrc_message_06,
+ { "message", "nr-rrc.message",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_UL_CCCH1_MessageType_vals), 0,
+ "UL_CCCH1_MessageType", HFILL }},
+ { &hf_nr_rrc_c1_12,
+ { "c1", "nr-rrc.c1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_12_vals), 0,
+ "T_c1_12", HFILL }},
+ { &hf_nr_rrc_rrcResumeRequest1,
+ { "rrcResumeRequest1", "nr-rrc.rrcResumeRequest1_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_messageClassExtension_06,
+ { "messageClassExtension", "nr-rrc.messageClassExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_messageClassExtension_06", HFILL }},
+ { &hf_nr_rrc_message_07,
{ "message", "nr-rrc.message",
FT_UINT32, BASE_DEC, VALS(nr_rrc_UL_DCCH_MessageType_vals), 0,
"UL_DCCH_MessageType", HFILL }},
- { &hf_nr_rrc_c1_06,
+ { &hf_nr_rrc_c1_13,
{ "c1", "nr-rrc.c1",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_06_vals), 0,
- "T_c1_06", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_13_vals), 0,
+ "T_c1_13", HFILL }},
{ &hf_nr_rrc_measurementReport,
{ "measurementReport", "nr-rrc.measurementReport_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -27546,10 +38673,170 @@ void proto_register_nr_rrc(void) {
{ "rrcReconfigurationComplete", "nr-rrc.rrcReconfigurationComplete_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_messageClassExtension_02,
+ { &hf_nr_rrc_rrcSetupComplete,
+ { "rrcSetupComplete", "nr-rrc.rrcSetupComplete_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rrcReestablishmentComplete,
+ { "rrcReestablishmentComplete", "nr-rrc.rrcReestablishmentComplete_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rrcResumeComplete,
+ { "rrcResumeComplete", "nr-rrc.rrcResumeComplete_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_securityModeComplete,
+ { "securityModeComplete", "nr-rrc.securityModeComplete_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_securityModeFailure,
+ { "securityModeFailure", "nr-rrc.securityModeFailure_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ulInformationTransfer,
+ { "ulInformationTransfer", "nr-rrc.ulInformationTransfer_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_locationMeasurementIndication,
+ { "locationMeasurementIndication", "nr-rrc.locationMeasurementIndication_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ueCapabilityInformation,
+ { "ueCapabilityInformation", "nr-rrc.ueCapabilityInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_counterCheckResponse,
+ { "counterCheckResponse", "nr-rrc.counterCheckResponse_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ueAssistanceInformation,
+ { "ueAssistanceInformation", "nr-rrc.ueAssistanceInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_messageClassExtension_07,
{ "messageClassExtension", "nr-rrc.messageClassExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_messageClassExtension_02", HFILL }},
+ "T_messageClassExtension_07", HFILL }},
+ { &hf_nr_rrc_rrc_TransactionIdentifier,
+ { "rrc-TransactionIdentifier", "nr-rrc.rrc_TransactionIdentifier",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_criticalExtensions_07,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_07_vals), 0,
+ "T_criticalExtensions_07", HFILL }},
+ { &hf_nr_rrc_counterCheck_01,
+ { "counterCheck", "nr-rrc.counterCheck_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "CounterCheck_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_07,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_07", HFILL }},
+ { &hf_nr_rrc_drb_CountMSB_InfoList,
+ { "drb-CountMSB-InfoList", "nr-rrc.drb_CountMSB_InfoList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_lateNonCriticalExtension,
+ { "lateNonCriticalExtension", "nr-rrc.lateNonCriticalExtension",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "OCTET_STRING", HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_07,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_07", HFILL }},
+ { &hf_nr_rrc_DRB_CountMSB_InfoList_item,
+ { "DRB-CountMSB-Info", "nr-rrc.DRB_CountMSB_Info_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_drb_Identity,
+ { "drb-Identity", "nr-rrc.drb_Identity",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_countMSB_Uplink,
+ { "countMSB-Uplink", "nr-rrc.countMSB_Uplink",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_33554431", HFILL }},
+ { &hf_nr_rrc_countMSB_Downlink,
+ { "countMSB-Downlink", "nr-rrc.countMSB_Downlink",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_33554431", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_08,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_08_vals), 0,
+ "T_criticalExtensions_08", HFILL }},
+ { &hf_nr_rrc_counterCheckResponse_01,
+ { "counterCheckResponse", "nr-rrc.counterCheckResponse_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "CounterCheckResponse_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_08,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_08", HFILL }},
+ { &hf_nr_rrc_drb_CountInfoList,
+ { "drb-CountInfoList", "nr-rrc.drb_CountInfoList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_08,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_08", HFILL }},
+ { &hf_nr_rrc_DRB_CountInfoList_item,
+ { "DRB-CountInfo", "nr-rrc.DRB_CountInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_count_Uplink,
+ { "count-Uplink", "nr-rrc.count_Uplink",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_4294967295", HFILL }},
+ { &hf_nr_rrc_count_Downlink,
+ { "count-Downlink", "nr-rrc.count_Downlink",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_4294967295", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_09,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_09_vals), 0,
+ "T_criticalExtensions_09", HFILL }},
+ { &hf_nr_rrc_dlInformationTransfer_01,
+ { "dlInformationTransfer", "nr-rrc.dlInformationTransfer_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "DLInformationTransfer_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_09,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_09", HFILL }},
+ { &hf_nr_rrc_dedicatedNAS_Message,
+ { "dedicatedNAS-Message", "nr-rrc.dedicatedNAS_Message",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_09,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_09", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_10,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_10_vals), 0,
+ "T_criticalExtensions_10", HFILL }},
+ { &hf_nr_rrc_locationMeasurementIndication_01,
+ { "locationMeasurementIndication", "nr-rrc.locationMeasurementIndication_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "LocationMeasurementIndication_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_10,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_10", HFILL }},
+ { &hf_nr_rrc_measurementIndication,
+ { "measurementIndication", "nr-rrc.measurementIndication",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measurementIndication_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_01,
+ { "setup", "nr-rrc.setup",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_LocationMeasurementInfo_vals), 0,
+ "LocationMeasurementInfo", HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_10,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_10", HFILL }},
{ &hf_nr_rrc_systemFrameNumber,
{ "systemFrameNumber", "nr-rrc.systemFrameNumber",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -27567,9 +38854,9 @@ void proto_register_nr_rrc(void) {
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_TypeA_Position_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_pdcch_ConfigSIB1,
- { "pdcch-ConfigSIB1", "nr-rrc.pdcch_ConfigSIB1",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_255", HFILL }},
+ { "pdcch-ConfigSIB1", "nr-rrc.pdcch_ConfigSIB1_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_cellBarred,
{ "cellBarred", "nr-rrc.cellBarred",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellBarred_vals), 0,
@@ -27582,46 +38869,150 @@ void proto_register_nr_rrc(void) {
{ "spare", "nr-rrc.spare",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_1", HFILL }},
- { &hf_nr_rrc_criticalExtensions_05,
+ { &hf_nr_rrc_criticalExtensions_11,
{ "criticalExtensions", "nr-rrc.criticalExtensions",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_05_vals), 0,
- "T_criticalExtensions_05", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_11_vals), 0,
+ "T_criticalExtensions_11", HFILL }},
{ &hf_nr_rrc_measurementReport_01,
{ "measurementReport", "nr-rrc.measurementReport_element",
FT_NONE, BASE_NONE, NULL, 0,
"MeasurementReport_IEs", HFILL }},
- { &hf_nr_rrc_criticalExtensionsFuture_05,
+ { &hf_nr_rrc_criticalExtensionsFuture_11,
{ "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_criticalExtensionsFuture_05", HFILL }},
+ "T_criticalExtensionsFuture_11", HFILL }},
{ &hf_nr_rrc_measResults,
{ "measResults", "nr-rrc.measResults_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_lateNonCriticalExtension,
- { "lateNonCriticalExtension", "nr-rrc.lateNonCriticalExtension",
+ { &hf_nr_rrc_nonCriticalExtension_11,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_11", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_12,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_12_vals), 0,
+ "T_criticalExtensions_12", HFILL }},
+ { &hf_nr_rrc_mobilityFromNRCommand_01,
+ { "mobilityFromNRCommand", "nr-rrc.mobilityFromNRCommand_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "MobilityFromNRCommand_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_12,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_12", HFILL }},
+ { &hf_nr_rrc_targetRAT_Type,
+ { "targetRAT-Type", "nr-rrc.targetRAT_Type",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_targetRAT_Type_vals), 0,
+ "T_targetRAT_Type", HFILL }},
+ { &hf_nr_rrc_targetRAT_MessageContainer,
+ { "targetRAT-MessageContainer", "nr-rrc.targetRAT_MessageContainer",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "T_targetRAT_MessageContainer", HFILL }},
+ { &hf_nr_rrc_nas_SecurityParamFromNR,
+ { "nas-SecurityParamFromNR", "nr-rrc.nas_SecurityParamFromNR",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING", HFILL }},
- { &hf_nr_rrc_nonCriticalExtension_05,
+ { &hf_nr_rrc_nonCriticalExtension_12,
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_nonCriticalExtension_05", HFILL }},
- { &hf_nr_rrc_rrc_TransactionIdentifier,
- { "rrc-TransactionIdentifier", "nr-rrc.rrc_TransactionIdentifier",
+ "T_nonCriticalExtension_12", HFILL }},
+ { &hf_nr_rrc_pagingRecordList,
+ { "pagingRecordList", "nr-rrc.pagingRecordList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_criticalExtensions_06,
+ { &hf_nr_rrc_nonCriticalExtension_13,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_13", HFILL }},
+ { &hf_nr_rrc_PagingRecordList_item,
+ { "PagingRecord", "nr-rrc.PagingRecord_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ue_Identity,
+ { "ue-Identity", "nr-rrc.ue_Identity",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_PagingUE_Identity_vals), 0,
+ "PagingUE_Identity", HFILL }},
+ { &hf_nr_rrc_accessType,
+ { "accessType", "nr-rrc.accessType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_accessType_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ng_5G_S_TMSI,
+ { "ng-5G-S-TMSI", "nr-rrc.ng_5G_S_TMSI",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_i_RNTI,
+ { "i-RNTI", "nr-rrc.i_RNTI",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "I_RNTI_Value", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_13,
{ "criticalExtensions", "nr-rrc.criticalExtensions",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_06_vals), 0,
- "T_criticalExtensions_06", HFILL }},
- { &hf_nr_rrc_rrcReconfiguration_01,
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_13_vals), 0,
+ "T_criticalExtensions_13", HFILL }},
+ { &hf_nr_rrc_rrcReestablishment_01,
+ { "rrcReestablishment", "nr-rrc.rrcReestablishment_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RRCReestablishment_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_13,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_13", HFILL }},
+ { &hf_nr_rrc_nextHopChainingCount,
+ { "nextHopChainingCount", "nr-rrc.nextHopChainingCount",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_14,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_14", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_14,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_14_vals), 0,
+ "T_criticalExtensions_14", HFILL }},
+ { &hf_nr_rrc_rrcReestablishmentComplete_01,
+ { "rrcReestablishmentComplete", "nr-rrc.rrcReestablishmentComplete_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RRCReestablishmentComplete_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_14,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_14", HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_15,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_15", HFILL }},
+ { &hf_nr_rrc_rrcReestablishmentRequest_01,
+ { "rrcReestablishmentRequest", "nr-rrc.rrcReestablishmentRequest_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RRCReestablishmentRequest_IEs", HFILL }},
+ { &hf_nr_rrc_ue_Identity_01,
+ { "ue-Identity", "nr-rrc.ue_Identity_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ReestabUE_Identity", HFILL }},
+ { &hf_nr_rrc_reestablishmentCause,
+ { "reestablishmentCause", "nr-rrc.reestablishmentCause",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_ReestablishmentCause_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_c_RNTI,
+ { "c-RNTI", "nr-rrc.c_RNTI",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "RNTI_Value", HFILL }},
+ { &hf_nr_rrc_physCellId,
+ { "physCellId", "nr-rrc.physCellId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_criticalExtensions_15,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_15_vals), 0,
+ "T_criticalExtensions_15", HFILL }},
+ { &hf_nr_rrc_rrcReconfiguration_02,
{ "rrcReconfiguration", "nr-rrc.rrcReconfiguration_element",
FT_NONE, BASE_NONE, NULL, 0,
"RRCReconfiguration_IEs", HFILL }},
- { &hf_nr_rrc_criticalExtensionsFuture_06,
+ { &hf_nr_rrc_criticalExtensionsFuture_15,
{ "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_criticalExtensionsFuture_06", HFILL }},
+ "T_criticalExtensionsFuture_15", HFILL }},
{ &hf_nr_rrc_radioBearerConfig,
{ "radioBearerConfig", "nr-rrc.radioBearerConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -27634,226 +39025,1054 @@ void proto_register_nr_rrc(void) {
{ "measConfig", "nr-rrc.measConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_nonCriticalExtension_06,
+ { &hf_nr_rrc_nonCriticalExtension_16,
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_nonCriticalExtension_06", HFILL }},
- { &hf_nr_rrc_criticalExtensions_07,
+ "RRCReconfiguration_v1530_IEs", HFILL }},
+ { &hf_nr_rrc_masterCellGroup,
+ { "masterCellGroup", "nr-rrc.masterCellGroup",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_fullConfig,
+ { "fullConfig", "nr-rrc.fullConfig",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fullConfig_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dedicatedNAS_MessageList,
+ { "dedicatedNAS-MessageList", "nr-rrc.dedicatedNAS_MessageList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message", HFILL }},
+ { &hf_nr_rrc_dedicatedNAS_MessageList_item,
+ { "DedicatedNAS-Message", "nr-rrc.DedicatedNAS_Message",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_masterKeyUpdate,
+ { "masterKeyUpdate", "nr-rrc.masterKeyUpdate_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dedicatedSIB1_Delivery,
+ { "dedicatedSIB1-Delivery", "nr-rrc.dedicatedSIB1_Delivery",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dedicatedSystemInformationDelivery,
+ { "dedicatedSystemInformationDelivery", "nr-rrc.dedicatedSystemInformationDelivery",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_otherConfig,
+ { "otherConfig", "nr-rrc.otherConfig_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_17,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_16", HFILL }},
+ { &hf_nr_rrc_keySetChangeIndicator,
+ { "keySetChangeIndicator", "nr-rrc.keySetChangeIndicator",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_nr_rrc_nas_Container,
+ { "nas-Container", "nr-rrc.nas_Container",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_criticalExtensions_16,
{ "criticalExtensions", "nr-rrc.criticalExtensions",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_07_vals), 0,
- "T_criticalExtensions_07", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_16_vals), 0,
+ "T_criticalExtensions_16", HFILL }},
{ &hf_nr_rrc_rrcReconfigurationComplete_01,
{ "rrcReconfigurationComplete", "nr-rrc.rrcReconfigurationComplete_element",
FT_NONE, BASE_NONE, NULL, 0,
"RRCReconfigurationComplete_IEs", HFILL }},
- { &hf_nr_rrc_criticalExtensionsFuture_07,
+ { &hf_nr_rrc_criticalExtensionsFuture_16,
{ "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_criticalExtensionsFuture_07", HFILL }},
- { &hf_nr_rrc_nonCriticalExtension_07,
+ "T_criticalExtensionsFuture_16", HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_18,
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_nonCriticalExtension_07", HFILL }},
- { &hf_nr_rrc_frequencyOffsetSSB,
- { "frequencyOffsetSSB", "nr-rrc.frequencyOffsetSSB",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyOffsetSSB_vals), 0,
+ "RRCReconfigurationComplete_v1530_IEs", HFILL }},
+ { &hf_nr_rrc_uplinkTxDirectCurrentList,
+ { "uplinkTxDirectCurrentList", "nr-rrc.uplinkTxDirectCurrentList",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_ssb_PositionsInBurst,
- { "ssb-PositionsInBurst", "nr-rrc.ssb_PositionsInBurst_element",
+ { &hf_nr_rrc_nonCriticalExtension_19,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_17", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_17,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_17_vals), 0,
+ "T_criticalExtensions_17", HFILL }},
+ { &hf_nr_rrc_rrcReject_01,
+ { "rrcReject", "nr-rrc.rrcReject_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RRCReject_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_17,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_17", HFILL }},
+ { &hf_nr_rrc_waitTime,
+ { "waitTime", "nr-rrc.waitTime",
+ FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
+ "RejectWaitTime", HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_20,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_18", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_18,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_18_vals), 0,
+ "T_criticalExtensions_18", HFILL }},
+ { &hf_nr_rrc_rrcRelease_01,
+ { "rrcRelease", "nr-rrc.rrcRelease_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RRCRelease_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_18,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_18", HFILL }},
+ { &hf_nr_rrc_redirectedCarrierInfo,
+ { "redirectedCarrierInfo", "nr-rrc.redirectedCarrierInfo",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_RedirectedCarrierInfo_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_inOneGroup,
- { "inOneGroup", "nr-rrc.inOneGroup",
+ { &hf_nr_rrc_cellReselectionPriorities,
+ { "cellReselectionPriorities", "nr-rrc.cellReselectionPriorities_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_suspendConfig,
+ { "suspendConfig", "nr-rrc.suspendConfig_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_deprioritisationReq,
+ { "deprioritisationReq", "nr-rrc.deprioritisationReq_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_deprioritisationType,
+ { "deprioritisationType", "nr-rrc.deprioritisationType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_deprioritisationType_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_deprioritisationTimer,
+ { "deprioritisationTimer", "nr-rrc.deprioritisationTimer",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_deprioritisationTimer_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_21,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_19", HFILL }},
+ { &hf_nr_rrc_nr,
+ { "nr", "nr-rrc.nr_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "CarrierInfoNR", HFILL }},
+ { &hf_nr_rrc_eutra,
+ { "eutra", "nr-rrc.eutra_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RedirectedCarrierInfo_EUTRA", HFILL }},
+ { &hf_nr_rrc_eutraFrequency,
+ { "eutraFrequency", "nr-rrc.eutraFrequency",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ARFCN_ValueEUTRA", HFILL }},
+ { &hf_nr_rrc_cnType_r15,
+ { "cnType-r15", "nr-rrc.cnType_r15",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cnType_r15_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_smtc,
+ { "smtc", "nr-rrc.smtc_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "SSB_MTC", HFILL }},
+ { &hf_nr_rrc_fullI_RNTI,
+ { "fullI-RNTI", "nr-rrc.fullI_RNTI",
FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_8", HFILL }},
- { &hf_nr_rrc_groupPresence,
- { "groupPresence", "nr-rrc.groupPresence",
+ "I_RNTI_Value", HFILL }},
+ { &hf_nr_rrc_shortI_RNTI,
+ { "shortI-RNTI", "nr-rrc.shortI_RNTI",
FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_8", HFILL }},
- { &hf_nr_rrc_ssb_PeriodicityServingCell,
- { "ssb-PeriodicityServingCell", "nr-rrc.ssb_PeriodicityServingCell",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_PeriodicityServingCell_vals), 0,
+ "ShortI_RNTI_Value", HFILL }},
+ { &hf_nr_rrc_ran_PagingCycle,
+ { "ran-PagingCycle", "nr-rrc.ran_PagingCycle",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_PagingCycle_vals), 0,
+ "PagingCycle", HFILL }},
+ { &hf_nr_rrc_t380,
+ { "t380", "nr-rrc.t380",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_PeriodicRNAU_TimerValue_vals), 0,
+ "PeriodicRNAU_TimerValue", HFILL }},
+ { &hf_nr_rrc_freqPriorityListEUTRA,
+ { "freqPriorityListEUTRA", "nr-rrc.freqPriorityListEUTRA",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_ss_PBCH_BlockPower,
- { "ss-PBCH-BlockPower", "nr-rrc.ss_PBCH_BlockPower",
- FT_INT32, BASE_DEC, NULL, 0,
- "INTEGER_M60_50", HFILL }},
- { &hf_nr_rrc_uplinkConfigCommon,
- { "uplinkConfigCommon", "nr-rrc.uplinkConfigCommon_element",
+ { &hf_nr_rrc_freqPriorityListNR,
+ { "freqPriorityListNR", "nr-rrc.freqPriorityListNR",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_t320,
+ { "t320", "nr-rrc.t320",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t320_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_FreqPriorityListEUTRA_item,
+ { "FreqPriorityEUTRA", "nr-rrc.FreqPriorityEUTRA_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_supplementaryUplink,
- { "supplementaryUplink", "nr-rrc.supplementaryUplink_element",
+ { &hf_nr_rrc_FreqPriorityListNR_item,
+ { "FreqPriorityNR", "nr-rrc.FreqPriorityNR_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_tdd_UL_DL_Configuration,
- { "tdd-UL-DL-Configuration", "nr-rrc.tdd_UL_DL_Configuration_element",
+ { &hf_nr_rrc_carrierFreq_01,
+ { "carrierFreq", "nr-rrc.carrierFreq",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ARFCN_ValueEUTRA", HFILL }},
+ { &hf_nr_rrc_cellReselectionPriority,
+ { "cellReselectionPriority", "nr-rrc.cellReselectionPriority",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_cellReselectionSubPriority,
+ { "cellReselectionSubPriority", "nr-rrc.cellReselectionSubPriority",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_CellReselectionSubPriority_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_cellList,
+ { "cellList", "nr-rrc.cellList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "PLMN_RAN_AreaCellList", HFILL }},
+ { &hf_nr_rrc_ran_AreaConfigList,
+ { "ran-AreaConfigList", "nr-rrc.ran_AreaConfigList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "PLMN_RAN_AreaConfigList", HFILL }},
+ { &hf_nr_rrc_PLMN_RAN_AreaCellList_item,
+ { "PLMN-RAN-AreaCell", "nr-rrc.PLMN_RAN_AreaCell_element",
FT_NONE, BASE_NONE, NULL, 0,
- "TDD_UL_DL_ConfigCommon", HFILL }},
- { &hf_nr_rrc_tdd_UL_DL_configurationCommon2,
- { "tdd-UL-DL-configurationCommon2", "nr-rrc.tdd_UL_DL_configurationCommon2_element",
+ NULL, HFILL }},
+ { &hf_nr_rrc_plmn_Identity,
+ { "plmn-Identity", "nr-rrc.plmn_Identity_element",
FT_NONE, BASE_NONE, NULL, 0,
- "TDD_UL_DL_ConfigCommon", HFILL }},
- { &hf_nr_rrc_pdcch_ConfigCommon,
- { "pdcch-ConfigCommon", "nr-rrc.pdcch_ConfigCommon_element",
+ NULL, HFILL }},
+ { &hf_nr_rrc_ran_AreaCells,
+ { "ran-AreaCells", "nr-rrc.ran_AreaCells",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_32_OF_CellIdentity", HFILL }},
+ { &hf_nr_rrc_ran_AreaCells_item,
+ { "CellIdentity", "nr-rrc.CellIdentity",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_PLMN_RAN_AreaConfigList_item,
+ { "PLMN-RAN-AreaConfig", "nr-rrc.PLMN_RAN_AreaConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_pucch_ConfigCommon,
- { "pucch-ConfigCommon", "nr-rrc.pucch_ConfigCommon_element",
+ { &hf_nr_rrc_ran_Area,
+ { "ran-Area", "nr-rrc.ran_Area",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig", HFILL }},
+ { &hf_nr_rrc_ran_Area_item,
+ { "RAN-AreaConfig", "nr-rrc.RAN_AreaConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_nonCriticalExtension_08,
+ { &hf_nr_rrc_trackingAreaCode,
+ { "trackingAreaCode", "nr-rrc.trackingAreaCode",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ran_AreaCodeList,
+ { "ran-AreaCodeList", "nr-rrc.ran_AreaCodeList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_32_OF_RAN_AreaCode", HFILL }},
+ { &hf_nr_rrc_ran_AreaCodeList_item,
+ { "RAN-AreaCode", "nr-rrc.RAN_AreaCode",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_criticalExtensions_19,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_19_vals), 0,
+ "T_criticalExtensions_19", HFILL }},
+ { &hf_nr_rrc_rrcResume_01,
+ { "rrcResume", "nr-rrc.rrcResume_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RRCResume_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_19,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_19", HFILL }},
+ { &hf_nr_rrc_masterCellGroup_01,
+ { "masterCellGroup", "nr-rrc.masterCellGroup",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "T_masterCellGroup_01", HFILL }},
+ { &hf_nr_rrc_fullConfig_01,
+ { "fullConfig", "nr-rrc.fullConfig",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fullConfig_01_vals), 0,
+ "T_fullConfig_01", HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_22,
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_nonCriticalExtension_08", HFILL }},
- { &hf_nr_rrc_locationAndBandwidth,
- { "locationAndBandwidth", "nr-rrc.locationAndBandwidth",
+ "T_nonCriticalExtension_20", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_20,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_20_vals), 0,
+ "T_criticalExtensions_20", HFILL }},
+ { &hf_nr_rrc_rrcResumeComplete_01,
+ { "rrcResumeComplete", "nr-rrc.rrcResumeComplete_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RRCResumeComplete_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_20,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_20", HFILL }},
+ { &hf_nr_rrc_selectedPLMN_Identity,
+ { "selectedPLMN-Identity", "nr-rrc.selectedPLMN_Identity",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_37949", HFILL }},
- { &hf_nr_rrc_subcarrierSpacing,
- { "subcarrierSpacing", "nr-rrc.subcarrierSpacing",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
+ "INTEGER_1_maxPLMN", HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_23,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_21", HFILL }},
+ { &hf_nr_rrc_rrcResumeRequest_01,
+ { "rrcResumeRequest", "nr-rrc.rrcResumeRequest_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RRCResumeRequest_IEs", HFILL }},
+ { &hf_nr_rrc_resumeIdentity,
+ { "resumeIdentity", "nr-rrc.resumeIdentity",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "ShortI_RNTI_Value", HFILL }},
+ { &hf_nr_rrc_resumeMAC_I,
+ { "resumeMAC-I", "nr-rrc.resumeMAC_I",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_16", HFILL }},
+ { &hf_nr_rrc_resumeCause,
+ { "resumeCause", "nr-rrc.resumeCause",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_ResumeCause_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_cyclicPrefix,
- { "cyclicPrefix", "nr-rrc.cyclicPrefix",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cyclicPrefix_vals), 0,
+ { &hf_nr_rrc_rrcResumeRequest1_01,
+ { "rrcResumeRequest1", "nr-rrc.rrcResumeRequest1_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RRCResumeRequest1_IEs", HFILL }},
+ { &hf_nr_rrc_resumeIdentity_01,
+ { "resumeIdentity", "nr-rrc.resumeIdentity",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "I_RNTI_Value", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_21,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_21_vals), 0,
+ "T_criticalExtensions_21", HFILL }},
+ { &hf_nr_rrc_rrcSetup_01,
+ { "rrcSetup", "nr-rrc.rrcSetup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RRCSetup_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_21,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_21", HFILL }},
+ { &hf_nr_rrc_masterCellGroup_02,
+ { "masterCellGroup", "nr-rrc.masterCellGroup",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "T_masterCellGroup_02", HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_24,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_22", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_22,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_22_vals), 0,
+ "T_criticalExtensions_22", HFILL }},
+ { &hf_nr_rrc_rrcSetupComplete_01,
+ { "rrcSetupComplete", "nr-rrc.rrcSetupComplete_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RRCSetupComplete_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_22,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_22", HFILL }},
+ { &hf_nr_rrc_registeredAMF,
+ { "registeredAMF", "nr-rrc.registeredAMF_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_bwp_Id,
- { "bwp-Id", "nr-rrc.bwp_Id",
+ { &hf_nr_rrc_guami_Type,
+ { "guami-Type", "nr-rrc.guami_Type",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_guami_Type_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_s_nssai_List,
+ { "s-nssai-List", "nr-rrc.s_nssai_List",
FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI", HFILL }},
+ { &hf_nr_rrc_s_nssai_List_item,
+ { "S-NSSAI", "nr-rrc.S_NSSAI",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_S_NSSAI_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_bwp_Common,
- { "bwp-Common", "nr-rrc.bwp_Common_element",
+ { &hf_nr_rrc_ng_5G_S_TMSI_Value,
+ { "ng-5G-S-TMSI-Value", "nr-rrc.ng_5G_S_TMSI_Value",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ng_5G_S_TMSI_Value_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ng_5G_S_TMSI_Part2,
+ { "ng-5G-S-TMSI-Part2", "nr-rrc.ng_5G_S_TMSI_Part2",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_9", HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_25,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- "BWP_UplinkCommon", HFILL }},
- { &hf_nr_rrc_bwp_Dedicated,
- { "bwp-Dedicated", "nr-rrc.bwp_Dedicated_element",
+ "T_nonCriticalExtension_23", HFILL }},
+ { &hf_nr_rrc_amf_Identifier,
+ { "amf-Identifier", "nr-rrc.amf_Identifier",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rrcSetupRequest_01,
+ { "rrcSetupRequest", "nr-rrc.rrcSetupRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
- "BWP_UplinkDedicated", HFILL }},
- { &hf_nr_rrc_genericParameters,
- { "genericParameters", "nr-rrc.genericParameters_element",
+ "RRCSetupRequest_IEs", HFILL }},
+ { &hf_nr_rrc_ue_Identity_02,
+ { "ue-Identity", "nr-rrc.ue_Identity",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_InitialUE_Identity_vals), 0,
+ "InitialUE_Identity", HFILL }},
+ { &hf_nr_rrc_establishmentCause,
+ { "establishmentCause", "nr-rrc.establishmentCause",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_EstablishmentCause_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ng_5G_S_TMSI_Part1,
+ { "ng-5G-S-TMSI-Part1", "nr-rrc.ng_5G_S_TMSI_Part1",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_39", HFILL }},
+ { &hf_nr_rrc_randomValue,
+ { "randomValue", "nr-rrc.randomValue",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_39", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_23,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_23_vals), 0,
+ "T_criticalExtensions_23", HFILL }},
+ { &hf_nr_rrc_rrcSystemInfoRequest_r15,
+ { "rrcSystemInfoRequest-r15", "nr-rrc.rrcSystemInfoRequest_r15_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RRCSystemInfoRequest_r15_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_23,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_23", HFILL }},
+ { &hf_nr_rrc_requested_SI_List,
+ { "requested-SI-List", "nr-rrc.requested_SI_List",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_maxSI_Message", HFILL }},
+ { &hf_nr_rrc_spare_01,
+ { "spare", "nr-rrc.spare",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_12", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_24,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_24_vals), 0,
+ "T_criticalExtensions_24", HFILL }},
+ { &hf_nr_rrc_securityModeCommand_01,
+ { "securityModeCommand", "nr-rrc.securityModeCommand_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "SecurityModeCommand_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_24,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_24", HFILL }},
+ { &hf_nr_rrc_securityConfigSMC,
+ { "securityConfigSMC", "nr-rrc.securityConfigSMC_element",
FT_NONE, BASE_NONE, NULL, 0,
- "BWP", HFILL }},
- { &hf_nr_rrc_rach_ConfigCommon,
- { "rach-ConfigCommon", "nr-rrc.rach_ConfigCommon",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rach_ConfigCommon_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_01,
- { "setup", "nr-rrc.setup_element",
+ { &hf_nr_rrc_nonCriticalExtension_26,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_24", HFILL }},
+ { &hf_nr_rrc_securityAlgorithmConfig,
+ { "securityAlgorithmConfig", "nr-rrc.securityAlgorithmConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
- "RACH_ConfigCommon", HFILL }},
- { &hf_nr_rrc_pusch_ConfigCommon,
- { "pusch-ConfigCommon", "nr-rrc.pusch_ConfigCommon",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_ConfigCommon_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_02,
- { "setup", "nr-rrc.setup_element",
+ { &hf_nr_rrc_criticalExtensions_25,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_25_vals), 0,
+ "T_criticalExtensions_25", HFILL }},
+ { &hf_nr_rrc_securityModeComplete_01,
+ { "securityModeComplete", "nr-rrc.securityModeComplete_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "SecurityModeComplete_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_25,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_25", HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_27,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_25", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_26,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_26_vals), 0,
+ "T_criticalExtensions_26", HFILL }},
+ { &hf_nr_rrc_securityModeFailure_01,
+ { "securityModeFailure", "nr-rrc.securityModeFailure_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "SecurityModeFailure_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_26,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_26", HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_28,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_26", HFILL }},
+ { &hf_nr_rrc_cellSelectionInfo,
+ { "cellSelectionInfo", "nr-rrc.cellSelectionInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
- "PUSCH_ConfigCommon", HFILL }},
- { &hf_nr_rrc_pucch_ConfigCommon_01,
- { "pucch-ConfigCommon", "nr-rrc.pucch_ConfigCommon",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_ConfigCommon_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_03,
- { "setup", "nr-rrc.setup_element",
+ { &hf_nr_rrc_q_RxLevMin,
+ { "q-RxLevMin", "nr-rrc.q_RxLevMin",
+ FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Q_RxLevMin_fmt), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_q_RxLevMinOffset,
+ { "q-RxLevMinOffset", "nr-rrc.q_RxLevMinOffset",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_q_RxLevMin_fmt), 0,
+ "INTEGER_1_8", HFILL }},
+ { &hf_nr_rrc_q_RxLevMinSUL,
+ { "q-RxLevMinSUL", "nr-rrc.q_RxLevMinSUL",
+ FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Q_RxLevMin_fmt), 0,
+ "Q_RxLevMin", HFILL }},
+ { &hf_nr_rrc_q_QualMin,
+ { "q-QualMin", "nr-rrc.q_QualMin",
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_q_QualMinOffset,
+ { "q-QualMinOffset", "nr-rrc.q_QualMinOffset",
+ FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
+ "INTEGER_1_8", HFILL }},
+ { &hf_nr_rrc_cellAccessRelatedInfo,
+ { "cellAccessRelatedInfo", "nr-rrc.cellAccessRelatedInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
- "PUCCH_ConfigCommon", HFILL }},
- { &hf_nr_rrc_pucch_Config,
- { "pucch-Config", "nr-rrc.pucch_Config",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_Config_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_04,
- { "setup", "nr-rrc.setup_element",
+ { &hf_nr_rrc_connEstFailureControl,
+ { "connEstFailureControl", "nr-rrc.connEstFailureControl_element",
FT_NONE, BASE_NONE, NULL, 0,
- "PUCCH_Config", HFILL }},
- { &hf_nr_rrc_pusch_Config,
- { "pusch-Config", "nr-rrc.pusch_Config",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_Config_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_05,
- { "setup", "nr-rrc.setup_element",
+ { &hf_nr_rrc_si_SchedulingInfo,
+ { "si-SchedulingInfo", "nr-rrc.si_SchedulingInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
- "PUSCH_Config", HFILL }},
- { &hf_nr_rrc_configuredGrantConfig,
- { "configuredGrantConfig", "nr-rrc.configuredGrantConfig",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredGrantConfig_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_06,
- { "setup", "nr-rrc.setup_element",
+ { &hf_nr_rrc_servingCellConfigCommon,
+ { "servingCellConfigCommon", "nr-rrc.servingCellConfigCommon_element",
FT_NONE, BASE_NONE, NULL, 0,
- "ConfiguredGrantConfig", HFILL }},
- { &hf_nr_rrc_srs_Config,
- { "srs-Config", "nr-rrc.srs_Config",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_Config_vals), 0,
+ "ServingCellConfigCommonSIB", HFILL }},
+ { &hf_nr_rrc_ims_EmergencySupport,
+ { "ims-EmergencySupport", "nr-rrc.ims_EmergencySupport",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ims_EmergencySupport_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_07,
- { "setup", "nr-rrc.setup_element",
+ { &hf_nr_rrc_eCallOverIMS_Support,
+ { "eCallOverIMS-Support", "nr-rrc.eCallOverIMS_Support",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eCallOverIMS_Support_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ue_TimersAndConstants,
+ { "ue-TimersAndConstants", "nr-rrc.ue_TimersAndConstants_element",
FT_NONE, BASE_NONE, NULL, 0,
- "SRS_Config", HFILL }},
- { &hf_nr_rrc_beamFailureRecoveryConfig,
- { "beamFailureRecoveryConfig", "nr-rrc.beamFailureRecoveryConfig",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureRecoveryConfig_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_08,
- { "setup", "nr-rrc.setup_element",
+ { &hf_nr_rrc_uac_BarringInfo,
+ { "uac-BarringInfo", "nr-rrc.uac_BarringInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
- "BeamFailureRecoveryConfig", HFILL }},
- { &hf_nr_rrc_bwp_Common_01,
- { "bwp-Common", "nr-rrc.bwp_Common_element",
+ NULL, HFILL }},
+ { &hf_nr_rrc_uac_BarringForCommon,
+ { "uac-BarringForCommon", "nr-rrc.uac_BarringForCommon",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "UAC_BarringPerCatList", HFILL }},
+ { &hf_nr_rrc_uac_BarringPerPLMN_List,
+ { "uac-BarringPerPLMN-List", "nr-rrc.uac_BarringPerPLMN_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_uac_BarringInfoSetList,
+ { "uac-BarringInfoSetList", "nr-rrc.uac_BarringInfoSetList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_uac_AccessCategory1_SelectionAssistanceInfo,
+ { "uac-AccessCategory1-SelectionAssistanceInfo", "nr-rrc.uac_AccessCategory1_SelectionAssistanceInfo",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_plmnCommon,
+ { "plmnCommon", "nr-rrc.plmnCommon",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_UAC_AccessCategory1_SelectionAssistanceInfo_vals), 0,
+ "UAC_AccessCategory1_SelectionAssistanceInfo", HFILL }},
+ { &hf_nr_rrc_individualPLMNList,
+ { "individualPLMNList", "nr-rrc.individualPLMNList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo", HFILL }},
+ { &hf_nr_rrc_individualPLMNList_item,
+ { "UAC-AccessCategory1-SelectionAssistanceInfo", "nr-rrc.UAC_AccessCategory1_SelectionAssistanceInfo",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_UAC_AccessCategory1_SelectionAssistanceInfo_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_useFullResumeID,
+ { "useFullResumeID", "nr-rrc.useFullResumeID",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_useFullResumeID_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_29,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- "BWP_DownlinkCommon", HFILL }},
- { &hf_nr_rrc_bwp_Dedicated_01,
- { "bwp-Dedicated", "nr-rrc.bwp_Dedicated_element",
+ "T_nonCriticalExtension_27", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_27,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_27_vals), 0,
+ "T_criticalExtensions_27", HFILL }},
+ { &hf_nr_rrc_systemInformation_r15,
+ { "systemInformation-r15", "nr-rrc.systemInformation_r15_element",
FT_NONE, BASE_NONE, NULL, 0,
- "BWP_DownlinkDedicated", HFILL }},
- { &hf_nr_rrc_pdcch_ConfigCommon_01,
- { "pdcch-ConfigCommon", "nr-rrc.pdcch_ConfigCommon",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_ConfigCommon_vals), 0,
+ "SystemInformation_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_27,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_27", HFILL }},
+ { &hf_nr_rrc_sib_TypeAndInfo,
+ { "sib-TypeAndInfo", "nr-rrc.sib_TypeAndInfo",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_09,
- { "setup", "nr-rrc.setup_element",
+ { &hf_nr_rrc_sib_TypeAndInfo_item,
+ { "sib-TypeAndInfo item", "nr-rrc.sib_TypeAndInfo_item",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sib_TypeAndInfo_item_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib2,
+ { "sib2", "nr-rrc.sib2_element",
FT_NONE, BASE_NONE, NULL, 0,
- "PDCCH_ConfigCommon", HFILL }},
- { &hf_nr_rrc_pdsch_ConfigCommon,
- { "pdsch-ConfigCommon", "nr-rrc.pdsch_ConfigCommon",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_ConfigCommon_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_10,
- { "setup", "nr-rrc.setup_element",
+ { &hf_nr_rrc_sib3,
+ { "sib3", "nr-rrc.sib3_element",
FT_NONE, BASE_NONE, NULL, 0,
- "PDSCH_ConfigCommon", HFILL }},
- { &hf_nr_rrc_pdcch_Config,
- { "pdcch-Config", "nr-rrc.pdcch_Config",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_Config_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_11,
- { "setup", "nr-rrc.setup_element",
+ { &hf_nr_rrc_sib4,
+ { "sib4", "nr-rrc.sib4_element",
FT_NONE, BASE_NONE, NULL, 0,
- "PDCCH_Config", HFILL }},
- { &hf_nr_rrc_pdsch_Config,
- { "pdsch-Config", "nr-rrc.pdsch_Config",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_Config_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_12,
- { "setup", "nr-rrc.setup_element",
+ { &hf_nr_rrc_sib5,
+ { "sib5", "nr-rrc.sib5_element",
FT_NONE, BASE_NONE, NULL, 0,
- "PDSCH_Config", HFILL }},
- { &hf_nr_rrc_sps_Config,
- { "sps-Config", "nr-rrc.sps_Config",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sps_Config_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_13,
- { "setup", "nr-rrc.setup_element",
+ { &hf_nr_rrc_sib6,
+ { "sib6", "nr-rrc.sib6_element",
FT_NONE, BASE_NONE, NULL, 0,
- "SPS_Config", HFILL }},
- { &hf_nr_rrc_radioLinkMonitoringConfig,
- { "radioLinkMonitoringConfig", "nr-rrc.radioLinkMonitoringConfig",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_radioLinkMonitoringConfig_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_14,
- { "setup", "nr-rrc.setup_element",
+ { &hf_nr_rrc_sib7,
+ { "sib7", "nr-rrc.sib7_element",
FT_NONE, BASE_NONE, NULL, 0,
- "RadioLinkMonitoringConfig", HFILL }},
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8,
+ { "sib8", "nr-rrc.sib8_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib9,
+ { "sib9", "nr-rrc.sib9_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_30,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_28", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_28,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_28_vals), 0,
+ "T_criticalExtensions_28", HFILL }},
+ { &hf_nr_rrc_ueAssistanceInformation_01,
+ { "ueAssistanceInformation", "nr-rrc.ueAssistanceInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UEAssistanceInformation_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_28,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_28", HFILL }},
+ { &hf_nr_rrc_delayBudgetReport,
+ { "delayBudgetReport", "nr-rrc.delayBudgetReport",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_DelayBudgetReport_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_31,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_29", HFILL }},
+ { &hf_nr_rrc_type1,
+ { "type1", "nr-rrc.type1",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_type1_vals_ext, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_criticalExtensions_29,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_29_vals), 0,
+ "T_criticalExtensions_29", HFILL }},
+ { &hf_nr_rrc_ueCapabilityEnquiry_01,
+ { "ueCapabilityEnquiry", "nr-rrc.ueCapabilityEnquiry_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UECapabilityEnquiry_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_29,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_29", HFILL }},
+ { &hf_nr_rrc_ue_CapabilityRAT_RequestList,
+ { "ue-CapabilityRAT-RequestList", "nr-rrc.ue_CapabilityRAT_RequestList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_32,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_30", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_30,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_30_vals), 0,
+ "T_criticalExtensions_30", HFILL }},
+ { &hf_nr_rrc_ueCapabilityInformation_01,
+ { "ueCapabilityInformation", "nr-rrc.ueCapabilityInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UECapabilityInformation_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_30,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_30", HFILL }},
+ { &hf_nr_rrc_ue_CapabilityRAT_ContainerList,
+ { "ue-CapabilityRAT-ContainerList", "nr-rrc.ue_CapabilityRAT_ContainerList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_33,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_31", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_31,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_31_vals), 0,
+ "T_criticalExtensions_31", HFILL }},
+ { &hf_nr_rrc_ulInformationTransfer_01,
+ { "ulInformationTransfer", "nr-rrc.ulInformationTransfer_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ULInformationTransfer_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_31,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_31", HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_34,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_32", HFILL }},
+ { &hf_nr_rrc_cellReselectionInfoCommon,
+ { "cellReselectionInfoCommon", "nr-rrc.cellReselectionInfoCommon_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nrofSS_BlocksToAverage,
+ { "nrofSS-BlocksToAverage", "nr-rrc.nrofSS_BlocksToAverage",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_2_maxNrofSS_BlocksToAverage", HFILL }},
+ { &hf_nr_rrc_absThreshSS_BlocksConsolidation,
+ { "absThreshSS-BlocksConsolidation", "nr-rrc.absThreshSS_BlocksConsolidation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ThresholdNR", HFILL }},
+ { &hf_nr_rrc_rangeToBestCell,
+ { "rangeToBestCell", "nr-rrc.rangeToBestCell",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_q_Hyst,
+ { "q-Hyst", "nr-rrc.q_Hyst",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_q_Hyst_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_speedStateReselectionPars,
+ { "speedStateReselectionPars", "nr-rrc.speedStateReselectionPars_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_mobilityStateParameters,
+ { "mobilityStateParameters", "nr-rrc.mobilityStateParameters_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_q_HystSF,
+ { "q-HystSF", "nr-rrc.q_HystSF_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sf_Medium,
+ { "sf-Medium", "nr-rrc.sf_Medium",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sf_Medium_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sf_High,
+ { "sf-High", "nr-rrc.sf_High",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sf_High_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_cellReselectionServingFreqInfo,
+ { "cellReselectionServingFreqInfo", "nr-rrc.cellReselectionServingFreqInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_s_NonIntraSearchP,
+ { "s-NonIntraSearchP", "nr-rrc.s_NonIntraSearchP",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0,
+ "ReselectionThreshold", HFILL }},
+ { &hf_nr_rrc_s_NonIntraSearchQ,
+ { "s-NonIntraSearchQ", "nr-rrc.s_NonIntraSearchQ",
+ FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
+ "ReselectionThresholdQ", HFILL }},
+ { &hf_nr_rrc_threshServingLowP,
+ { "threshServingLowP", "nr-rrc.threshServingLowP",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0,
+ "ReselectionThreshold", HFILL }},
+ { &hf_nr_rrc_threshServingLowQ,
+ { "threshServingLowQ", "nr-rrc.threshServingLowQ",
+ FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
+ "ReselectionThresholdQ", HFILL }},
+ { &hf_nr_rrc_intraFreqCellReselectionInfo,
+ { "intraFreqCellReselectionInfo", "nr-rrc.intraFreqCellReselectionInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_s_IntraSearchP,
+ { "s-IntraSearchP", "nr-rrc.s_IntraSearchP",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0,
+ "ReselectionThreshold", HFILL }},
+ { &hf_nr_rrc_s_IntraSearchQ,
+ { "s-IntraSearchQ", "nr-rrc.s_IntraSearchQ",
+ FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
+ "ReselectionThresholdQ", HFILL }},
+ { &hf_nr_rrc_t_ReselectionNR,
+ { "t-ReselectionNR", "nr-rrc.t_ReselectionNR",
+ FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
+ "T_Reselection", HFILL }},
+ { &hf_nr_rrc_frequencyBandList,
+ { "frequencyBandList", "nr-rrc.frequencyBandList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "MultiFrequencyBandListNR_SIB", HFILL }},
+ { &hf_nr_rrc_frequencyBandListSUL,
+ { "frequencyBandListSUL", "nr-rrc.frequencyBandListSUL",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "MultiFrequencyBandListNR_SIB", HFILL }},
+ { &hf_nr_rrc_p_Max,
+ { "p-Max", "nr-rrc.p_Max",
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ssb_ToMeasure,
+ { "ssb-ToMeasure", "nr-rrc.ssb_ToMeasure",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_SSB_ToMeasure_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_deriveSSB_IndexFromCell,
+ { "deriveSSB-IndexFromCell", "nr-rrc.deriveSSB_IndexFromCell",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_nr_rrc_intraFreqNeighCellList,
+ { "intraFreqNeighCellList", "nr-rrc.intraFreqNeighCellList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_intraFreqBlackCellList,
+ { "intraFreqBlackCellList", "nr-rrc.intraFreqBlackCellList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_IntraFreqNeighCellList_item,
+ { "IntraFreqNeighCellInfo", "nr-rrc.IntraFreqNeighCellInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_q_OffsetCell,
+ { "q-OffsetCell", "nr-rrc.q_OffsetCell",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
+ "Q_OffsetRange", HFILL }},
+ { &hf_nr_rrc_q_RxLevMinOffsetCell,
+ { "q-RxLevMinOffsetCell", "nr-rrc.q_RxLevMinOffsetCell",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_q_RxLevMin_fmt), 0,
+ "INTEGER_1_8", HFILL }},
+ { &hf_nr_rrc_q_RxLevMinOffsetCellSUL,
+ { "q-RxLevMinOffsetCellSUL", "nr-rrc.q_RxLevMinOffsetCellSUL",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_q_RxLevMin_fmt), 0,
+ "INTEGER_1_8", HFILL }},
+ { &hf_nr_rrc_q_QualMinOffsetCell,
+ { "q-QualMinOffsetCell", "nr-rrc.q_QualMinOffsetCell",
+ FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
+ "INTEGER_1_8", HFILL }},
+ { &hf_nr_rrc_IntraFreqBlackCellList_item,
+ { "PCI-Range", "nr-rrc.PCI_Range_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_interFreqCarrierFreqList,
+ { "interFreqCarrierFreqList", "nr-rrc.interFreqCarrierFreqList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_InterFreqCarrierFreqList_item,
+ { "InterFreqCarrierFreqInfo", "nr-rrc.InterFreqCarrierFreqInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dl_CarrierFreq,
+ { "dl-CarrierFreq", "nr-rrc.dl_CarrierFreq",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ARFCN_ValueNR", HFILL }},
+ { &hf_nr_rrc_t_ReselectionNR_SF,
+ { "t-ReselectionNR-SF", "nr-rrc.t_ReselectionNR_SF_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "SpeedStateScaleFactors", HFILL }},
+ { &hf_nr_rrc_threshX_HighP,
+ { "threshX-HighP", "nr-rrc.threshX_HighP",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0,
+ "ReselectionThreshold", HFILL }},
+ { &hf_nr_rrc_threshX_LowP,
+ { "threshX-LowP", "nr-rrc.threshX_LowP",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0,
+ "ReselectionThreshold", HFILL }},
+ { &hf_nr_rrc_threshX_Q,
+ { "threshX-Q", "nr-rrc.threshX_Q_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_threshX_HighQ,
+ { "threshX-HighQ", "nr-rrc.threshX_HighQ",
+ FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
+ "ReselectionThresholdQ", HFILL }},
+ { &hf_nr_rrc_threshX_LowQ,
+ { "threshX-LowQ", "nr-rrc.threshX_LowQ",
+ FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
+ "ReselectionThresholdQ", HFILL }},
+ { &hf_nr_rrc_q_OffsetFreq,
+ { "q-OffsetFreq", "nr-rrc.q_OffsetFreq",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
+ "Q_OffsetRange", HFILL }},
+ { &hf_nr_rrc_interFreqNeighCellList,
+ { "interFreqNeighCellList", "nr-rrc.interFreqNeighCellList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_interFreqBlackCellList,
+ { "interFreqBlackCellList", "nr-rrc.interFreqBlackCellList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_InterFreqNeighCellList_item,
+ { "InterFreqNeighCellInfo", "nr-rrc.InterFreqNeighCellInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_InterFreqBlackCellList_item,
+ { "PCI-Range", "nr-rrc.PCI_Range_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_carrierFreqListEUTRA,
+ { "carrierFreqListEUTRA", "nr-rrc.carrierFreqListEUTRA",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_t_ReselectionEUTRA,
+ { "t-ReselectionEUTRA", "nr-rrc.t_ReselectionEUTRA",
+ FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
+ "T_Reselection", HFILL }},
+ { &hf_nr_rrc_t_ReselectionEUTRA_SF,
+ { "t-ReselectionEUTRA-SF", "nr-rrc.t_ReselectionEUTRA_SF_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "SpeedStateScaleFactors", HFILL }},
+ { &hf_nr_rrc_CarrierFreqListEUTRA_item,
+ { "CarrierFreqEUTRA", "nr-rrc.CarrierFreqEUTRA_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_eutra_multiBandInfoList,
+ { "eutra-multiBandInfoList", "nr-rrc.eutra_multiBandInfoList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_eutra_FreqNeighCellList,
+ { "eutra-FreqNeighCellList", "nr-rrc.eutra_FreqNeighCellList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_eutra_BlackCellList,
+ { "eutra-BlackCellList", "nr-rrc.eutra_BlackCellList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "EUTRA_FreqBlackCellList", HFILL }},
+ { &hf_nr_rrc_allowedMeasBandwidth,
+ { "allowedMeasBandwidth", "nr-rrc.allowedMeasBandwidth",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_EUTRA_AllowedMeasBandwidth_vals), 0,
+ "EUTRA_AllowedMeasBandwidth", HFILL }},
+ { &hf_nr_rrc_presenceAntennaPort1,
+ { "presenceAntennaPort1", "nr-rrc.presenceAntennaPort1",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "EUTRA_PresenceAntennaPort1", HFILL }},
+ { &hf_nr_rrc_threshX_High,
+ { "threshX-High", "nr-rrc.threshX_High",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0,
+ "ReselectionThreshold", HFILL }},
+ { &hf_nr_rrc_threshX_Low,
+ { "threshX-Low", "nr-rrc.threshX_Low",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0,
+ "ReselectionThreshold", HFILL }},
+ { &hf_nr_rrc_q_RxLevMin_01,
+ { "q-RxLevMin", "nr-rrc.q_RxLevMin",
+ FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_q_RxLevMin_fmt), 0,
+ "INTEGER_M70_M22", HFILL }},
+ { &hf_nr_rrc_q_QualMin_01,
+ { "q-QualMin", "nr-rrc.q_QualMin",
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
+ "INTEGER_M34_M3", HFILL }},
+ { &hf_nr_rrc_p_MaxEUTRA,
+ { "p-MaxEUTRA", "nr-rrc.p_MaxEUTRA",
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
+ "INTEGER_M30_33", HFILL }},
+ { &hf_nr_rrc_threshX_Q_01,
+ { "threshX-Q", "nr-rrc.threshX_Q_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_threshX_Q_01", HFILL }},
+ { &hf_nr_rrc_EUTRA_FreqBlackCellList_item,
+ { "EUTRA-PhysCellIdRange", "nr-rrc.EUTRA_PhysCellIdRange_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_EUTRA_FreqNeighCellList_item,
+ { "EUTRA-FreqNeighCellInfo", "nr-rrc.EUTRA_FreqNeighCellInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_physCellId_01,
+ { "physCellId", "nr-rrc.physCellId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "EUTRA_PhysCellId", HFILL }},
+ { &hf_nr_rrc_q_OffsetCell_01,
+ { "q-OffsetCell", "nr-rrc.q_OffsetCell",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_EUTRA_Q_OffsetRange_vals_ext, 0,
+ "EUTRA_Q_OffsetRange", HFILL }},
+ { &hf_nr_rrc_messageIdentifier,
+ { "messageIdentifier", "nr-rrc.messageIdentifier",
+ FT_UINT16, BASE_DEC|BASE_EXT_STRING, &lte_rrc_messageIdentifier_vals_ext, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_serialNumber,
+ { "serialNumber", "nr-rrc.serialNumber",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_warningType,
+ { "warningType", "nr-rrc.warningType",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_messageIdentifier_01,
+ { "messageIdentifier", "nr-rrc.messageIdentifier",
+ FT_UINT16, BASE_DEC|BASE_EXT_STRING, &lte_rrc_messageIdentifier_vals_ext, 0,
+ "T_messageIdentifier_01", HFILL }},
+ { &hf_nr_rrc_serialNumber_01,
+ { "serialNumber", "nr-rrc.serialNumber",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "T_serialNumber_01", HFILL }},
+ { &hf_nr_rrc_warningMessageSegmentType,
+ { "warningMessageSegmentType", "nr-rrc.warningMessageSegmentType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_warningMessageSegmentType_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_warningMessageSegmentNumber,
+ { "warningMessageSegmentNumber", "nr-rrc.warningMessageSegmentNumber",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_warningMessageSegment,
+ { "warningMessageSegment", "nr-rrc.warningMessageSegment",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dataCodingScheme,
+ { "dataCodingScheme", "nr-rrc.dataCodingScheme",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_messageIdentifier_02,
+ { "messageIdentifier", "nr-rrc.messageIdentifier",
+ FT_UINT16, BASE_DEC|BASE_EXT_STRING, &lte_rrc_messageIdentifier_vals_ext, 0,
+ "T_messageIdentifier_02", HFILL }},
+ { &hf_nr_rrc_serialNumber_02,
+ { "serialNumber", "nr-rrc.serialNumber",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "T_serialNumber_02", HFILL }},
+ { &hf_nr_rrc_warningMessageSegmentType_01,
+ { "warningMessageSegmentType", "nr-rrc.warningMessageSegmentType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_warningMessageSegmentType_01_vals), 0,
+ "T_warningMessageSegmentType_01", HFILL }},
+ { &hf_nr_rrc_warningMessageSegmentNumber_01,
+ { "warningMessageSegmentNumber", "nr-rrc.warningMessageSegmentNumber",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "T_warningMessageSegmentNumber_01", HFILL }},
+ { &hf_nr_rrc_warningMessageSegment_01,
+ { "warningMessageSegment", "nr-rrc.warningMessageSegment",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "T_warningMessageSegment_01", HFILL }},
+ { &hf_nr_rrc_dataCodingScheme_01,
+ { "dataCodingScheme", "nr-rrc.dataCodingScheme",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "T_dataCodingScheme_01", HFILL }},
+ { &hf_nr_rrc_warningAreaCoordinatesSegment,
+ { "warningAreaCoordinatesSegment", "nr-rrc.warningAreaCoordinatesSegment",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "OCTET_STRING", HFILL }},
+ { &hf_nr_rrc_timeInfo,
+ { "timeInfo", "nr-rrc.timeInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_timeInfoUTC,
+ { "timeInfoUTC", "nr-rrc.timeInfoUTC",
+ FT_UINT64, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_dayLightSavingTime,
+ { "dayLightSavingTime", "nr-rrc.dayLightSavingTime",
+ FT_UINT8, BASE_DEC, VALS(nr_rrc_daylightSavingTime_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_leapSeconds,
+ { "leapSeconds", "nr-rrc.leapSeconds",
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
+ "INTEGER_M127_128", HFILL }},
+ { &hf_nr_rrc_localTimeOffset,
+ { "localTimeOffset", "nr-rrc.localTimeOffset",
+ FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_localTimeOffset_fmt), 0,
+ "INTEGER_M63_64", HFILL }},
{ &hf_nr_rrc_rootSequenceIndex_BFR,
{ "rootSequenceIndex-BFR", "nr-rrc.rootSequenceIndex_BFR",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -27864,7 +40083,7 @@ void proto_register_nr_rrc(void) {
"RACH_ConfigGeneric", HFILL }},
{ &hf_nr_rrc_rsrp_ThresholdSSB,
{ "rsrp-ThresholdSSB", "nr-rrc.rsrp_ThresholdSSB",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
"RSRP_Range", HFILL }},
{ &hf_nr_rrc_candidateBeamRSList,
{ "candidateBeamRSList", "nr-rrc.candidateBeamRSList",
@@ -27894,6 +40113,10 @@ void proto_register_nr_rrc(void) {
{ "beamFailureRecoveryTimer", "nr-rrc.beamFailureRecoveryTimer",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureRecoveryTimer_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_msg1_SubcarrierSpacing_v1530,
+ { "msg1-SubcarrierSpacing-v1530", "nr-rrc.msg1_SubcarrierSpacing_v1530",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
+ "SubcarrierSpacing", HFILL }},
{ &hf_nr_rrc_ssb,
{ "ssb", "nr-rrc.ssb_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -27922,6 +40145,226 @@ void proto_register_nr_rrc(void) {
{ "ra-OccasionList item", "nr-rrc.ra_OccasionList_item",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_maxRA_Occasions_1", HFILL }},
+ { &hf_nr_rrc_periodicBSR_Timer,
+ { "periodicBSR-Timer", "nr-rrc.periodicBSR_Timer",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicBSR_Timer_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_retxBSR_Timer,
+ { "retxBSR-Timer", "nr-rrc.retxBSR_Timer",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_retxBSR_Timer_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_logicalChannelSR_DelayTimer,
+ { "logicalChannelSR-DelayTimer", "nr-rrc.logicalChannelSR_DelayTimer",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logicalChannelSR_DelayTimer_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_locationAndBandwidth,
+ { "locationAndBandwidth", "nr-rrc.locationAndBandwidth",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_37949", HFILL }},
+ { &hf_nr_rrc_subcarrierSpacing,
+ { "subcarrierSpacing", "nr-rrc.subcarrierSpacing",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_cyclicPrefix,
+ { "cyclicPrefix", "nr-rrc.cyclicPrefix",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cyclicPrefix_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_bwp_Id,
+ { "bwp-Id", "nr-rrc.bwp_Id",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_bwp_Common,
+ { "bwp-Common", "nr-rrc.bwp_Common_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "BWP_DownlinkCommon", HFILL }},
+ { &hf_nr_rrc_bwp_Dedicated,
+ { "bwp-Dedicated", "nr-rrc.bwp_Dedicated_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "BWP_DownlinkDedicated", HFILL }},
+ { &hf_nr_rrc_genericParameters,
+ { "genericParameters", "nr-rrc.genericParameters_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "BWP", HFILL }},
+ { &hf_nr_rrc_pdcch_ConfigCommon,
+ { "pdcch-ConfigCommon", "nr-rrc.pdcch_ConfigCommon",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_ConfigCommon_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_02,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PDCCH_ConfigCommon", HFILL }},
+ { &hf_nr_rrc_pdsch_ConfigCommon,
+ { "pdsch-ConfigCommon", "nr-rrc.pdsch_ConfigCommon",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_ConfigCommon_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_03,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PDSCH_ConfigCommon", HFILL }},
+ { &hf_nr_rrc_pdcch_Config,
+ { "pdcch-Config", "nr-rrc.pdcch_Config",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_Config_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_04,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PDCCH_Config", HFILL }},
+ { &hf_nr_rrc_pdsch_Config,
+ { "pdsch-Config", "nr-rrc.pdsch_Config",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_Config_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_05,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PDSCH_Config", HFILL }},
+ { &hf_nr_rrc_sps_Config,
+ { "sps-Config", "nr-rrc.sps_Config",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sps_Config_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_06,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "SPS_Config", HFILL }},
+ { &hf_nr_rrc_radioLinkMonitoringConfig,
+ { "radioLinkMonitoringConfig", "nr-rrc.radioLinkMonitoringConfig",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_radioLinkMonitoringConfig_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_07,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RadioLinkMonitoringConfig", HFILL }},
+ { &hf_nr_rrc_bwp_Common_01,
+ { "bwp-Common", "nr-rrc.bwp_Common_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "BWP_UplinkCommon", HFILL }},
+ { &hf_nr_rrc_bwp_Dedicated_01,
+ { "bwp-Dedicated", "nr-rrc.bwp_Dedicated_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "BWP_UplinkDedicated", HFILL }},
+ { &hf_nr_rrc_rach_ConfigCommon,
+ { "rach-ConfigCommon", "nr-rrc.rach_ConfigCommon",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rach_ConfigCommon_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_08,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RACH_ConfigCommon", HFILL }},
+ { &hf_nr_rrc_pusch_ConfigCommon,
+ { "pusch-ConfigCommon", "nr-rrc.pusch_ConfigCommon",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_ConfigCommon_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_09,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PUSCH_ConfigCommon", HFILL }},
+ { &hf_nr_rrc_pucch_ConfigCommon,
+ { "pucch-ConfigCommon", "nr-rrc.pucch_ConfigCommon",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_ConfigCommon_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_10,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PUCCH_ConfigCommon", HFILL }},
+ { &hf_nr_rrc_pucch_Config,
+ { "pucch-Config", "nr-rrc.pucch_Config",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_Config_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_11,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PUCCH_Config", HFILL }},
+ { &hf_nr_rrc_pusch_Config,
+ { "pusch-Config", "nr-rrc.pusch_Config",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_Config_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_12,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PUSCH_Config", HFILL }},
+ { &hf_nr_rrc_configuredGrantConfig,
+ { "configuredGrantConfig", "nr-rrc.configuredGrantConfig",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredGrantConfig_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_13,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ConfiguredGrantConfig", HFILL }},
+ { &hf_nr_rrc_srs_Config,
+ { "srs-Config", "nr-rrc.srs_Config",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_Config_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_14,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "SRS_Config", HFILL }},
+ { &hf_nr_rrc_beamFailureRecoveryConfig,
+ { "beamFailureRecoveryConfig", "nr-rrc.beamFailureRecoveryConfig",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureRecoveryConfig_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_setup_15,
+ { "setup", "nr-rrc.setup_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "BeamFailureRecoveryConfig", HFILL }},
+ { &hf_nr_rrc_plmn_IdentityList,
+ { "plmn-IdentityList", "nr-rrc.plmn_IdentityList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "PLMN_IdentityInfoList", HFILL }},
+ { &hf_nr_rrc_cellReservedForOtherUse,
+ { "cellReservedForOtherUse", "nr-rrc.cellReservedForOtherUse",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellReservedForOtherUse_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_plmn_IdentityList_eutra_5gc,
+ { "plmn-IdentityList-eutra-5gc", "nr-rrc.plmn_IdentityList_eutra_5gc",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_trackingAreaCode_eutra_5gc,
+ { "trackingAreaCode-eutra-5gc", "nr-rrc.trackingAreaCode_eutra_5gc",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "TrackingAreaCode", HFILL }},
+ { &hf_nr_rrc_ranac_5gc,
+ { "ranac-5gc", "nr-rrc.ranac_5gc",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "RAN_AreaCode", HFILL }},
+ { &hf_nr_rrc_cellIdentity_eutra_5gc,
+ { "cellIdentity-eutra-5gc", "nr-rrc.cellIdentity_eutra_5gc",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_CellIdentity_EUTRA_5GC_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_PLMN_IdentityList_EUTRA_5GC_item,
+ { "PLMN-Identity-EUTRA-5GC", "nr-rrc.PLMN_Identity_EUTRA_5GC",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_PLMN_Identity_EUTRA_5GC_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_plmn_Identity_EUTRA_5GC,
+ { "plmn-Identity-EUTRA-5GC", "nr-rrc.plmn_Identity_EUTRA_5GC_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PLMN_Identity", HFILL }},
+ { &hf_nr_rrc_plmn_index,
+ { "plmn-index", "nr-rrc.plmn_index",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_maxPLMN", HFILL }},
+ { &hf_nr_rrc_cellIdentity_EUTRA,
+ { "cellIdentity-EUTRA", "nr-rrc.cellIdentity_EUTRA",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_28", HFILL }},
+ { &hf_nr_rrc_cellId_index,
+ { "cellId-index", "nr-rrc.cellId_index",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_maxPLMN", HFILL }},
+ { &hf_nr_rrc_plmn_IdentityList_eutra_epc,
+ { "plmn-IdentityList-eutra-epc", "nr-rrc.plmn_IdentityList_eutra_epc",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_trackingAreaCode_eutra_epc,
+ { "trackingAreaCode-eutra-epc", "nr-rrc.trackingAreaCode_eutra_epc",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_16", HFILL }},
+ { &hf_nr_rrc_cellIdentity_eutra_epc,
+ { "cellIdentity-eutra-epc", "nr-rrc.cellIdentity_eutra_epc",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_28", HFILL }},
+ { &hf_nr_rrc_PLMN_IdentityList_EUTRA_EPC_item,
+ { "PLMN-Identity", "nr-rrc.PLMN_Identity_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_cellGroupId,
{ "cellGroupId", "nr-rrc.cellGroupId",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -27970,6 +40413,10 @@ void proto_register_nr_rrc(void) {
{ "SCellIndex", "nr-rrc.SCellIndex",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_reportUplinkTxDirectCurrent_v1530,
+ { "reportUplinkTxDirectCurrent-v1530", "nr-rrc.reportUplinkTxDirectCurrent_v1530",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportUplinkTxDirectCurrent_v1530_vals), 0,
+ "T_reportUplinkTxDirectCurrent_v1530", HFILL }},
{ &hf_nr_rrc_reconfigurationWithSync,
{ "reconfigurationWithSync", "nr-rrc.reconfigurationWithSync_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -27978,7 +40425,7 @@ 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_15,
+ { &hf_nr_rrc_setup_16,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"RLF_TimersAndConstants", HFILL }},
@@ -28010,7 +40457,7 @@ void proto_register_nr_rrc(void) {
{ "uplink", "nr-rrc.uplink_element",
FT_NONE, BASE_NONE, NULL, 0,
"RACH_ConfigDedicated", HFILL }},
- { &hf_nr_rrc_supplementaryUplink_01,
+ { &hf_nr_rrc_supplementaryUplink,
{ "supplementaryUplink", "nr-rrc.supplementaryUplink_element",
FT_NONE, BASE_NONE, NULL, 0,
"RACH_ConfigDedicated", HFILL }},
@@ -28026,14 +40473,26 @@ void proto_register_nr_rrc(void) {
{ "sCellConfigDedicated", "nr-rrc.sCellConfigDedicated_element",
FT_NONE, BASE_NONE, NULL, 0,
"ServingCellConfig", HFILL }},
+ { &hf_nr_rrc_plmn_IdentityInfoList,
+ { "plmn-IdentityInfoList", "nr-rrc.plmn_IdentityInfoList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_frequencyBandList_01,
+ { "frequencyBandList", "nr-rrc.frequencyBandList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "MultiFrequencyBandListNR", HFILL }},
+ { &hf_nr_rrc_noSIB1,
+ { "noSIB1", "nr-rrc.noSIB1_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_codebookType,
{ "codebookType", "nr-rrc.codebookType",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookType_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_type1,
+ { &hf_nr_rrc_type1_01,
{ "type1", "nr-rrc.type1_element",
FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
+ "T_type1_01", HFILL }},
{ &hf_nr_rrc_subType,
{ "subType", "nr-rrc.subType",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subType_vals), 0,
@@ -28286,7 +40745,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_16,
+ { &hf_nr_rrc_setup_17,
{ "setup", "nr-rrc.setup",
FT_UINT32, BASE_DEC, VALS(nr_rrc_CG_UCI_OnPUSCH_vals), 0,
"CG_UCI_OnPUSCH", HFILL }},
@@ -28328,7 +40787,7 @@ void proto_register_nr_rrc(void) {
NULL, HFILL }},
{ &hf_nr_rrc_configuredGrantTimer,
{ "configuredGrantTimer", "nr-rrc.configuredGrantTimer",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_periodicities, 0,
"INTEGER_1_64", HFILL }},
{ &hf_nr_rrc_rrc_ConfiguredUplinkGrant,
{ "rrc-ConfiguredUplinkGrant", "nr-rrc.rrc_ConfiguredUplinkGrant_element",
@@ -28386,6 +40845,18 @@ void proto_register_nr_rrc(void) {
{ "semiStatic", "nr-rrc.semiStatic_element",
FT_NONE, BASE_NONE, NULL, 0,
"BetaOffsets", HFILL }},
+ { &hf_nr_rrc_connEstFailCount,
+ { "connEstFailCount", "nr-rrc.connEstFailCount",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_connEstFailCount_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_connEstFailOffsetValidity,
+ { "connEstFailOffsetValidity", "nr-rrc.connEstFailOffsetValidity",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_connEstFailOffsetValidity_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_connEstFailOffset,
+ { "connEstFailOffset", "nr-rrc.connEstFailOffset",
+ FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
+ "INTEGER_0_15", HFILL }},
{ &hf_nr_rrc_controlResourceSetId,
{ "controlResourceSetId", "nr-rrc.controlResourceSetId",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -28514,12 +40985,12 @@ void proto_register_nr_rrc(void) {
{ "csi-SSB-ResourceSet", "nr-rrc.csi_SSB_ResourceSet",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfig", HFILL }},
- { &hf_nr_rrc_csi_IM_ResourcesforInteference,
- { "csi-IM-ResourcesforInteference", "nr-rrc.csi_IM_ResourcesforInteference",
+ { &hf_nr_rrc_csi_IM_ResourcesForInterference,
+ { "csi-IM-ResourcesForInterference", "nr-rrc.csi_IM_ResourcesForInterference",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig", HFILL }},
- { &hf_nr_rrc_nzp_CSI_RS_ResourcesforInterference,
- { "nzp-CSI-RS-ResourcesforInterference", "nr-rrc.nzp_CSI_RS_ResourcesforInterference",
+ { &hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference,
+ { "nzp-CSI-RS-ResourcesForInterference", "nr-rrc.nzp_CSI_RS_ResourcesForInterference",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig", HFILL }},
{ &hf_nr_rrc_startingRB,
@@ -28702,7 +41173,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_17,
+ { &hf_nr_rrc_setup_18,
{ "setup", "nr-rrc.setup",
FT_UINT32, BASE_DEC, NULL, 0,
"CSI_AperiodicTriggerStateList", HFILL }},
@@ -28710,7 +41181,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_18,
+ { &hf_nr_rrc_setup_19,
{ "setup", "nr-rrc.setup",
FT_UINT32, BASE_DEC, NULL, 0,
"CSI_SemiPersistentOnPUSCH_TriggerStateList", HFILL }},
@@ -28722,11 +41193,11 @@ void proto_register_nr_rrc(void) {
{ "resourcesForChannelMeasurement", "nr-rrc.resourcesForChannelMeasurement",
FT_UINT32, BASE_DEC, NULL, 0,
"CSI_ResourceConfigId", HFILL }},
- { &hf_nr_rrc_csi_IM_ResourcesForInterference,
+ { &hf_nr_rrc_csi_IM_ResourcesForInterference_01,
{ "csi-IM-ResourcesForInterference", "nr-rrc.csi_IM_ResourcesForInterference",
FT_UINT32, BASE_DEC, NULL, 0,
"CSI_ResourceConfigId", HFILL }},
- { &hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference,
+ { &hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference_01,
{ "nzp-CSI-RS-ResourcesForInterference", "nr-rrc.nzp_CSI_RS_ResourcesForInterference",
FT_UINT32, BASE_DEC, NULL, 0,
"CSI_ResourceConfigId", HFILL }},
@@ -28836,7 +41307,7 @@ void proto_register_nr_rrc(void) {
NULL, HFILL }},
{ &hf_nr_rrc_csi_ReportingBand,
{ "csi-ReportingBand", "nr-rrc.csi_ReportingBand",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_ReportingBand_vals), 0,
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_csi_ReportingBand_vals_ext, 0,
NULL, HFILL }},
{ &hf_nr_rrc_subbands3,
{ "subbands3", "nr-rrc.subbands3",
@@ -28902,6 +41373,10 @@ void proto_register_nr_rrc(void) {
{ "subbands18", "nr-rrc.subbands18",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_18", HFILL }},
+ { &hf_nr_rrc_subbands19_v1530,
+ { "subbands19-v1530", "nr-rrc.subbands19_v1530",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_19", HFILL }},
{ &hf_nr_rrc_timeRestrictionForChannelMeasurements,
{ "timeRestrictionForChannelMeasurements", "nr-rrc.timeRestrictionForChannelMeasurements",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeRestrictionForChannelMeasurements_vals), 0,
@@ -28950,6 +41425,14 @@ void proto_register_nr_rrc(void) {
{ "PortIndexFor8Ranks", "nr-rrc.PortIndexFor8Ranks",
FT_UINT32, BASE_DEC, VALS(nr_rrc_PortIndexFor8Ranks_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_semiPersistentOnPUSCH_v1530,
+ { "semiPersistentOnPUSCH-v1530", "nr-rrc.semiPersistentOnPUSCH_v1530_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_reportSlotConfig_v1530,
+ { "reportSlotConfig-v1530", "nr-rrc.reportSlotConfig_v1530",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportSlotConfig_v1530_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_slots4,
{ "slots4", "nr-rrc.slots4",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -29174,6 +41657,10 @@ void proto_register_nr_rrc(void) {
{ "CSI-RS-CellMobility", "nr-rrc.CSI_RS_CellMobility_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_refServCellIndex_v1530,
+ { "refServCellIndex-v1530", "nr-rrc.refServCellIndex_v1530",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ServCellIndex", HFILL }},
{ &hf_nr_rrc_cellId,
{ "cellId", "nr-rrc.cellId",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -29302,7 +41789,7 @@ void proto_register_nr_rrc(void) {
{ "three", "nr-rrc.three_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_spare_01,
+ { &hf_nr_rrc_spare_02,
{ "spare", "nr-rrc.spare_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
@@ -29350,7 +41837,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_19,
+ { &hf_nr_rrc_setup_20,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"PTRS_DownlinkConfig", HFILL }},
@@ -29366,7 +41853,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_20,
+ { &hf_nr_rrc_setup_21,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"PTRS_UplinkConfig", HFILL }},
@@ -29386,13 +41873,13 @@ void proto_register_nr_rrc(void) {
{ "nPUSCH-Identity", "nr-rrc.nPUSCH_Identity",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1007", HFILL }},
- { &hf_nr_rrc_disableSequenceGroupHopping,
- { "disableSequenceGroupHopping", "nr-rrc.disableSequenceGroupHopping",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_disableSequenceGroupHopping_vals), 0,
+ { &hf_nr_rrc_sequenceGroupHopping,
+ { "sequenceGroupHopping", "nr-rrc.sequenceGroupHopping",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sequenceGroupHopping_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_sequenceHoppingEnabled,
- { "sequenceHoppingEnabled", "nr-rrc.sequenceHoppingEnabled",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sequenceHoppingEnabled_vals), 0,
+ { &hf_nr_rrc_sequenceHopping,
+ { "sequenceHopping", "nr-rrc.sequenceHopping",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sequenceHopping_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_frequencyInfoDL,
{ "frequencyInfoDL", "nr-rrc.frequencyInfoDL_element",
@@ -29402,6 +41889,122 @@ void proto_register_nr_rrc(void) {
{ "initialDownlinkBWP", "nr-rrc.initialDownlinkBWP_element",
FT_NONE, BASE_NONE, NULL, 0,
"BWP_DownlinkCommon", HFILL }},
+ { &hf_nr_rrc_frequencyInfoDL_01,
+ { "frequencyInfoDL", "nr-rrc.frequencyInfoDL_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "FrequencyInfoDL_SIB", HFILL }},
+ { &hf_nr_rrc_bcch_Config,
+ { "bcch-Config", "nr-rrc.bcch_Config_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pcch_Config,
+ { "pcch-Config", "nr-rrc.pcch_Config_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_modificationPeriodCoeff,
+ { "modificationPeriodCoeff", "nr-rrc.modificationPeriodCoeff",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_modificationPeriodCoeff_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_defaultPagingCycle,
+ { "defaultPagingCycle", "nr-rrc.defaultPagingCycle",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_PagingCycle_vals), 0,
+ "PagingCycle", HFILL }},
+ { &hf_nr_rrc_nAndPagingFrameOffset,
+ { "nAndPagingFrameOffset", "nr-rrc.nAndPagingFrameOffset",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nAndPagingFrameOffset_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_oneT,
+ { "oneT", "nr-rrc.oneT_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_halfT,
+ { "halfT", "nr-rrc.halfT",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1", HFILL }},
+ { &hf_nr_rrc_quarterT,
+ { "quarterT", "nr-rrc.quarterT",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_3", HFILL }},
+ { &hf_nr_rrc_oneEighthT,
+ { "oneEighthT", "nr-rrc.oneEighthT",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_7", HFILL }},
+ { &hf_nr_rrc_oneSixteenthT,
+ { "oneSixteenthT", "nr-rrc.oneSixteenthT",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_15", HFILL }},
+ { &hf_nr_rrc_ns,
+ { "ns", "nr-rrc.ns",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ns_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO,
+ { "firstPDCCH-MonitoringOccasionOfPO", "nr-rrc.firstPDCCH_MonitoringOccasionOfPO",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sCS15KHZoneT,
+ { "sCS15KHZoneT", "nr-rrc.sCS15KHZoneT",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sCS15KHZoneT_item,
+ { "sCS15KHZoneT item", "nr-rrc.sCS15KHZoneT_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_139", HFILL }},
+ { &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT,
+ { "sCS30KHZoneT-SCS15KHZhalfT", "nr-rrc.sCS30KHZoneT_SCS15KHZhalfT",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "T_sCS30KHZoneT_SCS15KHZhalfT", HFILL }},
+ { &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_item,
+ { "sCS30KHZoneT-SCS15KHZhalfT item", "nr-rrc.sCS30KHZoneT_SCS15KHZhalfT_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_279", HFILL }},
+ { &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT,
+ { "sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT", "nr-rrc.sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT", HFILL }},
+ { &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_item,
+ { "sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT item", "nr-rrc.sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_559", HFILL }},
+ { &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT,
+ { "sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT", "nr-rrc.sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT", HFILL }},
+ { &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_item,
+ { "sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT item", "nr-rrc.sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1119", HFILL }},
+ { &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT,
+ { "sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT", "nr-rrc.sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT", HFILL }},
+ { &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_item,
+ { "sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT item", "nr-rrc.sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_2239", HFILL }},
+ { &hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT,
+ { "sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT", "nr-rrc.sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT", HFILL }},
+ { &hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_item,
+ { "sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT item", "nr-rrc.sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_4479", HFILL }},
+ { &hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT,
+ { "sCS120KHZoneEighthT-SCS60KHZoneSixteenthT", "nr-rrc.sCS120KHZoneEighthT_SCS60KHZoneSixteenthT",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT", HFILL }},
+ { &hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_item,
+ { "sCS120KHZoneEighthT-SCS60KHZoneSixteenthT item", "nr-rrc.sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_8959", HFILL }},
+ { &hf_nr_rrc_sCS120KHZoneSixteenthT,
+ { "sCS120KHZoneSixteenthT", "nr-rrc.sCS120KHZoneSixteenthT",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sCS120KHZoneSixteenthT_item,
+ { "sCS120KHZoneSixteenthT item", "nr-rrc.sCS120KHZoneSixteenthT_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_17919", HFILL }},
{ &hf_nr_rrc_int_RNTI,
{ "int-RNTI", "nr-rrc.int_RNTI",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -29430,50 +42033,58 @@ void proto_register_nr_rrc(void) {
{ "positionInDCI", "nr-rrc.positionInDCI",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_maxINT_DCI_PayloadSize_1", HFILL }},
- { &hf_nr_rrc_EUTRA_MBSFN_SubframeConfigList_item,
- { "EUTRA-MBSFN-SubframeConfig", "nr-rrc.EUTRA_MBSFN_SubframeConfig_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { &hf_nr_rrc_drx_onDurationTimer,
+ { "drx-onDurationTimer", "nr-rrc.drx_onDurationTimer",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_onDurationTimer_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_radioframeAllocationPeriod,
- { "radioframeAllocationPeriod", "nr-rrc.radioframeAllocationPeriod",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_radioframeAllocationPeriod_vals), 0,
+ { &hf_nr_rrc_subMilliSeconds,
+ { "subMilliSeconds", "nr-rrc.subMilliSeconds",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_31", HFILL }},
+ { &hf_nr_rrc_milliSeconds,
+ { "milliSeconds", "nr-rrc.milliSeconds",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_milliSeconds_vals_ext, 0,
NULL, HFILL }},
- { &hf_nr_rrc_radioframeAllocationOffset,
- { "radioframeAllocationOffset", "nr-rrc.radioframeAllocationOffset",
+ { &hf_nr_rrc_drx_InactivityTimer,
+ { "drx-InactivityTimer", "nr-rrc.drx_InactivityTimer",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_InactivityTimer_vals_ext, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_drx_HARQ_RTT_TimerDL,
+ { "drx-HARQ-RTT-TimerDL", "nr-rrc.drx_HARQ_RTT_TimerDL",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_7", HFILL }},
- { &hf_nr_rrc_subframeAllocation,
- { "subframeAllocation", "nr-rrc.subframeAllocation",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subframeAllocation_vals), 0,
+ "INTEGER_0_56", HFILL }},
+ { &hf_nr_rrc_drx_HARQ_RTT_TimerUL,
+ { "drx-HARQ-RTT-TimerUL", "nr-rrc.drx_HARQ_RTT_TimerUL",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_56", HFILL }},
+ { &hf_nr_rrc_drx_RetransmissionTimerDL,
+ { "drx-RetransmissionTimerDL", "nr-rrc.drx_RetransmissionTimerDL",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_RetransmissionTimerDL_vals_ext, 0,
NULL, HFILL }},
- { &hf_nr_rrc_oneFrame,
- { "oneFrame", "nr-rrc.oneFrame",
- FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_6", HFILL }},
- { &hf_nr_rrc_fourFrames,
- { "fourFrames", "nr-rrc.fourFrames",
- FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_24", HFILL }},
- { &hf_nr_rrc_subframeAllocation_v1430,
- { "subframeAllocation-v1430", "nr-rrc.subframeAllocation_v1430",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subframeAllocation_v1430_vals), 0,
+ { &hf_nr_rrc_drx_RetransmissionTimerUL,
+ { "drx-RetransmissionTimerUL", "nr-rrc.drx_RetransmissionTimerUL",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_RetransmissionTimerUL_vals_ext, 0,
NULL, HFILL }},
- { &hf_nr_rrc_oneFrame_v1430,
- { "oneFrame-v1430", "nr-rrc.oneFrame_v1430",
- FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_2", HFILL }},
- { &hf_nr_rrc_fourFrames_v1430,
- { "fourFrames-v1430", "nr-rrc.fourFrames_v1430",
- FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_8", HFILL }},
+ { &hf_nr_rrc_drx_LongCycleStartOffset_01,
+ { "drx-LongCycleStartOffset", "nr-rrc.drx_LongCycleStartOffset",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_LongCycleStartOffset_01_vals_ext, 0,
+ "T_drx_LongCycleStartOffset_01", HFILL }},
+ { &hf_nr_rrc_shortDRX_01,
+ { "shortDRX", "nr-rrc.shortDRX_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_shortDRX_01", HFILL }},
+ { &hf_nr_rrc_drx_ShortCycle_01,
+ { "drx-ShortCycle", "nr-rrc.drx_ShortCycle",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_ShortCycle_01_vals_ext, 0,
+ "T_drx_ShortCycle_01", HFILL }},
+ { &hf_nr_rrc_drx_SlotOffset,
+ { "drx-SlotOffset", "nr-rrc.drx_SlotOffset",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_drx_SlotOffset_fmt), 0,
+ "INTEGER_0_31", HFILL }},
{ &hf_nr_rrc_absoluteFrequencySSB,
{ "absoluteFrequencySSB", "nr-rrc.absoluteFrequencySSB",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueNR", HFILL }},
- { &hf_nr_rrc_frequencyBandList,
- { "frequencyBandList", "nr-rrc.frequencyBandList",
- FT_UINT32, BASE_DEC, NULL, 0,
- "MultiFrequencyBandListNR", HFILL }},
{ &hf_nr_rrc_absoluteFrequencyPointA,
{ "absoluteFrequencyPointA", "nr-rrc.absoluteFrequencyPointA",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -29486,18 +42097,34 @@ void proto_register_nr_rrc(void) {
{ "SCS-SpecificCarrier", "nr-rrc.SCS_SpecificCarrier_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_offsetToPointA,
+ { "offsetToPointA", "nr-rrc.offsetToPointA",
+ FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_prbs, 0,
+ "INTEGER_0_2199", HFILL }},
{ &hf_nr_rrc_additionalSpectrumEmission,
{ "additionalSpectrumEmission", "nr-rrc.additionalSpectrumEmission",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_p_Max,
- { "p-Max", "nr-rrc.p_Max",
- FT_INT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
{ &hf_nr_rrc_frequencyShift7p5khz,
{ "frequencyShift7p5khz", "nr-rrc.frequencyShift7p5khz",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyShift7p5khz_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_frequencyShift7p5khz_01,
+ { "frequencyShift7p5khz", "nr-rrc.frequencyShift7p5khz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyShift7p5khz_01_vals), 0,
+ "T_frequencyShift7p5khz_01", HFILL }},
+ { &hf_nr_rrc_eutra_RSTD,
+ { "eutra-RSTD", "nr-rrc.eutra_RSTD",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "EUTRA_RSTD_InfoList", HFILL }},
+ { &hf_nr_rrc_EUTRA_RSTD_InfoList_item,
+ { "EUTRA-RSTD-Info", "nr-rrc.EUTRA_RSTD_Info_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_measPRS_Offset,
+ { "measPRS-Offset", "nr-rrc.measPRS_Offset",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_39", HFILL }},
{ &hf_nr_rrc_ul_SpecificParameters,
{ "ul-SpecificParameters", "nr-rrc.ul_SpecificParameters_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -29554,11 +42181,15 @@ void proto_register_nr_rrc(void) {
{ "logicalChannelSR-DelayTimerApplied", "nr-rrc.logicalChannelSR_DelayTimerApplied",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
+ { &hf_nr_rrc_bitRateQueryProhibitTimer,
+ { "bitRateQueryProhibitTimer", "nr-rrc.bitRateQueryProhibitTimer",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bitRateQueryProhibitTimer_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_drx_Config,
{ "drx-Config", "nr-rrc.drx_Config",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_Config_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_21,
+ { &hf_nr_rrc_setup_22,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"DRX_Config", HFILL }},
@@ -29578,7 +42209,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_22,
+ { &hf_nr_rrc_setup_23,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"PHR_Config", HFILL }},
@@ -29586,118 +42217,18 @@ void proto_register_nr_rrc(void) {
{ "skipUplinkTxDynamic", "nr-rrc.skipUplinkTxDynamic",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
- { &hf_nr_rrc_drx_onDurationTimer,
- { "drx-onDurationTimer", "nr-rrc.drx_onDurationTimer",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_onDurationTimer_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_subMilliSeconds,
- { "subMilliSeconds", "nr-rrc.subMilliSeconds",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_31", HFILL }},
- { &hf_nr_rrc_milliSeconds,
- { "milliSeconds", "nr-rrc.milliSeconds",
- FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_milliSeconds_vals_ext, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_drx_InactivityTimer,
- { "drx-InactivityTimer", "nr-rrc.drx_InactivityTimer",
- FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_InactivityTimer_vals_ext, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_drx_HARQ_RTT_TimerDL,
- { "drx-HARQ-RTT-TimerDL", "nr-rrc.drx_HARQ_RTT_TimerDL",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_56", HFILL }},
- { &hf_nr_rrc_drx_HARQ_RTT_TimerUL,
- { "drx-HARQ-RTT-TimerUL", "nr-rrc.drx_HARQ_RTT_TimerUL",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_56", HFILL }},
- { &hf_nr_rrc_drx_RetransmissionTimerDL,
- { "drx-RetransmissionTimerDL", "nr-rrc.drx_RetransmissionTimerDL",
- FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_RetransmissionTimerDL_vals_ext, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_drx_RetransmissionTimerUL,
- { "drx-RetransmissionTimerUL", "nr-rrc.drx_RetransmissionTimerUL",
- FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_RetransmissionTimerUL_vals_ext, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_drx_LongCycleStartOffset_01,
- { "drx-LongCycleStartOffset", "nr-rrc.drx_LongCycleStartOffset",
- FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_LongCycleStartOffset_01_vals_ext, 0,
- "T_drx_LongCycleStartOffset_01", HFILL }},
- { &hf_nr_rrc_shortDRX_01,
- { "shortDRX", "nr-rrc.shortDRX_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "T_shortDRX_01", HFILL }},
- { &hf_nr_rrc_drx_ShortCycle_01,
- { "drx-ShortCycle", "nr-rrc.drx_ShortCycle",
- FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_ShortCycle_01_vals_ext, 0,
- "T_drx_ShortCycle_01", HFILL }},
- { &hf_nr_rrc_drx_SlotOffset,
- { "drx-SlotOffset", "nr-rrc.drx_SlotOffset",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_31", HFILL }},
- { &hf_nr_rrc_phr_PeriodicTimer,
- { "phr-PeriodicTimer", "nr-rrc.phr_PeriodicTimer",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_PeriodicTimer_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_phr_ProhibitTimer,
- { "phr-ProhibitTimer", "nr-rrc.phr_ProhibitTimer",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_ProhibitTimer_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_phr_Tx_PowerFactorChange,
- { "phr-Tx-PowerFactorChange", "nr-rrc.phr_Tx_PowerFactorChange",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_Tx_PowerFactorChange_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_multiplePHR,
- { "multiplePHR", "nr-rrc.multiplePHR",
- FT_BOOLEAN, BASE_NONE, NULL, 0,
- "BOOLEAN", HFILL }},
- { &hf_nr_rrc_phr_Type2SpCell,
- { "phr-Type2SpCell", "nr-rrc.phr_Type2SpCell",
+ { &hf_nr_rrc_csi_Mask_v1530,
+ { "csi-Mask-v1530", "nr-rrc.csi_Mask_v1530",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
- { &hf_nr_rrc_phr_Type2OtherCell,
- { "phr-Type2OtherCell", "nr-rrc.phr_Type2OtherCell",
- FT_BOOLEAN, BASE_NONE, NULL, 0,
- "BOOLEAN", HFILL }},
- { &hf_nr_rrc_phr_ModeOtherCG,
- { "phr-ModeOtherCG", "nr-rrc.phr_ModeOtherCG",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_ModeOtherCG_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_tag_ToReleaseList,
- { "tag-ToReleaseList", "nr-rrc.tag_ToReleaseList",
- FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id", HFILL }},
- { &hf_nr_rrc_tag_ToReleaseList_item,
- { "TAG-Id", "nr-rrc.TAG_Id",
- FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_tag_ToAddModList,
- { "tag-ToAddModList", "nr-rrc.tag_ToAddModList",
- FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG", HFILL }},
- { &hf_nr_rrc_tag_ToAddModList_item,
- { "TAG", "nr-rrc.TAG_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_tag_Id,
- { "tag-Id", "nr-rrc.tag_Id",
- FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_timeAlignmentTimer,
- { "timeAlignmentTimer", "nr-rrc.timeAlignmentTimer",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeAlignmentTimer_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_periodicBSR_Timer,
- { "periodicBSR-Timer", "nr-rrc.periodicBSR_Timer",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicBSR_Timer_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_retxBSR_Timer,
- { "retxBSR-Timer", "nr-rrc.retxBSR_Timer",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_retxBSR_Timer_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_logicalChannelSR_DelayTimer,
- { "logicalChannelSR-DelayTimer", "nr-rrc.logicalChannelSR_DelayTimer",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logicalChannelSR_DelayTimer_vals), 0,
+ { &hf_nr_rrc_dataInactivityTimer_v1530,
+ { "dataInactivityTimer-v1530", "nr-rrc.dataInactivityTimer_v1530",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dataInactivityTimer_v1530_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_setup_24,
+ { "setup", "nr-rrc.setup",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_DataInactivityTimer_vals), 0,
+ "DataInactivityTimer", HFILL }},
{ &hf_nr_rrc_measObjectToRemoveList,
{ "measObjectToRemoveList", "nr-rrc.measObjectToRemoveList",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -29728,11 +42259,11 @@ void proto_register_nr_rrc(void) {
NULL, HFILL }},
{ &hf_nr_rrc_ssb_RSRP,
{ "ssb-RSRP", "nr-rrc.ssb_RSRP",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
"RSRP_Range", HFILL }},
{ &hf_nr_rrc_csi_RSRP,
{ "csi-RSRP", "nr-rrc.csi_RSRP",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
"RSRP_Range", HFILL }},
{ &hf_nr_rrc_quantityConfig,
{ "quantityConfig", "nr-rrc.quantityConfig_element",
@@ -29762,6 +42293,14 @@ 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_gapFR1,
+ { "gapFR1", "nr-rrc.gapFR1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapFR1_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_gapUE,
+ { "gapUE", "nr-rrc.gapUE",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapUE_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_gapOffset,
{ "gapOffset", "nr-rrc.gapOffset",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -29782,10 +42321,18 @@ void proto_register_nr_rrc(void) {
{ "gapSharingFR2", "nr-rrc.gapSharingFR2",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapSharingFR2_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_23,
+ { &hf_nr_rrc_setup_25,
{ "setup", "nr-rrc.setup",
FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasGapSharingScheme_vals), 0,
"MeasGapSharingScheme", HFILL }},
+ { &hf_nr_rrc_gapSharingFR1,
+ { "gapSharingFR1", "nr-rrc.gapSharingFR1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapSharingFR1_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_gapSharingUE,
+ { "gapSharingUE", "nr-rrc.gapSharingUE",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapSharingUE_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_MeasIdToAddModList_item,
{ "MeasIdToAddMod", "nr-rrc.MeasIdToAddMod_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -29802,14 +42349,62 @@ void proto_register_nr_rrc(void) {
{ "reportConfigId", "nr-rrc.reportConfigId",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_cellsToRemoveListEUTRAN,
+ { "cellsToRemoveListEUTRAN", "nr-rrc.cellsToRemoveListEUTRAN",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "EUTRA_CellIndexList", HFILL }},
+ { &hf_nr_rrc_cellsToAddModListEUTRAN,
+ { "cellsToAddModListEUTRAN", "nr-rrc.cellsToAddModListEUTRAN",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell", HFILL }},
+ { &hf_nr_rrc_cellsToAddModListEUTRAN_item,
+ { "EUTRA-Cell", "nr-rrc.EUTRA_Cell_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_blackCellsToRemoveListEUTRAN,
+ { "blackCellsToRemoveListEUTRAN", "nr-rrc.blackCellsToRemoveListEUTRAN",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "EUTRA_CellIndexList", HFILL }},
+ { &hf_nr_rrc_blackCellsToAddModListEUTRAN,
+ { "blackCellsToAddModListEUTRAN", "nr-rrc.blackCellsToAddModListEUTRAN",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_BlackCell", HFILL }},
+ { &hf_nr_rrc_blackCellsToAddModListEUTRAN_item,
+ { "EUTRA-BlackCell", "nr-rrc.EUTRA_BlackCell_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_eutra_PresenceAntennaPort1,
+ { "eutra-PresenceAntennaPort1", "nr-rrc.eutra_PresenceAntennaPort1",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_eutra_Q_OffsetRange,
+ { "eutra-Q-OffsetRange", "nr-rrc.eutra_Q_OffsetRange",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_EUTRA_Q_OffsetRange_vals_ext, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_widebandRSRQ_Meas,
+ { "widebandRSRQ-Meas", "nr-rrc.widebandRSRQ_Meas",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_nr_rrc_EUTRA_CellIndexList_item,
+ { "EUTRA-CellIndex", "nr-rrc.EUTRA_CellIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_cellIndexEUTRA,
+ { "cellIndexEUTRA", "nr-rrc.cellIndexEUTRA",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "EUTRA_CellIndex", HFILL }},
+ { &hf_nr_rrc_cellIndividualOffset,
+ { "cellIndividualOffset", "nr-rrc.cellIndividualOffset",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_EUTRA_Q_OffsetRange_vals_ext, 0,
+ "EUTRA_Q_OffsetRange", HFILL }},
+ { &hf_nr_rrc_physCellIdRange,
+ { "physCellIdRange", "nr-rrc.physCellIdRange_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "EUTRA_PhysCellIdRange", HFILL }},
{ &hf_nr_rrc_ssbFrequency,
{ "ssbFrequency", "nr-rrc.ssbFrequency",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueNR", HFILL }},
- { &hf_nr_rrc_ssbSubcarrierSpacing,
- { "ssbSubcarrierSpacing", "nr-rrc.ssbSubcarrierSpacing",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
- "SubcarrierSpacing", HFILL }},
{ &hf_nr_rrc_smtc1,
{ "smtc1", "nr-rrc.smtc1_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -29826,18 +42421,10 @@ void proto_register_nr_rrc(void) {
{ "referenceSignalConfig", "nr-rrc.referenceSignalConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_absThreshSS_BlocksConsolidation,
- { "absThreshSS-BlocksConsolidation", "nr-rrc.absThreshSS_BlocksConsolidation_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "ThresholdNR", HFILL }},
{ &hf_nr_rrc_absThreshCSI_RS_Consolidation,
{ "absThreshCSI-RS-Consolidation", "nr-rrc.absThreshCSI_RS_Consolidation_element",
FT_NONE, BASE_NONE, NULL, 0,
"ThresholdNR", HFILL }},
- { &hf_nr_rrc_nrofSS_BlocksToAverage,
- { "nrofSS-BlocksToAverage", "nr-rrc.nrofSS_BlocksToAverage",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_2_maxNrofSS_BlocksToAverage", HFILL }},
{ &hf_nr_rrc_nrofCSI_RS_ResourcesToAverage,
{ "nrofCSI-RS-ResourcesToAverage", "nr-rrc.nrofCSI_RS_ResourcesToAverage",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -29882,6 +42469,14 @@ void proto_register_nr_rrc(void) {
{ "PCI-RangeElement", "nr-rrc.PCI_RangeElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_freqBandIndicatorNR_v1530,
+ { "freqBandIndicatorNR-v1530", "nr-rrc.freqBandIndicatorNR_v1530",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "FreqBandIndicatorNR", HFILL }},
+ { &hf_nr_rrc_measCycleSCell_v1530,
+ { "measCycleSCell-v1530", "nr-rrc.measCycleSCell_v1530",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measCycleSCell_v1530_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_ssb_ConfigMobility,
{ "ssb-ConfigMobility", "nr-rrc.ssb_ConfigMobility_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -29890,26 +42485,18 @@ void proto_register_nr_rrc(void) {
{ "csi-rs-ResourceConfigMobility", "nr-rrc.csi_rs_ResourceConfigMobility",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_rs_ResourceConfigMobility_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_24,
+ { &hf_nr_rrc_setup_26,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"CSI_RS_ResourceConfigMobility", HFILL }},
- { &hf_nr_rrc_ssb_ToMeasure,
+ { &hf_nr_rrc_ssb_ToMeasure_01,
{ "ssb-ToMeasure", "nr-rrc.ssb_ToMeasure",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_ToMeasure_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_25,
+ { &hf_nr_rrc_setup_27,
{ "setup", "nr-rrc.setup",
FT_UINT32, BASE_DEC, VALS(nr_rrc_SSB_ToMeasure_vals), 0,
"SSB_ToMeasure", HFILL }},
- { &hf_nr_rrc_useServingCellTimingForSync,
- { "useServingCellTimingForSync", "nr-rrc.useServingCellTimingForSync",
- FT_BOOLEAN, BASE_NONE, NULL, 0,
- "BOOLEAN", HFILL }},
- { &hf_nr_rrc_ss_RSSI_Measurement,
- { "ss-RSSI-Measurement", "nr-rrc.ss_RSSI_Measurement_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
{ &hf_nr_rrc_rsrpOffsetSSB,
{ "rsrpOffsetSSB", "nr-rrc.rsrpOffsetSSB",
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
@@ -29934,39 +42521,23 @@ void proto_register_nr_rrc(void) {
{ "sinrOffsetCSI-RS", "nr-rrc.sinrOffsetCSI_RS",
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
"Q_OffsetRange", HFILL }},
- { &hf_nr_rrc_shortBitmap,
- { "shortBitmap", "nr-rrc.shortBitmap",
- FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_4", HFILL }},
- { &hf_nr_rrc_mediumBitmap,
- { "mediumBitmap", "nr-rrc.mediumBitmap",
- FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_8", HFILL }},
- { &hf_nr_rrc_longBitmap,
- { "longBitmap", "nr-rrc.longBitmap",
- FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_64", HFILL }},
{ &hf_nr_rrc_thresholdRSRP,
{ "thresholdRSRP", "nr-rrc.thresholdRSRP",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
"RSRP_Range", HFILL }},
{ &hf_nr_rrc_thresholdRSRQ,
{ "thresholdRSRQ", "nr-rrc.thresholdRSRQ",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_Range_fmt), 0,
"RSRQ_Range", HFILL }},
{ &hf_nr_rrc_thresholdSINR,
{ "thresholdSINR", "nr-rrc.thresholdSINR",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_SINR_Range_fmt), 0,
"SINR_Range", HFILL }},
{ &hf_nr_rrc_CellsToAddModList_item,
{ "CellsToAddMod", "nr-rrc.CellsToAddMod_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_physCellId,
- { "physCellId", "nr-rrc.physCellId",
- FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_cellIndividualOffset,
+ { &hf_nr_rrc_cellIndividualOffset_01,
{ "cellIndividualOffset", "nr-rrc.cellIndividualOffset_element",
FT_NONE, BASE_NONE, NULL, 0,
"Q_OffsetRangeList", HFILL }},
@@ -29982,6 +42553,26 @@ void proto_register_nr_rrc(void) {
{ "measObjectNR", "nr-rrc.measObjectNR_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_measObjectEUTRA,
+ { "measObjectEUTRA", "nr-rrc.measObjectEUTRA_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_MeasResultCellListSFTD_item,
+ { "MeasResultCellSFTD", "nr-rrc.MeasResultCellSFTD_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sfn_OffsetResult,
+ { "sfn-OffsetResult", "nr-rrc.sfn_OffsetResult",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1023", HFILL }},
+ { &hf_nr_rrc_frameBoundaryOffsetResult,
+ { "frameBoundaryOffsetResult", "nr-rrc.frameBoundaryOffsetResult",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER_M30720_30719", HFILL }},
+ { &hf_nr_rrc_rsrp_Result,
+ { "rsrp-Result", "nr-rrc.rsrp_Result",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
+ "RSRP_Range", HFILL }},
{ &hf_nr_rrc_measResultServingMOList,
{ "measResultServingMOList", "nr-rrc.measResultServingMOList",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -29994,6 +42585,10 @@ void proto_register_nr_rrc(void) {
{ "measResultListNR", "nr-rrc.measResultListNR",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_measResultListEUTRA,
+ { "measResultListEUTRA", "nr-rrc.measResultListEUTRA",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_MeasResultServMOList_item,
{ "MeasResultServMO", "nr-rrc.MeasResultServMO_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -30042,18 +42637,86 @@ void proto_register_nr_rrc(void) {
{ "resultsCSI-RS-Indexes", "nr-rrc.resultsCSI_RS_Indexes",
FT_UINT32, BASE_DEC, NULL, 0,
"ResultsPerCSI_RS_IndexList", HFILL }},
+ { &hf_nr_rrc_cgi_Info,
+ { "cgi-Info", "nr-rrc.cgi_Info_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_MeasResultListEUTRA_item,
+ { "MeasResultEUTRA", "nr-rrc.MeasResultEUTRA_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_measResult_01,
+ { "measResult", "nr-rrc.measResult_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "MeasQuantityResultsEUTRA", HFILL }},
+ { &hf_nr_rrc_cgi_Info_01,
+ { "cgi-Info", "nr-rrc.cgi_Info_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_cgi_info_EPC,
+ { "cgi-info-EPC", "nr-rrc.cgi_info_EPC_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_cgi_info_EPC_legacy,
+ { "cgi-info-EPC-legacy", "nr-rrc.cgi_info_EPC_legacy_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "CellAccessRelatedInfo_EUTRA_EPC", HFILL }},
+ { &hf_nr_rrc_cgi_info_EPC_list,
+ { "cgi-info-EPC-list", "nr-rrc.cgi_info_EPC_list",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC", HFILL }},
+ { &hf_nr_rrc_cgi_info_EPC_list_item,
+ { "CellAccessRelatedInfo-EUTRA-EPC", "nr-rrc.CellAccessRelatedInfo_EUTRA_EPC_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_cgi_info_5GC,
+ { "cgi-info-5GC", "nr-rrc.cgi_info_5GC",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC", HFILL }},
+ { &hf_nr_rrc_cgi_info_5GC_item,
+ { "CellAccessRelatedInfo-EUTRA-5GC", "nr-rrc.CellAccessRelatedInfo_EUTRA_5GC_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_freqBandIndicator,
+ { "freqBandIndicator", "nr-rrc.freqBandIndicator",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "FreqBandIndicatorEUTRA", HFILL }},
+ { &hf_nr_rrc_multiBandInfoList,
+ { "multiBandInfoList", "nr-rrc.multiBandInfoList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "MultiBandInfoListEUTRA", HFILL }},
+ { &hf_nr_rrc_freqBandIndicatorPriority,
+ { "freqBandIndicatorPriority", "nr-rrc.freqBandIndicatorPriority",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_freqBandIndicatorPriority_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_MultiBandInfoListEUTRA_item,
+ { "FreqBandIndicatorEUTRA", "nr-rrc.FreqBandIndicatorEUTRA",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_rsrp,
{ "rsrp", "nr-rrc.rsrp",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
"RSRP_Range", HFILL }},
{ &hf_nr_rrc_rsrq,
{ "rsrq", "nr-rrc.rsrq",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_Range_fmt), 0,
"RSRQ_Range", HFILL }},
{ &hf_nr_rrc_sinr,
{ "sinr", "nr-rrc.sinr",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_SINR_Range_fmt), 0,
"SINR_Range", HFILL }},
+ { &hf_nr_rrc_rsrp_01,
+ { "rsrp", "nr-rrc.rsrp",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_RangeEUTRA_fmt), 0,
+ "RSRP_RangeEUTRA", HFILL }},
+ { &hf_nr_rrc_rsrq_01,
+ { "rsrq", "nr-rrc.rsrq",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_RangeEUTRA_fmt), 0,
+ "RSRQ_RangeEUTRA", HFILL }},
+ { &hf_nr_rrc_sinr_01,
+ { "sinr", "nr-rrc.sinr",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_SINR_RangeEUTRA_fmt), 0,
+ "SINR_RangeEUTRA", HFILL }},
{ &hf_nr_rrc_ResultsPerSSB_IndexList_item,
{ "ResultsPerSSB-Index", "nr-rrc.ResultsPerSSB_Index_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -30082,22 +42745,22 @@ void proto_register_nr_rrc(void) {
{ "measResultNeighCellListNR", "nr-rrc.measResultNeighCellListNR",
FT_UINT32, BASE_DEC, NULL, 0,
"MeasResultListNR", HFILL }},
- { &hf_nr_rrc_MeasResultCellListSFTD_item,
- { "MeasResultCellSFTD", "nr-rrc.MeasResultCellSFTD_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_sfn_OffsetResult,
- { "sfn-OffsetResult", "nr-rrc.sfn_OffsetResult",
+ { &hf_nr_rrc_t_Evaluation,
+ { "t-Evaluation", "nr-rrc.t_Evaluation",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t_Evaluation_vals), 0,
+ "T_t_Evaluation", HFILL }},
+ { &hf_nr_rrc_t_HystNormal,
+ { "t-HystNormal", "nr-rrc.t_HystNormal",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t_HystNormal_vals), 0,
+ "T_t_HystNormal", HFILL }},
+ { &hf_nr_rrc_n_CellChangeMedium,
+ { "n-CellChangeMedium", "nr-rrc.n_CellChangeMedium",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_1023", HFILL }},
- { &hf_nr_rrc_frameBoundaryOffsetResult,
- { "frameBoundaryOffsetResult", "nr-rrc.frameBoundaryOffsetResult",
- FT_INT32, BASE_DEC, NULL, 0,
- "INTEGER_M30720_30719", HFILL }},
- { &hf_nr_rrc_rsrp_Result,
- { "rsrp-Result", "nr-rrc.rsrp_Result",
+ "INTEGER_1_16", HFILL }},
+ { &hf_nr_rrc_n_CellChangeHigh,
+ { "n-CellChangeHigh", "nr-rrc.n_CellChangeHigh",
FT_UINT32, BASE_DEC, NULL, 0,
- "RSRP_Range", HFILL }},
+ "INTEGER_1_16", HFILL }},
{ &hf_nr_rrc_MultiFrequencyBandListNR_item,
{ "FreqBandIndicatorNR", "nr-rrc.FreqBandIndicatorNR",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -30112,7 +42775,7 @@ void proto_register_nr_rrc(void) {
"CSI_RS_ResourceMapping", HFILL }},
{ &hf_nr_rrc_powerControlOffset,
{ "powerControlOffset", "nr-rrc.powerControlOffset",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
"INTEGER_M8_15", HFILL }},
{ &hf_nr_rrc_powerControlOffsetSS,
{ "powerControlOffsetSS", "nr-rrc.powerControlOffsetSS",
@@ -30210,7 +42873,7 @@ void proto_register_nr_rrc(void) {
{ "downlinkPreemption", "nr-rrc.downlinkPreemption",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_downlinkPreemption_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_26,
+ { &hf_nr_rrc_setup_28,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"DownlinkPreemption", HFILL }},
@@ -30218,7 +42881,7 @@ void proto_register_nr_rrc(void) {
{ "tpc-PUSCH", "nr-rrc.tpc_PUSCH",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_PUSCH_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_27,
+ { &hf_nr_rrc_setup_29,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"PUSCH_TPC_CommandConfig", HFILL }},
@@ -30226,7 +42889,7 @@ 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_28,
+ { &hf_nr_rrc_setup_30,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"PUCCH_TPC_CommandConfig", HFILL }},
@@ -30234,14 +42897,14 @@ void proto_register_nr_rrc(void) {
{ "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,
+ { &hf_nr_rrc_setup_31,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"SRS_TPC_CommandConfig", HFILL }},
{ &hf_nr_rrc_controlResourceSetZero,
{ "controlResourceSetZero", "nr-rrc.controlResourceSetZero",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_15", HFILL }},
+ NULL, HFILL }},
{ &hf_nr_rrc_commonControlResourceSet,
{ "commonControlResourceSet", "nr-rrc.commonControlResourceSet_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -30249,12 +42912,12 @@ void proto_register_nr_rrc(void) {
{ &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",
+ NULL, HFILL }},
+ { &hf_nr_rrc_commonSearchSpaceList,
+ { "commonSearchSpaceList", "nr-rrc.commonSearchSpaceList",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_4_OF_SearchSpace", HFILL }},
- { &hf_nr_rrc_commonSearchSpace_item,
+ { &hf_nr_rrc_commonSearchSpaceList_item,
{ "SearchSpace", "nr-rrc.SearchSpace_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
@@ -30278,7 +42941,7 @@ void proto_register_nr_rrc(void) {
{ "slotFormatIndicator", "nr-rrc.slotFormatIndicator",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_slotFormatIndicator_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_30,
+ { &hf_nr_rrc_setup_32,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"SlotFormatIndicator", HFILL }},
@@ -30410,6 +43073,10 @@ void proto_register_nr_rrc(void) {
{ "t-Reordering", "nr-rrc.t_Reordering",
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_t_Reordering_vals_ext, 0,
"T_t_Reordering", HFILL }},
+ { &hf_nr_rrc_cipheringDisabled,
+ { "cipheringDisabled", "nr-rrc.cipheringDisabled",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cipheringDisabled_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_dataScramblingIdentityPDSCH,
{ "dataScramblingIdentityPDSCH", "nr-rrc.dataScramblingIdentityPDSCH",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -30418,7 +43085,7 @@ void proto_register_nr_rrc(void) {
{ "dmrs-DownlinkForPDSCH-MappingTypeA", "nr-rrc.dmrs_DownlinkForPDSCH_MappingTypeA",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_31,
+ { &hf_nr_rrc_setup_33,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"DMRS_DownlinkConfig", HFILL }},
@@ -30454,7 +43121,7 @@ void proto_register_nr_rrc(void) {
{ "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,
+ { &hf_nr_rrc_setup_34,
{ "setup", "nr-rrc.setup",
FT_UINT32, BASE_DEC, NULL, 0,
"PDSCH_TimeDomainResourceAllocationList", HFILL }},
@@ -30574,7 +43241,7 @@ void proto_register_nr_rrc(void) {
{ "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,
+ { &hf_nr_rrc_setup_35,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"ZP_CSI_RS_ResourceSet", HFILL }},
@@ -30598,7 +43265,7 @@ void proto_register_nr_rrc(void) {
{ "codeBlockGroupTransmission", "nr-rrc.codeBlockGroupTransmission",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codeBlockGroupTransmission_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_34,
+ { &hf_nr_rrc_setup_36,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"PDSCH_CodeBlockGroupTransmission", HFILL }},
@@ -30638,6 +43305,34 @@ void proto_register_nr_rrc(void) {
{ "startSymbolAndLength", "nr-rrc.startSymbolAndLength",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_127", HFILL }},
+ { &hf_nr_rrc_phr_PeriodicTimer,
+ { "phr-PeriodicTimer", "nr-rrc.phr_PeriodicTimer",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_PeriodicTimer_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_phr_ProhibitTimer,
+ { "phr-ProhibitTimer", "nr-rrc.phr_ProhibitTimer",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_ProhibitTimer_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_phr_Tx_PowerFactorChange,
+ { "phr-Tx-PowerFactorChange", "nr-rrc.phr_Tx_PowerFactorChange",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_Tx_PowerFactorChange_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_multiplePHR,
+ { "multiplePHR", "nr-rrc.multiplePHR",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_nr_rrc_dummy,
+ { "dummy", "nr-rrc.dummy",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_nr_rrc_phr_Type2OtherCell,
+ { "phr-Type2OtherCell", "nr-rrc.phr_Type2OtherCell",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_nr_rrc_phr_ModeOtherCG,
+ { "phr-ModeOtherCG", "nr-rrc.phr_ModeOtherCG",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_ModeOtherCG_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH,
{ "harq-ACK-SpatialBundlingPUCCH", "nr-rrc.harq_ACK_SpatialBundlingPUCCH",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_ACK_SpatialBundlingPUCCH_vals), 0,
@@ -30646,9 +43341,9 @@ void proto_register_nr_rrc(void) {
{ "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,
+ { &hf_nr_rrc_p_NR_FR1,
+ { "p-NR-FR1", "nr-rrc.p_NR_FR1",
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
"P_Max", HFILL }},
{ &hf_nr_rrc_pdsch_HARQ_ACK_Codebook,
{ "pdsch-HARQ-ACK-Codebook", "nr-rrc.pdsch_HARQ_ACK_Codebook",
@@ -30674,10 +43369,54 @@ void proto_register_nr_rrc(void) {
{ "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,
+ { &hf_nr_rrc_setup_37,
{ "setup", "nr-rrc.setup",
FT_UINT32, BASE_DEC, NULL, 0,
"RNTI_Value", HFILL }},
+ { &hf_nr_rrc_mcs_C_RNTI,
+ { "mcs-C-RNTI", "nr-rrc.mcs_C_RNTI",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "RNTI_Value", HFILL }},
+ { &hf_nr_rrc_p_UE_FR1,
+ { "p-UE-FR1", "nr-rrc.p_UE_FR1",
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
+ "P_Max", HFILL }},
+ { &hf_nr_rrc_mcc,
+ { "mcc", "nr-rrc.mcc",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_mnc,
+ { "mnc", "nr-rrc.mnc",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_MCC_item,
+ { "MCC-MNC-Digit", "nr-rrc.MCC_MNC_Digit",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_MNC_item,
+ { "MCC-MNC-Digit", "nr-rrc.MCC_MNC_Digit",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_PLMN_IdentityInfoList_item,
+ { "PLMN-IdentityInfo", "nr-rrc.PLMN_IdentityInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_plmn_IdentityList_01,
+ { "plmn-IdentityList", "nr-rrc.plmn_IdentityList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity", HFILL }},
+ { &hf_nr_rrc_plmn_IdentityList_item,
+ { "PLMN-Identity", "nr-rrc.PLMN_Identity_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ranac,
+ { "ranac", "nr-rrc.ranac",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "RAN_AreaCode", HFILL }},
+ { &hf_nr_rrc_cellReservedForOperatorUse,
+ { "cellReservedForOperatorUse", "nr-rrc.cellReservedForOperatorUse",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellReservedForOperatorUse_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_frequencyDensity,
{ "frequencyDensity", "nr-rrc.frequencyDensity",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -30702,12 +43441,8 @@ void proto_register_nr_rrc(void) {
{ "resourceElementOffset", "nr-rrc.resourceElementOffset",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceElementOffset_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_modeSpecificParameters,
- { "modeSpecificParameters", "nr-rrc.modeSpecificParameters",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_modeSpecificParameters_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_cp_OFDM,
- { "cp-OFDM", "nr-rrc.cp_OFDM_element",
+ { &hf_nr_rrc_transformPrecoderDisabled,
+ { "transformPrecoderDisabled", "nr-rrc.transformPrecoderDisabled_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_frequencyDensity_01,
@@ -30730,10 +43465,10 @@ void proto_register_nr_rrc(void) {
{ "ptrs-Power", "nr-rrc.ptrs_Power",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ptrs_Power_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_dft_S_OFDM,
- { "dft-S-OFDM", "nr-rrc.dft_S_OFDM_element",
+ { &hf_nr_rrc_transformPrecoderEnabled,
+ { "transformPrecoderEnabled", "nr-rrc.transformPrecoderEnabled_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_dft_S_OFDM", HFILL }},
+ NULL, HFILL }},
{ &hf_nr_rrc_sampleDensity,
{ "sampleDensity", "nr-rrc.sampleDensity",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -30782,7 +43517,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_36,
+ { &hf_nr_rrc_setup_38,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"PUCCH_FormatConfig", HFILL }},
@@ -30874,42 +43609,6 @@ void proto_register_nr_rrc(void) {
{ "simultaneousHARQ-ACK-CSI", "nr-rrc.simultaneousHARQ_ACK_CSI",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousHARQ_ACK_CSI_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_pucch_SpatialRelationInfoId,
- { "pucch-SpatialRelationInfoId", "nr-rrc.pucch_SpatialRelationInfoId",
- FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_referenceSignal,
- { "referenceSignal", "nr-rrc.referenceSignal",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_csi_RS_Index_01,
- { "csi-RS-Index", "nr-rrc.csi_RS_Index",
- FT_UINT32, BASE_DEC, NULL, 0,
- "NZP_CSI_RS_ResourceId", HFILL }},
- { &hf_nr_rrc_srs,
- { "srs", "nr-rrc.srs_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_resource,
- { "resource", "nr-rrc.resource",
- FT_UINT32, BASE_DEC, NULL, 0,
- "SRS_ResourceId", HFILL }},
- { &hf_nr_rrc_uplinkBWP,
- { "uplinkBWP", "nr-rrc.uplinkBWP",
- FT_UINT32, BASE_DEC, NULL, 0,
- "BWP_Id", HFILL }},
- { &hf_nr_rrc_pucch_PathlossReferenceRS_Id,
- { "pucch-PathlossReferenceRS-Id", "nr-rrc.pucch_PathlossReferenceRS_Id",
- FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_p0_PUCCH_Id,
- { "p0-PUCCH-Id", "nr-rrc.p0_PUCCH_Id",
- FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_closedLoopIndex,
- { "closedLoopIndex", "nr-rrc.closedLoopIndex",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_closedLoopIndex_vals), 0,
- NULL, HFILL }},
{ &hf_nr_rrc_pucch_ResourceSetId,
{ "pucch-ResourceSetId", "nr-rrc.pucch_ResourceSetId",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -30924,7 +43623,7 @@ void proto_register_nr_rrc(void) {
NULL, HFILL }},
{ &hf_nr_rrc_maxPayloadMinus1,
{ "maxPayloadMinus1", "nr-rrc.maxPayloadMinus1",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_bit_bits, 0,
"INTEGER_4_256", HFILL }},
{ &hf_nr_rrc_pucch_ResourceId,
{ "pucch-ResourceId", "nr-rrc.pucch_ResourceId",
@@ -31013,30 +43712,30 @@ void proto_register_nr_rrc(void) {
{ &hf_nr_rrc_hoppingId,
{ "hoppingId", "nr-rrc.hoppingId",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_1024", HFILL }},
+ "INTEGER_0_1023", HFILL }},
{ &hf_nr_rrc_p0_nominal,
{ "p0-nominal", "nr-rrc.p0_nominal",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
"INTEGER_M202_24", HFILL }},
{ &hf_nr_rrc_deltaF_PUCCH_f0,
{ "deltaF-PUCCH-f0", "nr-rrc.deltaF_PUCCH_f0",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
"INTEGER_M16_15", HFILL }},
{ &hf_nr_rrc_deltaF_PUCCH_f1,
{ "deltaF-PUCCH-f1", "nr-rrc.deltaF_PUCCH_f1",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
"INTEGER_M16_15", HFILL }},
{ &hf_nr_rrc_deltaF_PUCCH_f2,
{ "deltaF-PUCCH-f2", "nr-rrc.deltaF_PUCCH_f2",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
"INTEGER_M16_15", HFILL }},
{ &hf_nr_rrc_deltaF_PUCCH_f3,
{ "deltaF-PUCCH-f3", "nr-rrc.deltaF_PUCCH_f3",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
"INTEGER_M16_15", HFILL }},
{ &hf_nr_rrc_deltaF_PUCCH_f4,
{ "deltaF-PUCCH-f4", "nr-rrc.deltaF_PUCCH_f4",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
"INTEGER_M16_15", HFILL }},
{ &hf_nr_rrc_p0_Set,
{ "p0-Set", "nr-rrc.p0_Set",
@@ -31058,14 +43757,50 @@ void proto_register_nr_rrc(void) {
{ "twoPUCCH-PC-AdjustmentStates", "nr-rrc.twoPUCCH_PC_AdjustmentStates",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_PC_AdjustmentStates_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_p0_PUCCH_Id,
+ { "p0-PUCCH-Id", "nr-rrc.p0_PUCCH_Id",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_p0_PUCCH_Value,
{ "p0-PUCCH-Value", "nr-rrc.p0_PUCCH_Value",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
"INTEGER_M16_15", HFILL }},
+ { &hf_nr_rrc_pucch_PathlossReferenceRS_Id,
+ { "pucch-PathlossReferenceRS-Id", "nr-rrc.pucch_PathlossReferenceRS_Id",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_referenceSignal,
+ { "referenceSignal", "nr-rrc.referenceSignal",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_RS_Index_01,
+ { "csi-RS-Index", "nr-rrc.csi_RS_Index",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NZP_CSI_RS_ResourceId", HFILL }},
+ { &hf_nr_rrc_pucch_SpatialRelationInfoId,
+ { "pucch-SpatialRelationInfoId", "nr-rrc.pucch_SpatialRelationInfoId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_referenceSignal_01,
{ "referenceSignal", "nr-rrc.referenceSignal",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_01_vals), 0,
"T_referenceSignal_01", HFILL }},
+ { &hf_nr_rrc_srs,
+ { "srs", "nr-rrc.srs_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_resource,
+ { "resource", "nr-rrc.resource",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SRS_ResourceId", HFILL }},
+ { &hf_nr_rrc_uplinkBWP,
+ { "uplinkBWP", "nr-rrc.uplinkBWP",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "BWP_Id", HFILL }},
+ { &hf_nr_rrc_closedLoopIndex,
+ { "closedLoopIndex", "nr-rrc.closedLoopIndex",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_closedLoopIndex_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_tpc_IndexPCell,
{ "tpc-IndexPCell", "nr-rrc.tpc_IndexPCell",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -31086,7 +43821,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_37,
+ { &hf_nr_rrc_setup_39,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"DMRS_UplinkConfig", HFILL }},
@@ -31118,7 +43853,7 @@ void proto_register_nr_rrc(void) {
{ "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,
+ { &hf_nr_rrc_setup_40,
{ "setup", "nr-rrc.setup",
FT_UINT32, BASE_DEC, NULL, 0,
"PUSCH_TimeDomainResourceAllocationList", HFILL }},
@@ -31154,7 +43889,7 @@ 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_39,
+ { &hf_nr_rrc_setup_41,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"UCI_OnPUSCH", HFILL }},
@@ -31184,11 +43919,11 @@ void proto_register_nr_rrc(void) {
"PUSCH_TimeDomainResourceAllocationList", HFILL }},
{ &hf_nr_rrc_msg3_DeltaPreamble,
{ "msg3-DeltaPreamble", "nr-rrc.msg3_DeltaPreamble",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_msg3_DeltaPreamble_fmt), 0,
"INTEGER_M1_6", HFILL }},
{ &hf_nr_rrc_p0_NominalWithGrant,
{ "p0-NominalWithGrant", "nr-rrc.p0_NominalWithGrant",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
"INTEGER_M202_24", HFILL }},
{ &hf_nr_rrc_tpc_Accumulation,
{ "tpc-Accumulation", "nr-rrc.tpc_Accumulation",
@@ -31200,7 +43935,7 @@ void proto_register_nr_rrc(void) {
"Alpha", HFILL }},
{ &hf_nr_rrc_p0_NominalWithoutGrant,
{ "p0-NominalWithoutGrant", "nr-rrc.p0_NominalWithoutGrant",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
"INTEGER_M202_24", HFILL }},
{ &hf_nr_rrc_p0_AlphaSets,
{ "p0-AlphaSets", "nr-rrc.p0_AlphaSets",
@@ -31256,7 +43991,7 @@ void proto_register_nr_rrc(void) {
NULL, HFILL }},
{ &hf_nr_rrc_p0,
{ "p0", "nr-rrc.p0",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
"INTEGER_M16_15", HFILL }},
{ &hf_nr_rrc_alpha,
{ "alpha", "nr-rrc.alpha",
@@ -31318,7 +44053,7 @@ void proto_register_nr_rrc(void) {
{ "codeBlockGroupTransmission", "nr-rrc.codeBlockGroupTransmission",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codeBlockGroupTransmission_01_vals), 0,
"T_codeBlockGroupTransmission_01", HFILL }},
- { &hf_nr_rrc_setup_40,
+ { &hf_nr_rrc_setup_42,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"PUSCH_CodeBlockGroupTransmission", HFILL }},
@@ -31366,6 +44101,10 @@ void proto_register_nr_rrc(void) {
{ "QuantityConfigNR", "nr-rrc.QuantityConfigNR_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_quantityConfigEUTRA,
+ { "quantityConfigEUTRA", "nr-rrc.quantityConfigEUTRA_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "FilterConfig", HFILL }},
{ &hf_nr_rrc_quantityConfigCell,
{ "quantityConfigCell", "nr-rrc.quantityConfigCell_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -31460,7 +44199,7 @@ void proto_register_nr_rrc(void) {
NULL, HFILL }},
{ &hf_nr_rrc_rsrp_ThresholdSSB_SUL,
{ "rsrp-ThresholdSSB-SUL", "nr-rrc.rsrp_ThresholdSSB_SUL",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
"RSRP_Range", HFILL }},
{ &hf_nr_rrc_prach_RootSequenceIndex,
{ "prach-RootSequenceIndex", "nr-rrc.prach_RootSequenceIndex",
@@ -31482,41 +44221,9 @@ void proto_register_nr_rrc(void) {
{ "restrictedSetConfig", "nr-rrc.restrictedSetConfig",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_restrictedSetConfig_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_msg3_transformPrecoding,
- { "msg3-transformPrecoding", "nr-rrc.msg3_transformPrecoding",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg3_transformPrecoding_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_prach_ConfigurationIndex,
- { "prach-ConfigurationIndex", "nr-rrc.prach_ConfigurationIndex",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_255", HFILL }},
- { &hf_nr_rrc_msg1_FDM,
- { "msg1-FDM", "nr-rrc.msg1_FDM",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg1_FDM_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_msg1_FrequencyStart,
- { "msg1-FrequencyStart", "nr-rrc.msg1_FrequencyStart",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }},
- { &hf_nr_rrc_zeroCorrelationZoneConfig,
- { "zeroCorrelationZoneConfig", "nr-rrc.zeroCorrelationZoneConfig",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_15", HFILL }},
- { &hf_nr_rrc_preambleReceivedTargetPower,
- { "preambleReceivedTargetPower", "nr-rrc.preambleReceivedTargetPower",
- FT_INT32, BASE_DEC, NULL, 0,
- "INTEGER_M202_M60", HFILL }},
- { &hf_nr_rrc_preambleTransMax,
- { "preambleTransMax", "nr-rrc.preambleTransMax",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preambleTransMax_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_powerRampingStep,
- { "powerRampingStep", "nr-rrc.powerRampingStep",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerRampingStep_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_ra_ResponseWindow,
- { "ra-ResponseWindow", "nr-rrc.ra_ResponseWindow",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ResponseWindow_vals), 0,
+ { &hf_nr_rrc_msg3_transformPrecoder,
+ { "msg3-transformPrecoder", "nr-rrc.msg3_transformPrecoder",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg3_transformPrecoder_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_cfra,
{ "cfra", "nr-rrc.cfra_element",
@@ -31560,8 +44267,12 @@ void proto_register_nr_rrc(void) {
NULL, HFILL }},
{ &hf_nr_rrc_rsrp_ThresholdCSI_RS,
{ "rsrp-ThresholdCSI-RS", "nr-rrc.rsrp_ThresholdCSI_RS",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0,
"RSRP_Range", HFILL }},
+ { &hf_nr_rrc_totalNumberOfRA_Preambles_v1530,
+ { "totalNumberOfRA-Preambles-v1530", "nr-rrc.totalNumberOfRA_Preambles_v1530",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_63", HFILL }},
{ &hf_nr_rrc_csi_RS_02,
{ "csi-RS", "nr-rrc.csi_RS",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -31570,6 +44281,38 @@ void proto_register_nr_rrc(void) {
{ "ra-OccasionList", "nr-rrc.ra_OccasionList",
FT_UINT32, BASE_DEC, NULL, 0,
"T_ra_OccasionList_01", HFILL }},
+ { &hf_nr_rrc_prach_ConfigurationIndex,
+ { "prach-ConfigurationIndex", "nr-rrc.prach_ConfigurationIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_255", HFILL }},
+ { &hf_nr_rrc_msg1_FDM,
+ { "msg1-FDM", "nr-rrc.msg1_FDM",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg1_FDM_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_msg1_FrequencyStart,
+ { "msg1-FrequencyStart", "nr-rrc.msg1_FrequencyStart",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }},
+ { &hf_nr_rrc_zeroCorrelationZoneConfig,
+ { "zeroCorrelationZoneConfig", "nr-rrc.zeroCorrelationZoneConfig",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_15", HFILL }},
+ { &hf_nr_rrc_preambleReceivedTargetPower,
+ { "preambleReceivedTargetPower", "nr-rrc.preambleReceivedTargetPower",
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
+ "INTEGER_M202_M60", HFILL }},
+ { &hf_nr_rrc_preambleTransMax,
+ { "preambleTransMax", "nr-rrc.preambleTransMax",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preambleTransMax_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_powerRampingStep,
+ { "powerRampingStep", "nr-rrc.powerRampingStep",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerRampingStep_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ra_ResponseWindow,
+ { "ra-ResponseWindow", "nr-rrc.ra_ResponseWindow",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ResponseWindow_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_powerRampingStepHighPriority,
{ "powerRampingStepHighPriority", "nr-rrc.powerRampingStepHighPriority",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerRampingStepHighPriority_vals), 0,
@@ -31634,10 +44377,6 @@ 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,
@@ -31650,10 +44389,6 @@ void proto_register_nr_rrc(void) {
{ "DRB-Identity", "nr-rrc.DRB_Identity",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_securityAlgorithmConfig,
- { "securityAlgorithmConfig", "nr-rrc.securityAlgorithmConfig_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
{ &hf_nr_rrc_keyToUse,
{ "keyToUse", "nr-rrc.keyToUse",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_keyToUse_vals), 0,
@@ -31758,9 +44493,9 @@ void proto_register_nr_rrc(void) {
{ "controlResourceSet", "nr-rrc.controlResourceSet",
FT_UINT32, BASE_DEC, NULL, 0,
"ControlResourceSetId", HFILL }},
- { &hf_nr_rrc_mode,
- { "mode", "nr-rrc.mode",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mode_vals), 0,
+ { &hf_nr_rrc_dummy_01,
+ { "dummy", "nr-rrc.dummy",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_carrierFreqDL,
{ "carrierFreqDL", "nr-rrc.carrierFreqDL",
@@ -31789,35 +44524,111 @@ void proto_register_nr_rrc(void) {
{ &hf_nr_rrc_periodical,
{ "periodical", "nr-rrc.periodical_element",
FT_NONE, BASE_NONE, NULL, 0,
- "PeriodicalReportConfig", HFILL }},
+ "PeriodicalReportConfigInterRAT", HFILL }},
{ &hf_nr_rrc_eventTriggered,
{ "eventTriggered", "nr-rrc.eventTriggered_element",
FT_NONE, BASE_NONE, NULL, 0,
- "EventTriggerConfig", HFILL }},
+ "EventTriggerConfigInterRAT", HFILL }},
+ { &hf_nr_rrc_reportCGI,
+ { "reportCGI", "nr-rrc.reportCGI_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ReportCGI_EUTRA", HFILL }},
+ { &hf_nr_rrc_cellForWhichToReportCGI,
+ { "cellForWhichToReportCGI", "nr-rrc.cellForWhichToReportCGI",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "EUTRA_PhysCellId", HFILL }},
{ &hf_nr_rrc_eventId,
{ "eventId", "nr-rrc.eventId",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventId_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_eventA1,
- { "eventA1", "nr-rrc.eventA1_element",
+ { &hf_nr_rrc_eventB1,
+ { "eventB1", "nr-rrc.eventB1_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_a1_Threshold,
- { "a1-Threshold", "nr-rrc.a1_Threshold",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0,
- "MeasTriggerQuantity", HFILL }},
+ { &hf_nr_rrc_b1_ThresholdEUTRA,
+ { "b1-ThresholdEUTRA", "nr-rrc.b1_ThresholdEUTRA",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityEUTRA_vals), 0,
+ "MeasTriggerQuantityEUTRA", HFILL }},
{ &hf_nr_rrc_reportOnLeave,
{ "reportOnLeave", "nr-rrc.reportOnLeave",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_nr_rrc_hysteresis,
{ "hysteresis", "nr-rrc.hysteresis",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Hysteresis_fmt), 0,
NULL, HFILL }},
{ &hf_nr_rrc_timeToTrigger,
{ "timeToTrigger", "nr-rrc.timeToTrigger",
FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeToTrigger_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_eventB2,
+ { "eventB2", "nr-rrc.eventB2_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_b2_Threshold1,
+ { "b2-Threshold1", "nr-rrc.b2_Threshold1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0,
+ "MeasTriggerQuantity", HFILL }},
+ { &hf_nr_rrc_b2_Threshold2EUTRA,
+ { "b2-Threshold2EUTRA", "nr-rrc.b2_Threshold2EUTRA",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityEUTRA_vals), 0,
+ "MeasTriggerQuantityEUTRA", HFILL }},
+ { &hf_nr_rrc_rsType,
+ { "rsType", "nr-rrc.rsType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_NR_RS_Type_vals), 0,
+ "NR_RS_Type", HFILL }},
+ { &hf_nr_rrc_reportInterval,
+ { "reportInterval", "nr-rrc.reportInterval",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_ReportInterval_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_reportAmount,
+ { "reportAmount", "nr-rrc.reportAmount",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_reportQuantity_01,
+ { "reportQuantity", "nr-rrc.reportQuantity_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "MeasReportQuantity", HFILL }},
+ { &hf_nr_rrc_maxReportCells,
+ { "maxReportCells", "nr-rrc.maxReportCells",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_maxCellReport", HFILL }},
+ { &hf_nr_rrc_reportAmount_01,
+ { "reportAmount", "nr-rrc.reportAmount",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_01_vals), 0,
+ "T_reportAmount_01", HFILL }},
+ { &hf_nr_rrc_reportType_01,
+ { "reportType", "nr-rrc.reportType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportType_01_vals), 0,
+ "T_reportType_01", HFILL }},
+ { &hf_nr_rrc_periodical_01,
+ { "periodical", "nr-rrc.periodical_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PeriodicalReportConfig", HFILL }},
+ { &hf_nr_rrc_eventTriggered_01,
+ { "eventTriggered", "nr-rrc.eventTriggered_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "EventTriggerConfig", HFILL }},
+ { &hf_nr_rrc_reportCGI_01,
+ { "reportCGI", "nr-rrc.reportCGI_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_cellForWhichToReportCGI_01,
+ { "cellForWhichToReportCGI", "nr-rrc.cellForWhichToReportCGI",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "PhysCellId", HFILL }},
+ { &hf_nr_rrc_eventId_01,
+ { "eventId", "nr-rrc.eventId",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventId_01_vals), 0,
+ "T_eventId_01", HFILL }},
+ { &hf_nr_rrc_eventA1,
+ { "eventA1", "nr-rrc.eventA1_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_a1_Threshold,
+ { "a1-Threshold", "nr-rrc.a1_Threshold",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0,
+ "MeasTriggerQuantity", HFILL }},
{ &hf_nr_rrc_eventA2,
{ "eventA2", "nr-rrc.eventA2_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -31866,26 +44677,14 @@ void proto_register_nr_rrc(void) {
{ "a6-Offset", "nr-rrc.a6_Offset",
FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityOffset_vals), 0,
"MeasTriggerQuantityOffset", HFILL }},
- { &hf_nr_rrc_rsType,
- { "rsType", "nr-rrc.rsType",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_NR_RS_Type_vals), 0,
- "NR_RS_Type", HFILL }},
- { &hf_nr_rrc_reportInterval,
- { "reportInterval", "nr-rrc.reportInterval",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_ReportInterval_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_reportAmount,
+ { &hf_nr_rrc_reportAmount_02,
{ "reportAmount", "nr-rrc.reportAmount",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_vals), 0,
- NULL, HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_02_vals), 0,
+ "T_reportAmount_02", HFILL }},
{ &hf_nr_rrc_reportQuantityCell,
{ "reportQuantityCell", "nr-rrc.reportQuantityCell_element",
FT_NONE, BASE_NONE, NULL, 0,
"MeasReportQuantity", HFILL }},
- { &hf_nr_rrc_maxReportCells,
- { "maxReportCells", "nr-rrc.maxReportCells",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_maxCellReport", HFILL }},
{ &hf_nr_rrc_reportQuantityRsIndexes,
{ "reportQuantityRsIndexes", "nr-rrc.reportQuantityRsIndexes_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -31902,35 +44701,35 @@ void proto_register_nr_rrc(void) {
{ "reportAddNeighMeas", "nr-rrc.reportAddNeighMeas",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAddNeighMeas_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_reportAmount_01,
+ { &hf_nr_rrc_reportAmount_03,
{ "reportAmount", "nr-rrc.reportAmount",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_01_vals), 0,
- "T_reportAmount_01", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_03_vals), 0,
+ "T_reportAmount_03", HFILL }},
{ &hf_nr_rrc_maxNrofRsIndexesToReport,
{ "maxNrofRsIndexesToReport", "nr-rrc.maxNrofRsIndexesToReport",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_maxNrofIndexesToReport", HFILL }},
- { &hf_nr_rrc_rsrp_01,
+ { &hf_nr_rrc_rsrp_02,
{ "rsrp", "nr-rrc.rsrp",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
"INTEGER_M30_30", HFILL }},
- { &hf_nr_rrc_rsrq_01,
+ { &hf_nr_rrc_rsrq_02,
{ "rsrq", "nr-rrc.rsrq",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
"INTEGER_M30_30", HFILL }},
- { &hf_nr_rrc_sinr_01,
+ { &hf_nr_rrc_sinr_02,
{ "sinr", "nr-rrc.sinr",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0,
"INTEGER_M30_30", HFILL }},
- { &hf_nr_rrc_rsrp_02,
+ { &hf_nr_rrc_rsrp_03,
{ "rsrp", "nr-rrc.rsrp",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
- { &hf_nr_rrc_rsrq_02,
+ { &hf_nr_rrc_rsrq_03,
{ "rsrq", "nr-rrc.rsrq",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
- { &hf_nr_rrc_sinr_02,
+ { &hf_nr_rrc_sinr_03,
{ "sinr", "nr-rrc.sinr",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
@@ -31946,6 +44745,10 @@ void proto_register_nr_rrc(void) {
{ "reportConfigNR", "nr-rrc.reportConfigNR_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_reportConfigInterRAT,
+ { "reportConfigInterRAT", "nr-rrc.reportConfigInterRAT_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_logicalChannelIdentity,
{ "logicalChannelIdentity", "nr-rrc.logicalChannelIdentity",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -32042,6 +44845,10 @@ void proto_register_nr_rrc(void) {
{ "n311", "nr-rrc.n311",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n311_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_t311_v1530,
+ { "t311-v1530", "nr-rrc.t311_v1530",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t311_v1530_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_schedulingRequestToAddModList,
{ "schedulingRequestToAddModList", "nr-rrc.schedulingRequestToAddModList",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -32150,6 +44957,10 @@ void proto_register_nr_rrc(void) {
{ "carrierBandwidth", "nr-rrc.carrierBandwidth",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_maxNrofPhysicalResourceBlocks", HFILL }},
+ { &hf_nr_rrc_txDirectCurrentLocation_v1530,
+ { "txDirectCurrentLocation-v1530", "nr-rrc.txDirectCurrentLocation_v1530",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_4095", HFILL }},
{ &hf_nr_rrc_pdu_Session,
{ "pdu-Session", "nr-rrc.pdu_Session",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -32200,7 +45011,7 @@ void proto_register_nr_rrc(void) {
"INTEGER_0_2559", HFILL }},
{ &hf_nr_rrc_duration_01,
{ "duration", "nr-rrc.duration",
- FT_UINT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_slots, 0,
"INTEGER_2_2559", HFILL }},
{ &hf_nr_rrc_monitoringSymbolsWithinSlot,
{ "monitoringSymbolsWithinSlot", "nr-rrc.monitoringSymbolsWithinSlot",
@@ -32282,13 +45093,13 @@ void proto_register_nr_rrc(void) {
{ "dci-Format2-3", "nr-rrc.dci_Format2_3_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_monitoringPeriodicity,
- { "monitoringPeriodicity", "nr-rrc.monitoringPeriodicity",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_monitoringPeriodicity_vals), 0,
+ { &hf_nr_rrc_dummy1,
+ { "dummy1", "nr-rrc.dummy1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy1_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_nrofPDCCH_Candidates,
- { "nrofPDCCH-Candidates", "nr-rrc.nrofPDCCH_Candidates",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPDCCH_Candidates_vals), 0,
+ { &hf_nr_rrc_dummy2,
+ { "dummy2", "nr-rrc.dummy2",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy2_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_ue_Specific,
{ "ue-Specific", "nr-rrc.ue_Specific_element",
@@ -32346,7 +45157,7 @@ void proto_register_nr_rrc(void) {
{ "uplinkConfig", "nr-rrc.uplinkConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_supplementaryUplink_02,
+ { &hf_nr_rrc_supplementaryUplink_01,
{ "supplementaryUplink", "nr-rrc.supplementaryUplink_element",
FT_NONE, BASE_NONE, NULL, 0,
"UplinkConfig", HFILL }},
@@ -32354,7 +45165,7 @@ void proto_register_nr_rrc(void) {
{ "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,
+ { &hf_nr_rrc_setup_43,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"PDCCH_ServingCellConfig", HFILL }},
@@ -32362,7 +45173,7 @@ void proto_register_nr_rrc(void) {
{ "pdsch-ServingCellConfig", "nr-rrc.pdsch_ServingCellConfig",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_ServingCellConfig_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_42,
+ { &hf_nr_rrc_setup_44,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"PDSCH_ServingCellConfig", HFILL }},
@@ -32370,7 +45181,7 @@ 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_43,
+ { &hf_nr_rrc_setup_45,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"CSI_MeasConfig", HFILL }},
@@ -32382,6 +45193,10 @@ void proto_register_nr_rrc(void) {
{ "crossCarrierSchedulingConfig", "nr-rrc.crossCarrierSchedulingConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_tag_Id,
+ { "tag-Id", "nr-rrc.tag_Id",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_ue_BeamLockFunction,
{ "ue-BeamLockFunction", "nr-rrc.ue_BeamLockFunction",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_BeamLockFunction_vals), 0,
@@ -32422,7 +45237,7 @@ 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_44,
+ { &hf_nr_rrc_setup_46,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"PUSCH_ServingCellConfig", HFILL }},
@@ -32430,7 +45245,7 @@ void proto_register_nr_rrc(void) {
{ "carrierSwitching", "nr-rrc.carrierSwitching",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_carrierSwitching_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_setup_45,
+ { &hf_nr_rrc_setup_47,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"SRS_CarrierSwitching", HFILL }},
@@ -32438,6 +45253,10 @@ void proto_register_nr_rrc(void) {
{ "downlinkConfigCommon", "nr-rrc.downlinkConfigCommon_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_uplinkConfigCommon,
+ { "uplinkConfigCommon", "nr-rrc.uplinkConfigCommon_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_supplementaryUplinkConfig,
{ "supplementaryUplinkConfig", "nr-rrc.supplementaryUplinkConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -32446,10 +45265,22 @@ void proto_register_nr_rrc(void) {
{ "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,
+ { &hf_nr_rrc_ssb_PositionsInBurst,
{ "ssb-PositionsInBurst", "nr-rrc.ssb_PositionsInBurst",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_PositionsInBurst_01_vals), 0,
- "T_ssb_PositionsInBurst_01", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_PositionsInBurst_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_shortBitmap,
+ { "shortBitmap", "nr-rrc.shortBitmap",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_4", HFILL }},
+ { &hf_nr_rrc_mediumBitmap,
+ { "mediumBitmap", "nr-rrc.mediumBitmap",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_8", HFILL }},
+ { &hf_nr_rrc_longBitmap,
+ { "longBitmap", "nr-rrc.longBitmap",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_64", HFILL }},
{ &hf_nr_rrc_ssb_periodicityServingCell,
{ "ssb-periodicityServingCell", "nr-rrc.ssb_periodicityServingCell",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_periodicityServingCell_vals), 0,
@@ -32462,7 +45293,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_46,
+ { &hf_nr_rrc_setup_48,
{ "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
"RateMatchPatternLTE_CRS", HFILL }},
@@ -32470,6 +45301,126 @@ 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_ss_PBCH_BlockPower,
+ { "ss-PBCH-BlockPower", "nr-rrc.ss_PBCH_BlockPower",
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
+ "INTEGER_M60_50", HFILL }},
+ { &hf_nr_rrc_downlinkConfigCommon_01,
+ { "downlinkConfigCommon", "nr-rrc.downlinkConfigCommon_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "DownlinkConfigCommonSIB", HFILL }},
+ { &hf_nr_rrc_uplinkConfigCommon_01,
+ { "uplinkConfigCommon", "nr-rrc.uplinkConfigCommon_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UplinkConfigCommonSIB", HFILL }},
+ { &hf_nr_rrc_supplementaryUplink_02,
+ { "supplementaryUplink", "nr-rrc.supplementaryUplink_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UplinkConfigCommonSIB", HFILL }},
+ { &hf_nr_rrc_n_TimingAdvanceOffset_01,
+ { "n-TimingAdvanceOffset", "nr-rrc.n_TimingAdvanceOffset",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n_TimingAdvanceOffset_01_vals), 0,
+ "T_n_TimingAdvanceOffset_01", HFILL }},
+ { &hf_nr_rrc_ssb_PositionsInBurst_01,
+ { "ssb-PositionsInBurst", "nr-rrc.ssb_PositionsInBurst_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_ssb_PositionsInBurst_01", HFILL }},
+ { &hf_nr_rrc_inOneGroup,
+ { "inOneGroup", "nr-rrc.inOneGroup",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_8", HFILL }},
+ { &hf_nr_rrc_groupPresence,
+ { "groupPresence", "nr-rrc.groupPresence",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_8", HFILL }},
+ { &hf_nr_rrc_ssb_PeriodicityServingCell,
+ { "ssb-PeriodicityServingCell", "nr-rrc.ssb_PeriodicityServingCell",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_PeriodicityServingCell_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_schedulingInfoList,
+ { "schedulingInfoList", "nr-rrc.schedulingInfoList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo", HFILL }},
+ { &hf_nr_rrc_schedulingInfoList_item,
+ { "SchedulingInfo", "nr-rrc.SchedulingInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_si_WindowLength,
+ { "si-WindowLength", "nr-rrc.si_WindowLength",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_si_WindowLength_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_si_RequestConfig,
+ { "si-RequestConfig", "nr-rrc.si_RequestConfig_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_si_RequestConfigSUL,
+ { "si-RequestConfigSUL", "nr-rrc.si_RequestConfigSUL_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "SI_RequestConfig", HFILL }},
+ { &hf_nr_rrc_systemInformationAreaID,
+ { "systemInformationAreaID", "nr-rrc.systemInformationAreaID",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_24", HFILL }},
+ { &hf_nr_rrc_si_BroadcastStatus,
+ { "si-BroadcastStatus", "nr-rrc.si_BroadcastStatus",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_si_BroadcastStatus_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_si_Periodicity,
+ { "si-Periodicity", "nr-rrc.si_Periodicity",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_si_Periodicity_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib_MappingInfo,
+ { "sib-MappingInfo", "nr-rrc.sib_MappingInfo",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SIB_Mapping", HFILL }},
+ { &hf_nr_rrc_SIB_Mapping_item,
+ { "SIB-TypeInfo", "nr-rrc.SIB_TypeInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_type,
+ { "type", "nr-rrc.type",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_valueTag,
+ { "valueTag", "nr-rrc.valueTag",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_31", HFILL }},
+ { &hf_nr_rrc_areaScope,
+ { "areaScope", "nr-rrc.areaScope",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_areaScope_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rach_OccasionsSI,
+ { "rach-OccasionsSI", "nr-rrc.rach_OccasionsSI_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_rach_ConfigSI,
+ { "rach-ConfigSI", "nr-rrc.rach_ConfigSI_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RACH_ConfigGeneric", HFILL }},
+ { &hf_nr_rrc_ssb_perRACH_Occasion_02,
+ { "ssb-perRACH-Occasion", "nr-rrc.ssb_perRACH_Occasion",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_perRACH_Occasion_02_vals), 0,
+ "T_ssb_perRACH_Occasion_02", HFILL }},
+ { &hf_nr_rrc_si_RequestPeriod,
+ { "si-RequestPeriod", "nr-rrc.si_RequestPeriod",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_si_RequestPeriod_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_si_RequestResources,
+ { "si-RequestResources", "nr-rrc.si_RequestResources",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources", HFILL }},
+ { &hf_nr_rrc_si_RequestResources_item,
+ { "SI-RequestResources", "nr-rrc.SI_RequestResources_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ra_PreambleStartIndex,
+ { "ra-PreambleStartIndex", "nr-rrc.ra_PreambleStartIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_63", HFILL }},
+ { &hf_nr_rrc_ra_AssociationPeriodIndex,
+ { "ra-AssociationPeriodIndex", "nr-rrc.ra_AssociationPeriodIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_15", HFILL }},
{ &hf_nr_rrc_subcarrierSpacing2,
{ "subcarrierSpacing2", "nr-rrc.subcarrierSpacing2",
FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
@@ -32522,6 +45473,22 @@ void proto_register_nr_rrc(void) {
{ "ServCellIndex", "nr-rrc.ServCellIndex",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_sst,
+ { "sst", "nr-rrc.sst",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_8", HFILL }},
+ { &hf_nr_rrc_sst_SD,
+ { "sst-SD", "nr-rrc.sst_SD",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_32", HFILL }},
+ { &hf_nr_rrc_sf_Medium_01,
+ { "sf-Medium", "nr-rrc.sf_Medium",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sf_Medium_01_vals), 0,
+ "T_sf_Medium_01", HFILL }},
+ { &hf_nr_rrc_sf_High_01,
+ { "sf-High", "nr-rrc.sf_High",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sf_High_01_vals), 0,
+ "T_sf_High_01", HFILL }},
{ &hf_nr_rrc_measurementSlots,
{ "measurementSlots", "nr-rrc.measurementSlots",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -32542,6 +45509,58 @@ void proto_register_nr_rrc(void) {
{ "n1PUCCH-AN", "nr-rrc.n1PUCCH_AN",
FT_UINT32, BASE_DEC, NULL, 0,
"PUCCH_ResourceId", HFILL }},
+ { &hf_nr_rrc_mcs_Table_03,
+ { "mcs-Table", "nr-rrc.mcs_Table",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_Table_03_vals), 0,
+ "T_mcs_Table_03", HFILL }},
+ { &hf_nr_rrc_srs_SwitchFromServCellIndex,
+ { "srs-SwitchFromServCellIndex", "nr-rrc.srs_SwitchFromServCellIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_31", HFILL }},
+ { &hf_nr_rrc_srs_SwitchFromCarrier,
+ { "srs-SwitchFromCarrier", "nr-rrc.srs_SwitchFromCarrier",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_SwitchFromCarrier_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_srs_TPC_PDCCH_Group,
+ { "srs-TPC-PDCCH-Group", "nr-rrc.srs_TPC_PDCCH_Group",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_TPC_PDCCH_Group_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_typeA,
+ { "typeA", "nr-rrc.typeA",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config", HFILL }},
+ { &hf_nr_rrc_typeA_item,
+ { "SRS-TPC-PDCCH-Config", "nr-rrc.SRS_TPC_PDCCH_Config_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_typeB,
+ { "typeB", "nr-rrc.typeB_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "SRS_TPC_PDCCH_Config", HFILL }},
+ { &hf_nr_rrc_monitoringCells,
+ { "monitoringCells", "nr-rrc.monitoringCells",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex", HFILL }},
+ { &hf_nr_rrc_monitoringCells_item,
+ { "ServCellIndex", "nr-rrc.ServCellIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_srs_CC_SetIndexlist,
+ { "srs-CC-SetIndexlist", "nr-rrc.srs_CC_SetIndexlist",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex", HFILL }},
+ { &hf_nr_rrc_srs_CC_SetIndexlist_item,
+ { "SRS-CC-SetIndex", "nr-rrc.SRS_CC_SetIndex_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_cc_SetIndex,
+ { "cc-SetIndex", "nr-rrc.cc_SetIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_3", HFILL }},
+ { &hf_nr_rrc_cc_IndexInOneCC_Set,
+ { "cc-IndexInOneCC-Set", "nr-rrc.cc_IndexInOneCC_Set",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_7", HFILL }},
{ &hf_nr_rrc_srs_ResourceSetToReleaseList,
{ "srs-ResourceSetToReleaseList", "nr-rrc.srs_ResourceSetToReleaseList",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -32606,6 +45625,14 @@ void proto_register_nr_rrc(void) {
{ "slotOffset", "nr-rrc.slotOffset",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_32", HFILL }},
+ { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList_v1530,
+ { "aperiodicSRS-ResourceTriggerList-v1530", "nr-rrc.aperiodicSRS_ResourceTriggerList_v1530",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "T_aperiodicSRS_ResourceTriggerList_v1530", HFILL }},
+ { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList_v1530_item,
+ { "aperiodicSRS-ResourceTriggerList-v1530 item", "nr-rrc.aperiodicSRS_ResourceTriggerList_v1530_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_maxNrofSRS_TriggerStates_1", HFILL }},
{ &hf_nr_rrc_semi_persistent,
{ "semi-persistent", "nr-rrc.semi_persistent_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -32624,7 +45651,7 @@ void proto_register_nr_rrc(void) {
NULL, HFILL }},
{ &hf_nr_rrc_p0_01,
{ "p0", "nr-rrc.p0",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
"INTEGER_M202_24", HFILL }},
{ &hf_nr_rrc_pathlossReferenceRS,
{ "pathlossReferenceRS", "nr-rrc.pathlossReferenceRS",
@@ -32744,8 +45771,8 @@ void proto_register_nr_rrc(void) {
"SRS_PeriodicityAndOffset", HFILL }},
{ &hf_nr_rrc_sequenceId,
{ "sequenceId", "nr-rrc.sequenceId",
- FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_10", HFILL }},
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1023", HFILL }},
{ &hf_nr_rrc_spatialRelationInfo,
{ "spatialRelationInfo", "nr-rrc.spatialRelationInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -32770,54 +45797,6 @@ void proto_register_nr_rrc(void) {
{ "sl64", "nr-rrc.sl64",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_63", HFILL }},
- { &hf_nr_rrc_srs_SwitchFromServCellIndex,
- { "srs-SwitchFromServCellIndex", "nr-rrc.srs_SwitchFromServCellIndex",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_31", HFILL }},
- { &hf_nr_rrc_srs_SwitchFromCarrier,
- { "srs-SwitchFromCarrier", "nr-rrc.srs_SwitchFromCarrier",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_SwitchFromCarrier_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_srs_TPC_PDCCH_Group,
- { "srs-TPC-PDCCH-Group", "nr-rrc.srs_TPC_PDCCH_Group",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_TPC_PDCCH_Group_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_typeA,
- { "typeA", "nr-rrc.typeA",
- FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config", HFILL }},
- { &hf_nr_rrc_typeA_item,
- { "SRS-TPC-PDCCH-Config", "nr-rrc.SRS_TPC_PDCCH_Config_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_typeB,
- { "typeB", "nr-rrc.typeB_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "SRS_TPC_PDCCH_Config", HFILL }},
- { &hf_nr_rrc_monitoringCells,
- { "monitoringCells", "nr-rrc.monitoringCells",
- FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex", HFILL }},
- { &hf_nr_rrc_monitoringCells_item,
- { "ServCellIndex", "nr-rrc.ServCellIndex",
- FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_srs_CC_SetIndexlist,
- { "srs-CC-SetIndexlist", "nr-rrc.srs_CC_SetIndexlist",
- FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex", HFILL }},
- { &hf_nr_rrc_srs_CC_SetIndexlist_item,
- { "SRS-CC-SetIndex", "nr-rrc.SRS_CC_SetIndex_element",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_cc_SetIndex,
- { "cc-SetIndex", "nr-rrc.cc_SetIndex",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_3", HFILL }},
- { &hf_nr_rrc_cc_IndexInOneCC_Set,
- { "cc-IndexInOneCC-Set", "nr-rrc.cc_IndexInOneCC_Set",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_7", HFILL }},
{ &hf_nr_rrc_startingBitOfFormat2_3,
{ "startingBitOfFormat2-3", "nr-rrc.startingBitOfFormat2_3",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -32826,6 +45805,10 @@ void proto_register_nr_rrc(void) {
{ "fieldTypeFormat2-3", "nr-rrc.fieldTypeFormat2_3",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1", HFILL }},
+ { &hf_nr_rrc_startingBitOfFormat2_3SUL_v1530,
+ { "startingBitOfFormat2-3SUL-v1530", "nr-rrc.startingBitOfFormat2_3SUL_v1530",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_31", HFILL }},
{ &hf_nr_rrc_periodicityAndOffset_02,
{ "periodicityAndOffset", "nr-rrc.periodicityAndOffset",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndOffset_01_vals), 0,
@@ -32870,6 +45853,26 @@ void proto_register_nr_rrc(void) {
{ "periodicity", "nr-rrc.periodicity",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicity_02_vals), 0,
"T_periodicity_02", HFILL }},
+ { &hf_nr_rrc_tag_ToReleaseList,
+ { "tag-ToReleaseList", "nr-rrc.tag_ToReleaseList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id", HFILL }},
+ { &hf_nr_rrc_tag_ToReleaseList_item,
+ { "TAG-Id", "nr-rrc.TAG_Id",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_tag_ToAddModList,
+ { "tag-ToAddModList", "nr-rrc.tag_ToAddModList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG", HFILL }},
+ { &hf_nr_rrc_tag_ToAddModList_item,
+ { "TAG", "nr-rrc.TAG_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_timeAlignmentTimer,
+ { "timeAlignmentTimer", "nr-rrc.timeAlignmentTimer",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeAlignmentTimer_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_tci_StateId,
{ "tci-StateId", "nr-rrc.tci_StateId",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -32930,6 +45933,10 @@ void proto_register_nr_rrc(void) {
{ "nrofUplinkSymbols", "nr-rrc.nrofUplinkSymbols",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_maxNrofSymbols_1", HFILL }},
+ { &hf_nr_rrc_dl_UL_TransmissionPeriodicity_v1530,
+ { "dl-UL-TransmissionPeriodicity-v1530", "nr-rrc.dl_UL_TransmissionPeriodicity_v1530",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_UL_TransmissionPeriodicity_v1530_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_slotSpecificConfigurationsToAddModList,
{ "slotSpecificConfigurationsToAddModList", "nr-rrc.slotSpecificConfigurationsToAddModList",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -32974,6 +45981,86 @@ void proto_register_nr_rrc(void) {
{ "nrofUplinkSymbols", "nr-rrc.nrofUplinkSymbols",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_maxNrofSymbols_1", HFILL }},
+ { &hf_nr_rrc_UAC_BarringInfoSetList_item,
+ { "UAC-BarringInfoSet", "nr-rrc.UAC_BarringInfoSet_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_uac_BarringFactor,
+ { "uac-BarringFactor", "nr-rrc.uac_BarringFactor",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uac_BarringFactor_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_uac_BarringTime,
+ { "uac-BarringTime", "nr-rrc.uac_BarringTime",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uac_BarringTime_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_uac_BarringForAccessIdentity,
+ { "uac-BarringForAccessIdentity", "nr-rrc.uac_BarringForAccessIdentity",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_7", HFILL }},
+ { &hf_nr_rrc_UAC_BarringPerCatList_item,
+ { "UAC-BarringPerCat", "nr-rrc.UAC_BarringPerCat_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_accessCategory,
+ { "accessCategory", "nr-rrc.accessCategory",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_maxAccessCat_1", HFILL }},
+ { &hf_nr_rrc_uac_barringInfoSetIndex,
+ { "uac-barringInfoSetIndex", "nr-rrc.uac_barringInfoSetIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_UAC_BarringPerPLMN_List_item,
+ { "UAC-BarringPerPLMN", "nr-rrc.UAC_BarringPerPLMN_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_plmn_IdentityIndex,
+ { "plmn-IdentityIndex", "nr-rrc.plmn_IdentityIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_maxPLMN", HFILL }},
+ { &hf_nr_rrc_uac_ACBarringListType,
+ { "uac-ACBarringListType", "nr-rrc.uac_ACBarringListType",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uac_ACBarringListType_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_uac_ImplicitACBarringList,
+ { "uac-ImplicitACBarringList", "nr-rrc.uac_ImplicitACBarringList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex", HFILL }},
+ { &hf_nr_rrc_uac_ImplicitACBarringList_item,
+ { "UAC-BarringInfoSetIndex", "nr-rrc.UAC_BarringInfoSetIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_uac_ExplicitACBarringList,
+ { "uac-ExplicitACBarringList", "nr-rrc.uac_ExplicitACBarringList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "UAC_BarringPerCatList", HFILL }},
+ { &hf_nr_rrc_t300,
+ { "t300", "nr-rrc.t300",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t300_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_t301,
+ { "t301", "nr-rrc.t301",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t301_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_t310_01,
+ { "t310", "nr-rrc.t310",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t310_01_vals), 0,
+ "T_t310_01", HFILL }},
+ { &hf_nr_rrc_n310_01,
+ { "n310", "nr-rrc.n310",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n310_01_vals), 0,
+ "T_n310_01", HFILL }},
+ { &hf_nr_rrc_t311,
+ { "t311", "nr-rrc.t311",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t311_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_n311_01,
+ { "n311", "nr-rrc.n311",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n311_01_vals), 0,
+ "T_n311_01", HFILL }},
+ { &hf_nr_rrc_t319,
+ { "t319", "nr-rrc.t319",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t319_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_frequencyInfoUL,
{ "frequencyInfoUL", "nr-rrc.frequencyInfoUL_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -32982,10 +46069,38 @@ void proto_register_nr_rrc(void) {
{ "initialUplinkBWP", "nr-rrc.initialUplinkBWP_element",
FT_NONE, BASE_NONE, NULL, 0,
"BWP_UplinkCommon", HFILL }},
+ { &hf_nr_rrc_dummy_02,
+ { "dummy", "nr-rrc.dummy",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeAlignmentTimer_vals), 0,
+ "TimeAlignmentTimer", HFILL }},
+ { &hf_nr_rrc_frequencyInfoUL_01,
+ { "frequencyInfoUL", "nr-rrc.frequencyInfoUL_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "FrequencyInfoUL_SIB", HFILL }},
{ &hf_nr_rrc_timeAlignmentTimerCommon,
{ "timeAlignmentTimerCommon", "nr-rrc.timeAlignmentTimerCommon",
FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeAlignmentTimer_vals), 0,
"TimeAlignmentTimer", HFILL }},
+ { &hf_nr_rrc_UplinkTxDirectCurrentList_item,
+ { "UplinkTxDirectCurrentCell", "nr-rrc.UplinkTxDirectCurrentCell_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_uplinkDirectCurrentBWP,
+ { "uplinkDirectCurrentBWP", "nr-rrc.uplinkDirectCurrentBWP",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP", HFILL }},
+ { &hf_nr_rrc_uplinkDirectCurrentBWP_item,
+ { "UplinkTxDirectCurrentBWP", "nr-rrc.UplinkTxDirectCurrentBWP_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_shift7dot5kHz,
+ { "shift7dot5kHz", "nr-rrc.shift7dot5kHz",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_nr_rrc_txDirectCurrentLocation,
+ { "txDirectCurrentLocation", "nr-rrc.txDirectCurrentLocation",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_3301", HFILL }},
{ &hf_nr_rrc_zp_CSI_RS_ResourceId,
{ "zp-CSI-RS-ResourceId", "nr-rrc.zp_CSI_RS_ResourceId",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -33034,7 +46149,11 @@ void proto_register_nr_rrc(void) {
{ "supportedBandwidthCombinationSet", "nr-rrc.supportedBandwidthCombinationSet",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_1_32", HFILL }},
- { &hf_nr_rrc_eutra,
+ { &hf_nr_rrc_powerClass_v1530,
+ { "powerClass-v1530", "nr-rrc.powerClass_v1530",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerClass_v1530_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_eutra_01,
{ "eutra", "nr-rrc.eutra_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
@@ -33050,7 +46169,7 @@ void proto_register_nr_rrc(void) {
{ "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,
+ { &hf_nr_rrc_nr_01,
{ "nr", "nr-rrc.nr_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
@@ -33066,6 +46185,30 @@ void proto_register_nr_rrc(void) {
{ "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_multipleTimingAdvance,
+ { "multipleTimingAdvance", "nr-rrc.multipleTimingAdvance",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleTimingAdvance_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_simultaneousRx_Tx,
+ { "simultaneousRx-Tx", "nr-rrc.simultaneousRx_Tx",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRx_Tx_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_supportedNAICS_2CRS_AP,
+ { "supportedNAICS-2CRS-AP", "nr-rrc.supportedNAICS_2CRS_AP",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_1_8", HFILL }},
+ { &hf_nr_rrc_additionalRx_Tx_PerformanceReq,
+ { "additionalRx-Tx-PerformanceReq", "nr-rrc.additionalRx_Tx_PerformanceReq",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalRx_Tx_PerformanceReq_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ue_CA_PowerClass_N,
+ { "ue-CA-PowerClass-N", "nr-rrc.ue_CA_PowerClass_N",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_CA_PowerClass_N_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_supportedBandwidthCombinationSetEUTRA_v1530,
+ { "supportedBandwidthCombinationSetEUTRA-v1530", "nr-rrc.supportedBandwidthCombinationSetEUTRA_v1530",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_1_32", HFILL }},
{ &hf_nr_rrc_multipleTimingAdvances,
{ "multipleTimingAdvances", "nr-rrc.multipleTimingAdvances",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleTimingAdvances_vals), 0,
@@ -33098,26 +46241,6 @@ void proto_register_nr_rrc(void) {
{ "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,
@@ -33126,7 +46249,7 @@ void proto_register_nr_rrc(void) {
{ "FeatureSet", "nr-rrc.FeatureSet",
FT_UINT32, BASE_DEC, VALS(nr_rrc_FeatureSet_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_eutra_01,
+ { &hf_nr_rrc_eutra_02,
{ "eutra", "nr-rrc.eutra_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_eutra_01", HFILL }},
@@ -33138,7 +46261,7 @@ void proto_register_nr_rrc(void) {
{ "uplinkSetEUTRA", "nr-rrc.uplinkSetEUTRA",
FT_UINT32, BASE_DEC, NULL, 0,
"FeatureSetEUTRA_UplinkId", HFILL }},
- { &hf_nr_rrc_nr_01,
+ { &hf_nr_rrc_nr_02,
{ "nr", "nr-rrc.nr_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_nr_01", HFILL }},
@@ -33166,9 +46289,9 @@ void proto_register_nr_rrc(void) {
{ "scalingFactor", "nr-rrc.scalingFactor",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scalingFactor_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_crossCarrierSchedulingDL_OtherSCS,
- { "crossCarrierSchedulingDL-OtherSCS", "nr-rrc.crossCarrierSchedulingDL_OtherSCS",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierSchedulingDL_OtherSCS_vals), 0,
+ { &hf_nr_rrc_crossCarrierScheduling_OtherSCS,
+ { "crossCarrierScheduling-OtherSCS", "nr-rrc.crossCarrierScheduling_OtherSCS",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierScheduling_OtherSCS_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_scellWithoutSSB,
{ "scellWithoutSSB", "nr-rrc.scellWithoutSSB",
@@ -33186,13 +46309,13 @@ void proto_register_nr_rrc(void) {
{ "type1-3-CSS", "nr-rrc.type1_3_CSS",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_3_CSS_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_pdcchMonitoringAnyOccasions,
- { "pdcchMonitoringAnyOccasions", "nr-rrc.pdcchMonitoringAnyOccasions",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcchMonitoringAnyOccasions_vals), 0,
+ { &hf_nr_rrc_pdcch_MonitoringAnyOccasions,
+ { "pdcch-MonitoringAnyOccasions", "nr-rrc.pdcch_MonitoringAnyOccasions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_MonitoringAnyOccasions_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_pdcchMonitoringAnyOccasionsWithSpanGap,
- { "pdcchMonitoringAnyOccasionsWithSpanGap", "nr-rrc.pdcchMonitoringAnyOccasionsWithSpanGap",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcchMonitoringAnyOccasionsWithSpanGap_vals), 0,
+ { &hf_nr_rrc_pdcch_MonitoringAnyOccasionsWithSpanGap,
+ { "pdcch-MonitoringAnyOccasionsWithSpanGap", "nr-rrc.pdcch_MonitoringAnyOccasionsWithSpanGap",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGap_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_ue_SpecificUL_DL_Assignment,
{ "ue-SpecificUL-DL-Assignment", "nr-rrc.ue_SpecificUL_DL_Assignment",
@@ -33366,6 +46489,38 @@ void proto_register_nr_rrc(void) {
{ "supportedModulationOrderDL", "nr-rrc.supportedModulationOrderDL",
FT_UINT32, BASE_DEC, VALS(nr_rrc_ModulationOrder_vals), 0,
"ModulationOrder", HFILL }},
+ { &hf_nr_rrc_featureSetsDownlink,
+ { "featureSetsDownlink", "nr-rrc.featureSetsDownlink",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink", HFILL }},
+ { &hf_nr_rrc_featureSetsDownlink_item,
+ { "FeatureSetDownlink", "nr-rrc.FeatureSetDownlink_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_featureSetsDownlinkPerCC,
+ { "featureSetsDownlinkPerCC", "nr-rrc.featureSetsDownlinkPerCC",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC", HFILL }},
+ { &hf_nr_rrc_featureSetsDownlinkPerCC_item,
+ { "FeatureSetDownlinkPerCC", "nr-rrc.FeatureSetDownlinkPerCC_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_featureSetsUplink,
+ { "featureSetsUplink", "nr-rrc.featureSetsUplink",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink", HFILL }},
+ { &hf_nr_rrc_featureSetsUplink_item,
+ { "FeatureSetUplink", "nr-rrc.FeatureSetUplink_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_featureSetsUplinkPerCC,
+ { "featureSetsUplinkPerCC", "nr-rrc.featureSetsUplinkPerCC",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC", HFILL }},
+ { &hf_nr_rrc_featureSetsUplinkPerCC_item,
+ { "FeatureSetUplinkPerCC", "nr-rrc.FeatureSetUplinkPerCC_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_featureSetListPerUplinkCC,
{ "featureSetListPerUplinkCC", "nr-rrc.featureSetListPerUplinkCC",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -33378,10 +46533,10 @@ void proto_register_nr_rrc(void) {
{ "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_crossCarrierScheduling_OtherSCS_01,
+ { "crossCarrierScheduling-OtherSCS", "nr-rrc.crossCarrierScheduling_OtherSCS",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierScheduling_OtherSCS_01_vals), 0,
+ "T_crossCarrierScheduling_OtherSCS_01", HFILL }},
{ &hf_nr_rrc_intraBandFreqSeparationUL,
{ "intraBandFreqSeparationUL", "nr-rrc.intraBandFreqSeparationUL",
FT_UINT32, BASE_DEC, VALS(nr_rrc_FreqSeparationClass_vals), 0,
@@ -33406,6 +46561,10 @@ void proto_register_nr_rrc(void) {
{ "dynamicSwitchSUL", "nr-rrc.dynamicSwitchSUL",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSwitchSUL_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_simultaneousTxSUL_NonSUL_v1530,
+ { "simultaneousTxSUL-NonSUL-v1530", "nr-rrc.simultaneousTxSUL_NonSUL_v1530",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousTxSUL_NonSUL_v1530_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,
@@ -33478,42 +46637,6 @@ void proto_register_nr_rrc(void) {
{ "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,
@@ -33528,12 +46651,12 @@ void proto_register_nr_rrc(void) {
"FreqBandInformationNR", HFILL }},
{ &hf_nr_rrc_maxBandwidthRequestedDL,
{ "maxBandwidthRequestedDL", "nr-rrc.maxBandwidthRequestedDL",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_AggregatedBandwith_vals), 0,
- "AggregatedBandwith", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_AggregatedBandwidth_vals), 0,
+ "AggregatedBandwidth", HFILL }},
{ &hf_nr_rrc_maxBandwidthRequestedUL,
{ "maxBandwidthRequestedUL", "nr-rrc.maxBandwidthRequestedUL",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_AggregatedBandwith_vals), 0,
- "AggregatedBandwith", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_AggregatedBandwidth_vals), 0,
+ "AggregatedBandwidth", HFILL }},
{ &hf_nr_rrc_maxCarriersRequestedDL,
{ "maxCarriersRequestedDL", "nr-rrc.maxCarriersRequestedDL",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -33542,128 +46665,200 @@ void proto_register_nr_rrc(void) {
{ "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,
+ { &hf_nr_rrc_eutra_03,
+ { "eutra", "nr-rrc.eutra_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "EUTRA_Parameters", HFILL }},
+ { &hf_nr_rrc_supportedBandListEUTRA,
+ { "supportedBandListEUTRA", "nr-rrc.supportedBandListEUTRA",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA", HFILL }},
+ { &hf_nr_rrc_supportedBandListEUTRA_item,
+ { "FreqBandIndicatorEUTRA", "nr-rrc.FreqBandIndicatorEUTRA",
+ FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_tdm_Pattern,
- { "tdm-Pattern", "nr-rrc.tdm_Pattern",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tdm_Pattern_vals), 0,
+ { &hf_nr_rrc_eutra_ParametersCommon,
+ { "eutra-ParametersCommon", "nr-rrc.eutra_ParametersCommon_element",
+ FT_NONE, BASE_NONE, NULL, 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,
+ { &hf_nr_rrc_eutra_ParametersXDD_Diff,
+ { "eutra-ParametersXDD-Diff", "nr-rrc.eutra_ParametersXDD_Diff_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_ul_SwitchingTimeEUTRA_NR,
- { "ul-SwitchingTimeEUTRA-NR", "nr-rrc.ul_SwitchingTimeEUTRA_NR",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_SwitchingTimeEUTRA_NR_vals), 0,
+ { &hf_nr_rrc_mfbi_EUTRA,
+ { "mfbi-EUTRA", "nr-rrc.mfbi_EUTRA",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mfbi_EUTRA_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_simultaneousRxTxInterBandENDC,
- { "simultaneousRxTxInterBandENDC", "nr-rrc.simultaneousRxTxInterBandENDC",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxTxInterBandENDC_vals), 0,
+ { &hf_nr_rrc_modifiedMRP_BehaviorEUTRA,
+ { "modifiedMRP-BehaviorEUTRA", "nr-rrc.modifiedMRP_BehaviorEUTRA",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_32", HFILL }},
+ { &hf_nr_rrc_multiNS_Pmax_EUTRA,
+ { "multiNS-Pmax-EUTRA", "nr-rrc.multiNS_Pmax_EUTRA",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multiNS_Pmax_EUTRA_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_asyncIntraBandENDC,
- { "asyncIntraBandENDC", "nr-rrc.asyncIntraBandENDC",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_asyncIntraBandENDC_vals), 0,
+ { &hf_nr_rrc_rs_SINR_MeasEUTRA,
+ { "rs-SINR-MeasEUTRA", "nr-rrc.rs_SINR_MeasEUTRA",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rs_SINR_MeasEUTRA_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_fr1,
- { "fr1", "nr-rrc.fr1",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1_vals), 0,
+ { &hf_nr_rrc_rsrqMeasWidebandEUTRA,
+ { "rsrqMeasWidebandEUTRA", "nr-rrc.rsrqMeasWidebandEUTRA",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rsrqMeasWidebandEUTRA_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_mac_ParametersCommon,
+ { "mac-ParametersCommon", "nr-rrc.mac_ParametersCommon_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_UE_CapabilityRAT_ContainerList_item,
- { "UE-CapabilityRAT-Container", "nr-rrc.UE_CapabilityRAT_Container_element",
+ { &hf_nr_rrc_mac_ParametersXDD_Diff,
+ { "mac-ParametersXDD-Diff", "nr-rrc.mac_ParametersXDD_Diff_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_rat_Type,
- { "rat-Type", "nr-rrc.rat_Type",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_RAT_Type_vals), 0,
+ { &hf_nr_rrc_lcp_Restriction,
+ { "lcp-Restriction", "nr-rrc.lcp_Restriction",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lcp_Restriction_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_ue_CapabilityRAT_Container,
- { "ue-CapabilityRAT-Container", "nr-rrc.ue_CapabilityRAT_Container",
- FT_BYTES, BASE_NONE, NULL, 0,
- "T_ue_CapabilityRAT_Container", HFILL }},
- { &hf_nr_rrc_measParametersMRDC,
- { "measParametersMRDC", "nr-rrc.measParametersMRDC_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { &hf_nr_rrc_pucch_SpatialRelInfoMAC_CE,
+ { "pucch-SpatialRelInfoMAC-CE", "nr-rrc.pucch_SpatialRelInfoMAC_CE",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_SpatialRelInfoMAC_CE_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_rf_ParametersMRDC,
- { "rf-ParametersMRDC", "nr-rrc.rf_ParametersMRDC_element",
- FT_NONE, BASE_NONE, NULL, 0,
+ { &hf_nr_rrc_lch_ToSCellRestriction,
+ { "lch-ToSCellRestriction", "nr-rrc.lch_ToSCellRestriction",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lch_ToSCellRestriction_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_generalParametersMRDC,
- { "generalParametersMRDC", "nr-rrc.generalParametersMRDC_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "GeneralParametersMRDC_XDD_Diff", HFILL }},
- { &hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities,
- { "fdd-Add-UE-MRDC-Capabilities", "nr-rrc.fdd_Add_UE_MRDC_Capabilities_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "UE_MRDC_CapabilityAddXDD_Mode", HFILL }},
- { &hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities,
- { "tdd-Add-UE-MRDC-Capabilities", "nr-rrc.tdd_Add_UE_MRDC_Capabilities_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "UE_MRDC_CapabilityAddXDD_Mode", HFILL }},
- { &hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities,
- { "fr1-Add-UE-MRDC-Capabilities", "nr-rrc.fr1_Add_UE_MRDC_Capabilities_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "UE_MRDC_CapabilityAddFRX_Mode", HFILL }},
- { &hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities,
- { "fr2-Add-UE-MRDC-Capabilities", "nr-rrc.fr2_Add_UE_MRDC_Capabilities_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "UE_MRDC_CapabilityAddFRX_Mode", HFILL }},
- { &hf_nr_rrc_featureSetCombinations,
- { "featureSetCombinations", "nr-rrc.featureSetCombinations",
- FT_UINT32, BASE_DEC, NULL, 0,
- "SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination", HFILL }},
- { &hf_nr_rrc_featureSetCombinations_item,
- { "FeatureSetCombination", "nr-rrc.FeatureSetCombination",
- FT_UINT32, BASE_DEC, NULL, 0,
+ { &hf_nr_rrc_recommendedBitRate,
+ { "recommendedBitRate", "nr-rrc.recommendedBitRate",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_recommendedBitRate_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_nonCriticalExtension_09,
- { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
- FT_NONE, BASE_NONE, NULL, 0,
- "T_nonCriticalExtension_09", HFILL }},
- { &hf_nr_rrc_measParametersMRDC_XDD_Diff,
- { "measParametersMRDC-XDD-Diff", "nr-rrc.measParametersMRDC_XDD_Diff_element",
+ { &hf_nr_rrc_recommendedBitRateQuery,
+ { "recommendedBitRateQuery", "nr-rrc.recommendedBitRateQuery",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_recommendedBitRateQuery_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_skipUplinkTxDynamic_01,
+ { "skipUplinkTxDynamic", "nr-rrc.skipUplinkTxDynamic",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_skipUplinkTxDynamic_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_logicalChannelSR_DelayTimer_01,
+ { "logicalChannelSR-DelayTimer", "nr-rrc.logicalChannelSR_DelayTimer",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logicalChannelSR_DelayTimer_01_vals), 0,
+ "T_logicalChannelSR_DelayTimer_01", HFILL }},
+ { &hf_nr_rrc_longDRX_Cycle,
+ { "longDRX-Cycle", "nr-rrc.longDRX_Cycle",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_longDRX_Cycle_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_shortDRX_Cycle,
+ { "shortDRX-Cycle", "nr-rrc.shortDRX_Cycle",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_shortDRX_Cycle_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_multipleSR_Configurations,
+ { "multipleSR-Configurations", "nr-rrc.multipleSR_Configurations",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleSR_Configurations_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_multipleConfiguredGrants,
+ { "multipleConfiguredGrants", "nr-rrc.multipleConfiguredGrants",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleConfiguredGrants_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_measAndMobParametersCommon,
+ { "measAndMobParametersCommon", "nr-rrc.measAndMobParametersCommon_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_generalParametersMRDC_XDD_Diff,
- { "generalParametersMRDC-XDD-Diff", "nr-rrc.generalParametersMRDC_XDD_Diff_element",
+ { &hf_nr_rrc_measAndMobParametersXDD_Diff,
+ { "measAndMobParametersXDD-Diff", "nr-rrc.measAndMobParametersXDD_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",
+ { &hf_nr_rrc_measAndMobParametersFRX_Diff,
+ { "measAndMobParametersFRX-Diff", "nr-rrc.measAndMobParametersFRX_Diff_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_splitSRB_WithOneUL_Path,
- { "splitSRB-WithOneUL-Path", "nr-rrc.splitSRB_WithOneUL_Path",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_splitSRB_WithOneUL_Path_vals), 0,
+ { &hf_nr_rrc_supportedGapPattern,
+ { "supportedGapPattern", "nr-rrc.supportedGapPattern",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_22", HFILL }},
+ { &hf_nr_rrc_ssb_RLM,
+ { "ssb-RLM", "nr-rrc.ssb_RLM",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_RLM_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_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,
+ { &hf_nr_rrc_ssb_AndCSI_RS_RLM,
+ { "ssb-AndCSI-RS-RLM", "nr-rrc.ssb_AndCSI_RS_RLM",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_AndCSI_RS_RLM_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_srb3,
- { "srb3", "nr-rrc.srb3",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srb3_vals), 0,
+ { &hf_nr_rrc_eventB_MeasAndReport,
+ { "eventB-MeasAndReport", "nr-rrc.eventB_MeasAndReport",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventB_MeasAndReport_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_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",
+ { &hf_nr_rrc_handoverFDD_TDD,
+ { "handoverFDD-TDD", "nr-rrc.handoverFDD_TDD",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverFDD_TDD_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_eutra_CGI_Reporting,
+ { "eutra-CGI-Reporting", "nr-rrc.eutra_CGI_Reporting",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_CGI_Reporting_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nr_CGI_Reporting,
+ { "nr-CGI-Reporting", "nr-rrc.nr_CGI_Reporting",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_CGI_Reporting_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_intraAndInterF_MeasAndReport,
+ { "intraAndInterF-MeasAndReport", "nr-rrc.intraAndInterF_MeasAndReport",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraAndInterF_MeasAndReport_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_eventA_MeasAndReport,
+ { "eventA-MeasAndReport", "nr-rrc.eventA_MeasAndReport",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventA_MeasAndReport_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_handoverInterF,
+ { "handoverInterF", "nr-rrc.handoverInterF",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverInterF_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_handoverLTE,
+ { "handoverLTE", "nr-rrc.handoverLTE",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverLTE_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_handover_eLTE,
+ { "handover-eLTE", "nr-rrc.handover_eLTE",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handover_eLTE_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_ss_SINR_Meas,
+ { "ss-SINR-Meas", "nr-rrc.ss_SINR_Meas",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ss_SINR_Meas_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB,
+ { "csi-RSRP-AndRSRQ-MeasWithSSB", "nr-rrc.csi_RSRP_AndRSRQ_MeasWithSSB",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB,
+ { "csi-RSRP-AndRSRQ-MeasWithoutSSB", "nr-rrc.csi_RSRP_AndRSRQ_MeasWithoutSSB",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_SINR_Meas,
+ { "csi-SINR-Meas", "nr-rrc.csi_SINR_Meas",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_SINR_Meas_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_csi_RS_RLM,
+ { "csi-RS-RLM", "nr-rrc.csi_RS_RLM",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_RLM_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_handoverInterF_01,
+ { "handoverInterF", "nr-rrc.handoverInterF",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverInterF_01_vals), 0,
+ "T_handoverInterF_01", HFILL }},
+ { &hf_nr_rrc_handoverLTE_01,
+ { "handoverLTE", "nr-rrc.handoverLTE",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverLTE_01_vals), 0,
+ "T_handoverLTE_01", HFILL }},
+ { &hf_nr_rrc_handover_eLTE_01,
+ { "handover-eLTE", "nr-rrc.handover_eLTE",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handover_eLTE_01_vals), 0,
+ "T_handover_eLTE_01", HFILL }},
+ { &hf_nr_rrc_measAndMobParametersMRDC_Common,
+ { "measAndMobParametersMRDC-Common", "nr-rrc.measAndMobParametersMRDC_Common_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff,
+ { "measAndMobParametersMRDC-XDD-Diff", "nr-rrc.measAndMobParametersMRDC_XDD_Diff_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_measAndMobParametersMRDC_FRX_Diff,
+ { "measAndMobParametersMRDC-FRX-Diff", "nr-rrc.measAndMobParametersMRDC_FRX_Diff_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_nr_rrc_independentGapConfig,
@@ -33682,82 +46877,378 @@ 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_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",
+ { &hf_nr_rrc_tci_StatePDSCH,
+ { "tci-StatePDSCH", "nr-rrc.tci_StatePDSCH_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_rlc_Parameters,
- { "rlc-Parameters", "nr-rrc.rlc_Parameters_element",
+ { &hf_nr_rrc_maxNumberConfiguredTCIstatesPerCC,
+ { "maxNumberConfiguredTCIstatesPerCC", "nr-rrc.maxNumberConfiguredTCIstatesPerCC",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberConfiguredTCIstatesPerCC_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxNumberActiveTCI_PerBWP,
+ { "maxNumberActiveTCI-PerBWP", "nr-rrc.maxNumberActiveTCI_PerBWP",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberActiveTCI_PerBWP_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_additionalActiveTCI_StatePDCCH,
+ { "additionalActiveTCI-StatePDCCH", "nr-rrc.additionalActiveTCI_StatePDCCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalActiveTCI_StatePDCCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pusch_TransCoherence,
+ { "pusch-TransCoherence", "nr-rrc.pusch_TransCoherence",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_TransCoherence_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_beamCorrespondence,
+ { "beamCorrespondence", "nr-rrc.beamCorrespondence",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamCorrespondence_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_periodicBeamReport,
+ { "periodicBeamReport", "nr-rrc.periodicBeamReport",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicBeamReport_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_aperiodicBeamReport,
+ { "aperiodicBeamReport", "nr-rrc.aperiodicBeamReport",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aperiodicBeamReport_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sp_BeamReportPUCCH,
+ { "sp-BeamReportPUCCH", "nr-rrc.sp_BeamReportPUCCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_BeamReportPUCCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sp_BeamReportPUSCH,
+ { "sp-BeamReportPUSCH", "nr-rrc.sp_BeamReportPUSCH",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_BeamReportPUSCH_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_beamManagementSSB_CSI_RS,
+ { "beamManagementSSB-CSI-RS", "nr-rrc.beamManagementSSB_CSI_RS_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_mac_Parameters,
- { "mac-Parameters", "nr-rrc.mac_Parameters_element",
+ { &hf_nr_rrc_maxNumberRxBeam,
+ { "maxNumberRxBeam", "nr-rrc.maxNumberRxBeam",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_2_8", HFILL }},
+ { &hf_nr_rrc_maxNumberRxTxBeamSwitchDL,
+ { "maxNumberRxTxBeamSwitchDL", "nr-rrc.maxNumberRxTxBeamSwitchDL_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_phy_Parameters,
- { "phy-Parameters", "nr-rrc.phy_Parameters_element",
+ { &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_03,
+ { "scs-60kHz", "nr-rrc.scs_60kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_03_vals), 0,
+ "T_scs_60kHz_03", HFILL }},
+ { &hf_nr_rrc_scs_120kHz_02,
+ { "scs-120kHz", "nr-rrc.scs_120kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_02_vals), 0,
+ "T_scs_120kHz_02", HFILL }},
+ { &hf_nr_rrc_scs_240kHz,
+ { "scs-240kHz", "nr-rrc.scs_240kHz",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_240kHz_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxNumberNonGroupBeamReporting,
+ { "maxNumberNonGroupBeamReporting", "nr-rrc.maxNumberNonGroupBeamReporting",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberNonGroupBeamReporting_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_groupBeamReporting,
+ { "groupBeamReporting", "nr-rrc.groupBeamReporting",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupBeamReporting_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_uplinkBeamManagement,
+ { "uplinkBeamManagement", "nr-rrc.uplinkBeamManagement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_rf_Parameters,
- { "rf-Parameters", "nr-rrc.rf_Parameters_element",
+ { &hf_nr_rrc_maxNumberSRS_ResourcePerSet_BM,
+ { "maxNumberSRS-ResourcePerSet-BM", "nr-rrc.maxNumberSRS_ResourcePerSet_BM",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_ResourcePerSet_BM_vals), 0,
+ "T_maxNumberSRS_ResourcePerSet_BM", HFILL }},
+ { &hf_nr_rrc_maxNumberSRS_ResourceSet,
+ { "maxNumberSRS-ResourceSet", "nr-rrc.maxNumberSRS_ResourceSet",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_8", HFILL }},
+ { &hf_nr_rrc_maxNumberCSI_RS_BFR,
+ { "maxNumberCSI-RS-BFR", "nr-rrc.maxNumberCSI_RS_BFR",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_64", HFILL }},
+ { &hf_nr_rrc_maxNumberSSB_BFR,
+ { "maxNumberSSB-BFR", "nr-rrc.maxNumberSSB_BFR",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_64", HFILL }},
+ { &hf_nr_rrc_maxNumberCSI_RS_SSB_BFR,
+ { "maxNumberCSI-RS-SSB-BFR", "nr-rrc.maxNumberCSI_RS_SSB_BFR",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_256", HFILL }},
+ { &hf_nr_rrc_twoPortsPTRS_DL,
+ { "twoPortsPTRS-DL", "nr-rrc.twoPortsPTRS_DL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPortsPTRS_DL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_twoPortsPTRS_UL,
+ { "twoPortsPTRS-UL", "nr-rrc.twoPortsPTRS_UL",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPortsPTRS_UL_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxNumberSimultaneousSRS_PerCC,
+ { "maxNumberSimultaneousSRS-PerCC", "nr-rrc.maxNumberSimultaneousSRS_PerCC",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_4", HFILL }},
+ { &hf_nr_rrc_beamReportTiming,
+ { "beamReportTiming", "nr-rrc.beamReportTiming_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_measParameters,
- { "measParameters", "nr-rrc.measParameters_element",
+ { &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_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_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_fdd_Add_UE_NR_Capabilities,
- { "fdd-Add-UE-NR-Capabilities", "nr-rrc.fdd_Add_UE_NR_Capabilities_element",
+ { &hf_nr_rrc_scs_15kHz_04,
+ { "scs-15kHz", "nr-rrc.scs_15kHz_element",
FT_NONE, BASE_NONE, NULL, 0,
- "UE_NR_CapabilityAddXDD_Mode", HFILL }},
- { &hf_nr_rrc_tdd_Add_UE_NR_Capabilities,
- { "tdd-Add-UE-NR-Capabilities", "nr-rrc.tdd_Add_UE_NR_Capabilities_element",
+ "PTRS_DensityRecommendationDL", HFILL }},
+ { &hf_nr_rrc_scs_30kHz_04,
+ { "scs-30kHz", "nr-rrc.scs_30kHz_element",
FT_NONE, BASE_NONE, NULL, 0,
- "UE_NR_CapabilityAddXDD_Mode", HFILL }},
- { &hf_nr_rrc_fr1_Add_UE_NR_Capabilities,
- { "fr1-Add-UE-NR-Capabilities", "nr-rrc.fr1_Add_UE_NR_Capabilities_element",
+ "PTRS_DensityRecommendationDL", HFILL }},
+ { &hf_nr_rrc_scs_60kHz_05,
+ { "scs-60kHz", "nr-rrc.scs_60kHz_element",
FT_NONE, BASE_NONE, NULL, 0,
- "UE_NR_CapabilityAddFRX_Mode", HFILL }},
- { &hf_nr_rrc_fr2_Add_UE_NR_Capabilities,
- { "fr2-Add-UE-NR-Capabilities", "nr-rrc.fr2_Add_UE_NR_Capabilities_element",
+ "PTRS_DensityRecommendationDL", HFILL }},
+ { &hf_nr_rrc_scs_120kHz_04,
+ { "scs-120kHz", "nr-rrc.scs_120kHz_element",
FT_NONE, BASE_NONE, NULL, 0,
- "UE_NR_CapabilityAddFRX_Mode", HFILL }},
- { &hf_nr_rrc_featureSets,
- { "featureSets", "nr-rrc.featureSets_element",
+ "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_nonCriticalExtension_10,
- { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ { &hf_nr_rrc_scs_15kHz_05,
+ { "scs-15kHz", "nr-rrc.scs_15kHz_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_nonCriticalExtension_10", HFILL }},
- { &hf_nr_rrc_phy_ParametersXDD_Diff,
- { "phy-ParametersXDD-Diff", "nr-rrc.phy_ParametersXDD_Diff_element",
+ "PTRS_DensityRecommendationUL", HFILL }},
+ { &hf_nr_rrc_scs_30kHz_05,
+ { "scs-30kHz", "nr-rrc.scs_30kHz_element",
FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_mac_ParametersXDD_Diff,
- { "mac-ParametersXDD-Diff", "nr-rrc.mac_ParametersXDD_Diff_element",
+ "PTRS_DensityRecommendationUL", HFILL }},
+ { &hf_nr_rrc_scs_60kHz_06,
+ { "scs-60kHz", "nr-rrc.scs_60kHz_element",
FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_measParametersXDD_Diff,
- { "measParametersXDD-Diff", "nr-rrc.measParametersXDD_Diff_element",
+ "PTRS_DensityRecommendationUL", HFILL }},
+ { &hf_nr_rrc_scs_120kHz_05,
+ { "scs-120kHz", "nr-rrc.scs_120kHz_element",
FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_nr_rrc_phy_ParametersFRX_Diff,
- { "phy-ParametersFRX-Diff", "nr-rrc.phy_ParametersFRX_Diff_element",
+ "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_measParametersFRX_Diff,
- { "measParametersFRX-Diff", "nr-rrc.measParametersFRX_Diff_element",
+ { &hf_nr_rrc_aperiodicTRS,
+ { "aperiodicTRS", "nr-rrc.aperiodicTRS",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aperiodicTRS_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx,
+ { "maxNumberSSB-CSI-RS-ResourceOneTx", "nr-rrc.maxNumberSSB_CSI_RS_ResourceOneTx",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceTwoTx,
+ { "maxNumberSSB-CSI-RS-ResourceTwoTx", "nr-rrc.maxNumberSSB_CSI_RS_ResourceTwoTx",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_supportedCSI_RS_Density,
+ { "supportedCSI-RS-Density", "nr-rrc.supportedCSI_RS_Density",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedCSI_RS_Density_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_burstLength,
+ { "burstLength", "nr-rrc.burstLength",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_2", HFILL }},
+ { &hf_nr_rrc_maxSimultaneousResourceSetsPerCC,
+ { "maxSimultaneousResourceSetsPerCC", "nr-rrc.maxSimultaneousResourceSetsPerCC",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_8", HFILL }},
+ { &hf_nr_rrc_maxConfiguredResourceSetsPerCC,
+ { "maxConfiguredResourceSetsPerCC", "nr-rrc.maxConfiguredResourceSetsPerCC",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_64", HFILL }},
+ { &hf_nr_rrc_maxConfiguredResourceSetsAllCC,
+ { "maxConfiguredResourceSetsAllCC", "nr-rrc.maxConfiguredResourceSetsAllCC",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_128", HFILL }},
+ { &hf_nr_rrc_frequencyDensity1,
+ { "frequencyDensity1", "nr-rrc.frequencyDensity1",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_276", HFILL }},
+ { &hf_nr_rrc_frequencyDensity2,
+ { "frequencyDensity2", "nr-rrc.frequencyDensity2",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_276", HFILL }},
+ { &hf_nr_rrc_timeDensity1,
+ { "timeDensity1", "nr-rrc.timeDensity1",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_29", HFILL }},
+ { &hf_nr_rrc_timeDensity2,
+ { "timeDensity2", "nr-rrc.timeDensity2",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_29", HFILL }},
+ { &hf_nr_rrc_timeDensity3,
+ { "timeDensity3", "nr-rrc.timeDensity3",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_29", HFILL }},
+ { &hf_nr_rrc_sampleDensity1,
+ { "sampleDensity1", "nr-rrc.sampleDensity1",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_276", HFILL }},
+ { &hf_nr_rrc_sampleDensity2,
+ { "sampleDensity2", "nr-rrc.sampleDensity2",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_276", HFILL }},
+ { &hf_nr_rrc_sampleDensity3,
+ { "sampleDensity3", "nr-rrc.sampleDensity3",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_276", HFILL }},
+ { &hf_nr_rrc_sampleDensity4,
+ { "sampleDensity4", "nr-rrc.sampleDensity4",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_276", HFILL }},
+ { &hf_nr_rrc_sampleDensity5,
+ { "sampleDensity5", "nr-rrc.sampleDensity5",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_276", HFILL }},
+ { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP,
+ { "maxNumberAperiodicSRS-PerBWP", "nr-rrc.maxNumberAperiodicSRS_PerBWP",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberAperiodicSRS_PerBWP_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP_PerSlot,
+ { "maxNumberAperiodicSRS-PerBWP-PerSlot", "nr-rrc.maxNumberAperiodicSRS_PerBWP_PerSlot",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_6", HFILL }},
+ { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP,
+ { "maxNumberPeriodicSRS-PerBWP", "nr-rrc.maxNumberPeriodicSRS_PerBWP",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPeriodicSRS_PerBWP_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP_PerSlot,
+ { "maxNumberPeriodicSRS-PerBWP-PerSlot", "nr-rrc.maxNumberPeriodicSRS_PerBWP_PerSlot",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_6", HFILL }},
+ { &hf_nr_rrc_maxNumberSemiPersitentSRS_PerBWP,
+ { "maxNumberSemiPersitentSRS-PerBWP", "nr-rrc.maxNumberSemiPersitentSRS_PerBWP",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSemiPersitentSRS_PerBWP_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_maxNumberSP_SRS_PerBWP_PerSlot,
+ { "maxNumberSP-SRS-PerBWP-PerSlot", "nr-rrc.maxNumberSP_SRS_PerBWP_PerSlot",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_6", HFILL }},
+ { &hf_nr_rrc_maxNumberSRS_Ports_PerResource,
+ { "maxNumberSRS-Ports-PerResource", "nr-rrc.maxNumberSRS_Ports_PerResource",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_Ports_PerResource_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_supportedSRS_TxPortSwitch,
+ { "supportedSRS-TxPortSwitch", "nr-rrc.supportedSRS_TxPortSwitch",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedSRS_TxPortSwitch_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_txSwitchImpactToRx,
+ { "txSwitchImpactToRx", "nr-rrc.txSwitchImpactToRx",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_txSwitchImpactToRx_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_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_supportedROHC_Profiles,
+ { "supportedROHC-Profiles", "nr-rrc.supportedROHC_Profiles_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_profile0x0000,
+ { "profile0x0000", "nr-rrc.profile0x0000",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_nr_rrc_maxNumberROHC_ContextSessions,
+ { "maxNumberROHC-ContextSessions", "nr-rrc.maxNumberROHC_ContextSessions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberROHC_ContextSessions_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_uplinkOnlyROHC_Profiles,
+ { "uplinkOnlyROHC-Profiles", "nr-rrc.uplinkOnlyROHC_Profiles",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkOnlyROHC_Profiles_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_continueROHC_Context,
+ { "continueROHC-Context", "nr-rrc.continueROHC_Context",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_continueROHC_Context_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_outOfOrderDelivery_01,
+ { "outOfOrderDelivery", "nr-rrc.outOfOrderDelivery",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_outOfOrderDelivery_01_vals), 0,
+ "T_outOfOrderDelivery_01", HFILL }},
+ { &hf_nr_rrc_shortSN,
+ { "shortSN", "nr-rrc.shortSN",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_shortSN_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pdcp_DuplicationSRB3,
+ { "pdcp-DuplicationSRB3", "nr-rrc.pdcp_DuplicationSRB3",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_DuplicationSRB3_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pdcp_DuplicationMCG_OrSCG,
+ { "pdcp-DuplicationMCG-OrSCG", "nr-rrc.pdcp_DuplicationMCG_OrSCG",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_DuplicationMCG_OrSCG_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pdcp_DuplicationSplitSRB,
+ { "pdcp-DuplicationSplitSRB", "nr-rrc.pdcp_DuplicationSplitSRB",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_DuplicationSplitSRB_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pdcp_DuplicationSplitDRB,
+ { "pdcp-DuplicationSplitDRB", "nr-rrc.pdcp_DuplicationSplitDRB",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_DuplicationSplitDRB_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_phy_ParametersCommon,
{ "phy-ParametersCommon", "nr-rrc.phy_ParametersCommon_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_phy_ParametersXDD_Diff,
+ { "phy-ParametersXDD-Diff", "nr-rrc.phy_ParametersXDD_Diff_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_phy_ParametersFRX_Diff,
+ { "phy-ParametersFRX-Diff", "nr-rrc.phy_ParametersFRX_Diff_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_phy_ParametersFR1,
{ "phy-ParametersFR1", "nr-rrc.phy_ParametersFR1_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -33902,6 +47393,10 @@ void proto_register_nr_rrc(void) {
{ "bwp-SwitchingDelay", "nr-rrc.bwp_SwitchingDelay",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_SwitchingDelay_vals), 0,
NULL, HFILL }},
+ { &hf_nr_rrc_eutra_RS_SINR_measurement,
+ { "eutra-RS-SINR-measurement", "nr-rrc.eutra_RS_SINR_measurement",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_RS_SINR_measurement_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_dynamicSFI,
{ "dynamicSFI", "nr-rrc.dynamicSFI",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSFI_vals), 0,
@@ -34012,8 +47507,8 @@ void proto_register_nr_rrc(void) {
NULL, HFILL }},
{ &hf_nr_rrc_pdcch_BlindDetectionCA,
{ "pdcch-BlindDetectionCA", "nr-rrc.pdcch_BlindDetectionCA",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_BlindDetectionCA_vals), 0,
- NULL, HFILL }},
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_4_16", HFILL }},
{ &hf_nr_rrc_tpc_PUSCH_RNTI_01,
{ "tpc-PUSCH-RNTI", "nr-rrc.tpc_PUSCH_RNTI",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_PUSCH_RNTI_vals), 0,
@@ -34070,10 +47565,10 @@ void proto_register_nr_rrc(void) {
{ "pdcchMonitoringSingleOccasion", "nr-rrc.pdcchMonitoringSingleOccasion",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcchMonitoringSingleOccasion_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_scs_60kHz_03,
+ { &hf_nr_rrc_scs_60kHz_07,
{ "scs-60kHz", "nr-rrc.scs_60kHz",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_03_vals), 0,
- "T_scs_60kHz_03", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_05_vals), 0,
+ "T_scs_60kHz_05", HFILL }},
{ &hf_nr_rrc_pdsch_256QAM_FR1,
{ "pdsch-256QAM-FR1", "nr-rrc.pdsch_256QAM_FR1",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_256QAM_FR1_vals), 0,
@@ -34090,6 +47585,22 @@ void proto_register_nr_rrc(void) {
{ "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_naics_Capability_List,
+ { "naics-Capability-List", "nr-rrc.naics_Capability_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry", HFILL }},
+ { &hf_nr_rrc_naics_Capability_List_item,
+ { "NAICS-Capability-Entry", "nr-rrc.NAICS_Capability_Entry_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_numberOfNAICS_CapableCC,
+ { "numberOfNAICS-CapableCC", "nr-rrc.numberOfNAICS_CapableCC",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_5", HFILL }},
+ { &hf_nr_rrc_numberOfAggregatedPRB,
+ { "numberOfAggregatedPRB", "nr-rrc.numberOfAggregatedPRB",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numberOfAggregatedPRB_vals), 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_supportedBandListNR,
{ "supportedBandListNR", "nr-rrc.supportedBandListNR",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -34098,6 +47609,14 @@ void proto_register_nr_rrc(void) {
{ "BandNR", "nr-rrc.BandNR_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_supportedBandCombinationList,
+ { "supportedBandCombinationList", "nr-rrc.supportedBandCombinationList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "BandCombinationList", HFILL }},
+ { &hf_nr_rrc_appliedFreqBandListFilter,
+ { "appliedFreqBandListFilter", "nr-rrc.appliedFreqBandListFilter",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "FreqBandList", HFILL }},
{ &hf_nr_rrc_modifiedMPR_Behaviour,
{ "modifiedMPR-Behaviour", "nr-rrc.modifiedMPR_Behaviour",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -34126,13 +47645,9 @@ 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_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,
+ { &hf_nr_rrc_crossCarrierScheduling_SameSCS,
+ { "crossCarrierScheduling-SameSCS", "nr-rrc.crossCarrierScheduling_SameSCS",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierScheduling_SameSCS_vals), 0,
NULL, HFILL }},
{ &hf_nr_rrc_pdsch_256QAM_FR2,
{ "pdsch-256QAM-FR2", "nr-rrc.pdsch_256QAM_FR2",
@@ -34150,410 +47665,482 @@ void proto_register_nr_rrc(void) {
{ "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",
+ { &hf_nr_rrc_channelBWs_DL_v1530,
+ { "channelBWs-DL-v1530", "nr-rrc.channelBWs_DL_v1530",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelBWs_DL_v1530_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_fr1,
+ { "fr1", "nr-rrc.fr1_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_maxNumberConfiguredTCIstatesPerCC,
- { "maxNumberConfiguredTCIstatesPerCC", "nr-rrc.maxNumberConfiguredTCIstatesPerCC",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberConfiguredTCIstatesPerCC_vals), 0,
+ { &hf_nr_rrc_scs_15kHz_06,
+ { "scs-15kHz", "nr-rrc.scs_15kHz",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_10", HFILL }},
+ { &hf_nr_rrc_scs_30kHz_06,
+ { "scs-30kHz", "nr-rrc.scs_30kHz",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_10", HFILL }},
+ { &hf_nr_rrc_scs_60kHz_08,
+ { "scs-60kHz", "nr-rrc.scs_60kHz",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_10", HFILL }},
+ { &hf_nr_rrc_fr2,
+ { "fr2", "nr-rrc.fr2_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_maxNumberActiveTCI_PerBWP,
- { "maxNumberActiveTCI-PerBWP", "nr-rrc.maxNumberActiveTCI_PerBWP",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberActiveTCI_PerBWP_vals), 0,
+ { &hf_nr_rrc_scs_60kHz_09,
+ { "scs-60kHz", "nr-rrc.scs_60kHz",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_3", HFILL }},
+ { &hf_nr_rrc_scs_120kHz_06,
+ { "scs-120kHz", "nr-rrc.scs_120kHz",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_3", HFILL }},
+ { &hf_nr_rrc_channelBWs_UL_v1530,
+ { "channelBWs-UL-v1530", "nr-rrc.channelBWs_UL_v1530",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelBWs_UL_v1530_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,
+ { &hf_nr_rrc_fr1_01,
+ { "fr1", "nr-rrc.fr1_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_fr1_01", HFILL }},
+ { &hf_nr_rrc_fr2_01,
+ { "fr2", "nr-rrc.fr2_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_fr2_01", HFILL }},
+ { &hf_nr_rrc_maxUplinkDutyCycle,
+ { "maxUplinkDutyCycle", "nr-rrc.maxUplinkDutyCycle",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxUplinkDutyCycle_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_pusch_TransCoherence,
- { "pusch-TransCoherence", "nr-rrc.pusch_TransCoherence",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_TransCoherence_vals), 0,
+ { &hf_nr_rrc_am_WithShortSN,
+ { "am-WithShortSN", "nr-rrc.am_WithShortSN",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_am_WithShortSN_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_beamCorrespondence,
- { "beamCorrespondence", "nr-rrc.beamCorrespondence",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamCorrespondence_vals), 0,
+ { &hf_nr_rrc_um_WithShortSN,
+ { "um-WithShortSN", "nr-rrc.um_WithShortSN",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_um_WithShortSN_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_periodicBeamReport,
- { "periodicBeamReport", "nr-rrc.periodicBeamReport",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicBeamReport_vals), 0,
+ { &hf_nr_rrc_um_WithLongSN,
+ { "um-WithLongSN", "nr-rrc.um_WithLongSN",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_um_WithLongSN_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_aperiodicBeamReport,
- { "aperiodicBeamReport", "nr-rrc.aperiodicBeamReport",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aperiodicBeamReport_vals), 0,
+ { &hf_nr_rrc_fr1_02,
+ { "fr1", "nr-rrc.fr1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1_02_vals), 0,
+ "T_fr1_02", HFILL }},
+ { &hf_nr_rrc_fr2_02,
+ { "fr2", "nr-rrc.fr2",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr2_02_vals), 0,
+ "T_fr2_02", HFILL }},
+ { &hf_nr_rrc_UE_CapabilityRAT_ContainerList_item,
+ { "UE-CapabilityRAT-Container", "nr-rrc.UE_CapabilityRAT_Container_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_sp_BeamReportPUCCH,
- { "sp-BeamReportPUCCH", "nr-rrc.sp_BeamReportPUCCH",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_BeamReportPUCCH_vals), 0,
+ { &hf_nr_rrc_rat_Type,
+ { "rat-Type", "nr-rrc.rat_Type",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_RAT_Type_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_sp_BeamReportPUSCH,
- { "sp-BeamReportPUSCH", "nr-rrc.sp_BeamReportPUSCH",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_BeamReportPUSCH_vals), 0,
+ { &hf_nr_rrc_ue_CapabilityRAT_Container,
+ { "ue-CapabilityRAT-Container", "nr-rrc.ue_CapabilityRAT_Container",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "T_ue_CapabilityRAT_Container", HFILL }},
+ { &hf_nr_rrc_UE_CapabilityRAT_RequestList_item,
+ { "UE-CapabilityRAT-Request", "nr-rrc.UE_CapabilityRAT_Request_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_beamManagementSSB_CSI_RS,
- { "beamManagementSSB-CSI-RS", "nr-rrc.beamManagementSSB_CSI_RS_element",
+ { &hf_nr_rrc_capabilityRequestFilter,
+ { "capabilityRequestFilter", "nr-rrc.capabilityRequestFilter",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_frequencyBandList_02,
+ { "frequencyBandList", "nr-rrc.frequencyBandList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "FreqBandList", HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_35,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_33", HFILL }},
+ { &hf_nr_rrc_measAndMobParametersMRDC,
+ { "measAndMobParametersMRDC", "nr-rrc.measAndMobParametersMRDC_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_maxNumberRxBeam,
- { "maxNumberRxBeam", "nr-rrc.maxNumberRxBeam",
+ { &hf_nr_rrc_phy_ParametersMRDC_v1530,
+ { "phy-ParametersMRDC-v1530", "nr-rrc.phy_ParametersMRDC_v1530_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Phy_ParametersMRDC", HFILL }},
+ { &hf_nr_rrc_rf_ParametersMRDC,
+ { "rf-ParametersMRDC", "nr-rrc.rf_ParametersMRDC_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_generalParametersMRDC,
+ { "generalParametersMRDC", "nr-rrc.generalParametersMRDC_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "GeneralParametersMRDC_XDD_Diff", HFILL }},
+ { &hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities,
+ { "fdd-Add-UE-MRDC-Capabilities", "nr-rrc.fdd_Add_UE_MRDC_Capabilities_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UE_MRDC_CapabilityAddXDD_Mode", HFILL }},
+ { &hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities,
+ { "tdd-Add-UE-MRDC-Capabilities", "nr-rrc.tdd_Add_UE_MRDC_Capabilities_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UE_MRDC_CapabilityAddXDD_Mode", HFILL }},
+ { &hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities,
+ { "fr1-Add-UE-MRDC-Capabilities", "nr-rrc.fr1_Add_UE_MRDC_Capabilities_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UE_MRDC_CapabilityAddFRX_Mode", HFILL }},
+ { &hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities,
+ { "fr2-Add-UE-MRDC-Capabilities", "nr-rrc.fr2_Add_UE_MRDC_Capabilities_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UE_MRDC_CapabilityAddFRX_Mode", HFILL }},
+ { &hf_nr_rrc_featureSetCombinations,
+ { "featureSetCombinations", "nr-rrc.featureSetCombinations",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_2_8", HFILL }},
- { &hf_nr_rrc_maxNumberRxTxBeamSwitchDL,
- { "maxNumberRxTxBeamSwitchDL", "nr-rrc.maxNumberRxTxBeamSwitchDL_element",
+ "SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination", HFILL }},
+ { &hf_nr_rrc_featureSetCombinations_item,
+ { "FeatureSetCombination", "nr-rrc.FeatureSetCombination",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pdcp_ParametersMRDC_v1530,
+ { "pdcp-ParametersMRDC-v1530", "nr-rrc.pdcp_ParametersMRDC_v1530_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PDCP_ParametersMRDC", HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_36,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_34", HFILL }},
+ { &hf_nr_rrc_generalParametersMRDC_XDD_Diff,
+ { "generalParametersMRDC-XDD-Diff", "nr-rrc.generalParametersMRDC_XDD_Diff_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_scs_15kHz_02,
- { "scs-15kHz", "nr-rrc.scs_15kHz",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_02_vals), 0,
- "T_scs_15kHz_02", HFILL }},
- { &hf_nr_rrc_scs_30kHz_02,
- { "scs-30kHz", "nr-rrc.scs_30kHz",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_02_vals), 0,
- "T_scs_30kHz_02", HFILL }},
- { &hf_nr_rrc_scs_60kHz_04,
- { "scs-60kHz", "nr-rrc.scs_60kHz",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_04_vals), 0,
- "T_scs_60kHz_04", HFILL }},
- { &hf_nr_rrc_scs_120kHz_02,
- { "scs-120kHz", "nr-rrc.scs_120kHz",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_02_vals), 0,
- "T_scs_120kHz_02", HFILL }},
- { &hf_nr_rrc_scs_240kHz,
- { "scs-240kHz", "nr-rrc.scs_240kHz",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_240kHz_vals), 0,
+ { &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_maxNumberNonGroupBeamReporting,
- { "maxNumberNonGroupBeamReporting", "nr-rrc.maxNumberNonGroupBeamReporting",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberNonGroupBeamReporting_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_groupBeamReporting,
- { "groupBeamReporting", "nr-rrc.groupBeamReporting",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupBeamReporting_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_uplinkBeamManagement,
- { "uplinkBeamManagement", "nr-rrc.uplinkBeamManagement_element",
+ { &hf_nr_rrc_v2x_EUTRA_v1530,
+ { "v2x-EUTRA-v1530", "nr-rrc.v2x_EUTRA_v1530",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_v2x_EUTRA_v1530_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_accessStratumRelease,
+ { "accessStratumRelease", "nr-rrc.accessStratumRelease",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_AccessStratumRelease_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_pdcp_Parameters,
+ { "pdcp-Parameters", "nr-rrc.pdcp_Parameters_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_maxNumberSRS_ResourcePerSet_01,
- { "maxNumberSRS-ResourcePerSet", "nr-rrc.maxNumberSRS_ResourcePerSet",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_ResourcePerSet_vals), 0,
+ { &hf_nr_rrc_rlc_Parameters,
+ { "rlc-Parameters", "nr-rrc.rlc_Parameters_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_maxNumberSRS_ResourceSet,
- { "maxNumberSRS-ResourceSet", "nr-rrc.maxNumberSRS_ResourceSet",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_8", HFILL }},
- { &hf_nr_rrc_maxNumberCSI_RS_BFR,
- { "maxNumberCSI-RS-BFR", "nr-rrc.maxNumberCSI_RS_BFR",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_64", HFILL }},
- { &hf_nr_rrc_maxNumberSSB_BFR,
- { "maxNumberSSB-BFR", "nr-rrc.maxNumberSSB_BFR",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_64", HFILL }},
- { &hf_nr_rrc_maxNumberCSI_RS_SSB_BFR,
- { "maxNumberCSI-RS-SSB-BFR", "nr-rrc.maxNumberCSI_RS_SSB_BFR",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_256", HFILL }},
- { &hf_nr_rrc_twoPortsPTRS_DL,
- { "twoPortsPTRS-DL", "nr-rrc.twoPortsPTRS_DL",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPortsPTRS_DL_vals), 0,
+ { &hf_nr_rrc_mac_Parameters,
+ { "mac-Parameters", "nr-rrc.mac_Parameters_element",
+ FT_NONE, BASE_NONE, NULL, 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,
+ { &hf_nr_rrc_phy_Parameters,
+ { "phy-Parameters", "nr-rrc.phy_Parameters_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_maxNumberSimultaneousSRS_PerCC,
- { "maxNumberSimultaneousSRS-PerCC", "nr-rrc.maxNumberSimultaneousSRS_PerCC",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_4", HFILL }},
- { &hf_nr_rrc_beamReportTiming,
- { "beamReportTiming", "nr-rrc.beamReportTiming_element",
+ { &hf_nr_rrc_rf_Parameters,
+ { "rf-Parameters", "nr-rrc.rf_Parameters_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",
+ { &hf_nr_rrc_measAndMobParameters,
+ { "measAndMobParameters", "nr-rrc.measAndMobParameters_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_scs_15kHz_04,
- { "scs-15kHz", "nr-rrc.scs_15kHz_element",
+ { &hf_nr_rrc_fdd_Add_UE_NR_Capabilities,
+ { "fdd-Add-UE-NR-Capabilities", "nr-rrc.fdd_Add_UE_NR_Capabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
- "PTRS_DensityRecommendationDL", HFILL }},
- { &hf_nr_rrc_scs_30kHz_04,
- { "scs-30kHz", "nr-rrc.scs_30kHz_element",
+ "UE_NR_CapabilityAddXDD_Mode", HFILL }},
+ { &hf_nr_rrc_tdd_Add_UE_NR_Capabilities,
+ { "tdd-Add-UE-NR-Capabilities", "nr-rrc.tdd_Add_UE_NR_Capabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
- "PTRS_DensityRecommendationDL", HFILL }},
- { &hf_nr_rrc_scs_60kHz_06,
- { "scs-60kHz", "nr-rrc.scs_60kHz_element",
+ "UE_NR_CapabilityAddXDD_Mode", HFILL }},
+ { &hf_nr_rrc_fr1_Add_UE_NR_Capabilities,
+ { "fr1-Add-UE-NR-Capabilities", "nr-rrc.fr1_Add_UE_NR_Capabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
- "PTRS_DensityRecommendationDL", HFILL }},
- { &hf_nr_rrc_scs_120kHz_04,
- { "scs-120kHz", "nr-rrc.scs_120kHz_element",
+ "UE_NR_CapabilityAddFRX_Mode", HFILL }},
+ { &hf_nr_rrc_fr2_Add_UE_NR_Capabilities,
+ { "fr2-Add-UE-NR-Capabilities", "nr-rrc.fr2_Add_UE_NR_Capabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
- "PTRS_DensityRecommendationDL", HFILL }},
- { &hf_nr_rrc_ptrs_DensityRecommendationSetUL,
- { "ptrs-DensityRecommendationSetUL", "nr-rrc.ptrs_DensityRecommendationSetUL_element",
+ "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_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",
+ { &hf_nr_rrc_nonCriticalExtension_37,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- "PTRS_DensityRecommendationUL", HFILL }},
- { &hf_nr_rrc_scs_60kHz_07,
- { "scs-60kHz", "nr-rrc.scs_60kHz_element",
+ "UE_NR_Capability_1530", HFILL }},
+ { &hf_nr_rrc_fdd_Add_UE_NR_Capabilities_1530,
+ { "fdd-Add-UE-NR-Capabilities-1530", "nr-rrc.fdd_Add_UE_NR_Capabilities_1530_element",
FT_NONE, BASE_NONE, NULL, 0,
- "PTRS_DensityRecommendationUL", HFILL }},
- { &hf_nr_rrc_scs_120kHz_05,
- { "scs-120kHz", "nr-rrc.scs_120kHz_element",
+ "UE_NR_CapabilityAddXDD_Mode_1530", HFILL }},
+ { &hf_nr_rrc_tdd_Add_UE_NR_Capabilities_1530,
+ { "tdd-Add-UE-NR-Capabilities-1530", "nr-rrc.tdd_Add_UE_NR_Capabilities_1530_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",
+ "UE_NR_CapabilityAddXDD_Mode_1530", HFILL }},
+ { &hf_nr_rrc_voiceOverMCG_Bearer,
+ { "voiceOverMCG-Bearer", "nr-rrc.voiceOverMCG_Bearer",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_voiceOverMCG_Bearer_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_interRAT_Parameters,
+ { "interRAT-Parameters", "nr-rrc.interRAT_Parameters_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,
+ { &hf_nr_rrc_inactiveState,
+ { "inactiveState", "nr-rrc.inactiveState",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_inactiveState_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,
+ { &hf_nr_rrc_delayBudgetReporting,
+ { "delayBudgetReporting", "nr-rrc.delayBudgetReporting",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_delayBudgetReporting_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceTwoTx,
- { "maxNumberSSB-CSI-RS-ResourceTwoTx", "nr-rrc.maxNumberSSB_CSI_RS_ResourceTwoTx",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx_vals), 0,
+ { &hf_nr_rrc_nonCriticalExtension_38,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nonCriticalExtension_35", HFILL }},
+ { &hf_nr_rrc_EUTRA_MBSFN_SubframeConfigList_item,
+ { "EUTRA-MBSFN-SubframeConfig", "nr-rrc.EUTRA_MBSFN_SubframeConfig_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_supportedCSI_RS_Density,
- { "supportedCSI-RS-Density", "nr-rrc.supportedCSI_RS_Density",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedCSI_RS_Density_vals), 0,
+ { &hf_nr_rrc_radioframeAllocationPeriod,
+ { "radioframeAllocationPeriod", "nr-rrc.radioframeAllocationPeriod",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_radioframeAllocationPeriod_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",
+ { &hf_nr_rrc_radioframeAllocationOffset,
+ { "radioframeAllocationOffset", "nr-rrc.radioframeAllocationOffset",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_276", HFILL }},
- { &hf_nr_rrc_sampleDensity2,
- { "sampleDensity2", "nr-rrc.sampleDensity2",
+ "INTEGER_0_7", HFILL }},
+ { &hf_nr_rrc_subframeAllocation1,
+ { "subframeAllocation1", "nr-rrc.subframeAllocation1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subframeAllocation1_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_oneFrame,
+ { "oneFrame", "nr-rrc.oneFrame",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_6", HFILL }},
+ { &hf_nr_rrc_fourFrames,
+ { "fourFrames", "nr-rrc.fourFrames",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_24", HFILL }},
+ { &hf_nr_rrc_subframeAllocation2,
+ { "subframeAllocation2", "nr-rrc.subframeAllocation2",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subframeAllocation2_vals), 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_oneFrame_01,
+ { "oneFrame", "nr-rrc.oneFrame",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_2", HFILL }},
+ { &hf_nr_rrc_fourFrames_01,
+ { "fourFrames", "nr-rrc.fourFrames",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_8", HFILL }},
+ { &hf_nr_rrc_EUTRA_MultiBandInfoList_item,
+ { "EUTRA-MultiBandInfo", "nr-rrc.EUTRA_MultiBandInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_eutra_FreqBandIndicator,
+ { "eutra-FreqBandIndicator", "nr-rrc.eutra_FreqBandIndicator",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_276", HFILL }},
- { &hf_nr_rrc_sampleDensity3,
- { "sampleDensity3", "nr-rrc.sampleDensity3",
+ "FreqBandIndicatorEUTRA", HFILL }},
+ { &hf_nr_rrc_eutra_NS_PmaxList,
+ { "eutra-NS-PmaxList", "nr-rrc.eutra_NS_PmaxList",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_276", HFILL }},
- { &hf_nr_rrc_sampleDensity4,
- { "sampleDensity4", "nr-rrc.sampleDensity4",
+ NULL, HFILL }},
+ { &hf_nr_rrc_EUTRA_NS_PmaxList_item,
+ { "EUTRA-NS-PmaxValue", "nr-rrc.EUTRA_NS_PmaxValue_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_additionalPmax,
+ { "additionalPmax", "nr-rrc.additionalPmax",
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
+ "INTEGER_M30_33", HFILL }},
+ { &hf_nr_rrc_additionalSpectrumEmission_01,
+ { "additionalSpectrumEmission", "nr-rrc.additionalSpectrumEmission",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_276", HFILL }},
- { &hf_nr_rrc_sampleDensity5,
- { "sampleDensity5", "nr-rrc.sampleDensity5",
+ "INTEGER_1_288", HFILL }},
+ { &hf_nr_rrc_start_01,
+ { "start", "nr-rrc.start",
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,
+ "EUTRA_PhysCellId", HFILL }},
+ { &hf_nr_rrc_range_01,
+ { "range", "nr-rrc.range",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_range_01_vals), 0,
+ "T_range_01", HFILL }},
+ { &hf_nr_rrc_MultiFrequencyBandListNR_SIB_item,
+ { "NR-MultiBandInfo", "nr-rrc.NR_MultiBandInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP_PerSlot,
- { "maxNumberAperiodicSRS-PerBWP-PerSlot", "nr-rrc.maxNumberAperiodicSRS_PerBWP_PerSlot",
+ { &hf_nr_rrc_freqBandIndicatorNR,
+ { "freqBandIndicatorNR", "nr-rrc.freqBandIndicatorNR",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_6", HFILL }},
- { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP,
- { "maxNumberPeriodicSRS-PerBWP", "nr-rrc.maxNumberPeriodicSRS_PerBWP",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPeriodicSRS_PerBWP_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP_PerSlot,
- { "maxNumberPeriodicSRS-PerBWP-PerSlot", "nr-rrc.maxNumberPeriodicSRS_PerBWP_PerSlot",
+ { &hf_nr_rrc_nr_NS_PmaxList,
+ { "nr-NS-PmaxList", "nr-rrc.nr_NS_PmaxList",
FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_6", HFILL }},
- { &hf_nr_rrc_maxNumberSemiPersitentSRS_PerBWP,
- { "maxNumberSemiPersitentSRS-PerBWP", "nr-rrc.maxNumberSemiPersitentSRS_PerBWP",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSemiPersitentSRS_PerBWP_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_maxNumberSP_SRS_PerBWP_PerSlot,
- { "maxNumberSP-SRS-PerBWP-PerSlot", "nr-rrc.maxNumberSP_SRS_PerBWP_PerSlot",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_1_6", HFILL }},
- { &hf_nr_rrc_maxNumberSRS_Ports_PerResource,
- { "maxNumberSRS-Ports-PerResource", "nr-rrc.maxNumberSRS_Ports_PerResource",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_Ports_PerResource_vals), 0,
- NULL, HFILL }},
- { &hf_nr_rrc_supportedSRS_TxPortSwitch,
- { "supportedSRS-TxPortSwitch", "nr-rrc.supportedSRS_TxPortSwitch",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedSRS_TxPortSwitch_vals), 0,
+ { &hf_nr_rrc_NR_NS_PmaxList_item,
+ { "NR-NS-PmaxValue", "nr-rrc.NR_NS_PmaxValue_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_txSwitchImpactToRx,
- { "txSwitchImpactToRx", "nr-rrc.txSwitchImpactToRx",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_txSwitchImpactToRx_vals), 0,
+ { &hf_nr_rrc_additionalPmax_01,
+ { "additionalPmax", "nr-rrc.additionalPmax",
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
+ "P_Max", HFILL }},
+ { &hf_nr_rrc_delayBudgetReportingConfig,
+ { "delayBudgetReportingConfig", "nr-rrc.delayBudgetReportingConfig",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_delayBudgetReportingConfig_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_supportedROHC_Profiles,
- { "supportedROHC-Profiles", "nr-rrc.supportedROHC_Profiles_element",
+ { &hf_nr_rrc_setup_49,
+ { "setup", "nr-rrc.setup_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_profile0x0000,
- { "profile0x0000", "nr-rrc.profile0x0000",
- FT_BOOLEAN, BASE_NONE, NULL, 0,
- "BOOLEAN", HFILL }},
- { &hf_nr_rrc_maxNumberROHC_ContextSessions,
- { "maxNumberROHC-ContextSessions", "nr-rrc.maxNumberROHC_ContextSessions",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberROHC_ContextSessions_vals), 0,
+ { &hf_nr_rrc_delayBudgetReportingProhibitTimer,
+ { "delayBudgetReportingProhibitTimer", "nr-rrc.delayBudgetReportingProhibitTimer",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_delayBudgetReportingProhibitTimer_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_uplinkOnlyROHC_Profiles,
- { "uplinkOnlyROHC-Profiles", "nr-rrc.uplinkOnlyROHC_Profiles",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkOnlyROHC_Profiles_vals), 0,
+
+/*--- End of included file: packet-nr-rrc-hfarr.c ---*/
+#line 364 "./asn1/nr-rrc/packet-nr-rrc-template.c"
+
+ { &hf_nr_rrc_serialNumber_gs,
+ { "Geographical Scope", "nr-rrc.serialNumber.gs",
+ FT_UINT16, BASE_DEC, VALS(nr_rrc_serialNumber_gs_vals), 0xc000,
NULL, HFILL }},
- { &hf_nr_rrc_continueROHC_Context,
- { "continueROHC-Context", "nr-rrc.continueROHC_Context",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_continueROHC_Context_vals), 0,
+ { &hf_nr_rrc_serialNumber_msg_code,
+ { "Message Code", "nr-rrc.serialNumber.msg_code",
+ FT_UINT16, BASE_DEC, NULL, 0x3ff0,
NULL, HFILL }},
- { &hf_nr_rrc_outOfOrderDelivery_01,
- { "outOfOrderDelivery", "nr-rrc.outOfOrderDelivery",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_outOfOrderDelivery_01_vals), 0,
- "T_outOfOrderDelivery_01", HFILL }},
- { &hf_nr_rrc_shortSN,
- { "shortSN", "nr-rrc.shortSN",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_shortSN_vals), 0,
+ { &hf_nr_rrc_serialNumber_upd_nb,
+ { "Update Number", "nr-rrc.serialNumber.upd_nb",
+ FT_UINT16, BASE_DEC, NULL, 0x000f,
NULL, HFILL }},
- { &hf_nr_rrc_am_WithShortSN,
- { "am-WithShortSN", "nr-rrc.am_WithShortSN",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_am_WithShortSN_vals), 0,
+ { &hf_nr_rrc_warningType_value,
+ { "Warning Type Value", "nr-rrc.warningType.value",
+ FT_UINT16, BASE_DEC, VALS(nr_rrc_warningType_vals), 0xfe00,
NULL, HFILL }},
- { &hf_nr_rrc_um_WithShortSN,
- { "um-WithShortSN", "nr-rrc.um_WithShortSN",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_um_WithShortSN_vals), 0,
+ { &hf_nr_rrc_warningType_emergency_user_alert,
+ { "Emergency User Alert", "nr-rrc.warningType.emergency_user_alert",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0100,
NULL, HFILL }},
- { &hf_nr_rrc_um_WIthLongSN,
- { "um-WIthLongSN", "nr-rrc.um_WIthLongSN",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_um_WIthLongSN_vals), 0,
+ { &hf_nr_rrc_warningType_popup,
+ { "Popup", "nr-rrc.warningType.popup",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0080,
NULL, HFILL }},
- { &hf_nr_rrc_mac_ParametersCommon,
- { "mac-ParametersCommon", "nr-rrc.mac_ParametersCommon_element",
+ { &hf_nr_rrc_warningMessageSegment_nb_pages,
+ { "Number of Pages", "nr-rrc.warningMessageSegment.nb_pages",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_warningMessageSegment_decoded_page,
+ { "Decoded Page", "nr-rrc.warningMessageSegment.decoded_page",
+ FT_STRING, STR_UNICODE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_fragments,
+ { "Fragments", "nr-rrc.warningMessageSegment.fragments",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_lcp_Restriction,
- { "lcp-Restriction", "nr-rrc.lcp_Restriction",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lcp_Restriction_vals), 0,
+ { &hf_nr_rrc_sib7_fragment,
+ { "Fragment", "nr-rrc.warningMessageSegment.fragment",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_pucch_SpatialRelInfoMAC_CE,
- { "pucch-SpatialRelInfoMAC-CE", "nr-rrc.pucch_SpatialRelInfoMAC_CE",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_SpatialRelInfoMAC_CE_vals), 0,
+ { &hf_nr_rrc_sib7_fragment_overlap,
+ { "Fragment Overlap", "nr-rrc.warningMessageSegment.fragment_overlap",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_skipUplinkTxDynamic_01,
- { "skipUplinkTxDynamic", "nr-rrc.skipUplinkTxDynamic",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_skipUplinkTxDynamic_vals), 0,
+ { &hf_nr_rrc_sib7_fragment_overlap_conflict,
+ { "Fragment Overlap Conflict", "nr-rrc.warningMessageSegment.fragment_overlap_conflict",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_logicalChannelSR_DelayTimer_01,
- { "logicalChannelSR-DelayTimer", "nr-rrc.logicalChannelSR_DelayTimer",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logicalChannelSR_DelayTimer_01_vals), 0,
- "T_logicalChannelSR_DelayTimer_01", HFILL }},
- { &hf_nr_rrc_longDRX_Cycle,
- { "longDRX-Cycle", "nr-rrc.longDRX_Cycle",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_longDRX_Cycle_vals), 0,
+ { &hf_nr_rrc_sib7_fragment_multiple_tails,
+ { "Fragment Multiple Tails", "nr-rrc.warningMessageSegment.fragment_multiple_tails",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_shortDRX_Cycle,
- { "shortDRX-Cycle", "nr-rrc.shortDRX_Cycle",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_shortDRX_Cycle_vals), 0,
+ { &hf_nr_rrc_sib7_fragment_too_long_fragment,
+ { "Too Long Fragment", "nr-rrc.warningMessageSegment.fragment_too_long_fragment",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_multipleSR_Configurations,
- { "multipleSR-Configurations", "nr-rrc.multipleSR_Configurations",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleSR_Configurations_vals), 0,
+ { &hf_nr_rrc_sib7_fragment_error,
+ { "Fragment Error", "nr-rrc.warningMessageSegment.fragment_error",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_multipleConfiguredGrants,
- { "multipleConfiguredGrants", "nr-rrc.multipleConfiguredGrants",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleConfiguredGrants_vals), 0,
+ { &hf_nr_rrc_sib7_fragment_count,
+ { "Fragment Count", "nr-rrc.warningMessageSegment.fragment_count",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_reassembled_in,
+ { "Reassembled In", "nr-rrc.warningMessageSegment.reassembled_in",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_measParametersCommon,
- { "measParametersCommon", "nr-rrc.measParametersCommon_element",
+ { &hf_nr_rrc_sib7_reassembled_length,
+ { "Reassembled Length", "nr-rrc.warningMessageSegment.reassembled_length",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_reassembled_data,
+ { "Reassembled Data", "nr-rrc.warningMessageSegment.reassembled_data",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_fragments,
+ { "Fragments", "nr-rrc.warningMessageSegment.fragments",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_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,
+ { &hf_nr_rrc_sib8_fragment,
+ { "Fragment", "nr-rrc.warningMessageSegment.fragment",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_eventA_MeasAndReport,
- { "eventA-MeasAndReport", "nr-rrc.eventA_MeasAndReport",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventA_MeasAndReport_vals), 0,
+ { &hf_nr_rrc_sib8_fragment_overlap,
+ { "Fragment Overlap", "nr-rrc.warningMessageSegment.fragment_overlap",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_ss_SINR_Meas,
- { "ss-SINR-Meas", "nr-rrc.ss_SINR_Meas",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ss_SINR_Meas_vals), 0,
+ { &hf_nr_rrc_sib8_fragment_overlap_conflict,
+ { "Fragment Overlap Conflict", "nr-rrc.warningMessageSegment.fragment_overlap_conflict",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB,
- { "csi-RSRP-AndRSRQ-MeasWithSSB", "nr-rrc.csi_RSRP_AndRSRQ_MeasWithSSB",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB_vals), 0,
+ { &hf_nr_rrc_sib8_fragment_multiple_tails,
+ { "Fragment Multiple Tails", "nr-rrc.warningMessageSegment.fragment_multiple_tails",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB,
- { "csi-RSRP-AndRSRQ-MeasWithoutSSB", "nr-rrc.csi_RSRP_AndRSRQ_MeasWithoutSSB",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB_vals), 0,
+ { &hf_nr_rrc_sib8_fragment_too_long_fragment,
+ { "Too Long Fragment", "nr-rrc.warningMessageSegment.fragment_too_long_fragment",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_csi_SINR_Meas,
- { "csi-SINR-Meas", "nr-rrc.csi_SINR_Meas",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_SINR_Meas_vals), 0,
+ { &hf_nr_rrc_sib8_fragment_error,
+ { "Fragment Error", "nr-rrc.warningMessageSegment.fragment_error",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_csi_RS_RLM,
- { "csi-RS-RLM", "nr-rrc.csi_RS_RLM",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_RLM_vals), 0,
+ { &hf_nr_rrc_sib8_fragment_count,
+ { "Fragment Count", "nr-rrc.warningMessageSegment.fragment_count",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_reassembled_in,
+ { "Reassembled In", "nr-rrc.warningMessageSegment.reassembled_in",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_reassembled_length,
+ { "Reassembled Length", "nr-rrc.warningMessageSegment.reassembled_length",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_reassembled_data,
+ { "Reassembled Data", "nr-rrc.warningMessageSegment.reassembled_data",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_utc_time,
+ { "UTC time", "nr-rrc.utc_time",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_UTC, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_local_time,
+ { "Local time", "nr-rrc.local_time",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0,
NULL, HFILL }},
-
-/*--- End of included file: packet-nr-rrc-hfarr.c ---*/
-#line 79 "./asn1/nr-rrc/packet-nr-rrc-template.c"
-
};
static gint *ett[] = {
@@ -34573,8 +48160,9 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_T_criticalExtensionsFuture_01,
&ett_nr_rrc_HandoverPreparationInformation_IEs,
&ett_nr_rrc_T_nonCriticalExtension_01,
+ &ett_nr_rrc_AS_Config,
&ett_nr_rrc_AS_Context,
- &ett_nr_rrc_T_reestablishmentInfo,
+ &ett_nr_rrc_ReestablishmentInfo,
&ett_nr_rrc_ReestabNCellInfoList,
&ett_nr_rrc_ReestabNCellInfo,
&ett_nr_rrc_RRM_Config,
@@ -34588,8 +48176,10 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo,
&ett_nr_rrc_NR_FreqInfo,
&ett_nr_rrc_ConfigRestrictModReqSCG,
+ &ett_nr_rrc_BandCombinationInfoSN,
&ett_nr_rrc_FR_InfoList,
&ett_nr_rrc_FR_Info,
+ &ett_nr_rrc_CandidateServingFreqListNR,
&ett_nr_rrc_CG_ConfigInfo,
&ett_nr_rrc_T_criticalExtensions_03,
&ett_nr_rrc_T_c1_03,
@@ -34600,13 +48190,22 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_ConfigRestrictInfoSCG,
&ett_nr_rrc_T_powerCoordination_FR1,
&ett_nr_rrc_T_servCellIndexRangeSCG,
- &ett_nr_rrc_BandCombinationIndexList,
+ &ett_nr_rrc_BandCombinationInfoList,
+ &ett_nr_rrc_BandCombinationInfo,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex,
&ett_nr_rrc_DRX_Info,
&ett_nr_rrc_T_drx_LongCycleStartOffset,
&ett_nr_rrc_T_shortDRX,
&ett_nr_rrc_MeasConfigMN,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo,
&ett_nr_rrc_T_measGapConfig,
+ &ett_nr_rrc_MRDC_AssistanceInfo,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC,
+ &ett_nr_rrc_AffectedCarrierFreqCombInfoMRDC,
+ &ett_nr_rrc_T_affectedCarrierFreqCombMRDC,
+ &ett_nr_rrc_VictimSystemType,
+ &ett_nr_rrc_AffectedCarrierFreqCombEUTRA,
+ &ett_nr_rrc_AffectedCarrierFreqCombNR,
&ett_nr_rrc_MeasurementTimingConfiguration,
&ett_nr_rrc_T_criticalExtensions_04,
&ett_nr_rrc_T_c1_04,
@@ -34616,38 +48215,277 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_MeasTimingList,
&ett_nr_rrc_MeasTiming,
&ett_nr_rrc_T_frequencyAndTiming,
+ &ett_nr_rrc_UERadioPagingInformation,
+ &ett_nr_rrc_T_criticalExtensions_05,
+ &ett_nr_rrc_T_c1_05,
+ &ett_nr_rrc_T_criticalExtensionsFuture_05,
+ &ett_nr_rrc_UERadioPagingInformation_IEs,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR,
+ &ett_nr_rrc_T_nonCriticalExtension_05,
+ &ett_nr_rrc_UERadioAccessCapabilityInformation,
+ &ett_nr_rrc_T_criticalExtensions_06,
+ &ett_nr_rrc_T_c1_06,
+ &ett_nr_rrc_T_criticalExtensionsFuture_06,
+ &ett_nr_rrc_UERadioAccessCapabilityInformation_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_06,
&ett_nr_rrc_BCCH_BCH_Message,
&ett_nr_rrc_BCCH_BCH_MessageType,
&ett_nr_rrc_T_messageClassExtension,
+ &ett_nr_rrc_BCCH_DL_SCH_Message,
+ &ett_nr_rrc_BCCH_DL_SCH_MessageType,
+ &ett_nr_rrc_T_c1_07,
+ &ett_nr_rrc_T_messageClassExtension_01,
+ &ett_nr_rrc_DL_CCCH_Message,
+ &ett_nr_rrc_DL_CCCH_MessageType,
+ &ett_nr_rrc_T_c1_08,
+ &ett_nr_rrc_T_messageClassExtension_02,
&ett_nr_rrc_DL_DCCH_Message,
&ett_nr_rrc_DL_DCCH_MessageType,
- &ett_nr_rrc_T_c1_05,
- &ett_nr_rrc_T_messageClassExtension_01,
+ &ett_nr_rrc_T_c1_09,
+ &ett_nr_rrc_T_messageClassExtension_03,
+ &ett_nr_rrc_PCCH_Message,
+ &ett_nr_rrc_PCCH_MessageType,
+ &ett_nr_rrc_T_c1_10,
+ &ett_nr_rrc_T_messageClassExtension_04,
+ &ett_nr_rrc_UL_CCCH_Message,
+ &ett_nr_rrc_UL_CCCH_MessageType,
+ &ett_nr_rrc_T_c1_11,
+ &ett_nr_rrc_T_messageClassExtension_05,
+ &ett_nr_rrc_UL_CCCH1_Message,
+ &ett_nr_rrc_UL_CCCH1_MessageType,
+ &ett_nr_rrc_T_c1_12,
+ &ett_nr_rrc_T_messageClassExtension_06,
&ett_nr_rrc_UL_DCCH_Message,
&ett_nr_rrc_UL_DCCH_MessageType,
- &ett_nr_rrc_T_c1_06,
- &ett_nr_rrc_T_messageClassExtension_02,
+ &ett_nr_rrc_T_c1_13,
+ &ett_nr_rrc_T_messageClassExtension_07,
+ &ett_nr_rrc_CounterCheck,
+ &ett_nr_rrc_T_criticalExtensions_07,
+ &ett_nr_rrc_T_criticalExtensionsFuture_07,
+ &ett_nr_rrc_CounterCheck_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_07,
+ &ett_nr_rrc_DRB_CountMSB_InfoList,
+ &ett_nr_rrc_DRB_CountMSB_Info,
+ &ett_nr_rrc_CounterCheckResponse,
+ &ett_nr_rrc_T_criticalExtensions_08,
+ &ett_nr_rrc_T_criticalExtensionsFuture_08,
+ &ett_nr_rrc_CounterCheckResponse_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_08,
+ &ett_nr_rrc_DRB_CountInfoList,
+ &ett_nr_rrc_DRB_CountInfo,
+ &ett_nr_rrc_DLInformationTransfer,
+ &ett_nr_rrc_T_criticalExtensions_09,
+ &ett_nr_rrc_T_criticalExtensionsFuture_09,
+ &ett_nr_rrc_DLInformationTransfer_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_09,
+ &ett_nr_rrc_LocationMeasurementIndication,
+ &ett_nr_rrc_T_criticalExtensions_10,
+ &ett_nr_rrc_T_criticalExtensionsFuture_10,
+ &ett_nr_rrc_LocationMeasurementIndication_IEs,
+ &ett_nr_rrc_T_measurementIndication,
+ &ett_nr_rrc_T_nonCriticalExtension_10,
&ett_nr_rrc_MIB,
&ett_nr_rrc_MeasurementReport,
- &ett_nr_rrc_T_criticalExtensions_05,
- &ett_nr_rrc_T_criticalExtensionsFuture_05,
+ &ett_nr_rrc_T_criticalExtensions_11,
+ &ett_nr_rrc_T_criticalExtensionsFuture_11,
&ett_nr_rrc_MeasurementReport_IEs,
- &ett_nr_rrc_T_nonCriticalExtension_05,
+ &ett_nr_rrc_T_nonCriticalExtension_11,
+ &ett_nr_rrc_MobilityFromNRCommand,
+ &ett_nr_rrc_T_criticalExtensions_12,
+ &ett_nr_rrc_T_criticalExtensionsFuture_12,
+ &ett_nr_rrc_MobilityFromNRCommand_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_12,
+ &ett_nr_rrc_Paging,
+ &ett_nr_rrc_T_nonCriticalExtension_13,
+ &ett_nr_rrc_PagingRecordList,
+ &ett_nr_rrc_PagingRecord,
+ &ett_nr_rrc_PagingUE_Identity,
+ &ett_nr_rrc_RRCReestablishment,
+ &ett_nr_rrc_T_criticalExtensions_13,
+ &ett_nr_rrc_T_criticalExtensionsFuture_13,
+ &ett_nr_rrc_RRCReestablishment_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_14,
+ &ett_nr_rrc_RRCReestablishmentComplete,
+ &ett_nr_rrc_T_criticalExtensions_14,
+ &ett_nr_rrc_T_criticalExtensionsFuture_14,
+ &ett_nr_rrc_RRCReestablishmentComplete_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_15,
+ &ett_nr_rrc_RRCReestablishmentRequest,
+ &ett_nr_rrc_RRCReestablishmentRequest_IEs,
+ &ett_nr_rrc_ReestabUE_Identity,
&ett_nr_rrc_RRCReconfiguration,
- &ett_nr_rrc_T_criticalExtensions_06,
- &ett_nr_rrc_T_criticalExtensionsFuture_06,
+ &ett_nr_rrc_T_criticalExtensions_15,
+ &ett_nr_rrc_T_criticalExtensionsFuture_15,
&ett_nr_rrc_RRCReconfiguration_IEs,
- &ett_nr_rrc_T_nonCriticalExtension_06,
+ &ett_nr_rrc_RRCReconfiguration_v1530_IEs,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message,
+ &ett_nr_rrc_T_nonCriticalExtension_16,
+ &ett_nr_rrc_MasterKeyUpdate,
&ett_nr_rrc_RRCReconfigurationComplete,
- &ett_nr_rrc_T_criticalExtensions_07,
- &ett_nr_rrc_T_criticalExtensionsFuture_07,
+ &ett_nr_rrc_T_criticalExtensions_16,
+ &ett_nr_rrc_T_criticalExtensionsFuture_16,
&ett_nr_rrc_RRCReconfigurationComplete_IEs,
- &ett_nr_rrc_T_nonCriticalExtension_07,
+ &ett_nr_rrc_RRCReconfigurationComplete_v1530_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_17,
+ &ett_nr_rrc_RRCReject,
+ &ett_nr_rrc_T_criticalExtensions_17,
+ &ett_nr_rrc_T_criticalExtensionsFuture_17,
+ &ett_nr_rrc_RRCReject_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_18,
+ &ett_nr_rrc_RRCRelease,
+ &ett_nr_rrc_T_criticalExtensions_18,
+ &ett_nr_rrc_T_criticalExtensionsFuture_18,
+ &ett_nr_rrc_RRCRelease_IEs,
+ &ett_nr_rrc_T_deprioritisationReq,
+ &ett_nr_rrc_T_nonCriticalExtension_19,
+ &ett_nr_rrc_RedirectedCarrierInfo,
+ &ett_nr_rrc_RedirectedCarrierInfo_EUTRA,
+ &ett_nr_rrc_CarrierInfoNR,
+ &ett_nr_rrc_SuspendConfig,
+ &ett_nr_rrc_CellReselectionPriorities,
+ &ett_nr_rrc_FreqPriorityListEUTRA,
+ &ett_nr_rrc_FreqPriorityListNR,
+ &ett_nr_rrc_FreqPriorityEUTRA,
+ &ett_nr_rrc_FreqPriorityNR,
+ &ett_nr_rrc_RAN_NotificationAreaInfo,
+ &ett_nr_rrc_PLMN_RAN_AreaCellList,
+ &ett_nr_rrc_PLMN_RAN_AreaCell,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_CellIdentity,
+ &ett_nr_rrc_PLMN_RAN_AreaConfigList,
+ &ett_nr_rrc_PLMN_RAN_AreaConfig,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig,
+ &ett_nr_rrc_RAN_AreaConfig,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_RAN_AreaCode,
+ &ett_nr_rrc_RRCResume,
+ &ett_nr_rrc_T_criticalExtensions_19,
+ &ett_nr_rrc_T_criticalExtensionsFuture_19,
+ &ett_nr_rrc_RRCResume_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_20,
+ &ett_nr_rrc_RRCResumeComplete,
+ &ett_nr_rrc_T_criticalExtensions_20,
+ &ett_nr_rrc_T_criticalExtensionsFuture_20,
+ &ett_nr_rrc_RRCResumeComplete_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_21,
+ &ett_nr_rrc_RRCResumeRequest,
+ &ett_nr_rrc_RRCResumeRequest_IEs,
+ &ett_nr_rrc_RRCResumeRequest1,
+ &ett_nr_rrc_RRCResumeRequest1_IEs,
+ &ett_nr_rrc_RRCSetup,
+ &ett_nr_rrc_T_criticalExtensions_21,
+ &ett_nr_rrc_T_criticalExtensionsFuture_21,
+ &ett_nr_rrc_RRCSetup_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_22,
+ &ett_nr_rrc_RRCSetupComplete,
+ &ett_nr_rrc_T_criticalExtensions_22,
+ &ett_nr_rrc_T_criticalExtensionsFuture_22,
+ &ett_nr_rrc_RRCSetupComplete_IEs,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI,
+ &ett_nr_rrc_T_ng_5G_S_TMSI_Value,
+ &ett_nr_rrc_T_nonCriticalExtension_23,
+ &ett_nr_rrc_RegisteredAMF,
+ &ett_nr_rrc_RRCSetupRequest,
+ &ett_nr_rrc_RRCSetupRequest_IEs,
+ &ett_nr_rrc_InitialUE_Identity,
+ &ett_nr_rrc_RRCSystemInfoRequest,
+ &ett_nr_rrc_T_criticalExtensions_23,
+ &ett_nr_rrc_T_criticalExtensionsFuture_23,
+ &ett_nr_rrc_RRCSystemInfoRequest_r15_IEs,
+ &ett_nr_rrc_SecurityModeCommand,
+ &ett_nr_rrc_T_criticalExtensions_24,
+ &ett_nr_rrc_T_criticalExtensionsFuture_24,
+ &ett_nr_rrc_SecurityModeCommand_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_24,
+ &ett_nr_rrc_SecurityConfigSMC,
+ &ett_nr_rrc_SecurityModeComplete,
+ &ett_nr_rrc_T_criticalExtensions_25,
+ &ett_nr_rrc_T_criticalExtensionsFuture_25,
+ &ett_nr_rrc_SecurityModeComplete_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_25,
+ &ett_nr_rrc_SecurityModeFailure,
+ &ett_nr_rrc_T_criticalExtensions_26,
+ &ett_nr_rrc_T_criticalExtensionsFuture_26,
+ &ett_nr_rrc_SecurityModeFailure_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_26,
&ett_nr_rrc_SIB1,
- &ett_nr_rrc_T_ssb_PositionsInBurst,
- &ett_nr_rrc_T_supplementaryUplink,
- &ett_nr_rrc_T_nonCriticalExtension_08,
+ &ett_nr_rrc_T_cellSelectionInfo,
+ &ett_nr_rrc_T_uac_BarringInfo,
+ &ett_nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo,
+ &ett_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo,
+ &ett_nr_rrc_T_nonCriticalExtension_27,
+ &ett_nr_rrc_SystemInformation,
+ &ett_nr_rrc_T_criticalExtensions_27,
+ &ett_nr_rrc_T_criticalExtensionsFuture_27,
+ &ett_nr_rrc_SystemInformation_IEs,
+ &ett_nr_rrc_T_sib_TypeAndInfo,
+ &ett_nr_rrc_T_sib_TypeAndInfo_item,
+ &ett_nr_rrc_T_nonCriticalExtension_28,
+ &ett_nr_rrc_UEAssistanceInformation,
+ &ett_nr_rrc_T_criticalExtensions_28,
+ &ett_nr_rrc_T_criticalExtensionsFuture_28,
+ &ett_nr_rrc_UEAssistanceInformation_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_29,
+ &ett_nr_rrc_DelayBudgetReport,
+ &ett_nr_rrc_UECapabilityEnquiry,
+ &ett_nr_rrc_T_criticalExtensions_29,
+ &ett_nr_rrc_T_criticalExtensionsFuture_29,
+ &ett_nr_rrc_UECapabilityEnquiry_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_30,
+ &ett_nr_rrc_UECapabilityInformation,
+ &ett_nr_rrc_T_criticalExtensions_30,
+ &ett_nr_rrc_T_criticalExtensionsFuture_30,
+ &ett_nr_rrc_UECapabilityInformation_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_31,
+ &ett_nr_rrc_ULInformationTransfer,
+ &ett_nr_rrc_T_criticalExtensions_31,
+ &ett_nr_rrc_T_criticalExtensionsFuture_31,
+ &ett_nr_rrc_ULInformationTransfer_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_32,
+ &ett_nr_rrc_SIB2,
+ &ett_nr_rrc_T_cellReselectionInfoCommon,
+ &ett_nr_rrc_T_speedStateReselectionPars,
+ &ett_nr_rrc_T_q_HystSF,
+ &ett_nr_rrc_T_cellReselectionServingFreqInfo,
+ &ett_nr_rrc_T_intraFreqCellReselectionInfo,
+ &ett_nr_rrc_SIB3,
+ &ett_nr_rrc_IntraFreqNeighCellList,
+ &ett_nr_rrc_IntraFreqNeighCellInfo,
+ &ett_nr_rrc_IntraFreqBlackCellList,
+ &ett_nr_rrc_SIB4,
+ &ett_nr_rrc_InterFreqCarrierFreqList,
+ &ett_nr_rrc_InterFreqCarrierFreqInfo,
+ &ett_nr_rrc_T_threshX_Q,
+ &ett_nr_rrc_InterFreqNeighCellList,
+ &ett_nr_rrc_InterFreqNeighCellInfo,
+ &ett_nr_rrc_InterFreqBlackCellList,
+ &ett_nr_rrc_SIB5,
+ &ett_nr_rrc_CarrierFreqListEUTRA,
+ &ett_nr_rrc_CarrierFreqEUTRA,
+ &ett_nr_rrc_T_threshX_Q_01,
+ &ett_nr_rrc_EUTRA_FreqBlackCellList,
+ &ett_nr_rrc_EUTRA_FreqNeighCellList,
+ &ett_nr_rrc_EUTRA_FreqNeighCellInfo,
+ &ett_nr_rrc_SIB6,
+ &ett_nr_rrc_SIB7,
+ &ett_nr_rrc_SIB8,
+ &ett_nr_rrc_SIB9,
+ &ett_nr_rrc_T_timeInfo,
+ &ett_nr_rrc_BeamFailureRecoveryConfig,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR,
+ &ett_nr_rrc_PRACH_ResourceDedicatedBFR,
+ &ett_nr_rrc_BFR_SSB_Resource,
+ &ett_nr_rrc_BFR_CSIRS_Resource,
+ &ett_nr_rrc_T_ra_OccasionList,
+ &ett_nr_rrc_BSR_Config,
&ett_nr_rrc_BWP,
+ &ett_nr_rrc_BWP_Downlink,
+ &ett_nr_rrc_BWP_DownlinkCommon,
+ &ett_nr_rrc_T_pdcch_ConfigCommon,
+ &ett_nr_rrc_T_pdsch_ConfigCommon,
+ &ett_nr_rrc_BWP_DownlinkDedicated,
+ &ett_nr_rrc_T_pdcch_Config,
+ &ett_nr_rrc_T_pdsch_Config,
+ &ett_nr_rrc_T_sps_Config,
+ &ett_nr_rrc_T_radioLinkMonitoringConfig,
&ett_nr_rrc_BWP_Uplink,
&ett_nr_rrc_BWP_UplinkCommon,
&ett_nr_rrc_T_rach_ConfigCommon,
@@ -34659,21 +48497,13 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_T_configuredGrantConfig,
&ett_nr_rrc_T_srs_Config,
&ett_nr_rrc_T_beamFailureRecoveryConfig,
- &ett_nr_rrc_BWP_Downlink,
- &ett_nr_rrc_BWP_DownlinkCommon,
- &ett_nr_rrc_T_pdcch_ConfigCommon,
- &ett_nr_rrc_T_pdsch_ConfigCommon,
- &ett_nr_rrc_BWP_DownlinkDedicated,
- &ett_nr_rrc_T_pdcch_Config,
- &ett_nr_rrc_T_pdsch_Config,
- &ett_nr_rrc_T_sps_Config,
- &ett_nr_rrc_T_radioLinkMonitoringConfig,
- &ett_nr_rrc_BeamFailureRecoveryConfig,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR,
- &ett_nr_rrc_PRACH_ResourceDedicatedBFR,
- &ett_nr_rrc_BFR_SSB_Resource,
- &ett_nr_rrc_BFR_CSIRS_Resource,
- &ett_nr_rrc_T_ra_OccasionList,
+ &ett_nr_rrc_CellAccessRelatedInfo,
+ &ett_nr_rrc_CellAccessRelatedInfo_EUTRA_5GC,
+ &ett_nr_rrc_PLMN_IdentityList_EUTRA_5GC,
+ &ett_nr_rrc_PLMN_Identity_EUTRA_5GC,
+ &ett_nr_rrc_CellIdentity_EUTRA_5GC,
+ &ett_nr_rrc_CellAccessRelatedInfo_EUTRA_EPC,
+ &ett_nr_rrc_PLMN_IdentityList_EUTRA_EPC,
&ett_nr_rrc_CellGroupConfig,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity,
@@ -34684,9 +48514,11 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_ReconfigurationWithSync,
&ett_nr_rrc_T_rach_ConfigDedicated,
&ett_nr_rrc_SCellConfig,
+ &ett_nr_rrc_CGI_Info,
+ &ett_nr_rrc_T_noSIB1,
&ett_nr_rrc_CodebookConfig,
&ett_nr_rrc_T_codebookType,
- &ett_nr_rrc_T_type1,
+ &ett_nr_rrc_T_type1_01,
&ett_nr_rrc_T_subType,
&ett_nr_rrc_T_typeI_SinglePanel,
&ett_nr_rrc_T_nrOfAntennaPorts,
@@ -34705,6 +48537,7 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_T_rrc_ConfiguredUplinkGrant,
&ett_nr_rrc_CG_UCI_OnPUSCH,
&ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets,
+ &ett_nr_rrc_ConnEstFailureControl,
&ett_nr_rrc_ControlResourceSet,
&ett_nr_rrc_T_cce_REG_MappingType,
&ett_nr_rrc_T_interleaved,
@@ -34760,6 +48593,7 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_T_groupBasedBeamReporting,
&ett_nr_rrc_T_disabled,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks,
+ &ett_nr_rrc_T_semiPersistentOnPUSCH_v1530,
&ett_nr_rrc_CSI_ReportPeriodicityAndOffset,
&ett_nr_rrc_PUCCH_CSI_Resource,
&ett_nr_rrc_PortIndexFor8Ranks,
@@ -34807,16 +48641,34 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_T_transformPrecodingDisabled,
&ett_nr_rrc_T_transformPrecodingEnabled,
&ett_nr_rrc_DownlinkConfigCommon,
+ &ett_nr_rrc_DownlinkConfigCommonSIB,
+ &ett_nr_rrc_BCCH_Config,
+ &ett_nr_rrc_PCCH_Config,
+ &ett_nr_rrc_T_nAndPagingFrameOffset,
+ &ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO,
+ &ett_nr_rrc_T_sCS15KHZoneT,
+ &ett_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT,
+ &ett_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT,
+ &ett_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT,
+ &ett_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT,
+ &ett_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT,
+ &ett_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT,
+ &ett_nr_rrc_T_sCS120KHZoneSixteenthT,
&ett_nr_rrc_DownlinkPreemption,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell,
&ett_nr_rrc_INT_ConfigurationPerServingCell,
- &ett_nr_rrc_EUTRA_MBSFN_SubframeConfigList,
- &ett_nr_rrc_EUTRA_MBSFN_SubframeConfig,
- &ett_nr_rrc_T_subframeAllocation,
- &ett_nr_rrc_T_subframeAllocation_v1430,
+ &ett_nr_rrc_DRX_Config,
+ &ett_nr_rrc_T_drx_onDurationTimer,
+ &ett_nr_rrc_T_drx_LongCycleStartOffset_01,
+ &ett_nr_rrc_T_shortDRX_01,
&ett_nr_rrc_FrequencyInfoDL,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier,
+ &ett_nr_rrc_FrequencyInfoDL_SIB,
&ett_nr_rrc_FrequencyInfoUL,
+ &ett_nr_rrc_FrequencyInfoUL_SIB,
+ &ett_nr_rrc_LocationMeasurementInfo,
+ &ett_nr_rrc_EUTRA_RSTD_InfoList,
+ &ett_nr_rrc_EUTRA_RSTD_Info,
&ett_nr_rrc_LogicalChannelConfig,
&ett_nr_rrc_T_ul_SpecificParameters,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex,
@@ -34824,16 +48676,7 @@ 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_DRX_Config,
- &ett_nr_rrc_T_drx_onDurationTimer,
- &ett_nr_rrc_T_drx_LongCycleStartOffset_01,
- &ett_nr_rrc_T_shortDRX_01,
- &ett_nr_rrc_PHR_Config,
- &ett_nr_rrc_TAG_Config,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG,
- &ett_nr_rrc_TAG,
- &ett_nr_rrc_BSR_Config,
+ &ett_nr_rrc_T_dataInactivityTimer_v1530,
&ett_nr_rrc_MeasConfig,
&ett_nr_rrc_T_s_MeasureConfig,
&ett_nr_rrc_MeasObjectToRemoveList,
@@ -34841,11 +48684,21 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_ReportConfigToRemoveList,
&ett_nr_rrc_MeasGapConfig,
&ett_nr_rrc_T_gapFR2,
+ &ett_nr_rrc_T_gapFR1,
+ &ett_nr_rrc_T_gapUE,
&ett_nr_rrc_GapConfig,
&ett_nr_rrc_MeasGapSharingConfig,
&ett_nr_rrc_T_gapSharingFR2,
+ &ett_nr_rrc_T_gapSharingFR1,
+ &ett_nr_rrc_T_gapSharingUE,
&ett_nr_rrc_MeasIdToAddModList,
&ett_nr_rrc_MeasIdToAddMod,
+ &ett_nr_rrc_MeasObjectEUTRA,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_BlackCell,
+ &ett_nr_rrc_EUTRA_CellIndexList,
+ &ett_nr_rrc_EUTRA_Cell,
+ &ett_nr_rrc_EUTRA_BlackCell,
&ett_nr_rrc_MeasObjectNR,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement,
&ett_nr_rrc_ReferenceSignalConfig,
@@ -34853,13 +48706,14 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_SSB_ConfigMobility,
&ett_nr_rrc_T_ssb_ToMeasure,
&ett_nr_rrc_Q_OffsetRangeList,
- &ett_nr_rrc_SSB_ToMeasure,
&ett_nr_rrc_ThresholdNR,
&ett_nr_rrc_CellsToAddModList,
&ett_nr_rrc_CellsToAddMod,
&ett_nr_rrc_MeasObjectToAddModList,
&ett_nr_rrc_MeasObjectToAddMod,
&ett_nr_rrc_T_measObject,
+ &ett_nr_rrc_MeasResultCellListSFTD,
+ &ett_nr_rrc_MeasResultCellSFTD,
&ett_nr_rrc_MeasResults,
&ett_nr_rrc_T_measResultNeighCells,
&ett_nr_rrc_MeasResultServMOList,
@@ -34869,7 +48723,15 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_T_measResult,
&ett_nr_rrc_T_cellResults,
&ett_nr_rrc_T_rsIndexResults,
+ &ett_nr_rrc_MeasResultListEUTRA,
+ &ett_nr_rrc_MeasResultEUTRA,
+ &ett_nr_rrc_T_cgi_Info,
+ &ett_nr_rrc_T_cgi_info_EPC,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC,
+ &ett_nr_rrc_MultiBandInfoListEUTRA,
&ett_nr_rrc_MeasQuantityResults,
+ &ett_nr_rrc_MeasQuantityResultsEUTRA,
&ett_nr_rrc_ResultsPerSSB_IndexList,
&ett_nr_rrc_ResultsPerSSB_Index,
&ett_nr_rrc_ResultsPerCSI_RS_IndexList,
@@ -34877,8 +48739,7 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_MeasResultSCG_Failure,
&ett_nr_rrc_MeasResultList2NR,
&ett_nr_rrc_MeasResult2NR,
- &ett_nr_rrc_MeasResultCellListSFTD,
- &ett_nr_rrc_MeasResultCellSFTD,
+ &ett_nr_rrc_MobilityStateParameters,
&ett_nr_rrc_MultiFrequencyBandListNR,
&ett_nr_rrc_NZP_CSI_RS_Resource,
&ett_nr_rrc_NZP_CSI_RS_ResourceSet,
@@ -34898,6 +48759,7 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_T_tpc_SRS,
&ett_nr_rrc_PDCCH_ConfigCommon,
&ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace,
+ &ett_nr_rrc_PDCCH_ConfigSIB1,
&ett_nr_rrc_PDCCH_ServingCellConfig,
&ett_nr_rrc_T_slotFormatIndicator,
&ett_nr_rrc_PDCP_Config,
@@ -34933,17 +48795,23 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_PDSCH_CodeBlockGroupTransmission,
&ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList,
&ett_nr_rrc_PDSCH_TimeDomainResourceAllocation,
+ &ett_nr_rrc_PHR_Config,
&ett_nr_rrc_PhysicalCellGroupConfig,
&ett_nr_rrc_T_cs_RNTI,
+ &ett_nr_rrc_PLMN_Identity,
+ &ett_nr_rrc_MCC,
+ &ett_nr_rrc_MNC,
+ &ett_nr_rrc_PLMN_IdentityInfoList,
+ &ett_nr_rrc_PLMN_IdentityInfo,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity,
&ett_nr_rrc_PTRS_DownlinkConfig,
&ett_nr_rrc_T_frequencyDensity,
&ett_nr_rrc_T_timeDensity,
&ett_nr_rrc_PTRS_UplinkConfig,
- &ett_nr_rrc_T_modeSpecificParameters,
- &ett_nr_rrc_T_cp_OFDM,
+ &ett_nr_rrc_T_transformPrecoderDisabled,
&ett_nr_rrc_T_frequencyDensity_01,
&ett_nr_rrc_T_timeDensity_01,
- &ett_nr_rrc_T_dft_S_OFDM,
+ &ett_nr_rrc_T_transformPrecoderEnabled,
&ett_nr_rrc_T_sampleDensity,
&ett_nr_rrc_PUCCH_Config,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet,
@@ -34961,9 +48829,6 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId,
&ett_nr_rrc_PUCCH_FormatConfig,
- &ett_nr_rrc_PUCCH_SpatialRelationInfo,
- &ett_nr_rrc_T_referenceSignal,
- &ett_nr_rrc_T_srs,
&ett_nr_rrc_PUCCH_ResourceSet,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId,
&ett_nr_rrc_PUCCH_Resource,
@@ -34979,7 +48844,10 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS,
&ett_nr_rrc_P0_PUCCH,
&ett_nr_rrc_PUCCH_PathlossReferenceRS,
+ &ett_nr_rrc_T_referenceSignal,
+ &ett_nr_rrc_PUCCH_SpatialRelationInfo,
&ett_nr_rrc_T_referenceSignal_01,
+ &ett_nr_rrc_T_srs,
&ett_nr_rrc_PUCCH_TPC_CommandConfig,
&ett_nr_rrc_PUSCH_Config,
&ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA,
@@ -35017,7 +48885,6 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB,
&ett_nr_rrc_T_groupBconfigured,
&ett_nr_rrc_T_prach_RootSequenceIndex,
- &ett_nr_rrc_RACH_ConfigGeneric,
&ett_nr_rrc_RACH_ConfigDedicated,
&ett_nr_rrc_CFRA,
&ett_nr_rrc_T_occasions,
@@ -35029,6 +48896,7 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_CFRA_SSB_Resource,
&ett_nr_rrc_CFRA_CSIRS_Resource,
&ett_nr_rrc_T_ra_OccasionList_01,
+ &ett_nr_rrc_RACH_ConfigGeneric,
&ett_nr_rrc_RA_Prioritization,
&ett_nr_rrc_RadioBearerConfig,
&ett_nr_rrc_SRB_ToAddModList,
@@ -35049,10 +48917,20 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_T_symbolsInResourceBlock,
&ett_nr_rrc_T_periodicityAndPattern,
&ett_nr_rrc_RateMatchPatternLTE_CRS,
- &ett_nr_rrc_ReportConfigNR,
+ &ett_nr_rrc_ReportConfigInterRAT,
&ett_nr_rrc_T_reportType,
- &ett_nr_rrc_EventTriggerConfig,
+ &ett_nr_rrc_ReportCGI_EUTRA,
+ &ett_nr_rrc_EventTriggerConfigInterRAT,
&ett_nr_rrc_T_eventId,
+ &ett_nr_rrc_T_eventB1,
+ &ett_nr_rrc_T_eventB2,
+ &ett_nr_rrc_PeriodicalReportConfigInterRAT,
+ &ett_nr_rrc_MeasTriggerQuantityEUTRA,
+ &ett_nr_rrc_ReportConfigNR,
+ &ett_nr_rrc_T_reportType_01,
+ &ett_nr_rrc_ReportCGI,
+ &ett_nr_rrc_EventTriggerConfig,
+ &ett_nr_rrc_T_eventId_01,
&ett_nr_rrc_T_eventA1,
&ett_nr_rrc_T_eventA2,
&ett_nr_rrc_T_eventA3,
@@ -35111,8 +48989,19 @@ void proto_register_nr_rrc(void) {
&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_ssb_PositionsInBurst,
&ett_nr_rrc_T_lte_CRS_ToMatchAround,
+ &ett_nr_rrc_ServingCellConfigCommonSIB,
+ &ett_nr_rrc_T_ssb_PositionsInBurst_01,
+ &ett_nr_rrc_SI_SchedulingInfo,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo,
+ &ett_nr_rrc_SchedulingInfo,
+ &ett_nr_rrc_SIB_Mapping,
+ &ett_nr_rrc_SIB_TypeInfo,
+ &ett_nr_rrc_SI_RequestConfig,
+ &ett_nr_rrc_T_rach_OccasionsSI,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources,
+ &ett_nr_rrc_SI_RequestResources,
&ett_nr_rrc_SlotFormatCombinationsPerCell,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination,
&ett_nr_rrc_SlotFormatCombination,
@@ -35120,8 +49009,17 @@ 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_S_NSSAI,
+ &ett_nr_rrc_SpeedStateScaleFactors,
&ett_nr_rrc_SS_RSSI_Measurement,
&ett_nr_rrc_SPS_Config,
+ &ett_nr_rrc_SRS_CarrierSwitching,
+ &ett_nr_rrc_T_srs_TPC_PDCCH_Group,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex,
+ &ett_nr_rrc_SRS_TPC_PDCCH_Config,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex,
+ &ett_nr_rrc_SRS_CC_SetIndex,
&ett_nr_rrc_SRS_Config,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet,
@@ -35131,6 +49029,7 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId,
&ett_nr_rrc_T_resourceType_01,
&ett_nr_rrc_T_aperiodic_01,
+ &ett_nr_rrc_T_aperiodicSRS_ResourceTriggerList_v1530,
&ett_nr_rrc_T_semi_persistent,
&ett_nr_rrc_T_periodic_01,
&ett_nr_rrc_T_pathlossReferenceRS,
@@ -35148,18 +49047,16 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_T_referenceSignal_03,
&ett_nr_rrc_T_srs_01,
&ett_nr_rrc_SRS_PeriodicityAndOffset,
- &ett_nr_rrc_SRS_CarrierSwitching,
- &ett_nr_rrc_T_srs_TPC_PDCCH_Group,
- &ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex,
- &ett_nr_rrc_SRS_TPC_PDCCH_Config,
- &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex,
- &ett_nr_rrc_SRS_CC_SetIndex,
&ett_nr_rrc_SRS_TPC_CommandConfig,
&ett_nr_rrc_SSB_MTC,
&ett_nr_rrc_T_periodicityAndOffset_01,
&ett_nr_rrc_SSB_MTC2,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId,
+ &ett_nr_rrc_SSB_ToMeasure,
+ &ett_nr_rrc_TAG_Config,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG,
+ &ett_nr_rrc_TAG,
&ett_nr_rrc_TCI_State,
&ett_nr_rrc_QCL_Info,
&ett_nr_rrc_T_referenceSignal_04,
@@ -35171,7 +49068,21 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_TDD_UL_DL_SlotConfig,
&ett_nr_rrc_T_symbols,
&ett_nr_rrc_T_explicit,
+ &ett_nr_rrc_UAC_BarringInfoSetList,
+ &ett_nr_rrc_UAC_BarringInfoSet,
+ &ett_nr_rrc_UAC_BarringPerCatList,
+ &ett_nr_rrc_UAC_BarringPerCat,
+ &ett_nr_rrc_UAC_BarringPerPLMN_List,
+ &ett_nr_rrc_UAC_BarringPerPLMN,
+ &ett_nr_rrc_T_uac_ACBarringListType,
+ &ett_nr_rrc_SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex,
+ &ett_nr_rrc_UE_TimersAndConstants,
&ett_nr_rrc_UplinkConfigCommon,
+ &ett_nr_rrc_UplinkConfigCommonSIB,
+ &ett_nr_rrc_UplinkTxDirectCurrentList,
+ &ett_nr_rrc_UplinkTxDirectCurrentCell,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP,
+ &ett_nr_rrc_UplinkTxDirectCurrentBWP,
&ett_nr_rrc_ZP_CSI_RS_Resource,
&ett_nr_rrc_ZP_CSI_RS_ResourceSet,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId,
@@ -35181,8 +49092,8 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_BandParameters,
&ett_nr_rrc_T_eutra,
&ett_nr_rrc_T_nr,
- &ett_nr_rrc_CA_ParametersNR,
&ett_nr_rrc_CA_ParametersEUTRA,
+ &ett_nr_rrc_CA_ParametersNR,
&ett_nr_rrc_FeatureSetCombination,
&ett_nr_rrc_FeatureSetsPerBand,
&ett_nr_rrc_FeatureSet,
@@ -35202,49 +49113,37 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_TypeII_Codebook,
&ett_nr_rrc_TypeII_CodebookPortSelection,
&ett_nr_rrc_FeatureSetDownlinkPerCC,
+ &ett_nr_rrc_FeatureSets,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC,
&ett_nr_rrc_FeatureSetUplink,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id,
&ett_nr_rrc_T_pusch_DifferentTB_PerSlot,
&ett_nr_rrc_CSI_ReportFramework,
&ett_nr_rrc_FeatureSetUplinkPerCC,
&ett_nr_rrc_T_mimo_CB_PUSCH,
- &ett_nr_rrc_FeatureSets,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC,
&ett_nr_rrc_FreqBandList,
&ett_nr_rrc_FreqBandInformation,
&ett_nr_rrc_FreqBandInformationEUTRA,
&ett_nr_rrc_FreqBandInformationNR,
- &ett_nr_rrc_MRDC_Parameters,
- &ett_nr_rrc_SupportedBandwidth,
- &ett_nr_rrc_UE_CapabilityRAT_ContainerList,
- &ett_nr_rrc_UE_CapabilityRAT_Container,
- &ett_nr_rrc_UE_MRDC_Capability,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination,
- &ett_nr_rrc_T_nonCriticalExtension_09,
- &ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode,
- &ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode,
- &ett_nr_rrc_GeneralParametersMRDC_XDD_Diff,
- &ett_nr_rrc_RF_ParametersMRDC,
- &ett_nr_rrc_MeasParametersMRDC,
- &ett_nr_rrc_MeasParametersMRDC_Common,
- &ett_nr_rrc_MeasParametersMRDC_XDD_Diff,
- &ett_nr_rrc_MeasParametersMRDC_FRX_Diff,
- &ett_nr_rrc_UE_NR_Capability,
- &ett_nr_rrc_T_nonCriticalExtension_10,
- &ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode,
- &ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode,
- &ett_nr_rrc_Phy_Parameters,
- &ett_nr_rrc_Phy_ParametersCommon,
- &ett_nr_rrc_Phy_ParametersXDD_Diff,
- &ett_nr_rrc_Phy_ParametersFRX_Diff,
- &ett_nr_rrc_Phy_ParametersFR1,
- &ett_nr_rrc_Phy_ParametersFR2,
- &ett_nr_rrc_RF_Parameters,
- &ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR,
- &ett_nr_rrc_BandNR,
+ &ett_nr_rrc_InterRAT_Parameters,
+ &ett_nr_rrc_EUTRA_Parameters,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA,
+ &ett_nr_rrc_EUTRA_ParametersCommon,
+ &ett_nr_rrc_EUTRA_ParametersXDD_Diff,
+ &ett_nr_rrc_MAC_Parameters,
+ &ett_nr_rrc_MAC_ParametersCommon,
+ &ett_nr_rrc_MAC_ParametersXDD_Diff,
+ &ett_nr_rrc_MeasAndMobParameters,
+ &ett_nr_rrc_MeasAndMobParametersCommon,
+ &ett_nr_rrc_MeasAndMobParametersXDD_Diff,
+ &ett_nr_rrc_MeasAndMobParametersFRX_Diff,
+ &ett_nr_rrc_MeasAndMobParametersMRDC,
+ &ett_nr_rrc_MeasAndMobParametersMRDC_Common,
+ &ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff,
+ &ett_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff,
&ett_nr_rrc_MIMO_ParametersPerBand,
&ett_nr_rrc_T_tci_StatePDSCH,
&ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL,
@@ -35258,35 +49157,111 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_PTRS_DensityRecommendationUL,
&ett_nr_rrc_SRS_Resources,
&ett_nr_rrc_SRS_TxSwitch,
+ &ett_nr_rrc_MRDC_Parameters,
&ett_nr_rrc_PDCP_Parameters,
&ett_nr_rrc_T_supportedROHC_Profiles,
+ &ett_nr_rrc_PDCP_ParametersMRDC,
+ &ett_nr_rrc_Phy_Parameters,
+ &ett_nr_rrc_Phy_ParametersCommon,
+ &ett_nr_rrc_Phy_ParametersXDD_Diff,
+ &ett_nr_rrc_Phy_ParametersFRX_Diff,
+ &ett_nr_rrc_Phy_ParametersFR1,
+ &ett_nr_rrc_Phy_ParametersFR2,
+ &ett_nr_rrc_Phy_ParametersMRDC,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry,
+ &ett_nr_rrc_NAICS_Capability_Entry,
+ &ett_nr_rrc_RF_Parameters,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR,
+ &ett_nr_rrc_BandNR,
+ &ett_nr_rrc_T_channelBWs_DL_v1530,
+ &ett_nr_rrc_T_fr1,
+ &ett_nr_rrc_T_fr2,
+ &ett_nr_rrc_T_channelBWs_UL_v1530,
+ &ett_nr_rrc_T_fr1_01,
+ &ett_nr_rrc_T_fr2_01,
+ &ett_nr_rrc_RF_ParametersMRDC,
&ett_nr_rrc_RLC_Parameters,
- &ett_nr_rrc_MAC_Parameters,
- &ett_nr_rrc_MAC_ParametersCommon,
- &ett_nr_rrc_MAC_ParametersXDD_Diff,
- &ett_nr_rrc_MeasParameters,
- &ett_nr_rrc_MeasParametersCommon,
- &ett_nr_rrc_MeasParametersXDD_Diff,
- &ett_nr_rrc_MeasParametersFRX_Diff,
+ &ett_nr_rrc_SupportedBandwidth,
+ &ett_nr_rrc_UE_CapabilityRAT_ContainerList,
+ &ett_nr_rrc_UE_CapabilityRAT_Container,
+ &ett_nr_rrc_UE_CapabilityRAT_RequestList,
+ &ett_nr_rrc_UE_CapabilityRAT_Request,
+ &ett_nr_rrc_UE_CapabilityRequestFilterNR,
+ &ett_nr_rrc_T_nonCriticalExtension_33,
+ &ett_nr_rrc_UE_MRDC_Capability,
+ &ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination,
+ &ett_nr_rrc_T_nonCriticalExtension_34,
+ &ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode,
+ &ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode,
+ &ett_nr_rrc_GeneralParametersMRDC_XDD_Diff,
+ &ett_nr_rrc_UE_NR_Capability,
+ &ett_nr_rrc_UE_NR_Capability_1530,
+ &ett_nr_rrc_T_nonCriticalExtension_35,
+ &ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode,
+ &ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode_1530,
+ &ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode,
+ &ett_nr_rrc_EUTRA_MBSFN_SubframeConfigList,
+ &ett_nr_rrc_EUTRA_MBSFN_SubframeConfig,
+ &ett_nr_rrc_T_subframeAllocation1,
+ &ett_nr_rrc_T_subframeAllocation2,
+ &ett_nr_rrc_EUTRA_MultiBandInfoList,
+ &ett_nr_rrc_EUTRA_MultiBandInfo,
+ &ett_nr_rrc_EUTRA_NS_PmaxList,
+ &ett_nr_rrc_EUTRA_NS_PmaxValue,
+ &ett_nr_rrc_EUTRA_PhysCellIdRange,
+ &ett_nr_rrc_MultiFrequencyBandListNR_SIB,
+ &ett_nr_rrc_NR_MultiBandInfo,
+ &ett_nr_rrc_NR_NS_PmaxList,
+ &ett_nr_rrc_NR_NS_PmaxValue,
+ &ett_nr_rrc_OtherConfig,
+ &ett_nr_rrc_T_delayBudgetReportingConfig,
+ &ett_nr_rrc_T_setup,
/*--- End of included file: packet-nr-rrc-ettarr.c ---*/
-#line 85 "./asn1/nr-rrc/packet-nr-rrc-template.c"
- &ett_nr_rrc_UECapabilityInformation
+#line 498 "./asn1/nr-rrc/packet-nr-rrc-template.c"
+ &ett_nr_rrc_DedicatedNAS_Message,
+ &ett_rr_rrc_targetRAT_MessageContainer,
+ &ett_nr_rrc_nas_Container,
+ &ett_nr_rrc_serialNumber,
+ &ett_nr_rrc_warningType,
+ &ett_nr_rrc_dataCodingScheme,
+ &ett_nr_rrc_sib7_fragment,
+ &ett_nr_rrc_sib7_fragments,
+ &ett_nr_rrc_sib8_fragment,
+ &ett_nr_rrc_sib8_fragments,
+ &ett_nr_rrc_warningMessageSegment,
+ &ett_nr_rrc_timeInfo,
+ &ett_nr_rrc_capabilityRequestFilter
};
+ static ei_register_info ei[] = {
+ { &ei_nr_rrc_number_pages_le15, { "nr-rrc.number_pages_le15", PI_MALFORMED, PI_ERROR, "Number of pages should be <=15", EXPFILL }},
+ };
+
+ expert_module_t* expert_nr_rrc;
+
/* Register protocol */
proto_nr_rrc = proto_register_protocol(PNAME, PSNAME, PFNAME);
/* Register fields and subtrees */
proto_register_field_array(proto_nr_rrc, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
+ expert_nr_rrc = expert_register_protocol(proto_nr_rrc);
+ expert_register_field_array(expert_nr_rrc, ei, array_length(ei));
/* Register the dissectors defined in nr-rrc.cnf */
/*--- Included file: packet-nr-rrc-dis-reg.c ---*/
#line 1 "./asn1/nr-rrc/packet-nr-rrc-dis-reg.c"
+ register_dissector("nr-rrc.ue_radio_paging_info", dissect_UERadioPagingInformation_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.ue_radio_access_cap_info", dissect_UERadioAccessCapabilityInformation_PDU, proto_nr_rrc);
register_dissector("nr-rrc.bcch.bch", dissect_BCCH_BCH_Message_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.bcch.dl.sch", dissect_BCCH_DL_SCH_Message_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.dl.ccch", dissect_DL_CCCH_Message_PDU, proto_nr_rrc);
register_dissector("nr-rrc.dl.dcch", dissect_DL_DCCH_Message_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.pcch", dissect_PCCH_Message_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.ul.ccch", dissect_UL_CCCH_Message_PDU, proto_nr_rrc);
+ register_dissector("nr-rrc.ul.ccch1", dissect_UL_CCCH1_Message_PDU, proto_nr_rrc);
register_dissector("nr-rrc.ul.dcch", dissect_nr_rrc_UL_DCCH_Message_PDU, proto_nr_rrc);
register_dissector("nr-rrc.rrc_reconf", dissect_nr_rrc_RRCReconfiguration_PDU, proto_nr_rrc);
register_dissector("nr-rrc.ue_mrdc_cap", dissect_nr_rrc_UE_MRDC_Capability_PDU, proto_nr_rrc);
@@ -35294,10 +49269,20 @@ void proto_register_nr_rrc(void) {
/*--- End of included file: packet-nr-rrc-dis-reg.c ---*/
-#line 97 "./asn1/nr-rrc/packet-nr-rrc-template.c"
+#line 530 "./asn1/nr-rrc/packet-nr-rrc-template.c"
+
+ nr_rrc_etws_cmas_dcs_hash = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(),
+ g_direct_hash, g_direct_equal);
+
+ reassembly_table_register(&nr_rrc_sib7_reassembly_table,
+ &addresses_reassembly_table_functions);
+ reassembly_table_register(&nr_rrc_sib8_reassembly_table,
+ &addresses_reassembly_table_functions);
}
void
proto_reg_handoff_nr_rrc(void)
{
+ nas_5gs_handle = find_dissector("nas-5gs");
+ lte_rrc_conn_reconf_handle = find_dissector("lte-rrc.rrc_conn_reconf");
}