diff options
author | Pascal Quantin <pascal@wireshark.org> | 2020-08-17 15:24:23 +0200 |
---|---|---|
committer | Pascal Quantin <pascal@wireshark.org> | 2020-08-17 15:12:48 +0000 |
commit | 1b88c727764b50e6f99b302e085a6ba7aa1df403 (patch) | |
tree | e11447d97188fe0027df79f62ed1bd710e7ce590 | |
parent | 389b81daeb11423f1bcbb7c9201e2c3add7d3596 (diff) |
NR RRC: upgrade dissector to v16.1.0
Change-Id: I961820125dca0f6b72dc84658d3010ca94a563ac
Reviewed-on: https://code.wireshark.org/review/38180
Petri-Dish: Pascal Quantin <pascal@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Pascal Quantin <pascal@wireshark.org>
-rw-r--r-- | epan/dissectors/asn1/lpp/lpp.cnf | 64 | ||||
-rw-r--r-- | epan/dissectors/asn1/lte-rrc/lte-rrc.cnf | 89 | ||||
-rw-r--r-- | epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c | 14 | ||||
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/CMakeLists.txt | 2 | ||||
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn | 125 | ||||
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn | 6274 | ||||
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/NR-Sidelink-Preconf.asn | 69 | ||||
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn | 178 | ||||
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/PC5-RRC-Definitions.asn | 273 | ||||
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/nr-rrc.cnf | 498 | ||||
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c | 163 | ||||
-rw-r--r-- | epan/dissectors/packet-lpp.c | 223 | ||||
-rw-r--r-- | epan/dissectors/packet-lpp.h | 7 | ||||
-rw-r--r-- | epan/dissectors/packet-lte-rrc.c | 369 | ||||
-rw-r--r-- | epan/dissectors/packet-lte-rrc.h | 9 | ||||
-rw-r--r-- | epan/dissectors/packet-nr-rrc.c | 53562 | ||||
-rw-r--r-- | epan/dissectors/packet-nr-rrc.h | 7 |
17 files changed, 58062 insertions, 3864 deletions
diff --git a/epan/dissectors/asn1/lpp/lpp.cnf b/epan/dissectors/asn1/lpp/lpp.cnf index e1e058e2ac..8c411006e3 100644 --- a/epan/dissectors/asn1/lpp/lpp.cnf +++ b/epan/dissectors/asn1/lpp/lpp.cnf @@ -11,49 +11,63 @@ UNALIGNED CarrierFreqOffsetNB-r14 #.EXPORTS +ARFCN-ValueEUTRA +ARFCN-ValueEUTRA-v9a0 +ARFCN-ValueUTRA +CellGlobalIdEUTRA-AndUTRA +CellGlobalIdGERAN +DisplacementTimeStamp-r15_PDU +ECID-SignalMeasurementInformation +Ellipsoid-Point Ellipsoid-Point_PDU -EllipsoidPointWithAltitude_PDU -HorizontalVelocity_PDU +Ellipsoid-PointWithUncertaintyCircle_PDU EllipsoidArc_PDU +EllipsoidPointWithAltitude +EllipsoidPointWithAltitude_PDU +EllipsoidPointWithAltitudeAndUncertaintyEllipsoid EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_PDU -Ellipsoid-PointWithUncertaintyCircle_PDU EllipsoidPointWithUncertaintyEllipse_PDU -Polygon_PDU GNSS-ID +GNSS-ID-Bitmap GNSS-SignalID GNSS-SignalIDs GNSS-SystemTime -SV-ID -ECID-SignalMeasurementInformation -CellGlobalIdGERAN -CellGlobalIdEUTRA-AndUTRA -OTDOA-ReferenceCellInfo -OTDOA-NeighbourCellInfoElement -ARFCN-ValueEUTRA -Ellipsoid-Point -EllipsoidPointWithAltitude -EllipsoidPointWithAltitudeAndUncertaintyEllipsoid +HorizontalVelocity_PDU +HorizontalVelocityWithUncertainty_PDU +HorizontalWithVerticalVelocity_PDU +LocationCoordinates_PDU +LocationError_PDU +LocationSource-r13_PDU NetworkTime -GNSS-ID-Bitmap -ARFCN-ValueUTRA -ARFCN-ValueEUTRA-v9a0 +OTDOA-NeighbourCellInfoElement +OTDOA-ReferenceCellInfo +Polygon_PDU +Sensor-MeasurementInformation-r13_PDU +Sensor-MotionInformation-r15_PDU +SV-ID Velocity -HorizontalWithVerticalVelocity_PDU -HorizontalVelocityWithUncertainty_PDU +Velocity_PDU #.END #.PDU -LPP-Message +DisplacementTimeStamp-r15 Ellipsoid-Point -EllipsoidPointWithAltitude -HorizontalVelocity +Ellipsoid-PointWithUncertaintyCircle EllipsoidArc +EllipsoidPointWithAltitude EllipsoidPointWithAltitudeAndUncertaintyEllipsoid -Ellipsoid-PointWithUncertaintyCircle EllipsoidPointWithUncertaintyEllipse -Polygon -HorizontalWithVerticalVelocity +HorizontalVelocity HorizontalVelocityWithUncertainty +HorizontalWithVerticalVelocity +LocationCoordinates +LocationError +LocationSource-r13 +LPP-Message +Polygon +Sensor-MeasurementInformation-r13 +Sensor-MotionInformation-r15 +Velocity #.END #.MAKE_ENUM diff --git a/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf b/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf index d8e8b53a0b..361b0a27aa 100644 --- a/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf +++ b/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf @@ -12,6 +12,7 @@ PROTO_ROOT_NAME proto_lte_rrc AUL-Config-r15/setup/aul-RetransmissionTimer-r15 BandclassCDMA2000 CarrierFreq-NB-r13/carrierFreqOffset-r13 +CarrierFreqNBIOT-r16/carrierFreqOffset-r16 DelayBudgetReport-r14/type1 DelayBudgetReport-r14/type2 DRX-Config/setup/drx-InactivityTimer @@ -27,6 +28,8 @@ PollByte-r14 PosSIB-Type-r15/posSibType-r15 #PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15 PowerRampingParameters-NB-v1450/powerRampingParametersCE1-r14/preambleInitialReceivedTargetPowerCE1-r14 +PUR-ConfigRequest-NB-r16/pur-SetupRequest/requestedTBS-r16 +PURConfigurationRequest-r16-IEs/pur-ConfigRequest-r16/pur-SetupRequest/requestedTBS-r16 Q-OffsetRange RRM-Config/ue-InactiveTime RRM-Config-NB/ue-InactiveTime @@ -53,11 +56,20 @@ RLF-Report-v9e0_PDU RRCConnectionReconfigurationComplete_PDU SCG-Config-r12_PDU SCG-ConfigInfo-r12_PDU +SidelinkUEInformation-r12_PDU +SL-Parameters-v1430_PDU +SL-Parameters-v1530_PDU +SL-Parameters-v1540_PDU +UEAssistanceInformation-r11_PDU UECapabilityEnquiry_PDU UEPagingCoverageInformation_PDU UEPagingCoverageInformation-NB_PDU UERadioPagingInformation_PDU UE-EUTRA-Capability_PDU +V2X-BandParameters-r14_PDU +V2X-BandParameters-v1530_PDU +V2X-SupportedBandCombination-r14_PDU +V2X-SupportedBandCombination-v1530_PDU VisitedCellInfo-r12_PDU VisitedCellInfoList-r12_PDU #.END @@ -75,6 +87,11 @@ RRCConnectionReconfiguration @rrc_conn_reconf RRCConnectionReconfigurationComplete @rrc_conn_reconf_compl SCG-Config-r12 SCG-ConfigInfo-r12 +SidelinkUEInformation-r12 +SL-Parameters-v1430 +SL-Parameters-v1530 +SL-Parameters-v1540 +UEAssistanceInformation-r11 UECapabilityEnquiry UEPagingCoverageInformation @ue_paging_coverage_info UEPagingCoverageInformation-NB @ue_paging_coverage_info.nb @@ -82,6 +99,10 @@ UERadioAccessCapabilityInformation @ue_radio_access_cap_info UERadioAccessCapabilityInformation-NB @ue_radio_access_cap_info.nb UERadioPagingInformation @ue_radio_paging_info UERadioPagingInformation-NB @ue_radio_paging_info.nb +V2X-BandParameters-r14 +V2X-BandParameters-v1530 +V2X-SupportedBandCombination-r14 +V2X-SupportedBandCombination-v1530 VisitedCellInfo-r12 VisitedCellInfoList-r12 BCCH-BCH-Message @bcch.bch @@ -478,7 +499,7 @@ if(ue_cap_tvb){ #.TYPE_ATTR RF-Parameters-v1570/dl-1024QAM-TotalWeightedLayers-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_dl_1024QAM_TotalWeightedLayers_r15_fmt) - #.TYPE_RENAME +#.TYPE_RENAME IRAT-ParametersWLAN-r13/supportedBandListWLAN-r13 SupportedBandListWLAN_r13 #.TYPE_ATTR @@ -1431,6 +1452,17 @@ MeasResultUTRA/measResult/utra-EcN0 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=< #.TYPE_ATTR MeasResultUTRA/measResult/utra-RSCP DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_utra_RSCP_vals_ext +#.FN_BODY MeasResultCBR-NR-r16/cbr-ResultsNR-r16 VAL_PTR = &cbr_results_nr_tvb + tvbuff_t *cbr_results_nr_tvb = NULL; + +%(DEFAULT_BODY)s + + if (cbr_results_nr_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_cbr_ResultsNR_r16); + dissect_nr_rrc_SL_CBR_r16_PDU(cbr_results_nr_tvb, actx->pinfo, subtree, NULL); + } + #.TYPE_ATTR ReportConfigEUTRA/triggerType/event/eventId/eventA3/a3-Offset DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_a3_a6_c2_Offset_vals_ext @@ -2780,6 +2812,39 @@ P0-SL-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm dissect_nr_rrc_UL_DCCH_Message_PDU(nr_ul_dcch_tvb, actx->pinfo, subtree, NULL); } +#.FN_BODY SL-ParametersNR-r16/sl-ParameterNR-r16 VAL_PTR = &sl_params_nr_tvb + tvbuff_t *sl_params_nr_tvb = NULL; + +%(DEFAULT_BODY)s + + if (sl_params_nr_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sl_ParameterNR_r16); + dissect_nr_rrc_SidelinkParametersNR_r16_PDU(sl_params_nr_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY SL-ParametersNR-r16/v2x-SupportedBandCombinationListNR-r16 VAL_PTR = &v2x_supp_band_comb_list_nr_tvb + tvbuff_t *v2x_supp_band_comb_list_nr_tvb = NULL; + +%(DEFAULT_BODY)s + + if (v2x_supp_band_comb_list_nr_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_v2x_SupportedBandCombinationListNR_r16); + dissect_nr_rrc_SupportedBandCombinationListSidelink_r16_PDU(v2x_supp_band_comb_list_nr_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY V2X-BandCombinationParametersEUTRA-NR-r16/nr/v2x-BandParametersNR-r16 VAL_PTR = &v2x_band_params_nr_tvb + tvbuff_t *v2x_band_params_nr_tvb = NULL; + +%(DEFAULT_BODY)s + + if (v2x_band_params_nr_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_v2x_BandParametersNR_r16); + dissect_nr_rrc_BandParametersSidelink_r16_PDU(v2x_band_params_nr_tvb, actx->pinfo, subtree, NULL); + } + # # EUTRA-InterNodeDefinitions # @@ -2850,6 +2915,28 @@ P0-SL-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm dissect_nr_rrc_BandCombinationInfoSN_PDU(band_comb_info_sn_tvb, actx->pinfo, subtree, NULL); } +#.FN_BODY AS-Context-v1610/sidelinkUEInformationNR-r16 VAL_PTR = &sidelink_ue_info_nr_tvb + tvbuff_t *sidelink_ue_info_nr_tvb = NULL; + +%(DEFAULT_BODY)s + + if (sidelink_ue_info_nr_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sidelinkUEInformationNR_r16); + dissect_nr_rrc_SidelinkUEInformationNR_r16_PDU(sidelink_ue_info_nr_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY AS-Context-v1610/ueAssistanceInformationNR-r16 VAL_PTR = &ue_assist_info_nr_tvb + tvbuff_t *ue_assist_info_nr_tvb = NULL; + +%(DEFAULT_BODY)s + + if (ue_assist_info_nr_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_ueAssistanceInformationNR_r16); + dissect_nr_rrc_UEAssistanceInformation_PDU(ue_assist_info_nr_tvb, actx->pinfo, subtree, NULL); + } + # # EUTRA-Sidelink-Preconf # diff --git a/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c b/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c index 5ef136c44d..54b91db34e 100644 --- a/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c +++ b/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c @@ -316,6 +316,12 @@ static gint ett_lte_rrc_nas_Container_r15 = -1; static gint ett_lte_rrc_sourceRB_ConfigIntra5GC_r15 = -1; static gint ett_lte_rrc_selectedbandCombinationInfoEN_DC_v1540 = -1; static gint ett_lte_rrc_requestedCapabilityCommon_r15 = -1; +static gint ett_lte_rrc_sidelinkUEInformationNR_r16 = -1; +static gint ett_lte_rrc_ueAssistanceInformationNR_r16 = -1; +static gint ett_lte_rrc_cbr_ResultsNR_r16 = -1; +static gint ett_lte_rrc_sl_ParameterNR_r16 = -1; +static gint ett_lte_rrc_v2x_SupportedBandCombinationListNR_r16 = -1; +static gint ett_lte_rrc_v2x_BandParametersNR_r16 = -1; static expert_field ei_lte_rrc_number_pages_le15 = EI_INIT; static expert_field ei_lte_rrc_si_info_value_changed = EI_INIT; @@ -4371,7 +4377,13 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_nas_Container_r15, &ett_lte_rrc_sourceRB_ConfigIntra5GC_r15, &ett_lte_rrc_selectedbandCombinationInfoEN_DC_v1540, - &ett_lte_rrc_requestedCapabilityCommon_r15 + &ett_lte_rrc_requestedCapabilityCommon_r15, + &ett_lte_rrc_sidelinkUEInformationNR_r16, + &ett_lte_rrc_ueAssistanceInformationNR_r16, + &ett_lte_rrc_cbr_ResultsNR_r16, + &ett_lte_rrc_sl_ParameterNR_r16, + &ett_lte_rrc_v2x_SupportedBandCombinationListNR_r16, + &ett_lte_rrc_v2x_BandParametersNR_r16 }; static ei_register_info ei[] = { diff --git a/epan/dissectors/asn1/nr-rrc/CMakeLists.txt b/epan/dissectors/asn1/nr-rrc/CMakeLists.txt index 1bdcb21070..9cbfc9fec8 100644 --- a/epan/dissectors/asn1/nr-rrc/CMakeLists.txt +++ b/epan/dissectors/asn1/nr-rrc/CMakeLists.txt @@ -21,7 +21,9 @@ set( EXT_ASN_FILE_LIST set( ASN_FILE_LIST NR-InterNodeDefinitions.asn NR-RRC-Definitions.asn + NR-Sidelink-Preconf.asn NR-UE-Variables.asn + PC5-RRC-Definitions.asn ) set( EXTRA_DIST diff --git a/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn b/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn index 7d35b4d95f..6326316c47 100644 --- a/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn +++ b/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn @@ -1,4 +1,4 @@ --- 3GPP TS 38.331 V15.9.0 (2020-03) +-- 3GPP TS 38.331 V16.1.0 (2020-07) NR-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::= @@ -11,6 +11,7 @@ IMPORTS CGI-InfoEUTRA, CGI-InfoNR, CSI-RS-Index, + CSI-RS-CellMobility, DRX-Config, EUTRA-PhysCellId, FreqBandIndicatorNR, @@ -33,6 +34,8 @@ IMPORTS MeasResultList2NR, MeasResultSCG-Failure, MeasResultServFreqListEUTRA-SCG, + NeedForGapsInfoNR-r16, + OverheatingAssistance, P-Max, PhysCellId, RadioBearerConfig, @@ -47,7 +50,12 @@ IMPORTS ShortMAC-I, SubcarrierSpacing, UEAssistanceInformation, - UE-CapabilityRAT-ContainerList + UE-CapabilityRAT-ContainerList, + maxNrofCLI-RSSI-Resources-r16, + maxNrofCLI-SRS-Resources-r16, + RSSI-ResourceId-r16, + SidelinkUEInformationNR-r16, + SRS-ResourceId FROM NR-RRC-Definitions; -- TAG-NR-INTER-NODE-DEFINITIONS-STOP @@ -113,16 +121,32 @@ AS-Context ::= SEQUENCE { ]], [[ selectedBandCombinationSN BandCombinationInfoSN OPTIONAL + ]], + [[ + configRestrictInfoDAPS-r16 ConfigRestrictInfoDAPS-r16 OPTIONAL, + sidelinkUEInformationNR-r16 OCTET STRING OPTIONAL, + sidelinkUEInformationEUTRA-r16 OCTET STRING OPTIONAL, + ueAssistanceInformationEUTRA-r16 OCTET STRING OPTIONAL, + ueAssistanceInformationSCG-r16 OCTET STRING (CONTAINING UEAssistanceInformation) OPTIONAL, -- Cond HO2 + needForGapsInfoNR-r16 NeedForGapsInfoNR-r16 OPTIONAL ]] } +ConfigRestrictInfoDAPS-r16 ::= SEQUENCE { + powerCoordination-r16 SEQUENCE { + p-DAPS-Source-r16 P-Max, + p-DAPS-Target-r16 P-Max, + uplinkPowerSharingDAPS-Mode-r16 ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic } + } OPTIONAL +} + ReestablishmentInfo ::= SEQUENCE { sourcePhysCellId PhysCellId, targetCellShortMAC-I ShortMAC-I, additionalReestabInfoList ReestabNCellInfoList OPTIONAL } -ReestabNCellInfoList ::= SEQUENCE ( SIZE (1..maxCellPrep) ) OF ReestabNCellInfo +ReestabNCellInfoList ::= SEQUENCE ( SIZE (1..maxCellPrep) ) OF ReestabNCellInfo ReestabNCellInfo::= SEQUENCE{ cellIdentity CellIdentity, @@ -203,9 +227,14 @@ CG-Config-v1560-IEs ::= SEQUENCE { } CG-Config-v1590-IEs ::= SEQUENCE { - scellFrequenciesSN-NR SEQUENCE (SIZE (1.. maxNrofServingCells-1)) OF ARFCN-ValueNR OPTIONAL, - scellFrequenciesSN-EUTRA SEQUENCE (SIZE (1.. maxNrofServingCells-1)) OF ARFCN-ValueEUTRA OPTIONAL, - nonCriticalExtension SEQUENCE {} OPTIONAL + scellFrequenciesSN-NR SEQUENCE (SIZE (1.. maxNrofServingCells-1)) OF ARFCN-ValueNR OPTIONAL, + scellFrequenciesSN-EUTRA SEQUENCE (SIZE (1.. maxNrofServingCells-1)) OF ARFCN-ValueEUTRA OPTIONAL, + nonCriticalExtension CG-Config-v1610-IEs OPTIONAL +} + +CG-Config-v1610-IEs ::= SEQUENCE { + drx-InfoSCG2 DRX-Info2 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL } PH-TypeListSCG ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF PH-InfoSCG @@ -239,6 +268,11 @@ ConfigRestrictModReqSCG ::= SEQUENCE { [[ requestedPDCCH-BlindDetectionSCG INTEGER (1..15) OPTIONAL, requestedP-MaxEUTRA P-Max OPTIONAL + ]], + [[ + requestedP-MaxFR2-r16 P-Max OPTIONAL, + requestedMaxInterFreqMeasIdSCG-r16 INTEGER(1..maxMeasIdentitiesMN) OPTIONAL, + requestedMaxIntraFreqMeasIdSCG-r16 INTEGER(1..maxMeasIdentitiesMN) OPTIONAL ]] } @@ -312,7 +346,7 @@ CG-ConfigInfo-v1560-IEs ::= SEQUENCE { scgFailureInfoEUTRA SEQUENCE { failureTypeEUTRA ENUMERATED { t313-Expiry, randomAccessProblem, rlc-MaxNumRetx, scg-ChangeFailure}, - measResultSCG-EUTRA OCTET STRING + measResultSCG-EUTRA OCTET STRING } OPTIONAL, drx-ConfigMCG DRX-Config OPTIONAL, measResultReportCGI-EUTRA SEQUENCE { @@ -332,10 +366,29 @@ CG-ConfigInfo-v1570-IEs ::= SEQUENCE { } CG-ConfigInfo-v1590-IEs ::= SEQUENCE { - servFrequenciesMN-NR SEQUENCE (SIZE (1.. maxNrofServingCells-1)) OF ARFCN-ValueNR OPTIONAL, - nonCriticalExtension SEQUENCE {} OPTIONAL + servFrequenciesMN-NR SEQUENCE (SIZE (1.. maxNrofServingCells-1)) OF ARFCN-ValueNR OPTIONAL, + nonCriticalExtension CG-ConfigInfo-v1610-IEs OPTIONAL +} + +CG-ConfigInfo-v1610-IEs ::= SEQUENCE { + drx-InfoMCG2 DRX-Info2 OPTIONAL, + alignedDRX-Indication ENUMERATED {true} OPTIONAL, + scgFailureInfo-r16 SEQUENCE { + failureType-r16 ENUMERATED { scg-lbtFailure-r16, beamFailureRecoveryFailure-r16, + t312-Expiry-r16, bh-RLF-r16, + spare4, spare3, spare2, spare1}, + measResultSCG-r16 OCTET STRING (CONTAINING MeasResultSCG-Failure) + } OPTIONAL, + scgFailureInfoEUTRA-r16 SEQUENCE { + failureTypeEUTRA-r16 ENUMERATED { scg-lbtFailure-r16, beamFailureRecoveryFailure-r16, + t312-Expiry-r16, bh-RLF-r16, + spare4, spare3, spare2, spare1}, + measResultSCG-EUTRA-r16 OCTET STRING + } OPTIONAL, + sidelinkUEInformationNR-r16 OCTET STRING (CONTAINING SidelinkUEInformationNR-r16) OPTIONAL, + sidelinkUEInformationEUTRA-r16 OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL } - SFTD-FrequencyList-NR ::= SEQUENCE (SIZE (1..maxCellSFTD)) OF ARFCN-ValueNR SFTD-FrequencyList-EUTRA ::= SEQUENCE (SIZE (1..maxCellSFTD)) OF ARFCN-ValueEUTRA @@ -362,12 +415,26 @@ ConfigRestrictInfoSCG ::= SEQUENCE { [[ maxIntraFreqMeasIdentitiesSCG INTEGER(1..maxMeasIdentitiesMN) OPTIONAL, maxInterFreqMeasIdentitiesSCG INTEGER(1..maxMeasIdentitiesMN) OPTIONAL + ]], + [[ + p-maxNR-FR1-MCG-r16 P-Max OPTIONAL, + powerCoordination-FR2-r16 SEQUENCE { + p-maxNR-FR2-MCG-r16 P-Max OPTIONAL, + p-maxNR-FR2-SCG-r16 P-Max OPTIONAL, + p-maxUE-FR2-r16 P-Max OPTIONAL + } OPTIONAL, + nrdc-PC-mode-FR1-r16 ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic} OPTIONAL, + nrdc-PC-mode-FR2-r16 ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic} OPTIONAL, + maxMeasSRS-ResourceSCG-r16 INTEGER(0..maxNrofCLI-SRS-Resources-r16) OPTIONAL, + maxMeasCLI-ResourceSCG-r16 INTEGER(0..maxNrofCLI-RSSI-Resources-r16) OPTIONAL, + maxNumberEHC-ContextsSN-r16 INTEGER(0..65536) OPTIONAL, + allowedReducedConfigForOverheating-r16 OverheatingAssistance OPTIONAL ]] } SelectedBandEntriesMN ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandEntryIndex -BandEntryIndex ::= INTEGER (0.. maxNrofServingCells) +BandEntryIndex ::= INTEGER (0.. maxNrofServingCells) PH-TypeListMCG ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF PH-InfoMCG @@ -424,28 +491,41 @@ DRX-Info ::= SEQUENCE { } OPTIONAL } +DRX-Info2 ::= 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 } + } +} + MeasConfigMN ::= SEQUENCE { measuredFrequenciesMN SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF NR-FreqInfo OPTIONAL, - measGapConfig CHOICE { release NULL, setup GapConfig } OPTIONAL, + measGapConfig CHOICE {release NULL, setup GapConfig } OPTIONAL, gapPurpose ENUMERATED {perUE, perFR1} OPTIONAL, ..., - [[ measGapConfigFR2 CHOICE { release NULL, setup GapConfig } OPTIONAL + [[ measGapConfigFR2 CHOICE {release NULL, setup GapConfig } OPTIONAL ]] } MRDC-AssistanceInfo ::= SEQUENCE { affectedCarrierFreqCombInfoListMRDC SEQUENCE (SIZE (1..maxNrofCombIDC)) OF AffectedCarrierFreqCombInfoMRDC, - ... + ..., + [[ + overheatingAssistanceSCG-r16 OCTET STRING (CONTAINING OverheatingAssistance) OPTIONAL + ]] } AffectedCarrierFreqCombInfoMRDC ::= SEQUENCE { victimSystemType VictimSystemType, interferenceDirectionMRDC ENUMERATED {eutra-nr, nr, other, utra-nr-other, nr-other, spare3, spare2, spare1}, affectedCarrierFreqCombMRDC SEQUENCE { - affectedCarrierFreqCombEUTRA AffectedCarrierFreqCombEUTRA OPTIONAL, + affectedCarrierFreqCombEUTRA AffectedCarrierFreqCombEUTRA OPTIONAL, affectedCarrierFreqCombNR AffectedCarrierFreqCombNR - } OPTIONAL + } OPTIONAL } VictimSystemType ::= SEQUENCE { @@ -482,7 +562,16 @@ MeasurementTimingConfiguration-IEs ::= SEQUENCE { MeasurementTimingConfiguration-v1550-IEs ::= SEQUENCE { campOnFirstSSB BOOLEAN, psCellOnlyOnFirstSSB BOOLEAN, - nonCriticalExtension SEQUENCE {} OPTIONAL + nonCriticalExtension MeasurementTimingConfiguration-v1610-IEs OPTIONAL +} + +MeasurementTimingConfiguration-v1610-IEs ::= SEQUENCE { + csi-RS-Config-r16 SEQUENCE { + csi-RS-SubcarrierSpacing-r16 SubcarrierSpacing, + csi-RS-CellMobility-r16 CSI-RS-CellMobility, + refSSBFreq-r16 ARFCN-ValueNR + }, + nonCriticalExtension SEQUENCE {} OPTIONAL } MeasTimingList ::= SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF MeasTiming @@ -495,7 +584,7 @@ MeasTiming ::= SEQUENCE { ss-RSSI-Measurement SS-RSSI-Measurement OPTIONAL } OPTIONAL, ..., - [[ + [[ ssb-ToMeasure SSB-ToMeasure OPTIONAL, physCellId PhysCellId OPTIONAL ]] diff --git a/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn b/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn index 76b587bead..9102b74f4b 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.9.0 (2020-03) +-- 3GPP TS 38.331 V16.1.0 (2020-07) NR-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::= @@ -51,24 +51,26 @@ DL-CCCH-MessageType ::= CHOICE { -- TAG-DL-CCCH-MESSAGE-STOP -- TAG-DL-DCCH-MESSAGE-START -DL-DCCH-Message ::= SEQUENCE { - message DL-DCCH-MessageType -} - -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 +DL-DCCH-Message ::= SEQUENCE { + message DL-DCCH-MessageType +} + +DL-DCCH-MessageType ::= CHOICE { + c1 CHOICE { + rrcReconfiguration RRCReconfiguration, + rrcResume RRCResume, + rrcRelease RRCRelease, + rrcReestablishment RRCReestablishment, + securityModeCommand SecurityModeCommand, + dlInformationTransfer DLInformationTransfer, + ueCapabilityEnquiry UECapabilityEnquiry, + counterCheck CounterCheck, + mobilityFromNRCommand MobilityFromNRCommand, + dlDedicatedMessageSegment-r16 DLDedicatedMessageSegment-r16, + ueInformationRequest-r16 UEInformationRequest-r16, + dlInformationTransferMRDC-r16 DLInformationTransferMRDC-r16, + loggedMeasurementConfiguration-r16 LoggedMeasurementConfiguration-r16, + spare3 NULL, spare2 NULL, spare1 NULL }, messageClassExtension SEQUENCE {} } @@ -146,12 +148,25 @@ UL-DCCH-MessageType ::= CHOICE { ueCapabilityInformation UECapabilityInformation, counterCheckResponse CounterCheckResponse, ueAssistanceInformation UEAssistanceInformation, - failureInformation FailureInformation, + failureInformation FailureInformation, ulInformationTransferMRDC ULInformationTransferMRDC, scgFailureInformation SCGFailureInformation, scgFailureInformationEUTRA SCGFailureInformationEUTRA }, - messageClassExtension SEQUENCE {} + messageClassExtension CHOICE { + c2 CHOICE { + ulDedicatedMessageSegment-r16 ULDedicatedMessageSegment-r16, + dedicatedSIBRequest-r16 DedicatedSIBRequest-r16, + mcgFailureInformation-r16 MCGFailureInformation-r16, + ueInformationResponse-r16 UEInformationResponse-r16, + sidelinkUEInformationNR-r16 SidelinkUEInformationNR-r16, + ulInformationTransferIRAT-r16 ULInformationTransferIRAT-r16, + iabOtherInformation-r16 IABOtherInformation-r16, + spare9 NULL, spare8 NULL, spare7 NULL, spare6 NULL, + spare5 NULL, spare4 NULL, spare3 NULL, spare2 NULL, spare1 NULL + }, + messageClassExtensionFuture-r16 SEQUENCE {} + } } -- TAG-UL-DCCH-MESSAGE-STOP @@ -207,6 +222,59 @@ DRB-CountInfo ::= SEQUENCE { } -- TAG-COUNTERCHECKRESPONSE-STOP +-- TAG-DEDICATEDSIBREQUEST-START + +DedicatedSIBRequest-r16 ::= SEQUENCE { + criticalExtensions CHOICE { + dedicatedSIBRequest-r16 DedicatedSIBRequest-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +DedicatedSIBRequest-r16-IEs ::= SEQUENCE { + onDemandSIB-RequestList-r16 SEQUENCE { + + requestedSIB-List-r16 SEQUENCE (SIZE (1..maxOnDemandSIB-r16)) OF SIB-ReqInfo-r16 OPTIONAL, + requestedPosSIB-List-r16 SEQUENCE (SIZE (1..maxOnDemandPosSIB-r16)) OF PosSIB-ReqInfo-r16 OPTIONAL + } OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +SIB-ReqInfo-r16 ::= ENUMERATED { sib12, sib13, sib14, spare5, spare4, spare3, spare2, spare1 } + +PosSIB-ReqInfo-r16 ::= SEQUENCE { + gnss-id-r16 GNSS-ID-r16 OPTIONAL, + sbas-id-r16 SBAS-ID-r16 OPTIONAL, + posSibType-r16 ENUMERATED { posSibType1-1, posSibType1-2, posSibType1-3, posSibType1-4, posSibType1-5, posSibType1-6, + posSibType1-7, posSibType1-8, posSibType2-1, posSibType2-2, posSibType2-3, posSibType2-4, + posSibType2-5, posSibType2-6, posSibType2-7, posSibType2-8, posSibType2-9, posSibType2-10, + posSibType2-11, posSibType2-12, posSibType2-13, posSibType2-14, posSibType2-15, + posSibType2-16, posSibType2-17, posSibType2-18, posSibType2-19, posSibType2-20, + posSibType2-21, posSibType2-22, posSibType2-23, posSibType3-1, posSibType4-1, + posSibType5-1, posSibType6-1, posSibType6-2, posSibType6-3,... } +} + +-- TAG-DEDICATEDSIBREQUEST-STOP +-- TAG-DLDEDICATEDMESSAGESEGMENT-START + + +DLDedicatedMessageSegment-r16 ::= SEQUENCE { + criticalExtensions CHOICE { + dlDedicatedMessageSegment-r16 DLDedicatedMessageSegment-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +DLDedicatedMessageSegment-r16-IEs ::= SEQUENCE { + segmentNumber-r16 INTEGER(0..4), + rrc-MessageSegmentContainer-r16 OCTET STRING, + rrc-MessageSegmentType-r16 ENUMERATED {notLastSegment, lastSegment}, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- TAG-DLDEDICATEDMESSAGESEGMENT-STOP -- TAG-DLINFORMATIONTRANSFER-START DLInformationTransfer ::= SEQUENCE { @@ -217,13 +285,38 @@ DLInformationTransfer ::= SEQUENCE { } } -DLInformationTransfer-IEs ::= SEQUENCE { +DLInformationTransfer-IEs ::= SEQUENCE { dedicatedNAS-Message DedicatedNAS-Message OPTIONAL, -- Need N lateNonCriticalExtension OCTET STRING OPTIONAL, - nonCriticalExtension SEQUENCE {} OPTIONAL + nonCriticalExtension DLInformationTransfer-v1610-IEs OPTIONAL +} + +DLInformationTransfer-v1610-IEs ::= SEQUENCE { + referenceTimeInfo-r16 ReferenceTimeInfo-r16 OPTIONAL, -- Need R + nonCriticalExtension SEQUENCE {} OPTIONAL } -- TAG-DLINFORMATIONTRANSFER-STOP +-- TAG-DLINFORMATIONTRANSFERMRDC-START + +DLInformationTransferMRDC-r16 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + dlInformationTransferMRDC-r16 DLInformationTransferMRDC-r16-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +DLInformationTransferMRDC-r16-IEs::= SEQUENCE { + dl-DCCH-MessageNR-r16 OCTET STRING OPTIONAL, -- Need N + dl-DCCH-MessageEUTRA-r16 OCTET STRING OPTIONAL, -- Need N + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- TAG-DLINFORMATIONTRANSFERMRDC-STOP -- TAG-FAILUREINFORMATION-START FailureInformation ::= SEQUENCE { @@ -234,9 +327,9 @@ FailureInformation ::= SEQUENCE { } FailureInformation-IEs ::= SEQUENCE { - failureInfoRLC-Bearer FailureInfoRLC-Bearer OPTIONAL, - lateNonCriticalExtension OCTET STRING OPTIONAL, - nonCriticalExtension SEQUENCE {} OPTIONAL + failureInfoRLC-Bearer FailureInfoRLC-Bearer OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension FailureInformation-v1610-IEs OPTIONAL } FailureInfoRLC-Bearer ::= SEQUENCE { @@ -245,11 +338,85 @@ FailureInfoRLC-Bearer ::= SEQUENCE { failureType ENUMERATED {rlc-failure, spare3, spare2, spare1} } +FailureInformation-v1610-IEs ::= SEQUENCE { + failureInfoDAPS-r16 FailureInfoDAPS-r16 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +FailureInfoDAPS-r16 ::= SEQUENCE { + failureType-r16 ENUMERATED {daps-failure, spare3, spare2, spare1} +} + -- TAG-FAILUREINFORMATION-STOP +-- TAG-IABOTHERINFORMATION-START + +IABOtherInformation-r16 ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + iabOtherInformation-r16 IABOtherInformation-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +IABOtherInformation-r16-IEs ::= SEQUENCE { + ip-InfoType CHOICE { + iab-IP-Request-r16 SEQUENCE { + iab-IPv4-AddressNumReq-r16 IAB-IPAddressNumReq-r16 OPTIONAL, + iab-IPv6-AddressReq-r16 CHOICE { + iab-IPv6-AddressNumReq-r16 IAB-IPAddressNumReq-r16, + iab-IPv6-AddressPrefixReq-r16 IAB-IPAddressPrefixReq-r16, + ... + } OPTIONAL + }, + iab-IP-Report-r16 SEQUENCE { + iab-IPv4-AddressReport-r16 IAB-IP-AddressAndTraffic-r16 OPTIONAL, + iab-IPv6-Report-r16 CHOICE { + iab-IPv6-AddressReport-r16 IAB-IP-AddressAndTraffic-r16, + iab-IPv6-PrefixReport-r16 IAB-IP-PrefixAndTraffic-r16, + ... + } OPTIONAL + }, + ... + }, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +IAB-IPAddressNumReq-r16 ::= SEQUENCE { + all-Traffic-NumReq-r16 INTEGER (1..8) OPTIONAL, + f1-C-Traffic-NumReq-r16 INTEGER (1..8) OPTIONAL, + f1-U-Traffic-NumReq-r16 INTEGER (1..8) OPTIONAL, + non-F1-Traffic-NumReq-r16 INTEGER (1..8) OPTIONAL, + ... +} + +IAB-IPAddressPrefixReq-r16 ::= SEQUENCE { + all-Traffic-PrefixReq-r16 ENUMERATED {true} OPTIONAL, + f1-C-Traffic-PrefixReq-r16 ENUMERATED {true} OPTIONAL, + f1-U-Traffic-PrefixReq-r16 ENUMERATED {true} OPTIONAL, + non-F1-Traffic-PrefixReq-r16 ENUMERATED {true} OPTIONAL, + ... +} + +IAB-IP-AddressAndTraffic-r16 ::= SEQUENCE { + all-Traffic-IAB-IP-Address-r16 SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16 OPTIONAL, + f1-C-Traffic-IP-Address-r16 SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16 OPTIONAL, + f1-U-Traffic-IP-Address-r16 SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16 OPTIONAL, + non-F1-Traffic-IP-Address-r16 SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16 OPTIONAL +} + +IAB-IP-PrefixAndTraffic-r16 ::= SEQUENCE { + all-Traffic-IAB-IP-Address-r16 IAB-IP-Address-r16 OPTIONAL, + f1-C-Traffic-IP-Address-r16 IAB-IP-Address-r16 OPTIONAL, + f1-U-Traffic-IP-Address-r16 IAB-IP-Address-r16 OPTIONAL, + non-F1-Traffic-IP-Address-r16 IAB-IP-Address-r16 OPTIONAL +} + +-- TAG-IABOTHERINFORMATION-STOP -- TAG-LOCATIONMEASUREMENTINDICATION-START -LocationMeasurementIndication ::= SEQUENCE { - criticalExtensions CHOICE { +LocationMeasurementIndication ::= SEQUENCE { + criticalExtensions CHOICE { locationMeasurementIndication LocationMeasurementIndication-IEs, criticalExtensionsFuture SEQUENCE {} } @@ -262,6 +429,94 @@ LocationMeasurementIndication-IEs ::= SEQUENCE { } -- TAG-LOCATIONMEASUREMENTINDICATION-STOP +-- TAG-LOGGEDMEASUREMENTCONFIGURATION-START + +LoggedMeasurementConfiguration-r16 ::= SEQUENCE { + criticalExtensions CHOICE { + loggedMeasurementConfiguration-r16 LoggedMeasurementConfiguration-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +LoggedMeasurementConfiguration-r16-IEs ::= SEQUENCE { + traceReference-r16 TraceReference-r16, + traceRecordingSessionRef-r16 OCTET STRING (SIZE (2)), + tce-Id-r16 OCTET STRING (SIZE (1)), + absoluteTimeInfo-r16 AbsoluteTimeInfo-r16, + areaConfiguration-r16 AreaConfiguration-r16 OPTIONAL, --Need R + plmn-IdentityList-r16 PLMN-IdentityList2-r16 OPTIONAL, --Need R + bt-NameList-r16 CHOICE {release NULL, setup BT-NameList-r16} OPTIONAL, --Need M + wlan-NameList-r16 CHOICE {release NULL, setup WLAN-NameList-r16} OPTIONAL, --Need M + sensor-NameList-r16 CHOICE {release NULL, setup Sensor-NameList-r16} OPTIONAL, --Need M + loggingDuration-r16 LoggingDuration-r16, + reportType CHOICE { + periodical LoggedPeriodicalReportConfig-r16, + eventTriggered LoggedEventTriggerConfig-r16, + ... + }, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +LoggedPeriodicalReportConfig-r16 ::= SEQUENCE { + loggingInterval-r16 LoggingInterval-r16, + ... + } + +LoggedEventTriggerConfig-r16 ::= SEQUENCE { + eventType-r16 EventType-r16, + loggingInterval-r16 LoggingInterval-r16, + ... +} + +EventType-r16 ::= CHOICE { + outOfCoverage NULL, + eventL1 SEQUENCE { + l1-Threshold MeasTriggerQuantity, + hysteresis Hysteresis, + timeToTrigger TimeToTrigger + }, + ... +} + +-- TAG-LOGGEDMEASUREMENTCONFIGURATION-STOP +-- TAG-MCGFAILUREINFORMATION-START + +MCGFailureInformation-r16 ::= SEQUENCE { + criticalExtensions CHOICE { + mcgFailureInformation-r16 MCGFailureInformation-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +MCGFailureInformation-r16-IEs ::= SEQUENCE { + failureReportMCG-r16 FailureReportMCG-r16 OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +FailureReportMCG-r16 ::= SEQUENCE { + failureType-r16 ENUMERATED {t310-Expiry, randomAccessProblem, rlc-MaxNumRetx, + t312-Expiry-r16, lbt-Failure-r16, beamFailureRecoveryFailure-r16, + bh-RLF-r16, spare1} OPTIONAL, + measResultFreqList-r16 MeasResultList2NR OPTIONAL, + measResultFreqListEUTRA-r16 MeasResultList2EUTRA OPTIONAL, + measResultSCG-r16 OCTET STRING (CONTAINING MeasResultSCG-Failure) OPTIONAL, + measResultSCG-EUTRA-r16 OCTET STRING OPTIONAL, + measResultFreqListUTRA-FDD-r16 MeasResultList2UTRA OPTIONAL, + ... +} + +MeasResultList2UTRA ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2UTRA-FDD-r16 + +MeasResult2UTRA-FDD-r16 ::= SEQUENCE { + carrierFreq-r16 ARFCN-ValueUTRA-FDD-r16, + measResultNeighCellList-r16 MeasResultListUTRA-FDD-r16 +} + +MeasResultList2EUTRA ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2EUTRA-r16 + +-- TAG-MCGFAILUREINFORMATION-STOP -- TAG-MEASUREMENTREPORT-START MeasurementReport ::= SEQUENCE { @@ -295,29 +550,34 @@ MIB ::= SEQUENCE { -- TAG-MIB-STOP -- TAG-MOBILITYFROMNRCOMMAND-START -MobilityFromNRCommand ::= SEQUENCE { +MobilityFromNRCommand ::= SEQUENCE { rrc-TransactionIdentifier RRC-TransactionIdentifier, criticalExtensions CHOICE { - mobilityFromNRCommand MobilityFromNRCommand-IEs, - criticalExtensionsFuture SEQUENCE {} + 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 +MobilityFromNRCommand-IEs ::= SEQUENCE { + targetRAT-Type ENUMERATED { eutra, utra-fdd-v1610, spare2, spare1, ...}, + targetRAT-MessageContainer OCTET STRING, + nas-SecurityParamFromNR OCTET STRING OPTIONAL, -- Cond HO-ToEPCUTRAN + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension MobilityFromNRCommand-v1610-IEs OPTIONAL +} + +MobilityFromNRCommand-v1610-IEs ::= SEQUENCE { + voiceFallbackIndication-r16 ENUMERATED {true} OPTIONAL, -- Need N + nonCriticalExtension SEQUENCE {} OPTIONAL } -- TAG-MOBILITYFROMNRCOMMAND-STOP -- TAG-PAGING-START Paging ::= SEQUENCE { - pagingRecordList PagingRecordList OPTIONAL, -- Need N - lateNonCriticalExtension OCTET STRING OPTIONAL, - nonCriticalExtension SEQUENCE{} OPTIONAL + pagingRecordList PagingRecordList OPTIONAL, -- Need N + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL } PagingRecordList ::= SEQUENCE (SIZE(1..maxNrofPageRec)) OF PagingRecord @@ -354,17 +614,22 @@ RRCReestablishment-IEs ::= SEQUENCE { -- TAG-RRCREESTABLISHMENT-STOP -- TAG-RRCREESTABLISHMENTCOMPLETE-START -RRCReestablishmentComplete ::= SEQUENCE { - rrc-TransactionIdentifier RRC-TransactionIdentifier, - criticalExtensions CHOICE { - rrcReestablishmentComplete RRCReestablishmentComplete-IEs, - criticalExtensionsFuture SEQUENCE {} +RRCReestablishmentComplete ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcReestablishmentComplete RRCReestablishmentComplete-IEs, + criticalExtensionsFuture SEQUENCE {} } } -RRCReestablishmentComplete-IEs ::= SEQUENCE { - lateNonCriticalExtension OCTET STRING OPTIONAL, - nonCriticalExtension SEQUENCE {} OPTIONAL +RRCReestablishmentComplete-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCReestablishmentComplete-v1610-IEs OPTIONAL +} + +RRCReestablishmentComplete-v1610-IEs ::= SEQUENCE { + ueMeasurementsAvailable-r16 UEMeasurementsAvailable-r16 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL } -- TAG-RRCREESTABLISHMENTCOMPLETE-STOP @@ -392,17 +657,17 @@ ReestablishmentCause ::= ENUMERATED {reconfigurationFailure, handover -- TAG-RRCREESTABLISHMENTREQUEST-STOP -- TAG-RRCRECONFIGURATION-START -RRCReconfiguration ::= SEQUENCE { - rrc-TransactionIdentifier RRC-TransactionIdentifier, - criticalExtensions CHOICE { - rrcReconfiguration RRCReconfiguration-IEs, - criticalExtensionsFuture SEQUENCE {} +RRCReconfiguration ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcReconfiguration RRCReconfiguration-IEs, + criticalExtensionsFuture SEQUENCE {} } } -RRCReconfiguration-IEs ::= SEQUENCE { +RRCReconfiguration-IEs ::= SEQUENCE { radioBearerConfig RadioBearerConfig OPTIONAL, -- Need M - secondaryCellGroup OCTET STRING (CONTAINING CellGroupConfig) OPTIONAL, -- Need M + secondaryCellGroup OCTET STRING (CONTAINING CellGroupConfig) OPTIONAL, -- Cond SCG measConfig MeasConfig OPTIONAL, -- Need M lateNonCriticalExtension OCTET STRING OPTIONAL, nonCriticalExtension RRCReconfiguration-v1530-IEs OPTIONAL @@ -420,25 +685,47 @@ RRCReconfiguration-v1530-IEs ::= SEQUENCE { } RRCReconfiguration-v1540-IEs ::= SEQUENCE { - otherConfig-v1540 OtherConfig-v1540 OPTIONAL, -- Need M - nonCriticalExtension RRCReconfiguration-v1560-IEs OPTIONAL -} - -RRCReconfiguration-v1560-IEs ::= SEQUENCE { - mrdc-SecondaryCellGroupConfig CHOICE {release NULL, setup MRDC-SecondaryCellGroupConfig } OPTIONAL, -- Need M - radioBearerConfig2 OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL, -- Need M - sk-Counter SK-Counter OPTIONAL, -- Need N - nonCriticalExtension SEQUENCE {} OPTIONAL + otherConfig-v1540 OtherConfig-v1540 OPTIONAL, -- Need M + nonCriticalExtension RRCReconfiguration-v1560-IEs OPTIONAL +} + +RRCReconfiguration-v1560-IEs ::= SEQUENCE { + mrdc-SecondaryCellGroupConfig CHOICE {release NULL, setup MRDC-SecondaryCellGroupConfig } OPTIONAL, -- Need M + radioBearerConfig2 OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL, -- Need M + sk-Counter SK-Counter OPTIONAL, -- Need N + nonCriticalExtension RRCReconfiguration-v1610-IEs OPTIONAL +} +RRCReconfiguration-v1610-IEs ::= SEQUENCE { + otherConfig-v1610 OtherConfig-v1610 OPTIONAL, -- Need M + bap-Config-r16 CHOICE {release NULL, setup BAP-Config-r16 } OPTIONAL, -- Need M + iab-IP-AddressConfigurationList-r16 IAB-IP-AddressConfigurationList-r16 OPTIONAL, -- Need M + conditionalReconfiguration-r16 ConditionalReconfiguration-r16 OPTIONAL, -- Need M + daps-SourceRelease-r16 ENUMERATED{true} OPTIONAL, -- Need N + t316-r16 CHOICE {release NULL, setup T316-r16} OPTIONAL, -- Need M + needForGapsConfigNR-r16 CHOICE {release NULL, setup NeedForGapsConfigNR-r16} OPTIONAL, -- Need M + onDemandSIB-Request-r16 CHOICE {release NULL, setup OnDemandSIB-Request-r16 } OPTIONAL, -- Need M + dedicatedPosSysInfoDelivery-r16 OCTET STRING (CONTAINING PosSystemInformation-r16-IEs) OPTIONAL, -- Need N + sl-ConfigDedicatedNR-r16 CHOICE {release NULL, setup SL-ConfigDedicatedNR-r16} OPTIONAL, -- Need M + sl-ConfigDedicatedEUTRA-Info-r16 CHOICE {release NULL, setup SL-ConfigDedicatedEUTRA-Info-r16} OPTIONAL, -- Need M + nonCriticalExtension SEQUENCE {} OPTIONAL } MRDC-SecondaryCellGroupConfig ::= SEQUENCE { - mrdc-ReleaseAndAdd ENUMERATED {true} OPTIONAL, -- Need N - mrdc-SecondaryCellGroup CHOICE { - nr-SCG OCTET STRING (CONTAINING RRCReconfiguration), - eutra-SCG OCTET STRING + mrdc-ReleaseAndAdd ENUMERATED {true} OPTIONAL, -- Need N + mrdc-SecondaryCellGroup CHOICE { + nr-SCG OCTET STRING (CONTAINING RRCReconfiguration), + eutra-SCG OCTET STRING } } +BAP-Config-r16 ::= SEQUENCE { + bap-Address-r16 BIT STRING (SIZE (10)) OPTIONAL, -- Need M + defaultUL-BAProutingID-r16 BAP-Routing-ID-r16 OPTIONAL, -- Need M + defaultUL-BH-RLC-Channel-r16 BH-RLC-ChannelID-r16 OPTIONAL, -- Need M + flowControlFeedbackType-r16 ENUMERATED {perBH-RLC-Channel, perRoutingID, both} OPTIONAL, -- Need R + ... +} + MasterKeyUpdate ::= SEQUENCE { keySetChangeIndicator BOOLEAN, nextHopChainingCount NextHopChainingCount, @@ -446,6 +733,34 @@ MasterKeyUpdate ::= SEQUENCE { ... } +OnDemandSIB-Request-r16 ::= SEQUENCE { + onDemandSIB-RequestProhibitTimer-r16 ENUMERATED {s0, s0dot5, s1, s2, s5, s10, s20, s30} +} + +T316-r16 ::= ENUMERATED {ms50, ms100, ms200, ms300, ms400, ms500, ms600, ms1000, ms1500, ms2000} + +IAB-IP-AddressConfigurationList-r16 ::= SEQUENCE { + iab-IP-AddressToAddModList-r16 SEQUENCE (SIZE(1..maxIAB-IP-Address-r16)) OF IAB-IP-AddressConfiguration-r16 OPTIONAL, -- Need N + iab-IP-AddressToReleaseList-r16 SEQUENCE (SIZE(1..maxIAB-IP-Address-r16)) OF IAB-IP-AddressIndex-r16 OPTIONAL, -- Need N + ... +} + +IAB-IP-AddressConfiguration-r16 ::= SEQUENCE { + iab-IP-AddressIndex-r16 IAB-IP-AddressIndex-r16, + iab-IP-Address-r16 IAB-IP-Address-r16 OPTIONAL, -- Need M + iab-IP-Usage-r16 IAB-IP-Usage-r16 OPTIONAL, -- Need M + iab-donor-DU-BAP-Address-r16 BIT STRING (SIZE(10)) OPTIONAL, -- Need M +... +} + +SL-ConfigDedicatedEUTRA-Info-r16 ::= SEQUENCE { + sl-ConfigDedicatedEUTRA-r16 OCTET STRING OPTIONAL, -- Need M + sl-TimeOffsetEUTRA-List-r16 SEQUENCE (SIZE (8)) OF SL-TimeOffsetEUTRA-r16 OPTIONAL -- Need M +} + +SL-TimeOffsetEUTRA-r16 ::= ENUMERATED {ms0, ms0dot25, ms0dot5, ms0dot625, ms0dot75, ms1, ms1dot25, ms1dot5, ms1dot75, + ms2, ms2dot5, ms3, ms4, ms5, ms6, ms8, ms10, ms20} + -- TAG-RRCRECONFIGURATION-STOP -- TAG-RRCRECONFIGURATIONCOMPLETE-START @@ -469,12 +784,17 @@ RRCReconfigurationComplete-v1530-IEs ::= SEQUENCE { RRCReconfigurationComplete-v1560-IEs ::= SEQUENCE { scg-Response CHOICE { - nr-SCG-Response OCTET STRING (CONTAINING RRCReconfigurationComplete), - eutra-SCG-Response OCTET STRING - } OPTIONAL, - nonCriticalExtension SEQUENCE {} OPTIONAL + nr-SCG-Response OCTET STRING (CONTAINING RRCReconfigurationComplete), + eutra-SCG-Response OCTET STRING + } OPTIONAL, + nonCriticalExtension RRCReconfigurationComplete-v1610-IEs OPTIONAL } +RRCReconfigurationComplete-v1610-IEs ::= SEQUENCE { + ueMeasurementsAvailable-r16 UEMeasurementsAvailable-r16 OPTIONAL, + needForGapsInfoNR-r16 NeedForGapsInfoNR-r16 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} -- TAG-RRCRECONFIGURATIONCOMPLETE-STOP -- TAG-RRCREJECT-START @@ -504,20 +824,26 @@ RRCRelease ::= SEQUENCE { } RRCRelease-IEs ::= SEQUENCE { - redirectedCarrierInfo RedirectedCarrierInfo OPTIONAL, -- Need N - cellReselectionPriorities CellReselectionPriorities OPTIONAL, -- Need R - suspendConfig SuspendConfig OPTIONAL, -- Need R + 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 + } OPTIONAL, -- Need N lateNonCriticalExtension OCTET STRING OPTIONAL, nonCriticalExtension RRCRelease-v1540-IEs OPTIONAL } RRCRelease-v1540-IEs ::= SEQUENCE { waitTime RejectWaitTime OPTIONAL, -- Need N - nonCriticalExtension SEQUENCE {} OPTIONAL + nonCriticalExtension RRCRelease-v1610-IEs OPTIONAL +} + +RRCRelease-v1610-IEs ::= SEQUENCE { + voiceFallbackIndication-r16 ENUMERATED {true} OPTIONAL, -- Need N + measIdleConfig-r16 CHOICE {release NULL, setup MeasIdleConfigDedicated-r16} OPTIONAL, -- Need M + nonCriticalExtension SEQUENCE {} OPTIONAL } RedirectedCarrierInfo ::= CHOICE { @@ -527,8 +853,8 @@ RedirectedCarrierInfo ::= CHOICE { } RedirectedCarrierInfo-EUTRA ::= SEQUENCE { - eutraFrequency ARFCN-ValueEUTRA, - cnType ENUMERATED {epc,fiveGC} OPTIONAL -- Need N + eutraFrequency ARFCN-ValueEUTRA, + cnType ENUMERATED {epc,fiveGC} OPTIONAL -- Need N } CarrierInfoNR ::= SEQUENCE { @@ -598,8 +924,8 @@ PLMN-RAN-AreaConfig ::= SEQUENCE { } RAN-AreaConfig ::= SEQUENCE { - trackingAreaCode TrackingAreaCode, - ran-AreaCodeList SEQUENCE (SIZE (1..32)) OF RAN-AreaCode OPTIONAL -- Need R + trackingAreaCode TrackingAreaCode, + ran-AreaCodeList SEQUENCE (SIZE (1..32)) OF RAN-AreaCode OPTIONAL -- Need R } -- TAG-RRCRELEASE-STOP @@ -626,6 +952,18 @@ RRCResume-IEs ::= SEQUENCE { RRCResume-v1560-IEs ::= SEQUENCE { radioBearerConfig2 OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL, -- Need M sk-Counter SK-Counter OPTIONAL, -- Need N + nonCriticalExtension RRCResume-v1610-IEs OPTIONAL +} + +RRCResume-v1610-IEs ::= SEQUENCE { + idleModeMeasurementReq-r16 ENUMERATED {true} OPTIONAL, -- Need N + restoreMCG-SCells-r16 ENUMERATED {true} OPTIONAL, -- Need N + restoreSCG-r16 ENUMERATED {true} OPTIONAL, -- Need N + mrdc-SecondaryCellGroup-r16 CHOICE { + nr-SCG-r16 OCTET STRING (CONTAINING RRCReconfiguration), + eutra-SCG-r16 OCTET STRING + } OPTIONAL, -- Cond RestoreSCG + needForGapsConfigNR-r16 CHOICE {release NULL, setup NeedForGapsConfigNR-r16} OPTIONAL, -- Need M nonCriticalExtension SEQUENCE{} OPTIONAL } @@ -645,6 +983,21 @@ RRCResumeComplete-IEs ::= SEQUENCE { selectedPLMN-Identity INTEGER (1..maxPLMN) OPTIONAL, uplinkTxDirectCurrentList UplinkTxDirectCurrentList OPTIONAL, lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCResumeComplete-v1610-IEs OPTIONAL +} + +RRCResumeComplete-v1610-IEs ::= SEQUENCE { + idleMeasAvailable-r16 ENUMERATED {true} OPTIONAL, + measResultIdleEUTRA-r16 MeasResultIdleEUTRA-r16 OPTIONAL, + measResultIdleNR-r16 MeasResultIdleNR-r16 OPTIONAL, + scg-Response-r16 CHOICE { + nr-SCG-Response OCTET STRING (CONTAINING RRCReconfigurationComplete), + eutra-SCG-Response OCTET STRING + } OPTIONAL, + ueMeasurementsAvailable-r16 UEMeasurementsAvailable-r16 OPTIONAL, + mobilityHistoryAvail-r16 ENUMERATED {true} OPTIONAL, + mobilityState-r16 ENUMERATED {normal, medium, high, spare} OPTIONAL, + needForGapsInfoNR-r16 NeedForGapsInfoNR-r16 OPTIONAL, nonCriticalExtension SEQUENCE{} OPTIONAL } @@ -665,8 +1018,8 @@ RRCResumeRequest-IEs ::= SEQUENCE { -- TAG-RRCRESUMEREQUEST-STOP -- TAG-RRCRESUMEREQUEST1-START -RRCResumeRequest1 ::= SEQUENCE { - rrcResumeRequest1 RRCResumeRequest1-IEs +RRCResumeRequest1 ::= SEQUENCE { + rrcResumeRequest1 RRCResumeRequest1-IEs } RRCResumeRequest1-IEs ::= SEQUENCE { @@ -717,6 +1070,15 @@ RRCSetupComplete-IEs ::= SEQUENCE { ng-5G-S-TMSI-Part2 BIT STRING (SIZE (9)) } OPTIONAL, lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCSetupComplete-v1610-IEs OPTIONAL +} + +RRCSetupComplete-v1610-IEs ::= SEQUENCE { + iab-NodeIndication-r16 ENUMERATED {true} OPTIONAL, + idleMeasAvailable-r16 ENUMERATED {true} OPTIONAL, + ueMeasurementsAvailable-r16 UEMeasurementsAvailable-r16 OPTIONAL, + mobilityHistoryAvail-r16 ENUMERATED {true} OPTIONAL, + mobilityState-r16 ENUMERATED {normal, medium, high, spare} OPTIONAL, nonCriticalExtension SEQUENCE{} OPTIONAL } @@ -754,7 +1116,10 @@ EstablishmentCause ::= ENUMERATED { RRCSystemInfoRequest ::= SEQUENCE { criticalExtensions CHOICE { rrcSystemInfoRequest RRCSystemInfoRequest-IEs, - criticalExtensionsFuture SEQUENCE {} + criticalExtensionsFuture-r16 CHOICE { + rrcPosSystemInfoRequest-r16 RRC-PosSystemInfoRequest-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } } } @@ -763,24 +1128,29 @@ RRCSystemInfoRequest-IEs ::= SEQUENCE { spare BIT STRING (SIZE (12)) } +RRC-PosSystemInfoRequest-r16-IEs ::= SEQUENCE { + requestedPosSI-List BIT STRING (SIZE (maxSI-Message)), --32bits + spare BIT STRING (SIZE (11)) +} + -- TAG-RRCSYSTEMINFOREQUEST-STOP -- TAG-SCGFAILUREINFORMATION-START -SCGFailureInformation ::= SEQUENCE { - criticalExtensions CHOICE { - scgFailureInformation SCGFailureInformation-IEs, - criticalExtensionsFuture SEQUENCE {} +SCGFailureInformation ::= SEQUENCE { + criticalExtensions CHOICE { + scgFailureInformation SCGFailureInformation-IEs, + criticalExtensionsFuture SEQUENCE {} } } -SCGFailureInformation-IEs ::= SEQUENCE { - failureReportSCG FailureReportSCG OPTIONAL, - nonCriticalExtension SCGFailureInformation-v1590-IEs OPTIONAL +SCGFailureInformation-IEs ::= SEQUENCE { + failureReportSCG FailureReportSCG OPTIONAL, + nonCriticalExtension SCGFailureInformation-v1590-IEs OPTIONAL } -SCGFailureInformation-v1590-IEs ::= SEQUENCE { - lateNonCriticalExtension OCTET STRING OPTIONAL, - nonCriticalExtension SEQUENCE {} OPTIONAL +SCGFailureInformation-v1590-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL } FailureReportSCG ::= SEQUENCE { @@ -788,13 +1158,18 @@ FailureReportSCG ::= SEQUENCE { t310-Expiry, randomAccessProblem, rlc-MaxNumRetx, synchReconfigFailureSCG, scg-ReconfigFailure, - srb3-IntegrityFailure, spare2, spare1}, - measResultFreqList MeasResultFreqList OPTIONAL, - measResultSCG-Failure OCTET STRING (CONTAINING MeasResultSCG-Failure) OPTIONAL, - ... + srb3-IntegrityFailure, other-r16, spare1}, + measResultFreqList MeasResultFreqList OPTIONAL, + measResultSCG-Failure OCTET STRING (CONTAINING MeasResultSCG-Failure) OPTIONAL, + ..., + [[ + locationInfo-r16 LocationInfo-r16 OPTIONAL, + failureType-v1610 ENUMERATED {scg-lbtFailure-r16, beamFailureRecoveryFailure-r16, t312-Expiry-r16, bh-RLF-r16, + spare4, spare3, spare2, spare1} OPTIONAL + ]] } -MeasResultFreqList ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2NR +MeasResultFreqList ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2NR -- TAG-SCGFAILUREINFORMATION-STOP @@ -809,22 +1184,26 @@ SCGFailureInformationEUTRA ::= SEQUENCE { SCGFailureInformationEUTRA-IEs ::= SEQUENCE { failureReportSCG-EUTRA FailureReportSCG-EUTRA OPTIONAL, - nonCriticalExtension SCGFailureInformationEUTRA-v1590-IEs OPTIONAL + nonCriticalExtension SCGFailureInformationEUTRA-v1590-IEs OPTIONAL } SCGFailureInformationEUTRA-v1590-IEs ::= SEQUENCE { lateNonCriticalExtension OCTET STRING OPTIONAL, - nonCriticalExtension SEQUENCE {} OPTIONAL + nonCriticalExtension SEQUENCE {} OPTIONAL } -FailureReportSCG-EUTRA ::= SEQUENCE { - failureType ENUMERATED { - t313-Expiry, randomAccessProblem, - rlc-MaxNumRetx, scg-ChangeFailure, spare4, - spare3, spare2, spare1}, - measResultFreqListMRDC MeasResultFreqListFailMRDC OPTIONAL, - measResultSCG-FailureMRDC OCTET STRING OPTIONAL, - ... +FailureReportSCG-EUTRA ::= SEQUENCE { + failureType ENUMERATED { + t313-Expiry, randomAccessProblem, + rlc-MaxNumRetx, scg-ChangeFailure, + scg-lbtFailure-r16, beamFailureRecoveryFailure-r16, + t312-Expiry-r16, spare}, + measResultFreqListMRDC MeasResultFreqListFailMRDC OPTIONAL, + measResultSCG-FailureMRDC OCTET STRING OPTIONAL, + ..., + [[ + locationInfo-r16 LocationInfo-r16 OPTIONAL + ]] } MeasResultFreqListFailMRDC ::= SEQUENCE (SIZE (1.. maxFreq)) OF MeasResult2EUTRA @@ -900,34 +1279,95 @@ SIB1 ::= SEQUENCE { 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 + eCallOverIMS-Support ENUMERATED {true} OPTIONAL, -- Need R 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-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 -- Need S + } OPTIONAL -- Need S } OPTIONAL, -- Need R - useFullResumeID ENUMERATED {true} OPTIONAL, -- Need R - lateNonCriticalExtension OCTET STRING OPTIONAL, - nonCriticalExtension SEQUENCE{} OPTIONAL + nonCriticalExtension SIB1-v1610-IEs OPTIONAL +} + +SIB1-v1610-IEs ::= SEQUENCE { + idleModeMeasurementsEUTRA-r16 ENUMERATED{true} OPTIONAL, -- Need R + idleModeMeasurementsNR-r16 ENUMERATED{true} OPTIONAL, -- Need R + posSI-SchedulingInfo-r16 PosSI-SchedulingInfo-r16 OPTIONAL, -- Need R + nonCriticalExtension SEQUENCE {} OPTIONAL } UAC-AccessCategory1-SelectionAssistanceInfo ::= ENUMERATED {a, b, c} -- TAG-SIB1-STOP +-- TAG-SIDELINKUEINFORMATIONNR-START + +SidelinkUEInformationNR-r16::= SEQUENCE { + criticalExtensions CHOICE { + sidelinkUEInformationNR-r16 SidelinkUEInformationNR-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +SidelinkUEInformationNR-r16-IEs ::= SEQUENCE { + sl-RxInterestedFreqList-r16 SL-InterestedFreqList-r16 OPTIONAL, + sl-TxResourceReqList-r16 SL-TxResourceReqList-r16 OPTIONAL, + sl-FailureList-r16 SL-FailureList-r16 OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +SL-InterestedFreqList-r16 ::= SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF INTEGER (1..maxNrofFreqSL-r16) + +SL-TxResourceReqList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-TxResourceReq-r16 + +SL-TxResourceReq-r16 ::= SEQUENCE { + sl-DestinationIdentity-r16 SL-DestinationIdentity-r16, + sl-CastType-r16 ENUMERATED {broadcast, groupcast, unicast, spare1}, + sl-RLC-ModeIndicationList-r16 SEQUENCE (SIZE (1.. maxNrofSLRB-r16)) OF SL-RLC-ModeIndication-r16 OPTIONAL, + sl-QoS-InfoList-r16 SEQUENCE (SIZE (1..maxNrofSL-QFIsPerDest-r16)) OF SL-QoS-Info-r16 OPTIONAL, + sl-TypeTxSyncList-r16 SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-TypeTxSync-r16 OPTIONAL, + sl-TxInterestedFreqList-r16 SL-TxInterestedFreqList-r16 OPTIONAL, + sl-CapabilityInformationSidelink-r16 OCTET STRING OPTIONAL +} + +SL-TxInterestedFreqList-r16 ::= SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF INTEGER (1..maxNrofFreqSL-r16) + +SL-QoS-Info-r16 ::= SEQUENCE { + sl-QoS-FlowIdentity-r16 SL-QoS-FlowIdentity-r16, + sl-QoS-Profile-r16 SL-QoS-Profile-r16 OPTIONAL +} + +SL-RLC-ModeIndication-r16 ::= SEQUENCE { + sl-Mode-r16 CHOICE { + sl-AM-Mode-r16 NULL, + sl-UM-Mode-r16 NULL + }, + sl-QoS-InfoList-r16 SEQUENCE (SIZE (1..maxNrofSL-QFIsPerDest-r16)) OF SL-QoS-Info-r16 +} + +SL-FailureList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-Failure-r16 + +SL-Failure-r16 ::= SEQUENCE { + sl-DestinationIdentity-r16 SL-DestinationIdentity-r16, + sl-Failure-r16 ENUMERATED {rlf,configFailure, spare6, spare5, spare4, spare3, spare2, spare1} +} + +-- TAG-SIDELINKUEINFORMATIONNR-STOP -- TAG-SYSTEMINFORMATION-START SystemInformation ::= SEQUENCE { criticalExtensions CHOICE { systemInformation SystemInformation-IEs, - criticalExtensionsFuture SEQUENCE {} + criticalExtensionsFuture-r16 CHOICE { + posSystemInformation-r16 PosSystemInformation-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } } } @@ -941,7 +1381,12 @@ SystemInformation-IEs ::= SEQUENCE { sib7 SIB7, sib8 SIB8, sib9 SIB9, - ... + ..., + sib10-v1610 SIB10-r16, + sib11-v1610 SIB11-r16, + sib12-v1610 SIB12-r16, + sib13-v1610 SIB13-r16, + sib14-v1610 SIB14-r16 }, lateNonCriticalExtension OCTET STRING OPTIONAL, @@ -973,22 +1418,13 @@ DelayBudgetReport::= CHOICE { UEAssistanceInformation-v1540-IEs ::= SEQUENCE { overheatingAssistance OverheatingAssistance OPTIONAL, - nonCriticalExtension SEQUENCE {} OPTIONAL + nonCriticalExtension UEAssistanceInformation-v1610-IEs OPTIONAL } OverheatingAssistance ::= SEQUENCE { - reducedMaxCCs SEQUENCE { - reducedCCsDL INTEGER (0..31), - reducedCCsUL INTEGER (0..31) - } OPTIONAL, - reducedMaxBW-FR1 SEQUENCE { - reducedBW-FR1-DL ReducedAggregatedBandwidth, - reducedBW-FR1-UL ReducedAggregatedBandwidth - } OPTIONAL, - reducedMaxBW-FR2 SEQUENCE { - reducedBW-FR2-DL ReducedAggregatedBandwidth, - reducedBW-FR2-UL ReducedAggregatedBandwidth - } OPTIONAL, + reducedMaxCCs ReducedMaxCCs-r16 OPTIONAL, + reducedMaxBW-FR1 ReducedMaxBW-FRx-r16 OPTIONAL, + reducedMaxBW-FR2 ReducedMaxBW-FRx-r16 OPTIONAL, reducedMaxMIMO-LayersFR1 SEQUENCE { reducedMIMO-LayersFR1-DL MIMO-LayersDL, reducedMIMO-LayersFR1-UL MIMO-LayersUL @@ -1001,10 +1437,128 @@ OverheatingAssistance ::= SEQUENCE { ReducedAggregatedBandwidth ::= ENUMERATED {mhz0, mhz10, mhz20, mhz30, mhz40, mhz50, mhz60, mhz80, mhz100, mhz200, mhz300, mhz400} +UEAssistanceInformation-v1610-IEs ::= SEQUENCE { + idc-Assistance-r16 IDC-Assistance-r16 OPTIONAL, + drx-Preference-r16 DRX-Preference-r16 OPTIONAL, + maxBW-Preference-r16 MaxBW-Preference-r16 OPTIONAL, + maxCC-Preference-r16 MaxCC-Preference-r16 OPTIONAL, + maxMIMO-LayerPreference-r16 MaxMIMO-LayerPreference-r16 OPTIONAL, + minSchedulingOffsetPreference-r16 MinSchedulingOffsetPreference-r16 OPTIONAL, + releasePreference-r16 ReleasePreference-r16 OPTIONAL, + sl-UE-AssistanceInformationNR-r16 SL-UE-AssistanceInformationNR-r16 OPTIONAL, + referenceTimeInfoPreference-r16 BOOLEAN OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +IDC-Assistance-r16 ::= SEQUENCE { + affectedCarrierFreqList-r16 AffectedCarrierFreqList-r16 OPTIONAL, + affectedCarrierFreqCombList-r16 AffectedCarrierFreqCombList-r16 OPTIONAL, + ... +} + +AffectedCarrierFreqList-r16 ::= SEQUENCE (SIZE (1.. maxFreqIDC-r16)) OF AffectedCarrierFreq-r16 + +AffectedCarrierFreq-r16 ::= SEQUENCE { + carrierFreq-r16 ARFCN-ValueNR, + interferenceDirection-r16 ENUMERATED {nr, other, both, spare} +} + +AffectedCarrierFreqCombList-r16 ::= SEQUENCE (SIZE (1..maxCombIDC-r16)) OF AffectedCarrierFreqComb-r16 + +AffectedCarrierFreqComb-r16 ::= SEQUENCE { + affectedCarrierFreqComb-r16 SEQUENCE (SIZE (2..maxNrofServingCells)) OF ARFCN-ValueNR OPTIONAL, + victimSystemType-r16 VictimSystemType-r16 +} + +VictimSystemType-r16 ::= SEQUENCE { + gps-r16 ENUMERATED {true} OPTIONAL, + glonass-r16 ENUMERATED {true} OPTIONAL, + bds-r16 ENUMERATED {true} OPTIONAL, + galileo-r16 ENUMERATED {true} OPTIONAL, + navIC-r16 ENUMERATED {true} OPTIONAL, + wlan-r16 ENUMERATED {true} OPTIONAL, + bluetooth-r16 ENUMERATED {true} OPTIONAL, + ... +} + +DRX-Preference-r16 ::= SEQUENCE { + preferredDRX-InactivityTimer-r16 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} OPTIONAL, + preferredDRX-LongCycle-r16 ENUMERATED { + ms10, ms20, ms32, ms40, ms60, ms64, ms70, ms80, ms128, ms160, ms256, ms320, ms512, + ms640, ms1024, ms1280, ms2048, ms2560, ms5120, ms10240, spare12, spare11, spare10, + spare9, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 } OPTIONAL, + preferredDRX-ShortCycle-r16 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 } OPTIONAL, + preferredDRX-ShortCycleTimer-r16 INTEGER (1..16) OPTIONAL +} + +MaxBW-Preference-r16 ::= SEQUENCE { + reducedMaxBW-FR1-r16 ReducedMaxBW-FRx-r16 OPTIONAL, + reducedMaxBW-FR2-r16 ReducedMaxBW-FRx-r16 OPTIONAL +} + +MaxCC-Preference-r16 ::= SEQUENCE { + reducedMaxCCs-r16 ReducedMaxCCs-r16 OPTIONAL +} + +MaxMIMO-LayerPreference-r16 ::= SEQUENCE { + reducedMaxMIMO-LayersFR1-r16 SEQUENCE { + reducedMIMO-LayersFR1-DL-r16 INTEGER (1..8), + reducedMIMO-LayersFR1-UL-r16 INTEGER (1..4) + } OPTIONAL, + reducedMaxMIMO-LayersFR2-r16 SEQUENCE { + reducedMIMO-LayersFR2-DL-r16 INTEGER (1..8), + reducedMIMO-LayersFR2-UL-r16 INTEGER (1..4) + } OPTIONAL +} + +MinSchedulingOffsetPreference-r16 ::= SEQUENCE { + preferredK0-r16 SEQUENCE { + preferredK0-SCS-15kHz-r16 ENUMERATED {sl1, sl2, sl4, sl6} OPTIONAL, + preferredK0-SCS-30kHz-r16 ENUMERATED {sl1, sl2, sl4, sl6} OPTIONAL, + preferredK0-SCS-60kHz-r16 ENUMERATED {sl2, sl4, sl8, sl12} OPTIONAL, + preferredK0-SCS-120kHz-r16 ENUMERATED {sl2, sl4, sl8, sl12} OPTIONAL + } OPTIONAL, + preferredK2-r16 SEQUENCE { + preferredK2-SCS-15kHz-r16 ENUMERATED {sl1, sl2, sl4, sl6} OPTIONAL, + preferredK2-SCS-30kHz-r16 ENUMERATED {sl1, sl2, sl4, sl6} OPTIONAL, + preferredK2-SCS-60kHz-r16 ENUMERATED {sl2, sl4, sl8, sl12} OPTIONAL, + preferredK2-SCS-120kHz-r16 ENUMERATED {sl2, sl4, sl8, sl12} OPTIONAL + } OPTIONAL +} + +ReleasePreference-r16 ::= SEQUENCE { + preferredRRC-State-r16 ENUMERATED {idle, inactive, connected, outOfConnected} +} + +ReducedMaxBW-FRx-r16 ::= SEQUENCE { + reducedBW-DL-r16 ReducedAggregatedBandwidth, + reducedBW-UL-r16 ReducedAggregatedBandwidth +} + +ReducedMaxCCs-r16 ::= SEQUENCE { + reducedCCsDL-r16 INTEGER (0..31), + reducedCCsUL-r16 INTEGER (0..31) +} + +SL-UE-AssistanceInformationNR-r16 ::= SEQUENCE (SIZE (1..maxNrofTrafficPattern-r16)) OF SL-TrafficPatternInfo-r16 + +SL-TrafficPatternInfo-r16::= SEQUENCE { + trafficPeriodicity-r16 ENUMERATED {ms20,ms50, ms100, ms200, ms300, ms400, ms500, ms600, ms700, ms800, ms900, ms1000}, + timingOffset-r16 INTEGER (0..10239), + messageSize-r16 BIT STRING (SIZE (8)), + sl-QoS-FlowIdentity-r16 SL-QoS-FlowIdentity-r16 +} + -- TAG-UEASSISTANCEINFORMATION-STOP -- TAG-UECAPABILITYENQUIRY-START -UECapabilityEnquiry ::= SEQUENCE { +UECapabilityEnquiry ::= SEQUENCE { rrc-TransactionIdentifier RRC-TransactionIdentifier, criticalExtensions CHOICE { ueCapabilityEnquiry UECapabilityEnquiry-IEs, @@ -1012,7 +1566,7 @@ UECapabilityEnquiry ::= SEQUENCE { } } -UECapabilityEnquiry-IEs ::= SEQUENCE { +UECapabilityEnquiry-IEs ::= SEQUENCE { ue-CapabilityRAT-RequestList UE-CapabilityRAT-RequestList, lateNonCriticalExtension OCTET STRING OPTIONAL, ue-CapabilityEnquiryExt OCTET STRING (CONTAINING UECapabilityEnquiry-v1560-IEs) OPTIONAL @@ -1020,7 +1574,12 @@ UECapabilityEnquiry-IEs ::= SEQUENCE { UECapabilityEnquiry-v1560-IEs ::= SEQUENCE { capabilityRequestFilterCommon UE-CapabilityRequestFilterCommon OPTIONAL, -- Need N - nonCriticalExtension SEQUENCE{} OPTIONAL + nonCriticalExtension UECapabilityEnquiry-v1610-IEs OPTIONAL +} + +UECapabilityEnquiry-v1610-IEs ::= SEQUENCE { + rrc-SegAllowed-r16 ENUMERATED {enabled} OPTIONAL, -- Need N + nonCriticalExtension SEQUENCE {} OPTIONAL } -- TAG-UECAPABILITYENQUIRY-STOP @@ -1042,6 +1601,278 @@ UECapabilityInformation-IEs ::= SEQUENCE { } -- TAG-UECAPABILITYINFORMATION-STOP +-- TAG-UEINFORMATIONREQUEST-START + +UEInformationRequest-r16 ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + ueInformationRequest-r16 UEInformationRequest-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +UEInformationRequest-r16-IEs ::= SEQUENCE { + idleModeMeasurementReq-r16 ENUMERATED{true} OPTIONAL, -- Need N + logMeasReportReq-r16 ENUMERATED {true} OPTIONAL, -- Need N + connEstFailReportReq-r16 ENUMERATED {true} OPTIONAL, -- Need N + ra-ReportReq-r16 ENUMERATED {true} OPTIONAL, -- Need N + rlf-ReportReq-r16 ENUMERATED {true} OPTIONAL, -- Need N + mobilityHistoryReportReq-r16 ENUMERATED {true} OPTIONAL, -- Need N + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- TAG-UEINFORMATIONREQUEST-STOP +-- TAG-UEINFORMATIONRESPONSE-START + +UEInformationResponse-r16 ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + ueInformationResponse-r16 UEInformationResponse-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +UEInformationResponse-r16-IEs ::= SEQUENCE { + measResultIdleEUTRA-r16 MeasResultIdleEUTRA-r16 OPTIONAL, + measResultIdleNR-r16 MeasResultIdleNR-r16 OPTIONAL, + logMeasReport-r16 LogMeasReport-r16 OPTIONAL, + connEstFailReport-r16 ConnEstFailReport-r16 OPTIONAL, + ra-ReportList-r16 RA-ReportList-r16 OPTIONAL, + rlf-Report-r16 RLF-Report-r16 OPTIONAL, + mobilityHistoryReport-r16 MobilityHistoryReport-r16 OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +LogMeasReport-r16 ::= SEQUENCE { + absoluteTimeStamp-r16 AbsoluteTimeInfo-r16, + traceReference-r16 TraceReference-r16, + traceRecordingSessionRef-r16 OCTET STRING (SIZE (2)), + tce-Id-r16 OCTET STRING (SIZE (1)), + logMeasInfoList-r16 LogMeasInfoList-r16, + logMeasAvailable-r16 ENUMERATED {true} OPTIONAL, + logMeasAvailableBT-r16 ENUMERATED {true} OPTIONAL, + logMeasAvailableWLAN-r16 ENUMERATED {true} OPTIONAL, + ... +} + +LogMeasInfoList-r16 ::= SEQUENCE (SIZE (1..maxLogMeasReport-r16)) OF LogMeasInfo-r16 + +LogMeasInfo-r16 ::= SEQUENCE { + locationInfo-r16 LocationInfo-r16 OPTIONAL, + relativeTimeStamp-r16 INTEGER (0..7200), + servCellIdentity-r16 CGI-Info-Logging-r16 OPTIONAL, + measResultServingCell-r16 MeasResultServingCell-r16 OPTIONAL, + measResultNeighCells-r16 SEQUENCE { + measResultNeighCellListNR MeasResultListLogging2NR-r16 OPTIONAL, + measResultNeighCellListEUTRA MeasResultList2EUTRA-r16 OPTIONAL + }, + anyCellSelectionDetected-r16 ENUMERATED {true} OPTIONAL +} + +ConnEstFailReport-r16 ::= SEQUENCE { + measResultFailedCell-r16 MeasResultFailedCell-r16, + locationInfo-r16 LocationInfo-r16 OPTIONAL, + measResultNeighCells-r16 SEQUENCE { + measResultNeighCellListNR MeasResultList2NR-r16 OPTIONAL, + measResultNeighCellListEUTRA MeasResultList2EUTRA-r16 OPTIONAL + }, + numberOfConnFail-r16 INTEGER (1..8), + perRAInfoList-r16 PerRAInfoList-r16, + timeSinceFailure-r16 TimeSinceFailure-r16, + ... +} + +MeasResultServingCell-r16 ::= SEQUENCE { + resultsSSB-Cell MeasQuantityResults, + resultsSSB SEQUENCE{ + best-ssb-Index SSB-Index, + best-ssb-Results MeasQuantityResults, + numberOfGoodSSB INTEGER (1..maxNrofSSBs-r16) + } OPTIONAL +} + +MeasResultFailedCell-r16 ::= SEQUENCE { + cgi-Info CGI-Info-Logging-r16, + measResult-r16 SEQUENCE { + cellResults-r16 SEQUENCE{ + resultsSSB-Cell-r16 MeasQuantityResults + }, + rsIndexResults-r16 SEQUENCE{ + resultsSSB-Indexes-r16 ResultsPerSSB-IndexList + } + } +} + +RA-ReportList-r16 ::= SEQUENCE (SIZE (1..maxRAReport-r16)) OF RA-Report-r16 + +RA-Report-r16 ::= SEQUENCE { + cellId-r16 CGI-Info-Logging-r16, + ra-InformationCommon-r16 RA-InformationCommon-r16, + raPurpose-r16 ENUMERATED {accessRelated, beamFailureRecovery, reconfigurationWithSync, ulUnSynchronized, + schedulingRequestFailure, noPUCCHResourceAvailable, requestForOtherSI, + spare9, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1} +} + +RA-InformationCommon-r16 ::= SEQUENCE { + absoluteFrequencyPointA-r16 ARFCN-ValueNR, + locationAndBandwidth-r16 INTEGER (0..37949), + subcarrierSpacing-r16 SubcarrierSpacing, + msg1-FrequencyStart-r16 INTEGER (0..maxNrofPhysicalResourceBlocks-1) OPTIONAL, + msg1-FrequencyStartCFRA-r16 INTEGER (0..maxNrofPhysicalResourceBlocks-1) OPTIONAL, + msg1-SubcarrierSpacing-r16 SubcarrierSpacing OPTIONAL, + msg1-SubcarrierSpacingCFRA-r16 SubcarrierSpacing OPTIONAL, + msg1-FDM-r16 ENUMERATED {one, two, four, eight} OPTIONAL, + msg1-FDMCFRA-r16 ENUMERATED {one, two, four, eight} OPTIONAL, + perRAInfoList-r16 PerRAInfoList-r16 +} + +PerRAInfoList-r16 ::= SEQUENCE (SIZE (1..200)) OF PerRAInfo-r16 + +PerRAInfo-r16 ::= CHOICE { + perRASSBInfoList-r16 PerRASSBInfo-r16, + perRACSI-RSInfoList-r16 PerRACSI-RSInfo-r16 +} + +PerRASSBInfo-r16 ::= SEQUENCE { + ssb-Index-r16 SSB-Index, + numberOfPreamblesSentOnSSB-r16 INTEGER (1..200), + perRAAttemptInfoList-r16 PerRAAttemptInfoList-r16 +} + +PerRACSI-RSInfo-r16 ::= SEQUENCE { + csi-RS-Index-r16 CSI-RS-Index, + numberOfPreamblesSentOnCSI-RS-r16 INTEGER (1..200) +} + +PerRAAttemptInfoList-r16 ::= SEQUENCE (SIZE (1..200)) OF PerRAAttemptInfo-r16 + +PerRAAttemptInfo-r16 ::= SEQUENCE { + contentionDetected-r16 BOOLEAN OPTIONAL, + dlRSRPAboveThreshold-r16 BOOLEAN OPTIONAL, + ... +} + +RLF-Report-r16 ::= CHOICE { + nr-RLF-Report-r16 SEQUENCE { + measResultLastServCell-r16 MeasResultRLFNR-r16, + measResultNeighCells-r16 SEQUENCE { + measResultListNR-r16 MeasResultList2NR-r16 OPTIONAL, + measResultListEUTRA-r16 MeasResultList2EUTRA-r16 OPTIONAL + } OPTIONAL, + c-RNTI-r16 RNTI-Value, + previousPCellId-r16 CHOICE { + nrPreviousCell-r16 CGI-Info-Logging-r16, + eutraPreviousCell-r16 CGI-InfoEUTRALogging + } OPTIONAL, + failedPCellId-r16 CHOICE { + nrFailedPCellId-r16 CHOICE { + cellGlobalId-r16 CGI-Info-Logging-r16, + pci-arfcn-r16 SEQUENCE { + physCellId-r16 PhysCellId, + carrierFreq-r16 ARFCN-ValueNR + } + }, + eutraFailedPCellId-r16 CHOICE { + cellGlobalId-r16 CGI-InfoEUTRALogging, + pci-arfcn-r16 SEQUENCE { + physCellId-r16 EUTRA-PhysCellId, + carrierFreq-r16 ARFCN-ValueEUTRA + } + } + }, + reconnectCellId-r16 CHOICE { + nrReconnectCellId-r16 CGI-Info-Logging-r16, + eutraReconnectCellId-r16 CGI-InfoEUTRALogging + } OPTIONAL, + timeUntilReconnection-16 TimeUntilReconnection-16 OPTIONAL, + reestablishmentCellId-r16 CGI-Info-Logging-r16 OPTIONAL, + timeConnFailure-r16 INTEGER (0..1023) OPTIONAL, + timeSinceFailure-r16 TimeSinceFailure-r16, + connectionFailureType-r16 ENUMERATED {rlf, hof}, + rlf-Cause-r16 ENUMERATED {t310-Expiry, randomAccessProblem, rlc-MaxNumRetx, + beamFailureRecoveryFailure, lbtFailure-r16, + bh-rlfRecoveryFailure, spare2, spare1}, + locationInfo-r16 LocationInfo-r16 OPTIONAL, + noSuitableCellFound-r16 ENUMERATED {true} OPTIONAL, + ra-InformationCommon-r16 RA-InformationCommon-r16 OPTIONAL + }, + eutra-RLF-Report-r16 SEQUENCE { + failedPCellId-EUTRA CGI-InfoEUTRALogging, + measResult-RLF-Report-EUTRA-r16 OCTET STRING + } +} + +MeasResultList2NR-r16 ::= SEQUENCE(SIZE (1..maxFreq)) OF MeasResult2NR-r16 +MeasResultList2EUTRA-r16 ::= SEQUENCE(SIZE (1..maxFreq)) OF MeasResult2EUTRA-r16 + +MeasResult2NR-r16 ::= SEQUENCE { + ssbFrequency-r16 ARFCN-ValueNR OPTIONAL, + refFreqCSI-RS-r16 ARFCN-ValueNR OPTIONAL, + measResultList-r16 MeasResultListNR +} + +MeasResultListLogging2NR-r16 ::= SEQUENCE(SIZE (1..maxFreq)) OF MeasResultListLoggingNR-r16 + +MeasResultLogging2NR-r16 ::= SEQUENCE { + carrierFreq-r16 ARFCN-ValueNR, + measResultListLoggingNR-r16 MeasResultListLoggingNR-r16 +} + +MeasResultListLoggingNR-r16 ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultLoggingNR-r16 + +MeasResultLoggingNR-r16 ::= SEQUENCE { + physCellId-r16 PhysCellId, + resultsSSB-Cell-r16 MeasQuantityResults, + numberOfGoodSSB-r16 INTEGER (1..maxNrofSSBs-r16) OPTIONAL +} + +MeasResult2EUTRA-r16 ::= SEQUENCE { + carrierFreq-r16 ARFCN-ValueEUTRA, + measResultList-r16 MeasResultListEUTRA +} + +MeasResultRLFNR-r16 ::= SEQUENCE { + measResult-r16 SEQUENCE { + cellResults-r16 SEQUENCE{ + resultsSSB-Cell-r16 MeasQuantityResults OPTIONAL, + resultsCSI-RS-Cell-r16 MeasQuantityResults OPTIONAL + }, + rsIndexResults-r16 SEQUENCE{ + resultsSSB-Indexes-r16 ResultsPerSSB-IndexList OPTIONAL, + ssbRLMConfigBitmap-r16 BIT STRING (SIZE (64)) OPTIONAL, + resultsCSI-RS-Indexes-r16 ResultsPerCSI-RS-IndexList OPTIONAL, + csi-rsRLMConfigBitmap-r16 BIT STRING (SIZE (96)) OPTIONAL + } OPTIONAL + } +} + +TimeSinceFailure-r16 ::= INTEGER (0..172800) + +MobilityHistoryReport-r16 ::= VisitedCellInfoList-r16 + +TimeUntilReconnection-16 ::= INTEGER (0..172800) + +-- TAG-UEINFORMATIONRESPONSE-STOP +-- TAG-ULDEDICATEDMESSAGESEGMENT-START + +ULDedicatedMessageSegment-r16 ::= SEQUENCE { + criticalExtensions CHOICE { + ulDedicatedMessageSegment-r16 ULDedicatedMessageSegment-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +ULDedicatedMessageSegment-r16-IEs ::= SEQUENCE { + segmentNumber-r16 INTEGER (0..15), + rrc-MessageSegmentContainer-r16 OCTET STRING, + rrc-MessageSegmentType-r16 ENUMERATED {notLastSegment, lastSegment}, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- TAG-ULDEDICATEDMESSAGESEGMENT-STOP -- TAG-ULINFORMATIONTRANSFER-START ULInformationTransfer ::= SEQUENCE { @@ -1058,6 +1889,25 @@ ULInformationTransfer-IEs ::= SEQUENCE { } -- TAG-ULINFORMATIONTRANSFER-STOP +-- TAG-ULINFORMATIONTRANSFERIRAT-START + +ULInformationTransferIRAT-r16 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + ulInformationTransferIRAT-r16 ULInformationTransferIRAT-r16-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +ULInformationTransferIRAT-r16-IEs ::= SEQUENCE { + ul-DCCH-MessageEUTRA-r16 OCTET STRING OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- TAG-ULINFORMATIONTRANSFERIRAT-STOP -- TAG-ULINFORMATIONTRANSFERMRDC-START ULInformationTransferMRDC ::= SEQUENCE { @@ -1081,7 +1931,7 @@ ULInformationTransferMRDC-IEs::= SEQUENCE { -- TAG-SETUPRELEASE-START -- WS modification: asn2wrs does not support this syntax; replace all occurrences --- SetupRelease { ElementTypeParam } ::= CHOICE { +-- CHOICE {release NULL, setup ElementTypeParam } ::= CHOICE { -- release NULL, -- setup ElementTypeParam -- } @@ -1132,9 +1982,32 @@ SIB2 ::= SEQUENCE { ..., [[ t-ReselectionNR-SF SpeedStateScaleFactors OPTIONAL -- Need N + ]], + [[ + smtc2-LP-r16 SSB-MTC2-LP-r16 OPTIONAL, -- Need R + ssb-PositionQCL-Common-r16 SSB-PositionQCL-Relation-r16 OPTIONAL -- Cond SharedSpectrum ]] }, - ... + ..., + [[ + relaxedMeasurement-r16 SEQUENCE { + lowMobilityEvaluation-r16 SEQUENCE { + s-SearchDeltaP-r16 ENUMERATED { + dB3, dB6, dB9, dB12, dB15, + spare3, spare2, spare1}, + t-SearchDeltaP-r16 ENUMERATED { + s5, s10, s20, s30, s60, s120, s180, + s240, s300, spare7, spare6, spare5, + spare4, spare3, spare2, spare1} + } OPTIONAL, -- Need R + cellEdgeEvaluation-r16 SEQUENCE { + s-SearchThresholdP-r16 ReselectionThreshold, + s-SearchThresholdQ-r16 ReselectionThresholdQ OPTIONAL -- Need R + } OPTIONAL, -- Need R + combineRelaxedMeasCondition-r16 ENUMERATED {true} OPTIONAL, -- Need R + highPriorityMeasRelax-r16 ENUMERATED {true} OPTIONAL -- Need R + } OPTIONAL -- Need R + ]] } RangeToBestCell ::= Q-OffsetRange @@ -1143,81 +2016,125 @@ RangeToBestCell ::= Q-OffsetRange -- TAG-SIB3-START SIB3 ::= SEQUENCE { - intraFreqNeighCellList IntraFreqNeighCellList OPTIONAL, -- Need R - intraFreqBlackCellList IntraFreqBlackCellList OPTIONAL, -- Need R - lateNonCriticalExtension OCTET STRING OPTIONAL, - ... + intraFreqNeighCellList IntraFreqNeighCellList OPTIONAL, -- Need R + intraFreqBlackCellList IntraFreqBlackCellList OPTIONAL, -- Need R + lateNonCriticalExtension OCTET STRING OPTIONAL, + ..., + [[ + intraFreqNeighCellList-v1610 IntraFreqNeighCellList-v1610 OPTIONAL, -- Need R + intraFreqWhiteCellList-r16 IntraFreqWhiteCellList-r16 OPTIONAL, -- Cond SharedSpectrum2 + intraFreqCAG-CellList-r16 SEQUENCE (SIZE (1..maxPLMN)) OF IntraFreqCAG-CellPerPLMN-r16 OPTIONAL -- Need R + ]] } + IntraFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo +IntraFreqNeighCellList-v1610::= SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo-v1610 + 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 + q-RxLevMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R + q-RxLevMinOffsetCellSUL INTEGER (1..8) OPTIONAL, -- Need R + q-QualMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R ... } +IntraFreqNeighCellInfo-v1610 ::= SEQUENCE { + ssb-PositionQCL-r16 SSB-PositionQCL-Relation-r16 OPTIONAL -- Cond SharedSpectrum2 +} + IntraFreqBlackCellList ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PCI-Range +IntraFreqWhiteCellList-r16 ::= SEQUENCE (SIZE (1..maxCellWhite)) OF PCI-Range + +IntraFreqCAG-CellPerPLMN-r16 ::= SEQUENCE { + plmn-IdentityIndex-r16 INTEGER (1..maxPLMN), + cag-CellList-r16 SEQUENCE (SIZE (1..maxCAG-Cell-r16)) OF PCI-Range +} + -- TAG-SIB3-STOP -- TAG-SIB4-START SIB4 ::= SEQUENCE { interFreqCarrierFreqList InterFreqCarrierFreqList, lateNonCriticalExtension OCTET STRING OPTIONAL, - ... + ..., + interFreqCarrierFreqList-v1610 InterFreqCarrierFreqList-v1610 OPTIONAL -- Need R } InterFreqCarrierFreqList ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo +InterFreqCarrierFreqList-v1610 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1610 + InterFreqCarrierFreqInfo ::= SEQUENCE { dl-CarrierFreq ARFCN-ValueNR, - frequencyBandList MultiFrequencyBandListNR-SIB OPTIONAL, -- Cond Mandatory - frequencyBandListSUL MultiFrequencyBandListNR-SIB OPTIONAL, -- Need R - nrofSS-BlocksToAverage INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL, -- Need S - absThreshSS-BlocksConsolidation ThresholdNR OPTIONAL, -- Need S - smtc SSB-MTC OPTIONAL, -- Need S + frequencyBandList MultiFrequencyBandListNR-SIB OPTIONAL, -- Cond Mandatory + frequencyBandListSUL MultiFrequencyBandListNR-SIB OPTIONAL, -- Need R + nrofSS-BlocksToAverage INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL, -- Need S + absThreshSS-BlocksConsolidation ThresholdNR OPTIONAL, -- Need S + smtc SSB-MTC OPTIONAL, -- Need S ssbSubcarrierSpacing SubcarrierSpacing, - ssb-ToMeasure SSB-ToMeasure OPTIONAL, -- Need S + ssb-ToMeasure SSB-ToMeasure OPTIONAL, -- Need S deriveSSB-IndexFromCell BOOLEAN, - ss-RSSI-Measurement SS-RSSI-Measurement OPTIONAL, + ss-RSSI-Measurement SS-RSSI-Measurement OPTIONAL, q-RxLevMin Q-RxLevMin, - q-RxLevMinSUL Q-RxLevMin OPTIONAL, -- Need R - q-QualMin Q-QualMin OPTIONAL, -- Need S - p-Max P-Max OPTIONAL, -- Need S + q-RxLevMinSUL Q-RxLevMin OPTIONAL, -- Need R + q-QualMin Q-QualMin OPTIONAL, -- Need S + p-Max P-Max OPTIONAL, -- Need S t-ReselectionNR T-Reselection, - t-ReselectionNR-SF SpeedStateScaleFactors OPTIONAL, -- Need S + t-ReselectionNR-SF SpeedStateScaleFactors OPTIONAL, -- Need S 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 + } 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 ... } +InterFreqCarrierFreqInfo-v1610 ::= SEQUENCE { + interFreqNeighCellList-v1610 InterFreqNeighCellList-v1610 OPTIONAL, -- Need R + smtc2-LP-r16 SSB-MTC2-LP-r16 OPTIONAL, -- Need R + interFreqWhiteCellList-r16 InterFreqWhiteCellList-r16 OPTIONAL, -- Cond SharedSpectrum2 + ssb-PositionQCL-Common-r16 SSB-PositionQCL-Relation-r16 OPTIONAL, -- Cond SharedSpectrum + interFreqCAG-CellList-r16 SEQUENCE (SIZE (1..maxPLMN)) OF InterFreqCAG-CellList-r16 OPTIONAL -- Need R +} + InterFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo +InterFreqNeighCellList-v1610 ::= SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo-v1610 + 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 + q-RxLevMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R + q-RxLevMinOffsetCellSUL INTEGER (1..8) OPTIONAL, -- Need R +-- WS modification: q-QualMinOffsetCell has disappeared from 16.1.0 which breaks backward compatiblity with R15 +-- let's put it back as it seems to be a mistake + q-QualMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R ... +} +InterFreqNeighCellInfo-v1610 ::= SEQUENCE { + ssb-PositionQCL-r16 SSB-PositionQCL-Relation-r16 OPTIONAL -- Cond SharedSpectrum2 } InterFreqBlackCellList ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PCI-Range +InterFreqWhiteCellList-r16 ::= SEQUENCE (SIZE (1..maxCellWhite)) OF PCI-Range + +InterFreqCAG-CellList-r16 ::= SEQUENCE { + plmn-IdentityIndex-r16 INTEGER (1..maxPLMN), + cag-CellList-r16 SEQUENCE (SIZE (1..maxCAG-Cell-r16)) OF PCI-Range +} + -- TAG-SIB4-STOP -- TAG-SIB5-START @@ -1226,11 +2143,16 @@ SIB5 ::= SEQUENCE { t-ReselectionEUTRA T-Reselection, t-ReselectionEUTRA-SF SpeedStateScaleFactors OPTIONAL, -- Need S lateNonCriticalExtension OCTET STRING OPTIONAL, - ... + ..., + [[ + carrierFreqListEUTRA-v1610 CarrierFreqListEUTRA-v1610 OPTIONAL -- Need R + ]] } CarrierFreqListEUTRA ::= SEQUENCE (SIZE (1..maxEUTRA-Carrier)) OF CarrierFreqEUTRA +CarrierFreqListEUTRA-v1610 ::= SEQUENCE (SIZE (1..maxEUTRA-Carrier)) OF CarrierFreqEUTRA-v1610 + CarrierFreqEUTRA ::= SEQUENCE { carrierFreq ARFCN-ValueEUTRA, eutra-multiBandInfoList EUTRA-MultiBandInfoList OPTIONAL, -- Need R @@ -1251,6 +2173,10 @@ CarrierFreqEUTRA ::= SEQUENCE { } OPTIONAL -- Cond RSRQ } +CarrierFreqEUTRA-v1610 ::= SEQUENCE { + highSpeedEUTRACarrier-r16 ENUMERATED {true} OPTIONAL -- Need R +} + EUTRA-FreqBlackCellList ::= SEQUENCE (SIZE (1..maxEUTRA-CellBlack)) OF EUTRA-PhysCellIdRange EUTRA-FreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellEUTRA)) OF EUTRA-FreqNeighCellInfo @@ -1313,10 +2239,192 @@ SIB9 ::= SEQUENCE { localTimeOffset INTEGER (-63..64) OPTIONAL -- Need R } OPTIONAL, -- Need R lateNonCriticalExtension OCTET STRING OPTIONAL, - ... + ..., + [[ + referenceTimeInfo-r16 ReferenceTimeInfo-r16 OPTIONAL -- Need R + ]] } -- TAG-SIB9-STOP +-- TAG-SIB10-START + +SIB10-r16 ::= SEQUENCE { + hrnn-List-r16 HRNN-List-r16 OPTIONAL, -- Need R + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +HRNN-List-r16 ::= SEQUENCE (SIZE (1..maxNPN-r16)) OF HRNN-r16 + +HRNN-r16 ::= SEQUENCE { + hrnn-r16 OCTET STRING (SIZE(1.. maxHRNN-Len-r16)) OPTIONAL -- Need R +} + +-- TAG-SIB10-STOP +-- TAG-SIB11-START + +SIB11-r16 ::= SEQUENCE { + measIdleConfigSIB-r16 MeasIdleConfigSIB-r16 OPTIONAL, -- Need S + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +-- TAG-SIB11-STOP +-- TAG-SIB12-START + +SIB12-r16 ::= SEQUENCE { + segmentNumber-r16 INTEGER (0..63), + segmentType-r16 ENUMERATED {notLastSegment, lastSegment}, + segmentContainer-r16 OCTET STRING +} + +SIB12-IEs-r16 ::= SEQUENCE { + sl-ConfigCommonNR-r16 SL-ConfigCommonNR-r16, + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +SL-ConfigCommonNR-r16 ::= SEQUENCE { + sl-FreqInfoList-r16 SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-FreqConfigCommon-r16 OPTIONAL, -- Need R + sl-UE-SelectedConfig-r16 SL-UE-SelectedConfig-r16 OPTIONAL, -- Need R + sl-NR-AnchorCarrierFreqList-r16 SL-NR-AnchorCarrierFreqList-r16 OPTIONAL, -- Need R + sl-EUTRA-AnchorCarrierFreqList-r16 SL-EUTRA-AnchorCarrierFreqList-r16 OPTIONAL, -- Need R + sl-RadioBearerConfigList-r16 SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SL-RadioBearerConfig-r16 OPTIONAL, -- Need R + sl-RLC-BearerConfigList-r16 SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-BearerConfig-r16 OPTIONAL, -- Need R + sl-MeasConfigCommon-r16 SL-MeasConfigCommon-r16 OPTIONAL, -- Need R + sl-CSI-Acquisition-r16 ENUMERATED {enabled} OPTIONAL, -- Need R + sl-OffsetDFN-r16 INTEGER (1..1000) OPTIONAL, -- Need R + t400-r16 ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000} OPTIONAL, -- Need R + sl-MaxNumConsecutiveDTX-r16 ENUMERATED {n1, n2, n3, n4, n6, n8, n16, n32} OPTIONAL, -- Need R + sl-SSB-PriorityNR-r16 INTEGER (1..8) OPTIONAL -- Need R +} + +SL-NR-AnchorCarrierFreqList-r16 ::= SEQUENCE (SIZE (1..maxFreqSL-NR-r16)) OF ARFCN-ValueNR + +SL-EUTRA-AnchorCarrierFreqList-r16 ::= SEQUENCE (SIZE (1..maxFreqSL-EUTRA-r16)) OF ARFCN-ValueEUTRA + +-- TAG-SIB12-STOP +-- TAG-SIB13-START + +SIB13-r16 ::= SEQUENCE { + sl-V2X-ConfigCommon-r16 OCTET STRING, + sl-Bandwidth-r16 OCTET STRING, + tdd-Config-r16 OCTET STRING, + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +-- TAG-SIB13-STOP +-- TAG-SIB14-START + +SIB14-r16 ::= SEQUENCE { + sl-V2X-ConfigCommonExt-r16 OCTET STRING, + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +-- TAG-SIB14-STOP +-- TAG-POSSYSTEMINFORMATION-R16-IES-START + +PosSystemInformation-r16-IEs ::= SEQUENCE { + posSIB-TypeAndInfo-r16 SEQUENCE (SIZE (1..maxSIB)) OF CHOICE { + posSib1-1-r16 SIBpos-r16, + posSib1-2-r16 SIBpos-r16, + posSib1-3-r16 SIBpos-r16, + posSib1-4-r16 SIBpos-r16, + posSib1-5-r16 SIBpos-r16, + posSib1-6-r16 SIBpos-r16, + posSib1-7-r16 SIBpos-r16, + posSib1-8-r16 SIBpos-r16, + posSib2-1-r16 SIBpos-r16, + posSib2-2-r16 SIBpos-r16, + posSib2-3-r16 SIBpos-r16, + posSib2-4-r16 SIBpos-r16, + posSib2-5-r16 SIBpos-r16, + posSib2-6-r16 SIBpos-r16, + posSib2-7-r16 SIBpos-r16, + posSib2-8-r16 SIBpos-r16, + posSib2-9-r16 SIBpos-r16, + posSib2-10-r16 SIBpos-r16, + posSib2-11-r16 SIBpos-r16, + posSib2-12-r16 SIBpos-r16, + posSib2-13-r16 SIBpos-r16, + posSib2-14-r16 SIBpos-r16, + posSib2-15-r16 SIBpos-r16, + posSib2-16-r16 SIBpos-r16, + posSib2-17-r16 SIBpos-r16, + posSib2-18-r16 SIBpos-r16, + posSib2-19-r16 SIBpos-r16, + posSib2-20-r16 SIBpos-r16, + posSib2-21-r16 SIBpos-r16, + posSib2-22-r16 SIBpos-r16, + posSib2-23-r16 SIBpos-r16, + posSib3-1-r16 SIBpos-r16, + posSib4-1-r16 SIBpos-r16, + posSib5-1-r16 SIBpos-r16, + posSib6-1-r16 SIBpos-r16, + posSib6-2-r16 SIBpos-r16, + posSib6-3-r16 SIBpos-r16, + ... + }, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- TAG-POSSYSTEMINFORMATION-R16-IES-STOP +-- TAG-POSSI-SCHEDULINGINFO-START + +PosSI-SchedulingInfo-r16 ::= SEQUENCE { + posSchedulingInfoList-r16 SEQUENCE (SIZE (1..maxSI-Message)) OF PosSchedulingInfo-r16, + posSI-RequestConfig-r16 SI-RequestConfig OPTIONAL, -- Cond MSG-1 + posSI-RequestConfigSUL-r16 SI-RequestConfig OPTIONAL, -- Cond SUL-MSG-1 + ... +} + +PosSchedulingInfo-r16 ::= SEQUENCE { + offsetToSI-Used-r16 ENUMERATED {true} OPTIONAL, -- Need R + posSI-Periodicity-r16 ENUMERATED {rf8, rf16, rf32, rf64, rf128, rf256, rf512}, + posSI-BroadcastStatus-r16 ENUMERATED {broadcasting, notBroadcasting}, + posSIB-MappingInfo-r16 PosSIB-MappingInfo-r16, + ... +} + +PosSIB-MappingInfo-r16 ::= SEQUENCE (SIZE (1..maxSIB)) OF PosSIB-Type-r16 + +PosSIB-Type-r16 ::= SEQUENCE { + encrypted-r16 ENUMERATED { true } OPTIONAL, -- Need R + gnss-id-r16 GNSS-ID-r16 OPTIONAL, -- Need R + sbas-id-r16 SBAS-ID-r16 OPTIONAL, -- Need R + posSibType-r16 ENUMERATED { posSibType1-1, posSibType1-2, posSibType1-3, posSibType1-4, posSibType1-5, posSibType1-6, + posSibType1-7, posSibType1-8, posSibType2-1, posSibType2-2, posSibType2-3, posSibType2-4, + posSibType2-5, posSibType2-6, posSibType2-7, posSibType2-8, posSibType2-9, posSibType2-10, + posSibType2-11, posSibType2-12, posSibType2-13, posSibType2-14, posSibType2-15, + posSibType2-16, posSibType2-17, posSibType2-18, posSibType2-19, posSibType2-20, + posSibType2-21, posSibType2-22, posSibType2-23, posSibType3-1, posSibType4-1, + posSibType5-1,posSibType6-1, posSibType6-2, posSibType6-3,... }, + areaScope-r16 ENUMERATED {true} OPTIONAL -- Need S +} + +GNSS-ID-r16 ::= SEQUENCE { + gnss-id-r16 ENUMERATED{gps, sbas, qzss, galileo, glonass, bds, ...}, + ... +} + +SBAS-ID-r16 ::= SEQUENCE { + sbas-id-r16 ENUMERATED { waas, egnos, msas, gagan, ...}, + ... +} + +-- TAG-POSSI-SCHEDULINGINFO-STOP +-- TAG-SIPOS-START + +SIBpos-r16 ::= SEQUENCE { + assistanceDataSIB-Element-r16 OCTET STRING, + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +-- TAG-SIPOS-STOP -- TAG-ADDITIONALSPECTRUMEMISSION-START AdditionalSpectrumEmission ::= INTEGER (0..7) @@ -1342,6 +2450,52 @@ ARFCN-ValueEUTRA ::= INTEGER (0..maxEARFCN) ARFCN-ValueNR ::= INTEGER (0..maxNARFCN) -- TAG-ARFCN-VALUENR-STOP +-- TAG-ARFCN-ValueUTRA-FDD-START + +ARFCN-ValueUTRA-FDD-r16 ::= INTEGER (0..16383) + +-- TAG-ARFCN-ValueUTRA-FDD-STOP +-- TAG-AVAILABILITYCOMBINATIONSPERCELL-START + +AvailabilityCombinationsPerCell-r16 ::= SEQUENCE { + availabilityCombinationsPerCellIndex-r16 AvailabilityCombinationsPerCellIndex-r16, + iab-DU-CellIdentity-r16 CellIdentity, + positionInDCI-AI-r16 INTEGER(0..maxAI-DCI-PayloadSize-r16-1) OPTIONAL, -- Need M + availabilityCombinations-r16 SEQUENCE (SIZE (1..maxNrofAvailabilityCombinationsPerSet-r16)) OF AvailabilityCombination-r16, + ... +} + +AvailabilityCombinationsPerCellIndex-r16 ::= INTEGER(0..maxNrofDUCells-r16) + +AvailabilityCombination-r16 ::= SEQUENCE { + availabilityCombinationId-r16 AvailabilityCombinationId-r16, + resourceAvailability-r16 SEQUENCE (SIZE (1..maxNrofResourceAvailabilityPerCombination-r16)) OF INTEGER (0..7) +} + +AvailabilityCombinationId-r16 ::= INTEGER (0..maxNrofAvailabilityCombinationsPerSet-r16-1) + +-- TAG-AVAILABILITYCOMBINATIONSPERCELL-STOP +-- TAG-AVAILABILITYINDICATOR-START + +AvailabilityIndicator-r16 ::= SEQUENCE { + ai-RNTI-r16 AI-RNTI-r16, + dci-PayloadSizeAI-r16 INTEGER (1..maxAI-DCI-PayloadSize-r16), + availableCombToAddModList-r16 SEQUENCE (SIZE(1..maxNrofDUCells-r16)) OF AvailabilityCombinationsPerCell-r16 OPTIONAL, -- Need N + availableCombToReleaseList-r16 SEQUENCE (SIZE(1..maxNrofDUCells-r16)) OF AvailabilityCombinationsPerCellIndex-r16 OPTIONAL, -- Need N + ... +} + +AI-RNTI-r16 ::= RNTI-Value + +-- TAG-AVAILABILITYINDICATOR-STOP +-- TAG-BAPROUTINGID-START + +BAP-Routing-ID-r16::= SEQUENCE{ + bap-Address-r16 BIT STRING (SIZE (10)), + bap-PathId-r16 BIT STRING (SIZE (10)) +} + +-- TAG-BAPROUTINGID-STOP -- TAG-BEAMFAILURERECOVERYCONFIG-START BeamFailureRecoveryConfig ::= SEQUENCE { @@ -1358,6 +2512,10 @@ BeamFailureRecoveryConfig ::= SEQUENCE { ..., [[ msg1-SubcarrierSpacing SubcarrierSpacing OPTIONAL -- Need M + ]], + [[ + ra-PrioritizationTwoStep-r16 RA-Prioritization OPTIONAL, -- Need R + candidateBeamRSListExt-v1610 CHOICE {release NULL, setup CandidateBeamRSListExt-r16 } OPTIONAL -- Need M ]] } @@ -1379,7 +2537,26 @@ BFR-CSIRS-Resource ::= SEQUENCE { ... } +CandidateBeamRSListExt-r16::= SEQUENCE (SIZE(1.. maxNrofCandidateBeamsExt-r16)) OF PRACH-ResourceDedicatedBFR + -- TAG-BEAMFAILURERECOVERYCONFIG-STOP +-- TAG-BEAMFAILURERECOVERYSCELLCONFIG-START + +BeamFailureRecoverySCellConfig-r16 ::= SEQUENCE { + rsrp-ThresholdBFR-r16 RSRP-Range OPTIONAL, -- Need M + candidateBeamRSSCellList-r16 SEQUENCE (SIZE(1..maxNrofCandidateBeams-r16)) OF CandidateBeamRS-r16 OPTIONAL, -- Need M + ... +} + +CandidateBeamRS-r16 ::= SEQUENCE { + candidateBeamConfig-r16 CHOICE { + ssb-r16 SSB-Index, + csi-RS-r16 NZP-CSI-RS-ResourceId + }, + servingCellId ServCellIndex OPTIONAL -- Need R +} + +-- TAG-BEAMFAILURERECOVERYSCELLCONFIG-STOP -- TAG-BETAOFFSETS-START BetaOffsets ::= SEQUENCE { @@ -1393,6 +2570,36 @@ BetaOffsets ::= SEQUENCE { } -- TAG-BETAOFFSETS-STOP +-- TAG-BH-RLCCHANNELCONFIG-START + +BH-RLC-ChannelConfig-r16::= SEQUENCE { + bh-LogicalChannelIdentity-r16 BH-LogicalChannelIdentity-r16 OPTIONAL, -- Cond LCH-SetupOnly + bh-RLC-ChannelID-r16 BH-RLC-ChannelID-r16, + reestablishRLC-r16 ENUMERATED {true} OPTIONAL, -- Need N + rlc-Config-r16 RLC-Config OPTIONAL, -- Cond LCH-Setup + mac-LogicalChannelConfig-r16 LogicalChannelConfig OPTIONAL, -- Cond LCH-Setup + ... +} + +-- TAG-BH-RLCCHANNELCONFIG-STOP +-- TAG-BH-LOGICALCHANNELIDENTITY-START + +BH-LogicalChannelIdentity-r16 ::= CHOICE { + bh-LogicalChannelIdentity-r16 LogicalChannelIdentity, + bh-LogicalChannelIdentityExt-r16 BH-LogicalChannelIdentity-Ext-r16 +} + +-- TAG-BH-LOGICALCHANNELIDENTITY-STOP +-- TAG-BH-LOGICALCHANNELIDENTITY-Ext-START + +BH-LogicalChannelIdentity-Ext-r16 ::= INTEGER (33.. maxLC-ID-Iab-r16) + +-- TAG-BH-LOGICALCHANNELIDENTITY-Ext-STOP +-- TAG-BHRLCCHANNELID-START + +BH-RLC-ChannelID-r16 ::= BIT STRING (SIZE (16)) + +-- TAG-BHRLCCHANNELID-STOP -- TAG-BSR-CONFIG-START BSR-Config ::= SEQUENCE { @@ -1400,7 +2607,7 @@ BSR-Config ::= SEQUENCE { 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 + logicalChannelSR-DelayTimer ENUMERATED { sf20, sf40, sf64, sf128, sf512, sf1024, sf2560, spare1} OPTIONAL, -- Need R ... } @@ -1429,8 +2636,8 @@ BWP-Downlink ::= SEQUENCE { BWP-DownlinkCommon ::= SEQUENCE { genericParameters BWP, - pdcch-ConfigCommon CHOICE {release NULL, setup PDCCH-ConfigCommon } OPTIONAL, -- Need M - pdsch-ConfigCommon CHOICE {release NULL, setup PDSCH-ConfigCommon } OPTIONAL, -- Need M + pdcch-ConfigCommon CHOICE {release NULL, setup PDCCH-ConfigCommon } OPTIONAL, -- Need M + pdsch-ConfigCommon CHOICE {release NULL, setup PDSCH-ConfigCommon } OPTIONAL, -- Need M ... } @@ -1438,13 +2645,29 @@ BWP-DownlinkCommon ::= SEQUENCE { -- 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 - ... + 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 + ..., + [[ + sps-ConfigToAddModList-r16 SPS-ConfigToAddModList-r16 OPTIONAL, -- Need N + sps-ConfigToReleaseList-r16 SPS-ConfigToReleaseList-r16 OPTIONAL, -- Need N + sps-ConfigDeactivationStateList-r16 SPS-ConfigDeactivationStateList-r16 OPTIONAL, -- Need R + beamFailureRecoverySCellConfig-r16 CHOICE {release NULL, setup BeamFailureRecoverySCellConfig-r16} OPTIONAL, -- Cond SCellOnly + sl-PDCCH-Config-r16 CHOICE {release NULL, setup PDCCH-Config } OPTIONAL, -- Need M + sl-V2X-PDCCH-Config-r16 CHOICE {release NULL, setup PDCCH-Config } OPTIONAL -- Need M + ]] } +SPS-ConfigToAddModList-r16 ::= SEQUENCE (SIZE (1..maxNrofSPS-Config-r16)) OF SPS-Config + +SPS-ConfigToReleaseList-r16 ::= SEQUENCE (SIZE (1..maxNrofSPS-Config-r16)) OF SPS-ConfigIndex-r16 + +SPS-ConfigDeactivationState-r16 ::= SEQUENCE (SIZE (1..maxNrofSPS-Config-r16)) OF SPS-ConfigIndex-r16 + +SPS-ConfigDeactivationStateList-r16 ::= SEQUENCE (SIZE (1..maxNrofSPS-DeactivationState)) OF SPS-ConfigDeactivationState-r16 + -- TAG-BWP-DOWNLINKDEDICATED-STOP -- TAG-BWP-ID-START @@ -1465,31 +2688,61 @@ BWP-Uplink ::= SEQUENCE { 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 - ... + 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 + ..., + [[ + rach-ConfigCommonIAB-r16 CHOICE {release NULL, setup RACH-ConfigCommon } OPTIONAL, -- Need M + useInterlacePUCCH-PUSCH-r16 ENUMERATED {enabled} OPTIONAL, -- Need R + msgA-ConfigCommon-r16 CHOICE {release NULL, setup MsgA-ConfigCommon-r16 } OPTIONAL -- Cond SpCellOnly2 + ]] } -- 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 - ... + 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 + ..., + [[ + sl-PUCCH-Config-r16 CHOICE {release NULL, setup PUCCH-Config } OPTIONAL, -- Need M + cp-ExtensionC2-r16 INTEGER (1..28) OPTIONAL, -- Need R + cp-ExtensionC3-r16 INTEGER (1..28) OPTIONAL, -- Need R + useInterlacePUCCH-PUSCH-r16 ENUMERATED {enabled} OPTIONAL, -- Need R + pucch-ConfigurationList-r16 CHOICE {release NULL, setup PUCCH-ConfigurationList-r16 } OPTIONAL, -- Need M + lbt-FailureRecoveryConfig-r16 CHOICE {release NULL, setup LBT-FailureRecoveryConfig-r16 } OPTIONAL, -- Need M + configuredGrantConfigToAddModList-r16 ConfiguredGrantConfigToAddModList-r16 OPTIONAL, -- Need N + configuredGrantConfigToReleaseList-r16 ConfiguredGrantConfigToReleaseList-r16 OPTIONAL, -- Need N + configuredGrantConfigType2DeactivationStateList-r16 ConfiguredGrantConfigType2DeactivationStateList-r16 OPTIONAL -- Need R + ]] + } +ConfiguredGrantConfigToAddModList-r16 ::= SEQUENCE (SIZE (1..maxNrofConfiguredGrantConfig-r16)) OF ConfiguredGrantConfig + +ConfiguredGrantConfigToReleaseList-r16 ::= SEQUENCE (SIZE (1..maxNrofConfiguredGrantConfig-r16)) OF ConfiguredGrantConfigIndex-r16 + +ConfiguredGrantConfigType2DeactivationState-r16 ::= SEQUENCE (SIZE (1..maxNrofConfiguredGrantConfig-r16)) OF ConfiguredGrantConfigIndex-r16 + +ConfiguredGrantConfigType2DeactivationStateList-r16 ::= + SEQUENCE (SIZE (1..maxNrofCG-Type2DeactivationState)) OF ConfiguredGrantConfigType2DeactivationState-r16 + -- TAG-BWP-UPLINKDEDICATED-STOP -- TAG-CELLACCESSRELATEDINFO-START CellAccessRelatedInfo ::= SEQUENCE { plmn-IdentityList PLMN-IdentityInfoList, - cellReservedForOtherUse ENUMERATED {true} OPTIONAL, -- Need R - ... + cellReservedForOtherUse ENUMERATED {true} OPTIONAL, -- Need R + ..., + [[ + cellReservedForFutureUse-r16 ENUMERATED {true} OPTIONAL, -- Need R + npn-IdentityInfoList-r16 NPN-IdentityInfoList-r16 OPTIONAL -- Need R + ]] } -- TAG-CELLACCESSRELATEDINFO-STOP @@ -1511,7 +2764,7 @@ PLMN-Identity-EUTRA-5GC ::= CHOICE { CellIdentity-EUTRA-5GC ::= CHOICE { cellIdentity-EUTRA BIT STRING (SIZE (28)), -cellId-index INTEGER (1..maxPLMN) + cellId-index INTEGER (1..maxPLMN) } -- TAG-CELLACCESSRELATEDINFOEUTRA-5GC-STOP @@ -1529,22 +2782,29 @@ PLMN-IdentityList-EUTRA-EPC::= SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Ide -- TAG-CELLGROUPCONFIG-START -- Configuration of one Cell-Group: -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 - - mac-CellGroupConfig MAC-CellGroupConfig 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 +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 + mac-CellGroupConfig MAC-CellGroupConfig 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 ..., [[ - reportUplinkTxDirectCurrent ENUMERATED {true} OPTIONAL -- Cond BWP-Reconfig + reportUplinkTxDirectCurrent ENUMERATED {true} OPTIONAL -- Cond BWP-Reconfig + ]], + [[ + bap-Address-r16 BIT STRING (SIZE (10)) OPTIONAL, -- Need M + bh-RLC-ChannelToAddModList-r16 SEQUENCE (SIZE(1..maxBH-RLC-ChannelID-r16)) OF BH-RLC-ChannelConfig-r16 OPTIONAL, -- Need N + bh-RLC-ChannelToReleaseList-r16 SEQUENCE (SIZE(1..maxBH-RLC-ChannelID-r16)) OF BH-RLC-ChannelID-r16 OPTIONAL, -- Need N + f1c-TransferPath-r16 ENUMERATED {lte, nr, both} OPTIONAL, -- Need M + simultaneousTCI-UpdateList1-r16 SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex OPTIONAL, -- Need R + simultaneousTCI-UpdateList2-r16 SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex OPTIONAL, -- Need R + simultaneousSpatial-UpdatedList1-r16 SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex OPTIONAL, -- Need R + simultaneousSpatial-UpdatedList2-r16 SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex OPTIONAL, -- Need R + uplinkTxSwitchingOption-r16 ENUMERATED {switchedUL, dualUL} OPTIONAL -- Need R ]] } @@ -1552,14 +2812,14 @@ CellGroupConfig ::= SEQUENCE { SpCellConfig ::= SEQUENCE { servCellIndex ServCellIndex OPTIONAL, -- Cond SCG reconfigurationWithSync ReconfigurationWithSync OPTIONAL, -- Cond ReconfWithSync - rlf-TimersAndConstants CHOICE {release NULL, setup RLF-TimersAndConstants } OPTIONAL, -- Need M + rlf-TimersAndConstants CHOICE {release NULL, setup RLF-TimersAndConstants } OPTIONAL, -- Need M rlmInSyncOutOfSyncThreshold ENUMERATED {n1} OPTIONAL, -- Need S spCellConfigDedicated ServingCellConfig OPTIONAL, -- Need M ... } ReconfigurationWithSync ::= SEQUENCE { - spCellConfigCommon ServingCellConfigCommon OPTIONAL, -- Need M + spCellConfigCommon ServingCellConfigCommon OPTIONAL, -- Need M newUE-Identity RNTI-Value, t304 ENUMERATED {ms50, ms100, ms150, ms200, ms500, ms1000, ms2000, ms10000}, rach-ConfigDedicated CHOICE { @@ -1569,9 +2829,18 @@ ReconfigurationWithSync ::= SEQUENCE { ..., [[ smtc SSB-MTC OPTIONAL -- Need S + ]], + [[ + daps-UplinkPowerConfig-r16 DAPS-UplinkPowerConfig-r16 OPTIONAL -- Need N ]] } +DAPS-UplinkPowerConfig-r16 ::= SEQUENCE { + p-DAPS-Source-r16 P-Max, + p-DAPS-Target-r16 P-Max, + uplinkPowerSharingDAPS-Mode-r16 ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic } +} + SCellConfig ::= SEQUENCE { sCellIndex SCellIndex, sCellConfigCommon ServingCellConfigCommon OPTIONAL, -- Cond SCellAdd @@ -1579,8 +2848,11 @@ SCellConfig ::= SEQUENCE { ..., [[ smtc SSB-MTC OPTIONAL -- Need S - ]] -} + ]], + [[ + sCellState-r16 ENUMERATED {activated} OPTIONAL, -- Cond SCellAddSync + secondaryDRX-GroupConfig-r16 ENUMERATED {true} OPTIONAL -- Cond DRX-Config2 + ]]} -- TAG-CELLGROUPCONFIG-STOP -- TAG-CELLGROUPID-START @@ -1605,10 +2877,10 @@ CellReselectionSubPriority ::= ENUMERATED {oDot2, oDot4, oDot6, oDot8} -- TAG-CELLRESELECTIONSUBPRIORITY-STOP -- TAG-CGI-INFOEUTRA-START -CGI-InfoEUTRA ::= SEQUENCE { +CGI-InfoEUTRA ::= 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 + 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, @@ -1617,6 +2889,18 @@ CGI-InfoEUTRA ::= SEQUENCE { } -- TAG-CGI-INFOEUTRA-STOP +-- TAG-CGI-INFOEUTRALOGGING-START + +CGI-InfoEUTRALogging ::= SEQUENCE { + plmn-Identity-eutra-5gc PLMN-Identity OPTIONAL, + trackingAreaCode-eutra-5gc TrackingAreaCode OPTIONAL, + cellIdentity-eutra-5gc BIT STRING (SIZE (28)) OPTIONAL, + plmn-Identity-eutra-epc PLMN-Identity OPTIONAL, + trackingAreaCode-eutra-epc BIT STRING (SIZE (16)) OPTIONAL, + cellIdentity-eutra-epc BIT STRING (SIZE (28)) OPTIONAL +} + +-- TAG-CGI-INFOEUTRALOGGING-STOP -- TAG-CGI-INFO-NR-START CGI-InfoNR ::= SEQUENCE { @@ -1626,10 +2910,27 @@ CGI-InfoNR ::= SEQUENCE { ssb-SubcarrierOffset INTEGER (0..15), pdcch-ConfigSIB1 PDCCH-ConfigSIB1 } OPTIONAL, - ... + ..., + [[ + npn-IdentityInfoList-r16 NPN-IdentityInfoList-r16 OPTIONAL + ]] } -- TAG-CGI-INFO-NR-STOP +-- TAG-CGI-INFO-LOGGING-START + +CGI-Info-Logging-r16 ::= SEQUENCE { + plmn-Identity-r16 PLMN-Identity, + cellIdentity-r16 CellIdentity, + trackingAreaCode-r16 TrackingAreaCode OPTIONAL +} + +-- TAG-CGI-INFO-LOGGING-STOP +-- TAG-CLI-RSSI-RANGE-START + +CLI-RSSI-Range-r16 ::= INTEGER(0..76) + +-- TAG-CLI-RSSI-RANGE-STOP -- TAG-CODEBOOKCONFIG-START CodebookConfig ::= SEQUENCE { @@ -1711,7 +3012,81 @@ CodebookConfig ::= SEQUENCE { } } +CodebookConfig-r16 ::= SEQUENCE { + codebookType CHOICE { + type2 SEQUENCE { + subType CHOICE { + typeII-r16 SEQUENCE { + n1-n2-codebookSubsetRestriction-r16 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-r16 BIT STRING (SIZE(4)) + }, + typeII-PortSelection-r16 SEQUENCE { + portSelectionSamplingSize-r16 ENUMERATED {n1, n2, n3, n4}, + typeII-PortSelectionRI-Restriction-r16 BIT STRING (SIZE (4)) + } + }, + numberOfPMI-SubbandsPerCQI-Subband-r16 INTEGER (1..2), + paramCombination-r16 INTEGER (1..8) + } + } +} + -- TAG-CODEBOOKCONFIG-STOP +-- TAG-COMMONLOCATIONINFO-START + +CommonLocationInfo-r16 ::= SEQUENCE { + gnss-TOD-msec-r16 OCTET STRING OPTIONAL, + locationTimestamp-r16 OCTET STRING OPTIONAL, + locationCoordinate-r16 OCTET STRING OPTIONAL, + locationError-r16 OCTET STRING OPTIONAL, + locationSource-r16 OCTET STRING OPTIONAL, + velocityEstimate-r16 OCTET STRING OPTIONAL +} + +-- TAG-COMMONLOCATIONINFO-STOP +-- TAG-CONDRECONFIGID-START + +CondReconfigId-r16 ::= INTEGER (1.. maxNrofCondCells-r16) + +-- TAG-CONDRECONFIGID-STOP +-- TAG-CONDRECONFIGTOADDMODLIST-START + +CondReconfigToAddModList-r16 ::= SEQUENCE (SIZE (1.. maxNrofCondCells-r16)) OF CondReconfigToAddMod-r16 + +CondReconfigToAddMod-r16 ::= SEQUENCE { + condReconfigId-r16 CondReconfigId-r16, + condExecutionCond-r16 SEQUENCE (SIZE (1..2)) OF MeasId OPTIONAL, -- Cond condReconfigAdd + condRRCReconfig-r16 OCTET STRING (CONTAINING RRCReconfiguration) OPTIONAL, -- Cond condReconfigAdd + ... +} + +-- TAG-CONDRECONFIGTOADDMODLIST-STOP +-- TAG-CONDITIONALRECONFIGURATION-START + +ConditionalReconfiguration-r16 ::= SEQUENCE { + attemptCondReconfig-r16 ENUMERATED {true} OPTIONAL, -- Cond PCell + condReconfigToRemoveList-r16 CondReconfigToRemoveList-r16 OPTIONAL, -- Need N + condReconfigToAddModList-r16 CondReconfigToAddModList-r16 OPTIONAL, -- Need N + ... +} + +CondReconfigToRemoveList-r16 ::= SEQUENCE (SIZE (1.. maxNrofCondCells-r16)) OF CondReconfigId-r16 + +-- TAG-CONDITIONALRECONFIGURATION-STOP -- TAG-CONFIGUREDGRANTCONFIG-START ConfiguredGrantConfig ::= SEQUENCE { @@ -1719,7 +3094,7 @@ ConfiguredGrantConfig ::= SEQUENCE { 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 + 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}, @@ -1736,21 +3111,49 @@ ConfiguredGrantConfig ::= SEQUENCE { 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), - ... + 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), + ..., + [[ + pusch-RepTypeIndicator-r16 ENUMERATED {pusch-RepTypeA,pusch-RepTypeB} OPTIONAL, -- Need M + frequencyHoppingPUSCH-RepTypeB-r16 ENUMERATED {interRepetition, interSlot} OPTIONAL, -- Cond RepTypeB + timeReferenceSFN-r16 ENUMERATED {sfn512} OPTIONAL -- Need S + ]] } OPTIONAL, -- Need R - ... + ..., + [[ + cg-RetransmissionTimer-r16 INTEGER (1..64) OPTIONAL, -- Need R + cg-minDFI-Delay-r16 ENUMERATED + {sym7, sym1x14, sym2x14, sym3x14, sym4x14, sym5x14, sym6x14, sym7x14, sym8x14, + sym9x14, sym10x14, sym11x14, sym12x14, sym13x14, sym14x14,sym15x14, sym16x14 + } OPTIONAL, -- Need R + cg-nrofPUSCH-InSlot-r16 INTEGER (1..7) OPTIONAL, -- Need R + cg-nrofSlots-r16 INTEGER (1..40) OPTIONAL, -- Need R + cg-StartingOffsets-r16 CG-StartingOffsets-r16 OPTIONAL, -- Need R + cg-UCI-Multiplexing ENUMERATED {enabled} OPTIONAL, -- Need R + cg-COT-SharingOffset-r16 INTEGER (1..39) OPTIONAL, -- Need R + betaOffsetCG-UCI-r16 INTEGER (0.. 31) OPTIONAL, -- Need R + cg-COT-SharingList-r16 SEQUENCE (SIZE (1..1709)) OF CG-COT-Sharing-r16 OPTIONAL, -- Need R + harq-ProcID-Offset-r16 INTEGER (0..15) OPTIONAL, -- Need M + harq-ProcID-Offset2-r16 INTEGER (0..15) OPTIONAL, -- Need M + configuredGrantConfigIndex-r16 ConfiguredGrantConfigIndex-r16 OPTIONAL, -- Cond CG-List + configuredGrantConfigIndexMAC-r16 ConfiguredGrantConfigIndexMAC-r16 OPTIONAL, -- Cond CG-List + periodicityExt-r16 INTEGER (1..5120) OPTIONAL, -- Need R + startingFromRV0-r16 ENUMERATED {on, off} OPTIONAL, -- Need R + phy-PriorityIndex-r16 ENUMERATED {p0, p1} OPTIONAL, -- Need R + autonomousTx-r16 ENUMERATED {enabled} OPTIONAL -- Cond LCH-BasedPrioritization + ]] + } CG-UCI-OnPUSCH ::= CHOICE { @@ -1758,7 +3161,33 @@ CG-UCI-OnPUSCH ::= CHOICE { semiStatic BetaOffsets } +CG-COT-Sharing-r16 ::= CHOICE { + noCOT-Sharing-r16 NULL, + cot-Sharing-r16 SEQUENCE { + duration-r16 INTEGER (1.. 39), + offset-r16 INTEGER (1.. 39), + channelAccessPriority-r16 INTEGER (1..4) + } +} + +CG-StartingOffsets-r16 ::= SEQUENCE { + cg-StartingFullBW-InsideCOT-r16 SEQUENCE (SIZE (1..7)) OF INTEGER (0..6) OPTIONAL, -- Need R + cg-StartingFullBW-OutsideCOT-r16 SEQUENCE (SIZE (1..7)) OF INTEGER (0..6) OPTIONAL, -- Need R + cg-StartingPartialBW-InsideCOT-r16 INTEGER (0..6) OPTIONAL, -- Need R + cg-StartingPartialBW-OutsideCOT-r16 INTEGER (0..6) OPTIONAL -- Need R +} + -- TAG-CONFIGUREDGRANTCONFIG-STOP +-- TAG-CONFIGUREDGRANTCONFIGINDEX-START + +ConfiguredGrantConfigIndex-r16 ::= INTEGER (0.. maxNrofConfiguredGrantConfig-r16-1) + +-- TAG-CONFIGUREDGRANTCONFIGINDEX-STOP +-- TAG-CONFIGUREDGRANTCONFIGINDEXMAC-START + +ConfiguredGrantConfigIndexMAC-r16 ::= INTEGER (0.. maxNrofConfiguredGrantConfigMAC-r16-1) + +-- TAG-CONFIGUREDGRANTCONFIGINDEXMAC-STOP -- TAG-CONNESTFAILURECONTROL-START ConnEstFailureControl ::= SEQUENCE { @@ -1788,7 +3217,13 @@ ControlResourceSet ::= SEQUENCE { tci-StatesPDCCH-ToReleaseList SEQUENCE(SIZE (1..maxNrofTCI-StatesPDCCH)) OF TCI-StateId OPTIONAL, -- Cond NotSIB1-initialBWP tci-PresentInDCI ENUMERATED {enabled} OPTIONAL, -- Need S pdcch-DMRS-ScramblingID INTEGER (0..65535) OPTIONAL, -- Need S - ... + ..., + [[ + rb-Offset-r16 INTEGER (0..5) OPTIONAL, -- Need S + tci-PresentForDCI-Format1-2-r16 INTEGER (1..3) OPTIONAL, -- Need S + coresetPoolIndex-r16 INTEGER (0..1) OPTIONAL, -- Need S + controlResourceSetId-v1610 ControlResourceSetId-v1610 OPTIONAL -- Need S + ]] } -- TAG-CONTROLRESOURCESET-STOP @@ -1796,6 +3231,10 @@ ControlResourceSet ::= SEQUENCE { ControlResourceSetId ::= INTEGER (0..maxNrofControlResourceSets-1) +ControlResourceSetId-r16 ::= INTEGER (0..maxNrofControlResourceSets-1-r16) + +ControlResourceSetId-v1610 ::= INTEGER (maxNrofControlResourceSets..maxNrofControlResourceSets-1-r16) + -- TAG-CONTROLRESOURCESETID-STOP -- TAG-CONTROLRESOURCESETZERO-START @@ -1814,7 +3253,13 @@ CrossCarrierSchedulingConfig ::= SEQUENCE { cif-InSchedulingCell INTEGER (1..7) } }, - ... + ..., + [[ + carrierIndicatorSize SEQUENCE { + carrierIndicatorSizeForDCI-Format1-2-r16 INTEGER (0..3), + carrierIndicatorSizeForDCI-Format0-2-r16 INTEGER (0..3) + } OPTIONAL -- Cond CIF-PRESENCE + ]] } -- TAG-CrossCarrierSchedulingConfig-STOP @@ -1833,14 +3278,14 @@ CSI-AssociatedReportConfigInfo ::= SEQUENCE { 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 + OPTIONAL -- Cond Aperiodic }, csi-SSB-ResourceSet INTEGER (1..maxNrofCSI-SSB-ResourceSetsPerConfig) }, csi-IM-ResourcesForInterference INTEGER(1..maxNrofCSI-IM-ResourceSetsPerConfig) - OPTIONAL, -- Cond CSI-IM-ForInterference + OPTIONAL, -- Cond CSI-IM-ForInterference nzp-CSI-RS-ResourcesForInterference INTEGER (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig) - OPTIONAL, -- Cond NZP-CSI-RS-ForInterference + OPTIONAL, -- Cond NZP-CSI-RS-ForInterference ... } @@ -1915,9 +3360,12 @@ CSI-MeasConfig ::= SEQUENCE { 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 - ... + aperiodicTriggerStateList CHOICE {release NULL, setup CSI-AperiodicTriggerStateList } OPTIONAL, -- Need M + semiPersistentOnPUSCH-TriggerStateList CHOICE {release NULL, setup CSI-SemiPersistentOnPUSCH-TriggerStateList } OPTIONAL, -- Need M + ..., + [[ + reportTriggerSizeForDCI-Format0-2-r16 INTEGER (0..6) OPTIONAL -- Need R + ]] } -- TAG-CSI-MEASCONFIG-STOP @@ -2002,6 +3450,25 @@ CSI-ReportConfig ::= SEQUENCE { semiPersistentOnPUSCH-v1530 SEQUENCE { reportSlotConfig-v1530 ENUMERATED {sl4, sl8, sl16} } OPTIONAL -- Need R + ]], + [[ + semiPersistentOnPUSCH-v1610 SEQUENCE { + reportSlotOffsetListForDCI-Format0-2-r16 SEQUENCE (SIZE (1.. maxNrofUL-Allocations-r16)) OF INTEGER(0..32) + OPTIONAL, -- Need R + reportSlotOffsetListForDCI-Format0-1-r16 SEQUENCE (SIZE (1.. maxNrofUL-Allocations-r16)) OF INTEGER(0..32) + OPTIONAL -- Need R + } OPTIONAL, -- Need R + aperiodic-v1610 SEQUENCE { + reportSlotOffsetListForDCI-Format0-2-r16 SEQUENCE (SIZE (1.. maxNrofUL-Allocations-r16)) OF INTEGER(0..32) + OPTIONAL, -- Need R + reportSlotOffsetListForDCI-Format0-1-r16 SEQUENCE (SIZE (1.. maxNrofUL-Allocations-r16)) OF INTEGER(0..32) + OPTIONAL -- Need R + } OPTIONAL, -- Need R + reportQuantity-r16 CHOICE { + cri-SINR-r16 NULL, + ssb-Index-SINR-r16 NULL + } OPTIONAL, -- Need R + codebookConfig-r16 CodebookConfig-r16 OPTIONAL -- Need R ]] } @@ -2063,10 +3530,8 @@ 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 + 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 }, @@ -2175,11 +3640,10 @@ CSI-RS-ResourceMapping ::= SEQUENCE { -- 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, ... } @@ -2211,8 +3675,12 @@ DMRS-DownlinkConfig ::= SEQUENCE { 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 - ... + phaseTrackingRS CHOICE {release NULL, setup PTRS-DownlinkConfig } OPTIONAL, -- Need M + ..., + [[ + dmrs-Downlink-r16 ENUMERATED {enabled} OPTIONAL -- Need R + ]] + } -- TAG-DMRS-DOWNLINKCONFIG-STOP @@ -2221,22 +3689,33 @@ DMRS-DownlinkConfig ::= SEQUENCE { DMRS-UplinkConfig ::= SEQUENCE { dmrs-Type ENUMERATED {type2} OPTIONAL, -- Need S dmrs-AdditionalPosition ENUMERATED {pos0, pos1, pos3} OPTIONAL, -- Need S - phaseTrackingRS CHOICE {release NULL, setup PTRS-UplinkConfig } OPTIONAL, -- Need M + 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 - ... + ..., + [[ + dmrs-Uplink-r16 ENUMERATED {enabled} OPTIONAL -- Need R + ]] } 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 - ... + ..., + [[ + dmrs-UplinkTransformPrecoding-r16 CHOICE {release NULL, setup DMRS-UplinkTransformPrecoding-r16} OPTIONAL -- Need M + ]] } OPTIONAL, -- Need R ... } +DMRS-UplinkTransformPrecoding-r16 ::= SEQUENCE { + pi2BPSK-ScramblingID0 INTEGER(0..65535) OPTIONAL, -- Need S + pi2BPSK-ScramblingID1 INTEGER(0..65535) OPTIONAL -- Need S +} + -- TAG-DMRS-UPLINKCONFIG-STOP -- TAG-DOWNLINKCONFIGCOMMON-START @@ -2258,7 +3737,7 @@ DownlinkConfigCommonSIB ::= SEQUENCE { } -BCCH-Config ::= SEQUENCE { +BCCH-Config ::= SEQUENCE { modificationPeriodCoeff ENUMERATED {n2, n4, n8, n16}, ... } @@ -2275,17 +3754,19 @@ PCCH-Config ::= SEQUENCE { }, ns ENUMERATED {four, two, one}, firstPDCCH-MonitoringOccasionOfPO CHOICE { - sCS15KHZoneT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..139), - sCS30KHZoneT-SCS15KHZhalfT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..279), - sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..559), - sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..1119), - sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT - SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..2239), - sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..4479), - sCS120KHZoneEighthT-SCS60KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..8959), - sCS120KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..17919) + sCS15KHZoneT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..139), + sCS30KHZoneT-SCS15KHZhalfT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..279), + sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..559), + sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..1119), + sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..2239), + sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..4479), + sCS120KHZoneEighthT-SCS60KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..8959), + sCS120KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..17919) } OPTIONAL, -- Need R - ... + ..., + [[ + nrofPDCCH-MonitoringOccasionPerSSB-InPO-r16 INTEGER (2..4) OPTIONAL -- Cond SharedSpectrum2 + ]] } -- TAG-DOWNLINKCONFIGCOMMONSIB-STOP @@ -2356,7 +3837,6 @@ DRX-Config ::= SEQUENCE { 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, @@ -2368,6 +3848,23 @@ DRX-Config ::= SEQUENCE { } -- TAG-DRX-CONFIG-STOP +-- TAG-DRX-CONFIGSECONDARYGROUP-START + +DRX-ConfigSecondaryGroup ::= 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} +} + +-- TAG-DRX-CONFIGSECONDARYGROUP-STOP -- TAG-FILTERCOEFFICIENT-START FilterCoefficient ::= ENUMERATED { fc0, fc1, fc2, fc3, fc4, fc5, fc6, fc7, fc8, fc9, fc11, fc13, fc15, fc17, fc19, spare1, ...} @@ -2423,22 +3920,72 @@ FrequencyInfoUL-SIB ::= SEQUENCE { } -- TAG-FREQUENCYINFOUL-SIB-STOP +-- TAG-HIGHSPEEDCONFIG-START + +HighSpeedConfig-r16 ::= SEQUENCE { + highSpeedMeasFlag-r16 ENUMERATED {true} OPTIONAL, -- Need R + highSpeedDemodFlag-r16 ENUMERATED {true} OPTIONAL, -- Need R + ... +} + +-- TAG-HIGHSPEEDCONFIG-STOP -- TAG-HYSTERESIS-START Hysteresis ::= INTEGER (0..30) -- TAG-HYSTERESIS-STOP +-- TAG-INVALIDSYMBOLPATTERN-START + +InvalidSymbolPattern-r16 ::= SEQUENCE { + symbols-r16 CHOICE { + oneSlot BIT STRING (SIZE (14)), + twoSlots BIT STRING (SIZE (28)) + }, + periodicityAndPattern-r16 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 M + ... +} + +-- TAG-INVALIDSYMBOLPATTERN-STOP -- TAG-I-RNTI-VALUE-START I-RNTI-Value ::= BIT STRING (SIZE(40)) -- TAG-I-RNTI-VALUE-STOP +-- TAG-LBT-FAILURERECOVERYCONFIG-START + +LBT-FailureRecoveryConfig-r16 ::= SEQUENCE { + lbt-FailureInstanceMaxCount-r16 ENUMERATED {n4, n8, n16, n32, n64, n128}, + lbt-FailureDetectionTimer-r16 ENUMERATED {ms10, ms20, ms40, ms80, ms160, ms320}, + ... +} + +-- TAG-LBT-FAILURERECOVERYCONFIG-STOP +-- TAG-LOCATIONINFO-START + +LocationInfo-r16 ::= SEQUENCE { + commonLocationInfo-r16 CommonLocationInfo-r16 OPTIONAL, + bt-LocationInfo-r16 LogMeasResultListBT-r16 OPTIONAL, + wlan-LocationInfo-r16 LogMeasResultListWLAN-r16 OPTIONAL, + sensor-LocationInfo-r16 Sensor-LocationInfo-r16 OPTIONAL, + ... +} + +-- TAG-LOCATIONINFO-STOP -- TAG-LOCATIONMEASUREMENTINFO-START LocationMeasurementInfo ::= CHOICE { - eutra-RSTD EUTRA-RSTD-InfoList, - ..., - eutra-FineTimingDetection NULL + eutra-RSTD EUTRA-RSTD-InfoList, + ..., + eutra-FineTimingDetection NULL, + nr-PRS-Measurement-r16 NR-PRS-MeasurementInfoList-r16 } EUTRA-RSTD-InfoList ::= SEQUENCE (SIZE (1..maxInterRAT-RSTD-Freq)) OF EUTRA-RSTD-Info @@ -2449,6 +3996,21 @@ EUTRA-RSTD-Info ::= SEQUENCE { ... } +NR-PRS-MeasurementInfoList-r16 ::= SEQUENCE (SIZE (1..maxFreqLayers)) OF NR-PRS-MeasurementInfo-r16 + +NR-PRS-MeasurementInfo-r16 ::= SEQUENCE { + dl-PRS-ARFCN-PointA-r16 ARFCN-ValueNR, + nr-MeasPRS-RepetitionAndOffset-r16 CHOICE { + ms20-r16 INTEGER (0..19), + ms40-r16 INTEGER (0..39), + ms80-r16 INTEGER (0..79), + ms160-r16 INTEGER (0..159), + ... + }, + nr-MeasPRS-length-r16 ENUMERATED {ms1dot5, ms3, ms3dot5, ms4, ms5dot5, ms6, spare2, spare1}, + ... +} + -- TAG-LOCATIONMEASUREMENTINFO-STOP -- TAG-LOGICALCHANNELCONFIG-START @@ -2460,19 +4022,28 @@ LogicalChannelConfig ::= SEQUENCE { 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 + 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 + 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 - ... + bitRateQueryProhibitTimer ENUMERATED {s0, s0dot4, s0dot8, s1dot6, s3, s6, s12, s30} OPTIONAL, -- Need R + [[ + allowedCG-List-r16 SEQUENCE (SIZE (0.. maxNrofConfiguredGrantConfigMAC-r16-1)) OF ConfiguredGrantConfigIndexMAC-r16 + OPTIONAL, -- Need S + allowedPHY-PriorityIndex-r16 ENUMERATED {p0, p1} OPTIONAL -- Need S + ]] + } OPTIONAL, -- Cond UL + ..., + [[ + channelAccessPriority-r16 INTEGER (1..4) OPTIONAL, -- Need R + bitRateMultiplier-r16 ENUMERATED {x40, x70, x100, x200} OPTIONAL -- Need R + ]] } -- TAG-LOGICALCHANNELCONFIG-STOP @@ -2484,16 +4055,23 @@ LogicalChannelIdentity ::= INTEGER (1..maxLC-ID) -- TAG-MAC-CELLGROUPCONFIG-START MAC-CellGroupConfig ::= SEQUENCE { - drx-Config CHOICE {release NULL, setup DRX-Config } OPTIONAL, -- Need M + drx-Config CHOICE {release NULL, setup DRX-Config } OPTIONAL, -- Need M schedulingRequestConfig SchedulingRequestConfig OPTIONAL, -- Need M bsr-Config BSR-Config OPTIONAL, -- Need M tag-Config TAG-Config OPTIONAL, -- Need M - phr-Config CHOICE {release NULL, setup PHR-Config } OPTIONAL, -- Need M + phr-Config CHOICE {release NULL, setup PHR-Config } OPTIONAL, -- Need M skipUplinkTxDynamic BOOLEAN, ..., [[ csi-Mask BOOLEAN OPTIONAL, -- Need M - dataInactivityTimer CHOICE {release NULL, setup DataInactivityTimer } OPTIONAL -- Cond MCG-Only + dataInactivityTimer CHOICE {release NULL, setup DataInactivityTimer } OPTIONAL -- Cond MCG-Only + ]], + [[ + usePreBSR-r16 ENUMERATED {true} OPTIONAL, -- Need R + schedulingRequestID-LBT-SCell-r16 SchedulingRequestId OPTIONAL, -- Need M + lch-BasedPrioritization-r16 ENUMERATED {enabled} OPTIONAL, -- Need R + schedulingRequestID-BFR-SCell-r16 SchedulingRequestId OPTIONAL, -- Need R + drx-ConfigSecondaryGroup-r16 CHOICE {release NULL, setup DRX-ConfigSecondaryGroup } OPTIONAL -- Need M ]] } @@ -2516,7 +4094,10 @@ MeasConfig ::= SEQUENCE { quantityConfig QuantityConfig OPTIONAL, -- Need M measGapConfig MeasGapConfig OPTIONAL, -- Need M measGapSharingConfig MeasGapSharingConfig OPTIONAL, -- Need M - ... + ..., + [[ + interFrequencyConfig-NoGap-r16 ENUMERATED {true} OPTIONAL -- Need R + ]] } MeasObjectToRemoveList ::= SEQUENCE (SIZE (1..maxNrofObjectId)) OF MeasObjectId @@ -2529,11 +4110,11 @@ ReportConfigToRemoveList ::= SEQUENCE (SIZE (1..maxReportConfigId)) O -- TAG-MEASGAPCONFIG-START MeasGapConfig ::= SEQUENCE { - gapFR2 CHOICE {release NULL, setup GapConfig } OPTIONAL, -- Need M + 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 + gapFR1 CHOICE {release NULL, setup GapConfig } OPTIONAL, -- Need M + gapUE CHOICE {release NULL, setup GapConfig } OPTIONAL -- Need M ]] } @@ -2545,7 +4126,10 @@ GapConfig ::= SEQUENCE { mgta ENUMERATED {ms0, ms0dot25, ms0dot5}, ..., [[ - refServCellIndicator ENUMERATED {pCell, pSCell, mcg-FR2} OPTIONAL -- Cond NEDCorNRDC + refServCellIndicator ENUMERATED {pCell, pSCell, mcg-FR2} OPTIONAL -- Cond NEDCorNRDC + ]], + [[ + refFR2ServCellAsyncCA-r16 ServCellIndex OPTIONAL -- Cond AsyncCA ]] } @@ -2554,11 +4138,11 @@ GapConfig ::= SEQUENCE { -- TAG-MEASGAPSHARINGCONFIG-START MeasGapSharingConfig ::= SEQUENCE { - gapSharingFR2 CHOICE {release NULL, setup MeasGapSharingScheme } OPTIONAL, -- Need M + 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 + gapSharingFR1 CHOICE {release NULL, setup MeasGapSharingScheme } OPTIONAL, --Need M + gapSharingUE CHOICE {release NULL, setup MeasGapSharingScheme } OPTIONAL --Need M ]] } @@ -2571,6 +4155,78 @@ MeasGapSharingScheme::= ENUMERATED {scheme00, scheme01, scheme10, scheme MeasId ::= INTEGER (1..maxNrofMeasId) -- TAG-MEASID-STOP +-- TAG-MEASIDLECONFIG-START + +MeasIdleConfigSIB-r16 ::= SEQUENCE { + measIdleCarrierListNR-r16 SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasIdleCarrierNR-r16 OPTIONAL, -- Need S + measIdleCarrierListEUTRA-r16 SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasIdleCarrierEUTRA-r16 OPTIONAL, -- Need S + ... +} + +MeasIdleConfigDedicated-r16 ::= SEQUENCE { + measIdleCarrierListNR-r16 SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasIdleCarrierNR-r16 OPTIONAL, -- Need N + measIdleCarrierListEUTRA-r16 SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasIdleCarrierEUTRA-r16 OPTIONAL, -- Need N + measIdleDuration-r16 ENUMERATED{sec10, sec30, sec60, sec120, sec180, sec240, sec300, spare}, + validityAreaList-r16 ValidityAreaList-r16 OPTIONAL, -- Need N + ... +} + +ValidityAreaList-r16 ::= SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF ValidityArea-r16 + +ValidityArea-r16 ::= SEQUENCE { + carrierFreq-r16 ARFCN-ValueNR, + validityCellList-r16 ValidityCellList OPTIONAL -- Need N +} + +ValidityCellList ::= SEQUENCE (SIZE (1.. maxCellMeasIdle-r16)) OF PCI-Range + +MeasIdleCarrierNR-r16 ::= SEQUENCE { + carrierFreq-r16 ARFCN-ValueNR, + ssbSubcarrierSpacing-r16 SubcarrierSpacing, + frequencyBandList MultiFrequencyBandListNR OPTIONAL, -- Need R + measCellListNR-r16 CellListNR-r16 OPTIONAL, -- Need R + reportQuantities-r16 ENUMERATED {rsrp, rsrq, both}, + qualityThreshold-r16 SEQUENCE { + idleRSRP-Threshold-NR-r16 RSRP-Range OPTIONAL, -- Need R + idleRSRQ-Threshold-NR-r16 RSRQ-Range OPTIONAL -- Need R + } OPTIONAL, -- Need R + ssb-MeasConfig-r16 SEQUENCE { + nrofSS-BlocksToAverage-r16 INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL, -- Need S + absThreshSS-BlocksConsolidation-r16 ThresholdNR OPTIONAL, -- Need S + smtc-r16 SSB-MTC OPTIONAL, -- Need S + ssb-ToMeasure-r16 SSB-ToMeasure OPTIONAL, -- Need S + deriveSSB-IndexFromCell-r16 BOOLEAN, + ss-RSSI-Measurement-r16 SS-RSSI-Measurement OPTIONAL -- Need S + } OPTIONAL, -- Need S + beamMeasConfigIdle-r16 BeamMeasConfigIdle-NR-r16 OPTIONAL, -- Need R + ... +} + +MeasIdleCarrierEUTRA-r16 ::= SEQUENCE { + carrierFreqEUTRA-r16 ARFCN-ValueEUTRA, + allowedMeasBandwidth-r16 EUTRA-AllowedMeasBandwidth, + measCellListEUTRA-r16 CellListEUTRA-r16 OPTIONAL, -- Need R + reportQuantitiesEUTRA-r16 ENUMERATED {rsrp, rsrq, both}, + qualityThresholdEUTRA-r16 SEQUENCE { + idleRSRP-Threshold-EUTRA-r16 RSRP-RangeEUTRA OPTIONAL, -- Need R + idleRSRQ-Threshold-EUTRA-r16 RSRQ-RangeEUTRA-r16 OPTIONAL -- Need R + } OPTIONAL, -- Need S + ... +} + +CellListNR-r16 ::= SEQUENCE (SIZE (1..maxCellMeasIdle-r16)) OF PCI-Range + +CellListEUTRA-r16 ::= SEQUENCE (SIZE (1..maxCellMeasIdle-r16)) OF EUTRA-PhysCellIdRange + +BeamMeasConfigIdle-NR-r16 ::= SEQUENCE { + reportQuantityRS-Indexes-r16 ENUMERATED {rsrp, rsrq, both}, + maxNrofRS-IndexesToReport-r16 INTEGER (1.. maxNrofIndexesToReport), + includeBeamMeasurements-r16 BOOLEAN +} + +RSRQ-RangeEUTRA-r16 ::= INTEGER (-30..46) + +-- TAG-MEASIDLECONFIG-STOP -- TAG-MEASIDTOADDMODLIST-START MeasIdToAddModList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasIdToAddMod @@ -2582,6 +4238,53 @@ MeasIdToAddMod ::= SEQUENCE { } -- TAG-MEASIDTOADDMODLIST-STOP +-- TAG-MEASOBJECTCLI-START + +MeasObjectCLI-r16 ::= SEQUENCE { + cli-ResourceConfig-r16 CLI-ResourceConfig-r16, + ... +} + +CLI-ResourceConfig-r16 ::= SEQUENCE { + srs-ResourceConfig-r16 CHOICE {release NULL, setup SRS-ResourceListConfigCLI-r16 } OPTIONAL, -- Need M + rssi-ResourceConfig-r16 CHOICE {release NULL, setup RSSI-ResourceListConfigCLI-r16 } OPTIONAL -- Need M +} + +SRS-ResourceListConfigCLI-r16 ::= SEQUENCE (SIZE (1.. maxNrofCLI-SRS-Resources-r16)) OF SRS-ResourceConfigCLI-r16 + +RSSI-ResourceListConfigCLI-r16 ::= SEQUENCE (SIZE (1.. maxNrofCLI-RSSI-Resources-r16)) OF RSSI-ResourceConfigCLI-r16 + +SRS-ResourceConfigCLI-r16 ::= SEQUENCE { + srs-Resource-r16 SRS-Resource, + srs-SCS-r16 SubcarrierSpacing, + ... +} + +RSSI-ResourceConfigCLI-r16 ::= SEQUENCE { + rssi-ResourceId-r16 RSSI-ResourceId-r16, + rssi-SCS-r16 SubcarrierSpacing, + startPRB-r16 INTEGER (0..2169), + nrofPRBs-r16 INTEGER (4..maxNrofPhysicalResourceBlocksPlus1), + startPosition-r16 INTEGER (0..13), + nrofSymbols-r16 INTEGER (1..14), + rssi-PeriodicityAndOffset-r16 RSSI-PeriodicityAndOffset-r16, + ... +} + +RSSI-ResourceId-r16 ::= INTEGER (0.. maxNrofCLI-RSSI-Resources-r16-1) + +RSSI-PeriodicityAndOffset-r16 ::= CHOICE { + sl10 INTEGER(0..9), + sl20 INTEGER(0..19), + sl40 INTEGER(0..39), + sl80 INTEGER(0..79), + sl160 INTEGER(0..159), + sl320 INTEGER(0..319), + s1640 INTEGER(0..639), + ... +} + +-- TAG-MEASOBJECTCLI-STOP -- TAG-MEASOBJECTEUTRA-START MeasObjectEUTRA::= SEQUENCE { @@ -2623,11 +4326,11 @@ MeasObjectId ::= INTEGER (1..maxNrofObjectId) -- TAG-MEASOBJECTNR-START 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, -- Cond CSI-RS + 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, -- Cond CSI-RS referenceSignalConfig ReferenceSignalConfig, absThreshSS-BlocksConsolidation ThresholdNR OPTIONAL, -- Need R absThreshCSI-RS-Consolidation ThresholdNR OPTIONAL, -- Need R @@ -2645,20 +4348,36 @@ MeasObjectNR ::= SEQUENCE { [[ freqBandIndicatorNR FreqBandIndicatorNR OPTIONAL, -- Need R measCycleSCell ENUMERATED {sf160, sf256, sf320, sf512, sf640, sf1024, sf1280} OPTIONAL -- Need R + ]], + [[ + + smtc3list-r16 SSB-MTC3List-r16 OPTIONAL, -- Need R + rmtc-Config-r16 CHOICE {release NULL, setup RMTC-Config-r16} OPTIONAL, -- Need M + t312-r16 CHOICE {release NULL, setup T312-r16 } OPTIONAL -- Need M ]] } +SSB-MTC3List-r16::= SEQUENCE (SIZE(1..4)) OF SSB-MTC3-r16 + +T312-r16 ::= ENUMERATED { ms0, ms50, ms100, ms200, ms300, ms400, ms500, ms1000} + ReferenceSignalConfig::= SEQUENCE { ssb-ConfigMobility SSB-ConfigMobility OPTIONAL, -- Need M - csi-rs-ResourceConfigMobility CHOICE {release NULL, setup CSI-RS-ResourceConfigMobility } OPTIONAL -- Need M + csi-rs-ResourceConfigMobility CHOICE {release NULL, setup CSI-RS-ResourceConfigMobility } OPTIONAL -- Need M } SSB-ConfigMobility::= SEQUENCE { - ssb-ToMeasure CHOICE {release NULL, setup SSB-ToMeasure } OPTIONAL, -- Need M + ssb-ToMeasure CHOICE {release NULL, setup SSB-ToMeasure } OPTIONAL, -- Need M deriveSSB-IndexFromCell BOOLEAN, ss-RSSI-Measurement SS-RSSI-Measurement OPTIONAL, -- Need M - ... + ..., + [[ + ssb-PositionQCL-Common-r16 SSB-PositionQCL-Relation-r16 OPTIONAL, -- Cond SharedSpectrum + ssb-PositionQCL-CellsToAddModList-r16 SSB-PositionQCL-CellsToAddModList-r16 OPTIONAL, -- Need N + ssb-PositionQCL-CellsToRemoveList-r16 PCI-List OPTIONAL -- Need N + ]] + } @@ -2685,10 +4404,33 @@ CellsToAddMod ::= SEQUENCE { cellIndividualOffset Q-OffsetRangeList } +RMTC-Config-r16 ::= SEQUENCE { + rmtc-Periodicity-r16 ENUMERATED {ms40, ms80, ms160, ms320, ms640}, + rmtc-SubframeOffset-r16 INTEGER(0..639) OPTIONAL, -- Need M + measDurationSymbols-r16 ENUMERATED {sym1, sym14or12, sym28or24, sym42or36, sym70or60}, + rmtc-Frequency-r16 ARFCN-ValueNR, + ref-SCS-CP-r16 ENUMERATED {kHz15, kHz30, kHz60-NCP, kHz60-ECP}, + ... +} +SSB-PositionQCL-CellsToAddModList-r16 ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF SSB-PositionQCL-CellsToAddMod-r16 +SSB-PositionQCL-CellsToAddMod-r16 ::= SEQUENCE { + physCellId-r16 PhysCellId, + ssb-PositionQCL-r16 SSB-PositionQCL-Relation-r16 +} -- TAG-MEASOBJECTNR-STOP +-- TAG-MEASOBJECTNR-SL-START + +MeasObjectNR-SL-r16 ::= SEQUENCE { + tx-PoolMeasToRemoveList-r16 Tx-PoolMeasList-r16 OPTIONAL, -- Need N + tx-PoolMeasToAddModList-r16 Tx-PoolMeasList-r16 OPTIONAL -- Need N +} + +Tx-PoolMeasList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-PoolToMeasureNR-r16)) OF SL-ResourcePoolID-r16 + +-- TAG-MEASOBJECTNR-SL-STOP -- TAG-MEASOBJECTTOADDMODLIST-START MeasObjectToAddModList ::= SEQUENCE (SIZE (1..maxNrofObjectId)) OF MeasObjectToAddMod @@ -2698,11 +4440,36 @@ MeasObjectToAddMod ::= SEQUENCE { measObject CHOICE { measObjectNR MeasObjectNR, ..., - measObjectEUTRA MeasObjectEUTRA + measObjectEUTRA MeasObjectEUTRA, + measObjectUTRA-FDD-r16 MeasObjectUTRA-FDD-r16, + measObjectNR-SL-r16 MeasObjectNR-SL-r16, + measObjectCLI-r16 MeasObjectCLI-r16 } } -- TAG-MEASOBJECTTOADDMODLIST-STOP +-- TAG-MEASOBJECTUTRA-FDD-START + +MeasObjectUTRA-FDD-r16 ::= SEQUENCE { + carrierFreq-r16 ARFCN-ValueUTRA-FDD-r16, + utra-FDD-Q-OffsetRange-r16 UTRA-FDD-Q-OffsetRange-r16 OPTIONAL, -- Need R + cellsToRemoveList-r16 UTRA-FDD-CellIndexList-r16 OPTIONAL, -- Need N + cellsToAddModList-r16 CellsToAddModListUTRA-FDD-r16 OPTIONAL, -- Need N + ... +} + +CellsToAddModListUTRA-FDD-r16 ::= SEQUENCE (SIZE (1..maxCellMeasUTRA-FDD-r16)) OF CellsToAddModUTRA-FDD-r16 + +CellsToAddModUTRA-FDD-r16 ::= SEQUENCE { + cellIndexUTRA-FDD-r16 UTRA-FDD-CellIndex-r16, + physCellId-r16 PhysCellIdUTRA-FDD-r16 +} + +UTRA-FDD-CellIndexList-r16 ::= SEQUENCE (SIZE (1..maxCellMeasUTRA-FDD-r16)) OF UTRA-FDD-CellIndex-r16 + +UTRA-FDD-CellIndex-r16 ::= INTEGER (1..maxCellMeasUTRA-FDD-r16) + +-- TAG-MEASOBJECTUTRA-FDD-STOP -- TAG-MEASRESULTCELLLISTSFTD-NR-START MeasResultCellListSFTD-NR ::= SEQUENCE (SIZE (1..maxCellSFTD)) OF MeasResultCellSFTD-NR @@ -2735,7 +4502,8 @@ MeasResults ::= SEQUENCE { measResultNeighCells CHOICE { measResultListNR MeasResultListNR, ..., - measResultListEUTRA MeasResultListEUTRA + measResultListEUTRA MeasResultListEUTRA, + measResultListUTRA-FDD-r16 MeasResultListUTRA-FDD-r16 } OPTIONAL, ..., [[ @@ -2744,10 +4512,18 @@ MeasResults ::= SEQUENCE { measResultSFTD-EUTRA MeasResultSFTD-EUTRA OPTIONAL, measResultSFTD-NR MeasResultCellSFTD-NR OPTIONAL ]], + [[ + measResultCellListSFTD-NR MeasResultCellListSFTD-NR OPTIONAL + ]], [[ - measResultCellListSFTD-NR MeasResultCellListSFTD-NR OPTIONAL + measResultForRSSI-r16 MeasResultForRSSI-r16 OPTIONAL, + locationInfo-r16 LocationInfo-r16 OPTIONAL, + ul-PDCP-DelayValueResultList-r16 UL-PDCP-DelayValueResultList-r16 OPTIONAL, + measResultsSL-r16 MeasResultsSL-r16 OPTIONAL, + measResultCLI-r16 MeasResultCLI-r16 OPTIONAL ]] + } MeasResultServMOList ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF MeasResultServMO @@ -2775,7 +4551,7 @@ MeasResultNR ::= SEQUENCE { }, ..., [[ - cgi-Info CGI-InfoNR OPTIONAL + cgi-Info CGI-InfoNR OPTIONAL ]] } @@ -2797,14 +4573,12 @@ MeasQuantityResults ::= SEQUENCE { sinr SINR-Range OPTIONAL } - MeasQuantityResultsEUTRA ::= SEQUENCE { rsrp RSRP-RangeEUTRA OPTIONAL, rsrq RSRQ-RangeEUTRA OPTIONAL, sinr SINR-RangeEUTRA OPTIONAL } - ResultsPerSSB-IndexList::= SEQUENCE (SIZE (1..maxNrofIndexesToReport2)) OF ResultsPerSSB-Index ResultsPerSSB-Index ::= SEQUENCE { @@ -2822,6 +4596,48 @@ MeasResultServFreqListEUTRA-SCG ::= SEQUENCE (SIZE (1..maxNrofServingCellsEUTRA) MeasResultServFreqListNR-SCG ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF MeasResult2NR +MeasResultListUTRA-FDD-r16 ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultUTRA-FDD-r16 + +MeasResultUTRA-FDD-r16 ::= SEQUENCE { + physCellId-r16 PhysCellIdUTRA-FDD-r16, + measResult-r16 SEQUENCE { + utra-FDD-RSCP-r16 INTEGER (-5..91) OPTIONAL, + utra-FDD-EcN0-r16 INTEGER (0..49) OPTIONAL + } +} + +MeasResultForRSSI-r16 ::= SEQUENCE { + rssi-Result-r16 ENUMERATED{ffs}, + channelOccupancy-r16 INTEGER (0..100) +} + +MeasResultCLI-r16 ::= SEQUENCE { + measResultListSRS-RSRP-r16 MeasResultListSRS-RSRP-r16 OPTIONAL, + measResultListCLI-RSSI-r16 MeasResultListCLI-RSSI-r16 OPTIONAL +} + +MeasResultListSRS-RSRP-r16 ::= SEQUENCE (SIZE (1.. maxCLI-Report-r16)) OF MeasResultSRS-RSRP-r16 + +MeasResultSRS-RSRP-r16 ::= SEQUENCE { + srs-ResourceId-r16 SRS-ResourceId, + srs-RSRP-Result-r16 SRS-RSRP-Range-r16 +} + +MeasResultListCLI-RSSI-r16 ::= SEQUENCE (SIZE (1.. maxCLI-Report-r16)) OF MeasResultCLI-RSSI-r16 + +MeasResultCLI-RSSI-r16 ::= SEQUENCE { + rssi-ResourceId-r16 RSSI-ResourceId-r16, + cli-RSSI-Result-r16 CLI-RSSI-Range-r16 +} + +UL-PDCP-DelayValueResultList-r16 ::= SEQUENCE (SIZE (1..maxDRB)) OF UL-PDCP-DelayValueResult-r16 + +UL-PDCP-DelayValueResult-r16 ::= SEQUENCE { + drb-Id-r16 DRB-Identity, + averageDelay-r16 INTEGER (0..10000), + ... +} + -- TAG-MEASRESULTS-STOP -- TAG-MEASRESULT2EUTRA-START @@ -2844,28 +4660,116 @@ MeasResult2NR ::= SEQUENCE { } -- TAG-MEASRESULT2NR-STOP +-- TAG-MEASRESULTIDLEEUTRA-START + +MeasResultIdleEUTRA-r16 ::= SEQUENCE { + measResultsPerCarrierListIdleEUTRA-r16 SEQUENCE (SIZE (1.. maxFreqIdle-r16)) OF MeasResultsPerCarrierIdleEUTRA-r16, + ... +} + +MeasResultsPerCarrierIdleEUTRA-r16 ::= SEQUENCE { + carrierFreqEUTRA-r16 ARFCN-ValueEUTRA, + measResultsPerCellListIdleEUTRA-r16 SEQUENCE (SIZE (1..maxCellMeasIdle-r16)) OF MeasResultsPerCellIdleEUTRA-r16, + ... +} + +MeasResultsPerCellIdleEUTRA-r16 ::= SEQUENCE { + eutra-PhysCellId-r16 EUTRA-PhysCellId, + measIdleResultEUTRA-r16 SEQUENCE { + rsrp-ResultEUTRA-r16 RSRP-RangeEUTRA OPTIONAL, + rsrq-ResultEUTRA-r16 RSRQ-RangeEUTRA-r16 OPTIONAL + }, + ... +} + +-- TAG-MEASRESULTIDLEEUTRA-STOP +-- TAG-MEASRESULTIDLENR-START + +MeasResultIdleNR-r16 ::= SEQUENCE { + measResultServingCell-r16 SEQUENCE { + rsrp-Result-r16 RSRP-Range OPTIONAL, + rsrq-Result-r16 RSRQ-Range OPTIONAL, + resultsSSB-Indexes-r16 ResultsPerSSB-IndexList-r16 OPTIONAL + }, + measResultsPerCarrierListIdleNR-r16 SEQUENCE (SIZE (1.. maxFreqIdle-r16)) OF MeasResultsPerCarrierIdleNR-r16 OPTIONAL, + ... +} + +MeasResultsPerCarrierIdleNR-r16 ::= SEQUENCE { + carrierFreq-r16 ARFCN-ValueNR, + measResultsPerCellListIdleNR-r16 SEQUENCE (SIZE (1..maxCellMeasIdle-r16)) OF MeasResultsPerCellIdleNR-r16, + ... +} + +MeasResultsPerCellIdleNR-r16 ::= SEQUENCE { + physCellId-r16 PhysCellId, + measIdleResultNR-r16 SEQUENCE { + rsrp-Result-r16 RSRP-Range OPTIONAL, + rsrq-Result-r16 RSRQ-Range OPTIONAL, + resultsSSB-Indexes-r16 ResultsPerSSB-IndexList-r16 OPTIONAL + }, + ... +} + +ResultsPerSSB-IndexList-r16 ::= SEQUENCE (SIZE (1.. maxNrofIndexesToReport)) OF ResultsPerSSB-IndexIdle-r16 + +ResultsPerSSB-IndexIdle-r16 ::= SEQUENCE { + ssb-Index-r16 SSB-Index, + ssb-Results-r16 SEQUENCE { + ssb-RSRP-Result-r16 RSRP-Range OPTIONAL, + ssb-RSRQ-Result-r16 RSRQ-Range OPTIONAL + } OPTIONAL +} + +-- TAG-MEASRESULTIDLENR-STOP -- TAG-MEASRESULTSCG-FAILURE-START MeasResultSCG-Failure ::= SEQUENCE { measResultPerMOList MeasResultList2NR, - ... + ..., + [[ + locationInfo-r16 LocationInfo-r16 OPTIONAL + ]] } MeasResultList2NR ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2NR -- TAG-MEASRESULTSCG-FAILURE-STOP +-- TAG-MEASRESULTSSL-START + +MeasResultsSL-r16 ::= SEQUENCE { + measResultsListSL-r16 CHOICE { + measResultNR-SL-r16 MeasResultNR-SL-r16, + ... + }, + ... +} + +MeasResultNR-SL-r16 ::= SEQUENCE { + measResultListCBR-NR-r16 SEQUENCE (SIZE (1.. maxNrofSL-PoolToMeasureNR-r16)) OF MeasResultCBR-NR-r16, + ... +} + +MeasResultCBR-NR-r16 ::= SEQUENCE { + sl-poolReportIdentity-r16 SL-ResourcePoolID-r16, + sl-CBR-ResultsNR-r16 SL-CBR-r16, + ... +} + +-- TAG-MEASRESULTSSL-STOP -- TAG-MEASTRIGGERQUANTITYEUTRA-START -MeasTriggerQuantityEUTRA::= CHOICE { +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) +SINR-RangeEUTRA ::= INTEGER (0..127) -- TAG-MEASTRIGGERQUANTITYEUTRA-STOP -- TAG-MOBILITYSTATEPARAMETERS-START @@ -2880,6 +4784,57 @@ MobilityStateParameters ::= SEQUENCE{ } -- TAG-MOBILITYSTATEPARAMETERS-STOP +-- TAG-MSGACONFIGCOMMON-START + +MsgA-ConfigCommon-r16 ::= SEQUENCE { + rach-ConfigCommonTwoStepRA-r16 RACH-ConfigCommonTwoStepRA-r16, + msgA-PUSCH-Config-r16 MsgA-PUSCH-Config-r16 OPTIONAL --Cond InitialBWPConfig +} +-- TAG-MSGACONFIGCOMMON-STOP +-- TAG-MSGA-PUSCH-CONFIG-START + +MsgA-PUSCH-Config-r16 ::= SEQUENCE { + msgA-PUSCH-ResourceGroupA-r16 MsgA-PUSCH-Resource-r16 OPTIONAL, -- Cond InitialBWPConfig + msgA-PUSCH-ResourceGroupB-r16 MsgA-PUSCH-Resource-r16 OPTIONAL, -- Cond GroupBConfigured + msgA-TransformPrecoder-r16 ENUMERATED {enabled, disabled} OPTIONAL, -- Need R + msgA-DataScramblingIndex-r16 INTEGER (0..1023) OPTIONAL, -- Need S + msgA-DeltaPreamble-r16 INTEGER (-1..6) OPTIONAL -- Need R +} + +MsgA-PUSCH-Resource-r16 ::= SEQUENCE { + msgA-MCS-r16 INTEGER (0..15), + nrofSlotsMsgA-PUSCH-r16 INTEGER (1..4), + nrofMsgA-PO-PerSlot-r16 ENUMERATED {one, two, three, six}, + msgA-PUSCH-TimeDomainOffset-r16 INTEGER (1..32), + msgA-PUSCH-TimeDomainAllocation-r16 INTEGER (1..maxNrofUL-Allocations) OPTIONAL, -- Need S + startSymbolAndLengthMsgA-PO-r16 INTEGER (0..127) OPTIONAL, -- Need S + mappingTypeMsgA-PUSCH-r16 ENUMERATED {typeA, typeB} OPTIONAL, -- Need S + guardPeriodMsgA-PUSCH-r16 INTEGER (0..3) OPTIONAL, -- Need R + guardBandMsgA-PUSCH-r16 INTEGER (0..1), + frequencyStartMsgA-PUSCH-r16 INTEGER (0..maxNrofPhysicalResourceBlocks-1), + nrofPRBs-PerMsgA-PO-r16 INTEGER (1..32), + nrofMsgA-PO-FDM-r16 ENUMERATED {one, two, four, eight}, + msgA-IntraSlotFrequencyHopping-r16 ENUMERATED {enabled} OPTIONAL, -- Need R + msgA-HoppingBits-r16 BIT STRING (SIZE(2)) OPTIONAL, -- Need R + msgA-DMRS-Config-r16 MsgA-DMRS-Config-r16, + nrofDMRS-Sequences-r16 INTEGER (1..2), + msgA-Alpha-r16 ENUMERATED {alpha0, alpha04, alpha05, alpha06, + alpha07, alpha08, alpha09, alpha1} OPTIONAL, -- Need S + interlaceIndexFirstPO-MsgA-PUSCH-r16 INTEGER (1..10) OPTIONAL, -- Need R + nrofInterlacesPerMsgA-PO-r16 INTEGER (1..10) OPTIONAL, -- Need R + ... +} + +MsgA-DMRS-Config-r16 ::= SEQUENCE { + msgA-DMRS-AdditionalPosition-r16 ENUMERATED {pos0, pos1, pos3} OPTIONAL, -- Need S + msgA-MaxLength-r16 ENUMERATED {len2} OPTIONAL, -- Need S + msgA-PUSCH-DMRS-CDM-Group-r16 INTEGER (0..1) OPTIONAL, -- Need S + msgA-PUSCH-NrofPorts-r16 INTEGER (0..1) OPTIONAL, -- Need S + msgA-ScramblingID0-r16 INTEGER (0..65536) OPTIONAL, -- Need S + msgA-ScramblingID1-r16 INTEGER (0..65536) OPTIONAL -- Need S +} + +-- TAG-MSGA-PUSCH-CONFIG-STOP -- TAG-MULTIFREQUENCYBANDLISTNR-START MultiFrequencyBandListNR ::= SEQUENCE (SIZE (1..maxNrofMultiBands)) OF FreqBandIndicatorNR @@ -2895,6 +4850,35 @@ NR-MultiBandInfo ::= SEQUENCE { } -- TAG-MULTIFREQUENCYBANDLISTNR-SIB-STOP +-- TAG-NeedForGapsConfigNR-START + +NeedForGapsConfigNR-r16 ::= SEQUENCE { + requestedTargetBandFilterNR-r16 SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicatorNR OPTIONAL -- Need R +} + +-- TAG-NeedForGapsConfigNR-STOP +-- TAG-NeedForGapsInfoNR-START + +NeedForGapsInfoNR-r16 ::= SEQUENCE { + intraFreq-needForGap-r16 NeedForGapsIntraFreqlist-r16, + interFreq-needForGap-r16 NeedForGapsBandlistNR-r16 +} + +NeedForGapsIntraFreqlist-r16 ::= SEQUENCE (SIZE (1.. maxNrofServingCells)) OF NeedForGapsIntraFreq-r16 + +NeedForGapsBandlistNR-r16 ::= SEQUENCE (SIZE (1..maxBands)) OF NeedForGapsNR-r16 + +NeedForGapsIntraFreq-r16 ::= SEQUENCE { + servCellId-r16 ServCellIndex, + gapIndicationIntra-r16 ENUMERATED {gap, no-gap} +} + +NeedForGapsNR-r16 ::= SEQUENCE { + bandNR-r16 FreqBandIndicatorNR, + gapIndication-r16 ENUMERATED {gap, no-gap} +} + +-- TAG-NeedForGapsInfoNR-STOP -- TAG-NEXTHOPCHAININGCOUNT-START NextHopChainingCount ::= INTEGER (0..7) @@ -2905,13 +4889,50 @@ NextHopChainingCount ::= INTEGER (0..7) NG-5G-S-TMSI ::= BIT STRING (SIZE (48)) -- TAG-NG-5G-S-TMSI-STOP +-- TAG-NPN-IDENTITY-START + +NPN-Identity-r16 ::= CHOICE { + pni-npn-r16 SEQUENCE { + plmn-Identity-r16 PLMN-Identity, + cag-IdentityList-r16 SEQUENCE (SIZE (1..maxNPN-r16)) OF CAG-IdentityInfo-r16 + }, + snpn-r16 SEQUENCE { + plmn-Identity PLMN-Identity, + nid-List-r16 SEQUENCE (SIZE (1..maxNPN-r16)) OF NID-r16 + } +} + +CAG-IdentityInfo-r16 ::= SEQUENCE { + cag-Identity-r16 BIT STRING (SIZE (32)), + manualCAGselectionAllowed-r16 ENUMERATED {true} OPTIONAL -- Need R +} + +NID-r16 ::= BIT STRING (SIZE (44)) + +-- TAG-NPN-IDENTITY-STOP +-- TAG-NPN-IDENTITYINFOLIST-START + +NPN-IdentityInfoList-r16 ::= SEQUENCE (SIZE (1..maxNPN-r16)) OF NPN-IdentityInfo-r16 + + +NPN-IdentityInfo-r16 ::= SEQUENCE { + npn-IdentityList-r16 SEQUENCE (SIZE (1..maxNPN-r16)) OF NPN-Identity-r16, + trackingAreaCode-r16 TrackingAreaCode, + ranac-r16 RAN-AreaCode OPTIONAL, -- Need R + cellIdentity-r16 CellIdentity, + cellReservedForOperatorUse-r16 ENUMERATED {reserved, notReserved}, + iab-Support-r16 ENUMERATED {true} OPTIONAL, -- Need R + ... +} + +-- TAG-NPN-IDENTITYINFOLIST-STOP -- TAG-NR-NS-PMAXLIST-START -NR-NS-PmaxList ::= SEQUENCE (SIZE (1..maxNR-NS-Pmax)) OF NR-NS-PmaxValue +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 +NR-NS-PmaxValue ::= SEQUENCE { + additionalPmax P-Max OPTIONAL, -- Need N + additionalSpectrumEmission AdditionalSpectrumEmission } -- TAG-NR-NS-PMAXLIST-STOP @@ -2938,10 +4959,13 @@ NZP-CSI-RS-ResourceId ::= INTEGER (0..maxNrofNZP-CSI-RS-Resources-1) 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..6) OPTIONAL, -- Need S - trs-Info ENUMERATED {true} OPTIONAL, -- Need R - ... + repetition ENUMERATED { on, off } OPTIONAL, -- Need S + aperiodicTriggeringOffset INTEGER(0..6) OPTIONAL, -- Need S + trs-Info ENUMERATED {true} OPTIONAL, -- Need R + ..., + [[ + aperiodicTriggeringOffset-r16 INTEGER(0..31) OPTIONAL -- Need S + ]] } -- TAG-NZP-CSI-RS-RESOURCESET-STOP @@ -2990,17 +5014,29 @@ PCI-RangeIndexList ::= SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PC -- 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, -- Need M - tpc-SRS CHOICE {release NULL, setup SRS-TPC-CommandConfig} OPTIONAL, -- Need M - ... + 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, -- Need M + tpc-SRS CHOICE {release NULL, setup SRS-TPC-CommandConfig} OPTIONAL, -- Need M + ..., + [[ + controlResourceSetToAddModList2-r16 SEQUENCE (SIZE (1..2)) OF ControlResourceSet OPTIONAL, -- Need N + controlResourceSetToReleaseList-r16 SEQUENCE (SIZE (1..5)) OF ControlResourceSetId-r16 OPTIONAL, -- Need N + searchSpacesToAddModListExt-r16 SEQUENCE(SIZE (1..10)) OF SearchSpaceExt-r16 OPTIONAL, -- Need N + searchSpaceSwitchingTimer-r16 INTEGER (1..80) OPTIONAL, -- Need R + cellGroupsForSwitchingList-r16 SEQUENCE(SIZE (1..4)) OF CellGroupForSwitching-r16 OPTIONAL, -- Need R + uplinkCancellation-r16 CHOICE {release NULL, setup UplinkCancellation-r16 } OPTIONAL, -- Need M + monitoringCapabilityConfig-r16 ENUMERATED { r15monitoringcapability,r16monitoringcapability } OPTIONAL, -- Need M + searchSpaceSwitchingDelay-r16 INTEGER (10..52) OPTIONAL -- Need R + ]] } +CellGroupForSwitching-r16 ::= SEQUENCE(SIZE (1..16)) OF ServCellIndex + -- TAG-PDCCH-CONFIG-STOP -- TAG-PDCCH-CONFIGCOMMON-START @@ -3024,7 +5060,8 @@ PDCCH-ConfigCommon ::= SEQUENCE { sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..4479), sCS120KHZoneEighthT-SCS60KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..8959), sCS120KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..17919) - } OPTIONAL -- Cond OtherBWP + } OPTIONAL, -- Cond OtherBWP + commonSearchSpaceListExt-r16 SEQUENCE (SIZE(1..4)) OF SearchSpaceExt-r16 OPTIONAL -- Need R ]] } @@ -3040,8 +5077,12 @@ PDCCH-ConfigSIB1 ::= SEQUENCE { -- TAG-PDCCH-SERVINGCELLCONFIG-START PDCCH-ServingCellConfig ::= SEQUENCE { - slotFormatIndicator CHOICE {release NULL, setup SlotFormatIndicator } OPTIONAL, -- Need M - ... + slotFormatIndicator CHOICE {release NULL, setup SlotFormatIndicator } OPTIONAL, -- Need M + ..., + [[ + availabilityIndicator-r16 CHOICE {release NULL, setup AvailabilityIndicator-r16} OPTIONAL, -- Need M + searchSpaceSwitchingTimer-r16 INTEGER (1..80) OPTIONAL -- Need R + ]] } -- TAG-PDCCH-SERVINGCELLCONFIG-STOP @@ -3080,7 +5121,7 @@ PDCP-Config ::= SEQUENCE { ... }, integrityProtection ENUMERATED { enabled } OPTIONAL, -- Cond ConnectedTo5GC1 - statusReportRequired ENUMERATED { true } OPTIONAL, -- Cond Rlc-AM + statusReportRequired ENUMERATED { true } OPTIONAL, -- Cond Rlc-AM-UM outOfOrderDelivery ENUMERATED { true } OPTIONAL -- Need R } OPTIONAL, -- Cond DRB moreThanOneRLC SEQUENCE { @@ -3088,9 +5129,9 @@ PDCP-Config ::= SEQUENCE { cellGroup CellGroupId OPTIONAL, -- Need R logicalChannel LogicalChannelIdentity OPTIONAL -- Need R }, - ul-DataSplitThreshold UL-DataSplitThreshold OPTIONAL, -- Cond SplitBearer + ul-DataSplitThreshold UL-DataSplitThreshold OPTIONAL, -- Cond SplitBearer pdcp-Duplication BOOLEAN OPTIONAL -- Need R - } OPTIONAL, -- Cond MoreThanOneRLC + } OPTIONAL, -- Cond MoreThanOneRLC t-Reordering ENUMERATED { ms0, ms1, ms2, ms4, ms5, ms8, ms10, ms15, ms20, ms30, ms40, @@ -3106,27 +5147,53 @@ PDCP-Config ::= SEQUENCE { ..., [[ cipheringDisabled ENUMERATED {true} OPTIONAL -- Cond ConnectedTo5GC + ]], + [[ + discardTimerExt-r16 CHOICE {release NULL, setup DiscardTimerExt-r16 } OPTIONAL, -- Cond DRB2 + moreThanTwoRLC-DRB-r16 SEQUENCE { + splitSecondaryPath LogicalChannelIdentity OPTIONAL, -- Cond SplitBearer2 + duplicationState SEQUENCE (SIZE (3)) OF BOOLEAN OPTIONAL -- Need S + } OPTIONAL, -- Cond MoreThanTwoRLC-DRB + ethernetHeaderCompression-r16 CHOICE {release NULL, setup EthernetHeaderCompression-r16 } OPTIONAL -- Need M ]] } +EthernetHeaderCompression-r16 ::= SEQUENCE { + ehc-Common SEQUENCE { + ehc-CID-Length ENUMERATED { bits7, bits15 }, + ... + }, + ehc-Downlink SEQUENCE { + drb-ContinueEHC-DL ENUMERATED { true } OPTIONAL, -- Need R + ... + } OPTIONAL, -- Need M + ehc-Uplink SEQUENCE { + maxCID-EHC-UL INTEGER (1..32767), + drb-ContinueEHC-UL ENUMERATED { true } OPTIONAL, -- Need R + ... + } OPTIONAL -- Need M +} + 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} +DiscardTimerExt-r16 ::= ENUMERATED {ms0dot5, ms1, ms2, ms4, ms6, ms8, spare2, spare1} + -- TAG-PDCP-CONFIG-STOP -- TAG-PDSCH-CONFIG-START 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 + 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-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 @@ -3158,15 +5225,62 @@ PDSCH-Config ::= SEQUENCE { 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 } + p-ZP-CSI-RS-ResourceSet CHOICE {release NULL, setup ZP-CSI-RS-ResourceSet } OPTIONAL, -- Need M - ... + ..., + [[ + maxMIMO-Layers-r16 CHOICE {release NULL, setup MaxMIMO-LayersDL-r16 } OPTIONAL, -- Need M + minimumSchedulingOffsetK0-r16 CHOICE {release NULL, setup MinSchedulingOffsetK0-Values-r16 } OPTIONAL, -- Need M + + -- Start of the parameters for DCI format 1_2 introduced in V16.1.0 + antennaPortsFieldPresenceForDCI-Format1-2-r16 ENUMERATED {enabled} OPTIONAL, -- Need S + aperiodicZP-CSI-RS-ResourceSetsToAddModListForDCI-Format1-2-r16 SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSet + OPTIONAL, -- Need N + aperiodicZP-CSI-RS-ResourceSetsToReleaseListForDCI-Format1-2-r16 SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSetId + OPTIONAL, -- Need N + dmrs-DownlinkForPDSCH-MappingTypeA-ForDCI-Format1-2-r16 CHOICE {release NULL, setup DMRS-DownlinkConfig } OPTIONAL, -- Need M + dmrs-DownlinkForPDSCH-MappingTypeB-ForDCI-Format1-2-r16 CHOICE {release NULL, setup DMRS-DownlinkConfig } OPTIONAL, -- Need M + dmrs-SequenceInitializationForDCI-Format1-2-r16 ENUMERATED {enabled} OPTIONAL, -- Need S + harq-ProcessNumberSizeForDCI-Format1-2-r16 INTEGER (0..4) OPTIONAL, -- Need R + mcs-TableForDCI-Format1-2-r16 ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S + numberOfBitsForRV-ForDCI-Format1-2-r16 INTEGER (0..2) OPTIONAL, -- Need R + pdsch-TimeDomainAllocationListForDCI-Format1-2-r16 CHOICE {release NULL, setup PDSCH-TimeDomainResourceAllocationList-r16 } + OPTIONAL, -- Need M + prb-BundlingTypeForDCI-Format1-2-r16 CHOICE { + staticBundling-r16 SEQUENCE { + bundleSize-r16 ENUMERATED { n4, wideband } OPTIONAL -- Need S + }, + dynamicBundling-r16 SEQUENCE { + bundleSizeSet1-r16 ENUMERATED { n4, wideband, n2-wideband, n4-wideband } OPTIONAL, -- Need S + bundleSizeSet2-r16 ENUMERATED { n4, wideband } OPTIONAL -- Need S + } + } OPTIONAL, -- Need R + priorityIndicatorForDCI-Format1-2-r16 ENUMERATED {enabled} OPTIONAL, -- Need S + rateMatchPatternGroup1ForDCI-Format1-2-r16 RateMatchPatternGroup OPTIONAL, -- Need R + rateMatchPatternGroup2ForDCI-Format1-2-r16 RateMatchPatternGroup OPTIONAL, -- Need R + resourceAllocationType1GranularityForDCI-Format1-2-r16 ENUMERATED {n2,n4,n8,n16} OPTIONAL, -- Need S + vrb-ToPRB-InterleaverForDCI-Format1-2-r16 ENUMERATED {n2, n4} OPTIONAL, -- Need S + referenceOfSLIVForDCI-Format1-2-r16 ENUMERATED {enabled} OPTIONAL, -- Need S + resourceAllocationForDCI-Format1-2-r16 ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch} + OPTIONAL, -- Need M + -- End of the parameters for DCI format 1_2 introduced in V16.1.0 + + priorityIndicatorForDCI-Format1-1-r16 ENUMERATED {enabled} OPTIONAL, -- Need S + dataScramblingIdentityPDSCH2-r16 INTEGER (0..1023) OPTIONAL, -- Need R + pdsch-TimeDomainAllocationList-r16 CHOICE {release NULL, setup PDSCH-TimeDomainResourceAllocationList-r16 } OPTIONAL, -- Need M + repetitionSchemeConfig-r16 CHOICE {release NULL, setup RepetitionSchemeConfig-r16} OPTIONAL -- Need M + ]] } + RateMatchPatternGroup ::= SEQUENCE (SIZE (1..maxNrofRateMatchPatternsPerGroup)) OF CHOICE { cellLevel RateMatchPatternId, bwpLevel RateMatchPatternId } +MinSchedulingOffsetK0-Values-r16 ::= SEQUENCE (SIZE (1..maxNrOfMinSchedulingOffsetValues-r16)) OF INTEGER (0..maxK0-SchedulingOffset-r16) + +MaxMIMO-LayersDL-r16 ::= INTEGER (1..8) + -- TAG-PDSCH-CONFIG-STOP -- TAG-PDSCH-CONFIGCOMMON-START @@ -3179,14 +5293,17 @@ PDSCH-ConfigCommon ::= SEQUENCE { -- 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 + 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 ..., [[ - maxMIMO-Layers INTEGER (1..8) OPTIONAL, -- Need M - processingType2Enabled BOOLEAN OPTIONAL -- Need M + maxMIMO-Layers INTEGER (1..8) OPTIONAL, -- Need M + processingType2Enabled BOOLEAN OPTIONAL -- Need M + ]], + [[ + pdsch-CodeBlockGroupTransmissionList-r16 CHOICE {release NULL, setup PDSCH-CodeBlockGroupTransmissionList-r16 } OPTIONAL -- Need M ]] } @@ -3196,6 +5313,8 @@ PDSCH-CodeBlockGroupTransmission ::= SEQUENCE { ... } +PDSCH-CodeBlockGroupTransmissionList-r16 ::= SEQUENCE (SIZE (1..2)) OF PDSCH-CodeBlockGroupTransmission + -- TAG-PDSCH-SERVINGCELLCONFIG-STOP -- TAG-PDSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-START @@ -3208,6 +5327,16 @@ PDSCH-TimeDomainResourceAllocation ::= SEQUENCE { startSymbolAndLength INTEGER (0..127) } +PDSCH-TimeDomainResourceAllocationList-r16 ::= SEQUENCE (SIZE(1..maxNrofDL-Allocations)) OF PDSCH-TimeDomainResourceAllocation-r16 + +PDSCH-TimeDomainResourceAllocation-r16 ::= SEQUENCE { + k0-r16 INTEGER(0..32) OPTIONAL, -- Need S + mappingType-r16 ENUMERATED {typeA, typeB}, + startSymbolAndLength-r16 INTEGER (0..127), + repetitionNumber-r16 ENUMERATED {n2, n3, n4, n5, n6, n7, n8, n16} OPTIONAL, -- Cond Formats1-0and1-1 + ... +} + -- TAG-PDSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-STOP -- TAG-PHR-CONFIG-START @@ -3239,7 +5368,7 @@ PhysicalCellGroupConfig ::= SEQUENCE { tpc-PUCCH-RNTI RNTI-Value OPTIONAL, -- Need R tpc-PUSCH-RNTI RNTI-Value OPTIONAL, -- Need R sp-CSI-RNTI RNTI-Value OPTIONAL, -- Need R - cs-RNTI CHOICE {release NULL, setup RNTI-Value } OPTIONAL, -- Need M + cs-RNTI CHOICE {release NULL, setup RNTI-Value } OPTIONAL, -- Need M ..., [[ mcs-C-RNTI RNTI-Value OPTIONAL, -- Need R @@ -3249,12 +5378,57 @@ PhysicalCellGroupConfig ::= SEQUENCE { xScale ENUMERATED {dB0, dB6, spare2, spare1} OPTIONAL -- Cond SCG-Only ]], [[ - pdcch-BlindDetection CHOICE {release NULL, setup PDCCH-BlindDetection } OPTIONAL -- Need M + pdcch-BlindDetection CHOICE {release NULL, setup PDCCH-BlindDetection } OPTIONAL -- Need M + ]], + [[ + dcp-Config-r16 CHOICE {release NULL, setup DCP-Config-r16 } OPTIONAL, -- Need M + harq-ACK-SpatialBundlingPUCCH-secondaryPUCCH-group-r16 ENUMERATED {true} OPTIONAL, -- Cond twoPUCCHgroup + harq-ACK-SpatialBundlingPUSCH-secondaryPUCCH-group-r16 ENUMERATED {true} OPTIONAL, -- Cond twoPUCCHgroup + pdsch-HARQ-ACK-Codebook-secondaryPUCCH-group-r16 ENUMERATED {semiStatic, dynamic} OPTIONAL, -- Cond twoPUCCHgroup + p-NR-FR2-r16 P-Max OPTIONAL, -- Need R + p-UE-FR2-r16 P-Max OPTIONAL, -- Cond MCG-Only + nrdc-PCmode-FR1-r16 ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic} OPTIONAL, -- Cond MCG-Only + nrdc-PCmode-FR2-r16 ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic} OPTIONAL, -- Cond MCG-Only + pdsch-HARQ-ACK-Codebook-r16 ENUMERATED {enhancedDynamic} OPTIONAL, -- Need R + nfi-TotalDAI-Included-r16 ENUMERATED {true} OPTIONAL, -- Need M + ul-TotalDAI-Included-r16 ENUMERATED {true} OPTIONAL, -- Need R + pdsch-HARQ-ACK-OneShotFeedback-r16 ENUMERATED {true} OPTIONAL, -- Need R + pdsch-HARQ-ACK-OneShotFeedbackNDI-r16 ENUMERATED {true} OPTIONAL, -- Need R + pdsch-HARQ-ACK-OneShotFeedbackCBG-r16 ENUMERATED {true} OPTIONAL, -- Need R + downlinkAssignmentIndexForDCI-Format0-2-r16 ENUMERATED { enabled } OPTIONAL, -- Need S + downlinkAssignmentIndexForDCI-Format1-2-r16 ENUMERATED {n1, n2, n4} OPTIONAL, -- Need S + pdsch-HARQ-ACK-CodebookList-r16 CHOICE {release NULL, setup PDSCH-HARQ-ACK-CodebookList-r16} OPTIONAL, -- Need M + ackNackFeedbackMode-r16 ENUMERATED {joint, separate} OPTIONAL, -- Need R + pdcch-BlindDetectionCA-CombIndicator-r16 CHOICE {release NULL, setup PDCCH-BlindDetectionCA-CombIndicator-r16 } OPTIONAL, -- Need M + pdcch-BlindDetection2-r16 CHOICE {release NULL, setup PDCCH-BlindDetection2-r16 } OPTIONAL, -- Need M + pdcch-BlindDetection3-r16 CHOICE {release NULL, setup PDCCH-BlindDetection3-r16 } OPTIONAL, -- Need M + bdFactorR-r16 ENUMERATED {n1} OPTIONAL -- Need R ]] } PDCCH-BlindDetection ::= INTEGER (1..15) +DCP-Config-r16 ::= SEQUENCE { + ps-RNTI-r16 RNTI-Value, + ps-Offset-r16 INTEGER (1..120), + sizeDCI-2-6-r16 INTEGER (1..maxDCI-2-6-Size-r16), + ps-PositionDCI-2-6-r16 INTEGER (0..maxDCI-2-6-Size-1-r16), + ps-WakeUp-r16 ENUMERATED {true} OPTIONAL, -- Need S + ps-TransmitPeriodicL1-RSRP-r16 ENUMERATED {true} OPTIONAL, -- Need S + ps-TransmitOtherPeriodicCSI-r16 ENUMERATED {true} OPTIONAL -- Need S +} + +PDSCH-HARQ-ACK-CodebookList-r16 ::= SEQUENCE (SIZE (1..2)) OF ENUMERATED {semiStatic, dynamic} + +PDCCH-BlindDetectionCA-CombIndicator-r16 ::= SEQUENCE { + pdcch-BlindDetectionCA1-r16 INTEGER (1..15), + pdcch-BlindDetectionCA2-r16 INTEGER (1..15) +} + +PDCCH-BlindDetection2-r16 ::= INTEGER (1..15) + +PDCCH-BlindDetection3-r16 ::= INTEGER (1..15) + -- TAG-PHYSICALCELLGROUPCONFIG-STOP -- TAG-PLMN-IDENTITY-START @@ -3281,9 +5455,17 @@ PLMN-IdentityInfo ::= SEQUENCE { ranac RAN-AreaCode OPTIONAL, -- Need R cellIdentity CellIdentity, cellReservedForOperatorUse ENUMERATED {reserved, notReserved}, - ... + ..., + [[ + iab-Support-r16 ENUMERATED {true} OPTIONAL -- Need S + ]] } -- TAG-PLMN-IDENTITYINFOLIST-STOP +-- TAG-PLMNIDENTITYLIST2-START + +PLMN-IdentityList2-r16 ::= SEQUENCE (SIZE (1..16)) OF PLMN-Identity + +-- TAG-PLMNIDENTITYLIST2-STOP -- TAG-PRB-ID-START PRB-Id ::= INTEGER (0..maxNrofPhysicalResourceBlocks-1) @@ -3296,7 +5478,11 @@ PTRS-DownlinkConfig ::= SEQUENCE { 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 - ... + ..., + [[ + maxNrofPorts-r16 ENUMERATED {n1, n2} OPTIONAL -- Need R + ]] + } -- TAG-PTRS-DOWNLINKCONFIG-STOP @@ -3325,24 +5511,48 @@ PUCCH-Config ::= SEQUENCE { 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 - format1 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M - format2 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M - format3 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M - format4 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M - - schedulingRequestResourceToAddModList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceConfig + format1 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M + format2 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M + format3 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M + format4 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M + schedulingRequestResourceToAddModList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceConfig OPTIONAL, -- Need N schedulingRequestResourceToReleaseList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceId OPTIONAL, -- Need N multi-CSI-PUCCH-ResourceList SEQUENCE (SIZE (1..2)) OF PUCCH-ResourceId OPTIONAL, -- Need M dl-DataToUL-ACK SEQUENCE (SIZE (1..8)) OF INTEGER (0..15) OPTIONAL, -- Need M - spatialRelationInfoToAddModList SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfo OPTIONAL, -- Need N spatialRelationInfoToReleaseList SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfoId OPTIONAL, -- Need N pucch-PowerControl PUCCH-PowerControl OPTIONAL, -- Need M - ... + ..., + [[ + resourceToAddModListExt-r16 SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-ResourceExt-r16 OPTIONAL, -- Need N + dl-DataToUL-ACK-r16 CHOICE {release NULL, setup DL-DataToUL-ACK-r16 } OPTIONAL, -- Need M + ul-AccessConfigListForDCI-Format-1-1-r16 CHOICE {release NULL, setup UL-AccessConfigListForDCI-Format1-1-r16 } OPTIONAL, -- Need M + subslotLengthForPUCCH-r16 CHOICE { + normalCP-r16 ENUMERATED {n2,n7}, + extendedCP-r16 ENUMERATED {n2,n6} + } OPTIONAL, -- Need R + dl-DataToUL-ACK-ForDCI-Format1-2-r16 CHOICE {release NULL, setup DL-DataToUL-ACK-ForDCI-Format1-2-r16} OPTIONAL, -- Need M + numberOfBitsForPUCCH-ResourceIndicatorForDCI-Format1-2-r16 INTEGER (0..3) OPTIONAL, -- Need R + dmrs-UplinkTransformPrecodingPUCCH-r16 ENUMERATED {enabled} OPTIONAL, -- Cond PI2-BPSK + spatialRelationInfoToAddModList2-r16 SEQUENCE (SIZE (1..maxNrofSpatialRelationInfosDiff-r16)) OF PUCCH-SpatialRelationInfo + OPTIONAL, -- Need N + spatialRelationInfoToReleaseList2-r16 SEQUENCE (SIZE (1..maxNrofSpatialRelationInfosDiff-r16)) OF PUCCH-SpatialRelationInfoId + OPTIONAL, -- Need N + spatialRelationInfoToAddModListExt-r16 SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos-r16)) OF PUCCH-SpatialRelationInfoExt-r16 + OPTIONAL, -- Need N + spatialRelationInfoToReleaseList-r16 SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos-r16)) OF PUCCH-SpatialRelationInfoId-r16 OPTIONAL, -- Need N + resourceGroupToAddModList-r16 SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceGroups-r16)) OF PUCCH-ResourceGroup-r16 + OPTIONAL, -- Need N + resourceGroupToReleaseList-r16 SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceGroups-r16)) OF PUCCH-ResourceGroupId-r16 + OPTIONAL, -- Need N + sps-PUCCH-AN-List-r16 CHOICE {release NULL, setup SPS-PUCCH-AN-List-r16 } OPTIONAL, -- Need M + schedulingRequestResourceToAddModList-v1610 SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceConfig-v1610 + OPTIONAL -- Need N + ]] } PUCCH-FormatConfig ::= SEQUENCE { @@ -3379,6 +5589,24 @@ PUCCH-Resource ::= SEQUENCE { } } +PUCCH-ResourceExt-r16 ::= SEQUENCE { + interlaceAllocation-r16 SEQUENCE { + rb-SetIndex INTEGER (0..4), + interlace0 CHOICE { + scs15 INTEGER (0..9), + scs30 INTEGER (0..4) + } + } OPTIONAL, --Need R + formatExt-v1610 CHOICE { + interlace1-v1610 INTEGER (0..9), + occ-v1610 SEQUENCE { + occ-Length-v1610 ENUMERATED {n2,n4} OPTIONAL, -- Need M + occ-Index-v1610 ENUMERATED {n0,n1,n2,n3} OPTIONAL -- Need M + } + } OPTIONAL, -- Need R + ... +} + PUCCH-ResourceId ::= INTEGER (0..maxNrofPUCCH-Resources-1) @@ -3414,6 +5642,19 @@ PUCCH-format4 ::= SEQUENCE { startingSymbolIndex INTEGER(0..10) } +PUCCH-ResourceGroup-r16 ::= SEQUENCE { + pucch-ResourceGroupId-r16 PUCCH-ResourceGroupId-r16, + resourcePerGroupList-r16 SEQUENCE (SIZE (1..maxNrofPUCCH-ResourcesPerGroup-r16)) OF PUCCH-ResourceId +} + +PUCCH-ResourceGroupId-r16 ::= INTEGER (0..maxNrofPUCCH-ResourceGroups-1-r16) + +DL-DataToUL-ACK-r16 ::= SEQUENCE (SIZE (1..8)) OF INTEGER (-1..15) + +DL-DataToUL-ACK-ForDCI-Format1-2-r16 ::= SEQUENCE (SIZE (1..8)) OF INTEGER (0..15) + +UL-AccessConfigListForDCI-Format1-1-r16 ::= SEQUENCE (SIZE (1..16)) OF INTEGER (0..15) + -- TAG-PUCCH-CONFIG-STOP -- TAG-PUCCH-CONFIGCOMMON-START @@ -3426,10 +5667,17 @@ PUCCH-ConfigCommon ::= SEQUENCE { } -- TAG-PUCCH-CONFIGCOMMON-STOP +-- TAG-PUCCH-CONFIGURATIONLIST-START + +PUCCH-ConfigurationList-r16 ::= SEQUENCE (SIZE (1..2)) OF PUCCH-Config + +-- TAG-PUCCH-CONFIGURATIONLIST-STOP -- TAG-PUCCH-PATHLOSSREFERENCERS-ID-START PUCCH-PathlossReferenceRS-Id ::= INTEGER (0..maxNrofPUCCH-PathlossReferenceRSs-1) +PUCCH-PathlossReferenceRS-Id-v1610 ::= INTEGER (maxNrofPUCCH-PathlossReferenceRSs..maxNrofPUCCH-PathlossReferenceRSs-1-r16) + -- TAG-PUCCH-PATHLOSSREFERENCERS-ID-STOP -- TAG-PUCCH-POWERCONTROL-START PUCCH-PowerControl ::= SEQUENCE { @@ -3442,7 +5690,10 @@ PUCCH-PowerControl ::= SEQUENCE { pathlossReferenceRSs SEQUENCE (SIZE (1..maxNrofPUCCH-PathlossReferenceRSs)) OF PUCCH-PathlossReferenceRS OPTIONAL, -- Need M twoPUCCH-PC-AdjustmentStates ENUMERATED {twoStates} OPTIONAL, -- Need S - ... + ..., + [[ + pathlossReferenceRSs-v1610 CHOICE {release NULL, setup PathlossReferenceRSs-v1610 } OPTIONAL -- Need M + ]] } P0-PUCCH ::= SEQUENCE { @@ -3452,6 +5703,8 @@ P0-PUCCH ::= SEQUENCE { P0-PUCCH-Id ::= INTEGER (1..8) +PathlossReferenceRSs-v1610 ::= SEQUENCE (SIZE (1..maxNrofPUCCH-PathlossReferenceRSsDiff-r16)) OF PUCCH-PathlossReferenceRS-r16 + PUCCH-PathlossReferenceRS ::= SEQUENCE { pucch-PathlossReferenceRS-Id PUCCH-PathlossReferenceRS-Id, referenceSignal CHOICE { @@ -3460,6 +5713,14 @@ PUCCH-PathlossReferenceRS ::= SEQUENCE { } } +PUCCH-PathlossReferenceRS-r16 ::= SEQUENCE { + pucch-PathlossReferenceRS-Id-r16 PUCCH-PathlossReferenceRS-Id-v1610, + referenceSignal-r16 CHOICE { + ssb-Index-r16 SSB-Index, + csi-RS-Index-r16 NZP-CSI-RS-ResourceId + } +} + -- TAG-PUCCH-POWERCONTROL-STOP -- TAG-PUCCH-SPATIALRELATIONINFO-START @@ -3469,18 +5730,31 @@ PUCCH-SpatialRelationInfo ::= SEQUENCE { referenceSignal CHOICE { ssb-Index SSB-Index, csi-RS-Index NZP-CSI-RS-ResourceId, - srs SEQUENCE { - resource SRS-ResourceId, - uplinkBWP BWP-Id - } + srs PUCCH-SRS }, pucch-PathlossReferenceRS-Id PUCCH-PathlossReferenceRS-Id, p0-PUCCH-Id P0-PUCCH-Id, closedLoopIndex ENUMERATED { i0, i1 } } +PUCCH-SpatialRelationInfoExt-r16 ::= SEQUENCE { + pucch-SpatialRelationInfoId-v1610 PUCCH-SpatialRelationInfoId-v1610 OPTIONAL, -- Cond SetupOnly + pucch-PathlossReferenceRS-Id-v1610 PUCCH-PathlossReferenceRS-Id-v1610 OPTIONAL, --Need R + ... +} + +PUCCH-SRS ::= SEQUENCE { + resource SRS-ResourceId, + uplinkBWP BWP-Id +} +-- TAG-PUCCH-SPATIALRELATIONINFO-STOP +-- TAG-PUCCH-SPATIALRELATIONINFO-START + PUCCH-SpatialRelationInfoId ::= INTEGER (1..maxNrofSpatialRelationInfos) +PUCCH-SpatialRelationInfoId-r16 ::= INTEGER (1..maxNrofSpatialRelationInfos-r16) + +PUCCH-SpatialRelationInfoId-v1610::= INTEGER (maxNrofSpatialRelationInfos-plus-1..maxNrofSpatialRelationInfos-r16) -- TAG-PUCCH-SPATIALRELATIONINFO-STOP -- TAG-PUCCH-TPC-COMMANDCONFIG-START @@ -3497,15 +5771,14 @@ PUCCH-TPC-CommandConfig ::= SEQUENCE { 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 - + 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-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 @@ -3514,19 +5787,86 @@ PUSCH-Config ::= SEQUENCE { 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 + uci-OnPUSCH CHOICE {release NULL, setup UCI-OnPUSCH} OPTIONAL, -- Need M tp-pi2BPSK ENUMERATED {enabled} OPTIONAL, -- Need S - ... + ..., + [[ + minimumSchedulingOffsetK2-r16 CHOICE {release NULL, setup MinSchedulingOffsetK2-Values-r16 } OPTIONAL, -- Need M + ul-AccessConfigListForDCI-Format0-1-r16 CHOICE {release NULL, setup UL-AccessConfigListForDCI-Format0-1-r16 } OPTIONAL, -- Need M + -- Start of the parameters for DCI format 0_2 introduced in V16.1.0 + harq-ProcessNumberSizeForDCI-Format0-2-r16 INTEGER (0..4) OPTIONAL, -- Need R + dmrs-SequenceInitializationForDCI-Format0-2-r16 ENUMERATED {enabled} OPTIONAL, -- Need S + numberOfBitsForRV-ForDCI-Format0-2-r16 INTEGER (0..2) OPTIONAL, -- Need R + antennaPortsFieldPresenceForDCI-Format0-2-r16 ENUMERATED {enabled} OPTIONAL, -- Need S + dmrs-UplinkForPUSCH-MappingTypeA-ForDCI-Format0-2-r16 CHOICE {release NULL, setup DMRS-UplinkConfig } OPTIONAL, -- Need M + dmrs-UplinkForPUSCH-MappingTypeB-ForDCI-Format0-2-r16 CHOICE {release NULL, setup DMRS-UplinkConfig } OPTIONAL, -- Need M + frequencyHoppingForDCI-Format0-2-r16 CHOICE { + pusch-RepTypeA ENUMERATED {intraSlot, interSlot}, + pusch-RepTypeB ENUMERATED {interRepetition, interSlot} + } OPTIONAL, -- Need S + frequencyHoppingOffsetListsForDCI-Format0-2-r16 CHOICE {release NULL, setup FrequencyHoppingOffsetListsForDCI-Format0-2-r16} OPTIONAL, -- Need M + codebookSubsetForDCI-Format0-2-r16 ENUMERATED {fullyAndPartialAndNonCoherent, partialAndNonCoherent,nonCoherent} + OPTIONAL, -- Cond codebookBased + invalidSymbolPatternIndicatorForDCI-Format0-2-r16 ENUMERATED {enabled} OPTIONAL, -- Need S + maxRankForDCI-Format0-2-r16 INTEGER (1..4) OPTIONAL, -- Cond codebookBased + mcs-TableForDCI-Format0-2-r16 ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S + mcs-TableTransformPrecoderForDCI-Format0-2-r16 ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S + priorityIndicatorForDCI-Format0-2-r16 ENUMERATED {enabled} OPTIONAL, -- Need S + pusch-RepTypeIndicatorForDCI-Format0-2-r16 ENUMERATED { pusch-RepTypeA, pusch-RepTypeB} OPTIONAL, -- Need R + resourceAllocationForDCI-Format0-2-r16 ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch} + OPTIONAL, -- Need M + resourceAllocationType1GranularityForDCI-Format0-2-r16 ENUMERATED { n2,n4,n8,n16 } OPTIONAL, -- Need S + uci-OnPUSCH-ListForDCI-Format0-2-r16 CHOICE {release NULL, setup UCI-OnPUSCH-ListForDCI-Format0-2-r16} OPTIONAL, -- Need M + pusch-TimeDomainAllocationListForDCI-Format0-2-r16 CHOICE {release NULL, setup PUSCH-TimeDomainResourceAllocationList-r16 } + OPTIONAL, -- Need M + -- End of the parameters for DCI format 0_2 introduced in V16.1.0 + -- Start of the parameters for DCI format 0_1 introduced in V16.1.0 + pusch-TimeDomainAllocationListForDCI-Format0-1-r16 CHOICE {release NULL, setup PUSCH-TimeDomainResourceAllocationList-r16 } + OPTIONAL, -- Need M + invalidSymbolPatternIndicatorForDCI-Format0-1-r16 ENUMERATED {enabled} OPTIONAL, -- Need S + priorityIndicatorForDCI-Format0-1-r16 ENUMERATED {enabled} OPTIONAL, -- Need S + pusch-RepTypeIndicatorForDCI-Format0-1-r16 ENUMERATED { pusch-RepTypeA, pusch-RepTypeB} OPTIONAL, -- Need R + frequencyHoppingForDCI-Format0-1-r16 ENUMERATED {interRepetition, interSlot} OPTIONAL, -- Cond RepTypeB + uci-OnPUSCH-ListForDCI-Format0-1-r16 CHOICE {release NULL, setup UCI-OnPUSCH-ListForDCI-Format0-1-r16 } OPTIONAL, -- Need M + -- End of the parameters for DCI format 0_1 introduced in V16.1.0 + invalidSymbolPattern-r16 InvalidSymbolPattern-r16 OPTIONAL, -- Need S + pusch-PowerControl-v1610 CHOICE {release NULL, setup PUSCH-PowerControl-v1610} OPTIONAL, -- Need M + ul-FullPowerTransmission-r16 ENUMERATED {fullpower, fullpowerMode1, fullpoweMode2} OPTIONAL, -- Need R + pusch-TimeDomainAllocationListForMultiPUSCH-r16 CHOICE {release NULL, setup PUSCH-TimeDomainResourceAllocationList-r16 } + OPTIONAL, -- Need M + numberOfInvalidSymbolsForDL-UL-Switching-r16 INTEGER (1..4) OPTIONAL -- Cond RepTypeB2 + ]] } UCI-OnPUSCH ::= SEQUENCE { betaOffsets CHOICE { - dynamic SEQUENCE (SIZE (4)) OF BetaOffsets, - semiStatic BetaOffsets - } OPTIONAL, -- Need M + dynamic SEQUENCE (SIZE (4)) OF BetaOffsets, + semiStatic BetaOffsets + } OPTIONAL, -- Need M scaling ENUMERATED { f0p5, f0p65, f0p8, f1 } } +MinSchedulingOffsetK2-Values-r16 ::= SEQUENCE (SIZE (1..maxNrOfMinSchedulingOffsetValues-r16)) OF INTEGER (0..maxK2-SchedulingOffset-r16) + +UCI-OnPUSCH-ForDCI-Format0-2-r16 ::= SEQUENCE { + betaOffsetsForDCI-Format0-2-r16 CHOICE { + dynamicForDCI-Format0-2-r16 CHOICE { + oneBit-r16 SEQUENCE (SIZE (2)) OF BetaOffsets, + twoBits-r16 SEQUENCE (SIZE (4)) OF BetaOffsets + }, + semiStaticForDCI-Format0-2-r16 BetaOffsets + } OPTIONAL, -- Need M + scalingForDCI-Format0-2-r16 ENUMERATED { f0p5, f0p65, f0p8, f1 } +} + +FrequencyHoppingOffsetListsForDCI-Format0-2-r16 ::= SEQUENCE (SIZE (1..4)) OF INTEGER (1.. maxNrofPhysicalResourceBlocks-1) + +UCI-OnPUSCH-ListForDCI-Format0-2-r16 ::= SEQUENCE (SIZE (1..2)) OF UCI-OnPUSCH-ForDCI-Format0-2-r16 + +UCI-OnPUSCH-ListForDCI-Format0-1-r16 ::= SEQUENCE (SIZE (1..2)) OF UCI-OnPUSCH + +UL-AccessConfigListForDCI-Format0-1-r16 ::= SEQUENCE (SIZE (1..64)) OF INTEGER (0..63) + -- TAG-PUSCH-CONFIG-STOP -- TAG-PUSCH-CONFIGCOMMON-START @@ -3574,8 +5914,17 @@ PUSCH-PathlossReferenceRS ::= SEQUENCE { } } +PUSCH-PathlossReferenceRS-r16 ::= SEQUENCE { + pusch-PathlossReferenceRS-Id-r16 PUSCH-PathlossReferenceRS-Id-v1610, + referenceSignal-r16 CHOICE { + ssb-Index-r16 SSB-Index, + csi-RS-Index-r16 NZP-CSI-RS-ResourceId + } +} + PUSCH-PathlossReferenceRS-Id ::= INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1) +PUSCH-PathlossReferenceRS-Id-v1610 ::= INTEGER (maxNrofPUSCH-PathlossReferenceRSs..maxNrofPUSCH-PathlossReferenceRSs-1-r16) SRI-PUSCH-PowerControl ::= SEQUENCE { sri-PUSCH-PowerControlId SRI-PUSCH-PowerControlId, @@ -3586,17 +5935,43 @@ SRI-PUSCH-PowerControl ::= SEQUENCE { SRI-PUSCH-PowerControlId ::= INTEGER (0..maxNrofSRI-PUSCH-Mappings-1) +PUSCH-PowerControl-v1610 ::= SEQUENCE { + pathlossReferenceRSToAddModList2-r16 SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSsDiff-r16)) OF PUSCH-PathlossReferenceRS-r16 + OPTIONAL, -- Need N + pathlossReferenceRSToReleaseList2-r16 SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSsDiff-r16)) OF PUSCH-PathlossReferenceRS-Id-v1610 + OPTIONAL, -- Need N + p0-PUSCH-SetList-r16 SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF P0-PUSCH-Set-r16 OPTIONAL, -- Need R + olpc-ParameterSet SEQUENCE { + olpc-ParameterSetForDCI-Format0-1-r16 INTEGER (1..2) OPTIONAL, -- Need R + olpc-ParameterSetForDCI-Format0-2-r16 INTEGER (1..2) OPTIONAL -- Need R + } OPTIONAL, -- Need M + ... +} + +P0-PUSCH-Set-r16 ::= SEQUENCE { + p0-PUSCH-SetId-r16 P0-PUSCH-SetId-r16, + p0-List-r16 SEQUENCE (SIZE (1..maxNrofP0-PUSCH-Set-r16)) OF P0-PUSCH-r16 OPTIONAL, -- Need R + ... +} + +P0-PUSCH-SetId-r16 ::= INTEGER (0..maxNrofSRI-PUSCH-Mappings-1) + +P0-PUSCH-r16 ::= INTEGER (-16..15) + -- TAG-PUSCH-POWERCONTROL-STOP -- TAG-PUSCH-SERVINGCELLCONFIG-START PUSCH-ServingCellConfig ::= SEQUENCE { - codeBlockGroupTransmission CHOICE {release NULL, setup PUSCH-CodeBlockGroupTransmission } OPTIONAL, -- Need M + codeBlockGroupTransmission CHOICE {release NULL, setup PUSCH-CodeBlockGroupTransmission } OPTIONAL, -- Need M rateMatching ENUMERATED {limitedBufferRM} OPTIONAL, -- Need S xOverhead ENUMERATED {xoh6, xoh12, xoh18} OPTIONAL, -- Need S ..., [[ maxMIMO-Layers INTEGER (1..4) OPTIONAL, -- Need M processingType2Enabled BOOLEAN OPTIONAL -- Need M + ]], + [[ + maxMIMO-LayersForDCI-Format0-2-r16 CHOICE {release NULL, setup MaxMIMO-LayersForDCI-Format0-2-r16} OPTIONAL -- Need M ]] } @@ -3605,17 +5980,36 @@ PUSCH-CodeBlockGroupTransmission ::= SEQUENCE { ... } +MaxMIMO-LayersForDCI-Format0-2-r16 ::= INTEGER (1..4) + -- TAG-PUSCH-SERVINGCELLCONFIG-STOP -- TAG-PUSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-START PUSCH-TimeDomainResourceAllocationList ::= SEQUENCE (SIZE(1..maxNrofUL-Allocations)) OF PUSCH-TimeDomainResourceAllocation PUSCH-TimeDomainResourceAllocation ::= SEQUENCE { - k2 INTEGER(0..32) OPTIONAL, -- Need S + k2 INTEGER(0..32) OPTIONAL, -- Need S mappingType ENUMERATED {typeA, typeB}, startSymbolAndLength INTEGER (0..127) } +PUSCH-TimeDomainResourceAllocationList-r16 ::= SEQUENCE (SIZE(1..maxNrofUL-Allocations-r16)) OF PUSCH-TimeDomainResourceAllocation-r16 + +PUSCH-TimeDomainResourceAllocation-r16 ::= SEQUENCE { + k2-r16 INTEGER(0..32) OPTIONAL, -- Need S + puschAllocationList-r16 SEQUENCE (SIZE(1..maxNrofMultiplePUSCHs-r16)) OF PUSCH-Allocation-r16, + ... +} + +PUSCH-Allocation-r16 ::= SEQUENCE { + mappingType-r16 ENUMERATED {typeA, typeB} OPTIONAL, -- Cond NotFormat01-02-Or-TypeA + startSymbolAndLength-r16 INTEGER (0..127) OPTIONAL, -- Cond NotFormat01-02-Or-TypeA + startSymbol-r16 INTEGER (0..13) OPTIONAL, -- Cond RepTypeB + length-r16 INTEGER (1..14) OPTIONAL, -- Cond RepTypeB + numberOfRepetitions-r16 ENUMERATED {n1, n2, n3, n4, n7, n8, n12, n16} OPTIONAL, -- Cond Format01-02 + ... +} + -- TAG-PUSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-STOP -- TAG-PUSCH-TPC-COMMANDCONFIG-START @@ -3655,6 +6049,10 @@ QuantityConfig ::= SEQUENCE { ..., [[ quantityConfigEUTRA FilterConfig OPTIONAL -- Need M + ]], + [[ + quantityConfigUTRA-FDD-r16 QuantityConfigUTRA-FDD-r16 OPTIONAL, -- Need M + quantityConfigCLI-r16 FilterConfigCLI-r16 OPTIONAL -- Need M ]] } @@ -3674,6 +6072,16 @@ FilterConfig ::= SEQUENCE { filterCoefficientRS-SINR FilterCoefficient DEFAULT fc4 } +FilterConfigCLI-r16 ::= SEQUENCE { + filterCoefficientSRS-RSRP-r16 FilterCoefficient DEFAULT fc4, + filterCoefficientCLI-RSSI-r16 FilterCoefficient DEFAULT fc4 +} + +QuantityConfigUTRA-FDD-r16 ::= SEQUENCE { + filterCoefficientRSCP-r16 FilterCoefficient DEFAULT fc4, + filterCoefficientEcNO-r16 FilterCoefficient DEFAULT fc4 +} + -- TAG-QUANTITYCONFIG-STOP -- TAG-RACH-CONFIGCOMMON-START @@ -3707,24 +6115,84 @@ RACH-ConfigCommon ::= SEQUENCE { msg1-SubcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond L139 restrictedSetConfig ENUMERATED {unrestrictedSet, restrictedSetTypeA, restrictedSetTypeB}, msg3-transformPrecoder ENUMERATED {enabled} OPTIONAL, -- Need R - ... + ..., + [[ + ra-PrioritizationForAccessIdentity SEQUENCE { + ra-Prioritization-r16 RA-Prioritization, + ra-PrioritizationForAI-r16 BIT STRING (SIZE (2)) + } OPTIONAL, -- Cond InitialBWP-Only + prach-RootSequenceIndex-r16 CHOICE { + l571 INTEGER (0..569), + l1151 INTEGER (0..1149) + } OPTIONAL -- Need R + ]] } -- TAG-RACH-CONFIGCOMMON-STOP +-- TAG-RACH-CONFIGCOMMONTWOSTEPRA-START + +RACH-ConfigCommonTwoStepRA-r16 ::= SEQUENCE { + rach-ConfigGenericTwoStepRA-r16 RACH-ConfigGenericTwoStepRA-r16, + msgA-TotalNumberOfRA-Preambles-r16 INTEGER (1..63) OPTIONAL, -- Need S + msgA-SSB-PerRACH-OccasionAndCB-PreamblesPerSSB-r16 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, -- Cond 2StepOnly + msgA-CB-PreamblesPerSSB-PerSharedRO-r16 INTEGER (1..60) OPTIONAL, -- Cond SharedRO + msgA-SSB-SharedRO-MaskIndex-r16 INTEGER (1..15) OPTIONAL, -- Need S + groupB-ConfiguredTwoStepRA-r16 GroupB-ConfiguredTwoStepRA-r16 OPTIONAL, -- Need S + msgA-PRACH-RootSequenceIndex-r16 CHOICE { + l839 INTEGER (0..837), + l139 INTEGER (0..137), + l571 INTEGER (0..569), + l1151 INTEGER (0..1149) + } OPTIONAL, -- Cond 2StepOnly + msgA-TransMax-r16 ENUMERATED {n1, n2, n4, n6, n8, n10, n20, n50, n100, n200} OPTIONAL, -- Need R + msgA-RSRP-Threshold-r16 RSRP-Range OPTIONAL, -- Cond 2Step4Step + msgA-RSRP-ThresholdSSB-r16 RSRP-Range OPTIONAL, -- Need R + msgA-SubcarrierSpacing-r16 SubcarrierSpacing OPTIONAL, -- Cond 2StepOnlyL139 + msgA-RestrictedSetConfig-r16 ENUMERATED {unrestrictedSet, restrictedSetTypeA, + restrictedSetTypeB} OPTIONAL, -- Cond 2StepOnly + ra-PrioritizationForAccessIdentityTwoStep-r16 SEQUENCE { + ra-Prioritization-r16 RA-Prioritization, + ra-PrioritizationForAI-r16 BIT STRING (SIZE (2)) + } OPTIONAL, -- Cond InitialBWP-Only + ra-ContentionResolutionTimer-r16 ENUMERATED {sf8, sf16, sf24, sf32, sf40, sf48, sf56, sf64} OPTIONAL, -- Cond 2StepOnly + ... +} + +GroupB-ConfiguredTwoStepRA-r16 ::= SEQUENCE { + ra-MsgA-SizeGroupA 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) +} + +-- TAG-RACH-CONFIGCOMMONTWOSTEPRA-STOP -- TAG-RACH-CONFIGDEDICATED-START RACH-ConfigDedicated ::= SEQUENCE { cfra CFRA OPTIONAL, -- Need S ra-Prioritization RA-Prioritization OPTIONAL, -- Need N - ... + ..., + [[ + ra-PrioritizationTwoStep-r16 RA-Prioritization OPTIONAL, -- Need N + cfra-TwoStep-r16 CFRA-TwoStep-r16 OPTIONAL -- Need S + ]] } 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 -- Cond Mandatory } OPTIONAL, -- Need S resources CHOICE { ssb SEQUENCE { @@ -3742,10 +6210,29 @@ CFRA ::= SEQUENCE { ]] } +CFRA-TwoStep-r16 ::= SEQUENCE { + occasionsTwoStepRA-r16 SEQUENCE { + rach-ConfigGenericTwoStepRA-r16 RACH-ConfigGenericTwoStepRA-r16, + ssb-PerRACH-OccasionTwoStepRA-r16 ENUMERATED {oneEighth, oneFourth, oneHalf, one, + two, four, eight, sixteen} + } OPTIONAL, -- Need S + msgA-CFRA-PUSCH-r16 MsgA-PUSCH-Resource-r16, + msgA-TransMax-r16 ENUMERATED {n1, n2, n4, n6, n8, n10, n20, n50, n100, n200} OPTIONAL, -- Need S + resourcesTwoStep-r16 SEQUENCE { + ssb-ResourceList SEQUENCE (SIZE(1..maxRA-SSB-Resources)) OF CFRA-SSB-Resource, + ra-ssb-OccasionMaskIndex INTEGER (0..15) + }, + ... +} + CFRA-SSB-Resource ::= SEQUENCE { ssb SSB-Index, ra-PreambleIndex INTEGER (0..63), - ... + ..., + [[ + msgA-PUSCH-resource-Index-r16 INTEGER (0..3071) OPTIONAL -- Cond 2StepCFRA + ]] + } CFRA-CSIRS-Resource ::= SEQUENCE { @@ -3767,10 +6254,33 @@ RACH-ConfigGeneric ::= SEQUENCE { 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}, - ... + ..., + [[ + prach-ConfigurationPeriodScaling-IAB-r16 ENUMERATED {scf1,scf2,scf4,scf8,scf16,scf32,scf64} OPTIONAL, -- Need R + prach-ConfigurationFrameOffset-IAB-r16 INTEGER (0..63) OPTIONAL, -- Need R + prach-ConfigurationSOffset-IAB-r16 INTEGER (0..39) OPTIONAL, -- Need R + ra-ResponseWindow-v1610 ENUMERATED { sl60, sl160} OPTIONAL, -- Need R + prach-ConfigurationIndex-v1610 INTEGER (256..262) OPTIONAL -- Need R + ]] } -- TAG-RACH-CONFIGGENERIC-STOP +-- TAG-RACH-CONFIGGENERICTWOSTEPRA-START + +RACH-ConfigGenericTwoStepRA-r16 ::= SEQUENCE { + msgA-PRACH-ConfigurationIndex-r16 INTEGER (0..262) OPTIONAL, -- Cond 2StepOnly + msgA-RO-FDM-r16 ENUMERATED {one, two, four, eight} OPTIONAL, -- Cond 2StepOnly + msgA-RO-FrequencyStart-r16 INTEGER (0..maxNrofPhysicalResourceBlocks-1) OPTIONAL, -- Cond 2StepOnly + msgA-ZeroCorrelationZoneConfig-r16 INTEGER (0..15) OPTIONAL, -- Cond 2StepOnly + msgA-PreamblePowerRampingStep-r16 ENUMERATED {dB0, dB2, dB4, dB6} OPTIONAL, -- Cond 2StepOnlyNoCFRA + msgA-PreambleReceivedTargetPower-r16 INTEGER (-202..-60) OPTIONAL, -- Cond 2StepOnlyNoCFRA + msgB-ResponseWindow-r16 ENUMERATED {sl1, sl2, sl4, sl8, sl10, sl20, sl40, sl80, sl160, sl320} + OPTIONAL, -- Cond NoCFRA + preambleTransMax-r16 ENUMERATED {n3, n4, n5, n6, n7, n8, n10, n20, n50, n100, n200} OPTIONAL, -- Cond 2StepOnlyNoCFRA + ... +} + +-- TAG-RACH-CONFIGGENERICTWOSTEPRA-STOP -- TAG-RA-PRIORITIZATION-START RA-Prioritization ::= SEQUENCE { @@ -3811,7 +6321,10 @@ DRB-ToAddMod ::= SEQUENCE { reestablishPDCP ENUMERATED{true} OPTIONAL, -- Need N recoverPDCP ENUMERATED{true} OPTIONAL, -- Need N pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP - ... + ..., + [[ + daps-Config-r16 ENUMERATED{true} OPTIONAL --Need N + ]] } DRB-ToReleaseList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity @@ -3821,8 +6334,6 @@ SecurityConfig ::= SEQUENCE { ... } - - -- TAG-RADIOBEARERCONFIG-STOP -- TAG-RADIOLINKMONITORINGCONFIG-START @@ -3884,7 +6395,11 @@ RateMatchPattern ::= SEQUENCE { }, subcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond CellLevel dummy ENUMERATED { dynamic, semiStatic }, - ... + ..., + [[ + controlResourceSet-r16 ControlResourceSetId-r16 OPTIONAL -- Need R + ]] + } -- TAG-RATEMATCHPATTERN-STOP @@ -3903,12 +6418,49 @@ RateMatchPatternLTE-CRS ::= SEQUENCE { v-Shift ENUMERATED {n0, n1, n2, n3, n4, n5} } +LTE-CRS-PatternList-r16 ::= SEQUENCE (SIZE (1..maxLTE-CRS-Patterns-r16)) OF RateMatchPatternLTE-CRS + -- TAG-RATEMATCHPATTERNLTE-CRS-STOP +-- TAG-REFERENCETIMEINFO-START + +ReferenceTimeInfo-r16 ::= SEQUENCE { + time-r16 ReferenceTime-r16, + uncertainty-r16 INTEGER (0..32767) OPTIONAL, -- Need S + timeInfoType-r16 ENUMERATED {localClock} OPTIONAL, -- Need S + referenceSFN-r16 INTEGER (0..1023) OPTIONAL -- Cond RefTime +} + +ReferenceTime-r16 ::= SEQUENCE { + refDays-r16 INTEGER (0..72999), + refSeconds-r16 INTEGER (0..86399), + refMilliSeconds-r16 INTEGER (0..999), + refTenNanoSeconds-r16 INTEGER (0..99999) +} + +-- TAG-REFERENCETIMEINFO-STOP -- TAG-REJECTWAITTIME-START RejectWaitTime ::= INTEGER (1..16) -- TAG-REJECTWAITTIME-STOP +-- TAG-REPETITIONSCHEMECONFIG-START + +RepetitionSchemeConfig-r16 ::= CHOICE { + fdm-TDM-r16 CHOICE {release NULL, setup FDM-TDM-r16 }, + slotBased-r16 CHOICE {release NULL, setup SlotBased-r16 } +} + +FDM-TDM-r16 ::= SEQUENCE { + repetitionScheme-r16 ENUMERATED {fdmSchemeA, fdmSchemeB,tdmSchemeA }, + startingSymbolOffsetK-r16 INTEGER (0..7) OPTIONAL -- Need R +} + +SlotBased-r16 ::= SEQUENCE { + tciMapping-r16 ENUMERATED {cyclicMapping, sequenticalMapping}, + sequenceOffsetforRV-r16 INTEGER (1..3) +} + +-- TAG-REPETITIONSCHEMECONFIG-STOP -- TAG-REPORTCONFIGID-START ReportConfigId ::= INTEGER (1..maxReportConfigId) @@ -3928,7 +6480,10 @@ ReportConfigInterRAT ::= SEQUENCE { ReportCGI-EUTRA ::= SEQUENCE { cellForWhichToReportCGI EUTRA-PhysCellId, - ... + ..., + [[ + useAutonomousGaps-r16 ENUMERATED {setup} OPTIONAL -- Need R + ]] } ReportSFTD-EUTRA ::= SEQUENCE { @@ -3954,7 +6509,24 @@ EventTriggerConfigInterRAT ::= SEQUENCE { timeToTrigger TimeToTrigger, ... }, - ... + ..., + [[ + eventB1-UTRA-FDD-r16 SEQUENCE { + b1-ThresholdUTRA-FDD-r16 MeasTriggerQuantityUTRA-FDD-r16, + reportOnLeave-r16 BOOLEAN, + hysteresis-r16 Hysteresis, + timeToTrigger-r16 TimeToTrigger, + ... + }, + eventB2-UTRA-FDD-r16 SEQUENCE { + b2-Threshold1-r16 MeasTriggerQuantity, + b2-Threshold2UTRA-FDD-r16 MeasTriggerQuantityUTRA-FDD-r16, + reportOnLeave-r16 BOOLEAN, + hysteresis-r16 Hysteresis, + timeToTrigger-r16 TimeToTrigger, + ... + } + ]] }, rsType NR-RS-Type, @@ -3962,7 +6534,11 @@ EventTriggerConfigInterRAT ::= SEQUENCE { reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, reportQuantity MeasReportQuantity, maxReportCells INTEGER (1..maxCellReport), - ... + ..., + [[ + reportQuantityUTRA-FDD-r16 MeasReportQuantityUTRA-FDD-r16 OPTIONAL -- Need R + ]] + } @@ -3971,7 +6547,20 @@ PeriodicalReportConfigInterRAT ::= SEQUENCE { reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, reportQuantity MeasReportQuantity, maxReportCells INTEGER (1..maxCellReport), - ... + ..., + [[ + reportQuantityUTRA-FDD-r16 MeasReportQuantityUTRA-FDD-r16 OPTIONAL -- Need R + ]] +} + +MeasTriggerQuantityUTRA-FDD-r16 ::= CHOICE{ + utra-FDD-RSCP-r16 INTEGER (-5..91), + utra-FDD-EcN0-r16 INTEGER (0..49) +} + +MeasReportQuantityUTRA-FDD-r16 ::= SEQUENCE { + cpich-RSCP BOOLEAN, + cpich-EcN0 BOOLEAN } -- TAG-REPORTCONFIGINTERRAT-STOP @@ -3983,13 +6572,20 @@ ReportConfigNR ::= SEQUENCE { eventTriggered EventTriggerConfig, ..., reportCGI ReportCGI, - reportSFTD ReportSFTD-NR + reportSFTD ReportSFTD-NR, + condTriggerConfig-r16 CondTriggerConfig-r16, + cli-Periodical-r16 CLI-PeriodicalReportConfig-r16, + cli-EventTriggered-r16 CLI-EventTriggerConfig-r16 } } ReportCGI ::= SEQUENCE { cellForWhichToReportCGI PhysCellId, - ... + ..., + [[ + useAutonomousGaps-r16 ENUMERATED {setup} OPTIONAL -- Need R + ]] + } ReportSFTD-NR ::= SEQUENCE { @@ -4003,6 +6599,25 @@ ReportSFTD-NR ::= SEQUENCE { ]] } +CondTriggerConfig-r16 ::= SEQUENCE { + condEventId CHOICE { + condEventA3 SEQUENCE { + a3-Offset MeasTriggerQuantityOffset, + hysteresis Hysteresis, + timeToTrigger TimeToTrigger + }, + condEventA5 SEQUENCE { + a5-Threshold1 MeasTriggerQuantity, + a5-Threshold2 MeasTriggerQuantity, + hysteresis Hysteresis, + timeToTrigger TimeToTrigger + }, + ... + }, + rsType-r16 NR-RS-Type, + ... +} + EventTriggerConfig::= SEQUENCE { eventId CHOICE { eventA1 SEQUENCE { @@ -4061,7 +6676,15 @@ EventTriggerConfig::= SEQUENCE { maxNrofRS-IndexesToReport INTEGER (1..maxNrofIndexesToReport) OPTIONAL, -- Need R includeBeamMeasurements BOOLEAN, reportAddNeighMeas ENUMERATED {setup} OPTIONAL, -- Need R - ... + ..., + [[ + measRSSI-ReportConfig-r16 MeasRSSI-ReportConfig-r16 OPTIONAL, -- Need R + useT312-r16 BOOLEAN OPTIONAL, -- Need M + includeCommonLocationInfo-r16 ENUMERATED {true} OPTIONAL, -- Need R + includeBT-Meas-r16 CHOICE {release NULL, setup BT-NameList-r16} OPTIONAL, -- Need M + includeWLAN-Meas-r16 CHOICE {release NULL, setup WLAN-NameList-r16} OPTIONAL, -- Need M + includeSensor-Meas-r16 CHOICE {release NULL, setup Sensor-NameList-r16} OPTIONAL -- Need M + ]] } PeriodicalReportConfig ::= SEQUENCE { @@ -4077,7 +6700,17 @@ PeriodicalReportConfig ::= SEQUENCE { maxNrofRS-IndexesToReport INTEGER (1..maxNrofIndexesToReport) OPTIONAL, -- Need R includeBeamMeasurements BOOLEAN, useWhiteCellList BOOLEAN, - ... + ..., + [[ + measRSSI-ReportConfig-r16 MeasRSSI-ReportConfig-r16 OPTIONAL, -- Need R + includeCommonLocationInfo-r16 ENUMERATED {true} OPTIONAL, -- Need R + includeBT-Meas-r16 CHOICE {release NULL, setup BT-NameList-r16} OPTIONAL, -- Need M + includeWLAN-Meas-r16 CHOICE {release NULL, setup WLAN-NameList-r16} OPTIONAL, -- Need M + includeSensor-Meas-r16 CHOICE {release NULL, setup Sensor-NameList-r16} OPTIONAL, -- Need M + ul-DelayValueConfig-r16 CHOICE {release NULL, setup UL-DelayValueConfig-r16 } OPTIONAL, -- Need M + reportAddNeighMeas-r16 ENUMERATED {setup} OPTIONAL -- Need R + ]] + } NR-RS-Type ::= ENUMERATED {ssb, csi-rs} @@ -4101,8 +6734,84 @@ MeasReportQuantity ::= SEQUENCE { sinr BOOLEAN } +MeasRSSI-ReportConfig-r16 ::= SEQUENCE { + channelOccupancyThreshold-r16 RSSI-Range-r16 OPTIONAL -- Need R +} + +CLI-EventTriggerConfig-r16 ::= SEQUENCE { + eventId-r16 CHOICE { + eventI1-r16 SEQUENCE { + i1-Threshold-r16 MeasTriggerQuantityCLI-r16, + reportOnLeave-r16 BOOLEAN, + hysteresis-r16 Hysteresis, + timeToTrigger-r16 TimeToTrigger + }, + ... + }, + reportInterval-r16 ReportInterval, + reportAmount-r16 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, + maxReportCLI-r16 INTEGER (1..maxCLI-Report-r16), + ... +} + +CLI-PeriodicalReportConfig-r16 ::= SEQUENCE { + reportInterval-r16 ReportInterval, + reportAmount-r16 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, + reportQuantityCLI-r16 MeasReportQuantityCLI-r16, + maxReportCLI-r16 INTEGER (1..maxCLI-Report-r16), + ... +} + +MeasTriggerQuantityCLI-r16 ::= CHOICE { + srs-RSRP-r16 SRS-RSRP-Range-r16, + cli-RSSI-r16 CLI-RSSI-Range-r16 +} + +MeasReportQuantityCLI-r16 ::= ENUMERATED {srs-rsrp, cli-rssi} -- TAG-REPORTCONFIGNR-STOP +-- TAG-REPORTCONFIGNR-SL-START + +ReportConfigNR-SL-r16 ::= SEQUENCE { + reportType-r16 CHOICE { + periodical-r16 PeriodicalReportConfigNR-SL-r16, + eventTriggered-r16 EventTriggerConfigNR-SL-r16 + } +} + +EventTriggerConfigNR-SL-r16::= SEQUENCE { + eventId-r16 CHOICE { + eventC1 SEQUENCE { + c1-Threshold-r16 SL-CBR-r16, + hysteresis-r16 Hysteresis, + timeToTrigger-r16 TimeToTrigger + }, + eventC2-r16 SEQUENCE { + c2-Threshold-r16 SL-CBR-r16, + hysteresis-r16 Hysteresis, + timeToTrigger-r16 TimeToTrigger + }, + ... + }, + reportInterval-r16 ReportInterval, + reportAmount-r16 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, + reportQuantity-r16 MeasReportQuantity-r16, + ... +} + +PeriodicalReportConfigNR-SL-r16 ::= SEQUENCE { + reportInterval-r16 ReportInterval, + reportAmount-r16 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, + reportQuantity-r16 MeasReportQuantity-r16, + ... +} + +MeasReportQuantity-r16 ::= SEQUENCE { + cbr-r16 BOOLEAN, + ... +} + +-- TAG-REPORTCONFIGNR-SL-STOP -- TAG-REPORTCONFIGTOADDMODLIST-START ReportConfigToAddModList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod @@ -4112,7 +6821,8 @@ ReportConfigToAddMod ::= SEQUENCE { reportConfig CHOICE { reportConfigNR ReportConfigNR, ..., - reportConfigInterRAT ReportConfigInterRAT + reportConfigInterRAT ReportConfigInterRAT, + reportConfigNR-SL-r16 ReportConfigNR-SL-r16 } } @@ -4151,7 +6861,10 @@ RLC-BearerConfig ::= SEQUENCE { reestablishRLC ENUMERATED {true} OPTIONAL, -- Need N rlc-Config RLC-Config OPTIONAL, -- Cond LCH-Setup mac-LogicalChannelConfig LogicalChannelConfig OPTIONAL, -- Cond LCH-Setup - ... + ..., + [[ + rlc-Config-v1610 RLC-Config-v1610 OPTIONAL -- Need R + ]] } -- TAG-RLC-BEARERCONFIG-STOP @@ -4208,8 +6921,8 @@ T-PollRetransmit ::= ENUMERATED { 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} + ms2000, ms4000, ms1-v1610, ms2-v1610, ms3-v1610, + ms4-v1610, spare1} PollPDU ::= ENUMERATED { @@ -4251,6 +6964,17 @@ T-StatusProhibit ::= ENUMERATED { SN-FieldLengthUM ::= ENUMERATED {size6, size12} SN-FieldLengthAM ::= ENUMERATED {size12, size18} +RLC-Config-v1610 ::= SEQUENCE { + dl-AM-RLC-v1610 DL-AM-RLC-v1610 +} + +DL-AM-RLC-v1610 ::= SEQUENCE { + t-StatusProhibit-v1610 T-StatusProhibit-v1610 OPTIONAL, -- Need N + ... +} + +T-StatusProhibit-v1610 ::= ENUMERATED { ms1, ms2, ms3, ms4, spare4, spare3, spare2, spare1} + -- TAG-RLC-CONFIG-STOP -- TAG-RLF-TIMERSANDCONSTANTS-START @@ -4280,6 +7004,11 @@ RSRP-Range ::= INTEGER(0..127) RSRQ-Range ::= INTEGER(0..127) -- TAG-RSRQ-RANGE-STOP +-- TAG-RSSI-RANGE-START + +RSSI-Range-r16 ::= INTEGER(0..76) + +-- TAG-RSSI-RANGE-STOP -- TAG-SCELLINDEX-START SCellIndex ::= INTEGER (1..31) @@ -4333,6 +7062,11 @@ SchedulingRequestResourceConfig ::= SEQUENCE { resource PUCCH-ResourceId OPTIONAL -- Need M } +SchedulingRequestResourceConfig-v1610 ::= SEQUENCE { + phy-PriorityIndex-r16 ENUMERATED {p0, p1} OPTIONAL, -- Need M + ... +} + -- TAG-SCHEDULINGREQUESTRESOURCECONFIG-STOP -- TAG-SCHEDULINGREQUESTRESOURCEID-START @@ -4434,9 +7168,50 @@ SearchSpace ::= SEQUENCE { }, ue-Specific SEQUENCE { dci-Formats ENUMERATED {formats0-0-And-1-0, formats0-1-And-1-1}, + ..., + [[ + dci-Formats-MT-r16 ENUMERATED {formats2-5} OPTIONAL, -- Need R + dci-FormatsSL-r16 ENUMERATED {formats0-0-And-1-0, formats0-1-And-1-1, formats3-0, formats3-1, + formats3-0-And-3-1} OPTIONAL, -- Need R + dci-FormatsExt-r16 ENUMERATED {formats0-2-And-1-2, formats0-1-And-1-1And-0-2-And-1-2} + OPTIONAL -- Need R + ]] + } + } OPTIONAL -- Cond Setup2 +} + +SearchSpaceExt-r16 ::= SEQUENCE { + controlResourceSetId-r16 ControlResourceSetId-r16 OPTIONAL, -- Cond SetupOnly2 + searchSpaceType-r16 SEQUENCE { + common-r16 SEQUENCE { + dci-Format2-4-r16 SEQUENCE { + nrofCandidates-CI-r16 SEQUENCE { + aggregationLevel1-r16 ENUMERATED {n1, n2} OPTIONAL, -- Need R + aggregationLevel2-r16 ENUMERATED {n1, n2} OPTIONAL, -- Need R + aggregationLevel4-r16 ENUMERATED {n1, n2} OPTIONAL, -- Need R + aggregationLevel8-r16 ENUMERATED {n1, n2} OPTIONAL, -- Need R + aggregationLevel16-r16 ENUMERATED {n1, n2} OPTIONAL -- Need R + }, + ... + } OPTIONAL, -- Need R + dci-Format2-5-r16 SEQUENCE { + nrofCandidates-IAB-r16 SEQUENCE { + aggregationLevel1-r16 ENUMERATED {n1, n2} OPTIONAL, -- Need R + aggregationLevel2-r16 ENUMERATED {n1, n2} OPTIONAL, -- Need R + aggregationLevel4-r16 ENUMERATED {n1, n2} OPTIONAL, -- Need R + aggregationLevel8-r16 ENUMERATED {n1, n2} OPTIONAL, -- Need R + aggregationLevel16-r16 ENUMERATED {n1, n2} OPTIONAL -- Need R + }, + ... + } OPTIONAL, -- Need R + dci-Format2-6-r16 SEQUENCE { + ... + } OPTIONAL, -- Need R ... } - } OPTIONAL -- Cond Setup + } OPTIONAL, -- Cond Setup3 + searchSpaceGroupIdList-r16 SEQUENCE (SIZE (1.. 2)) OF INTEGER (0..1) OPTIONAL, -- Need R + freqMonitorLocations-r16 BIT STRING (SIZE (5)) OPTIONAL -- Need R } -- TAG-SEARCHSPACE-STOP @@ -4467,6 +7242,22 @@ CipheringAlgorithm ::= ENUMERATED { spare2, spare1, ...} -- TAG-SECURITYALGORITHMCONFIG-STOP +-- TAG-SEMISTATICCHANNELACCESSCONFIG-START + +SemiStaticChannelAccessConfig ::= SEQUENCE { + period ENUMERATED {ms1, ms2, ms2dot5, ms4, ms5, ms10} +} + +-- TAG-SEMISTATICCHANNELACCESSCONFIG-STOP +-- TAG-SENSORLOCATIONINFO-START + +Sensor-LocationInfo-r16 ::= SEQUENCE { + sensor-MeasurementInformation-r16 OCTET STRING OPTIONAL, + sensor-MotionInformation-r16 OCTET STRING OPTIONAL, + ... +} + +-- TAG-SENSORLOCATIONINFO-STOP -- TAG-SERVCELLINDEX-START ServCellIndex ::= INTEGER (0..maxNrofServingCells-1) @@ -4475,11 +7266,11 @@ ServCellIndex ::= INTEGER (0..maxNrofServingCells-1) -- TAG-SERVINGCELLCONFIG-START 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 + 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, @@ -4487,40 +7278,107 @@ ServingCellConfig ::= SEQUENCE { 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 + 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 + crossCarrierSchedulingConfig CrossCarrierSchedulingConfig OPTIONAL, -- Need M tag-Id TAG-Id, - dummy ENUMERATED {enabled} OPTIONAL, -- Need R - pathlossReferenceLinking ENUMERATED {spCell, sCell} OPTIONAL, -- Cond SCellOnly - servingCellMO MeasObjectId OPTIONAL, -- Cond MeasObject + dummy ENUMERATED {enabled} OPTIONAL, -- Need R + pathlossReferenceLinking ENUMERATED {spCell, sCell} OPTIONAL, -- Cond SCellOnly + servingCellMO MeasObjectId OPTIONAL, -- Cond MeasObject ..., [[ - lte-CRS-ToMatchAround CHOICE {release NULL, setup RateMatchPatternLTE-CRS } OPTIONAL, -- Need M + 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 downlinkChannelBW-PerSCS-List SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier OPTIONAL -- Need S + ]], + [[ + supplementaryUplinkRelease ENUMERATED {true} OPTIONAL, -- Need N + tdd-UL-DL-ConfigurationDedicated-iab-mt-r16 TDD-UL-DL-ConfigDedicated-IAB-MT-r16 OPTIONAL, -- Cond TDD_IAB + dormantBWP-Config-r16 CHOICE {release NULL, setup DormantBWP-Config-r16 } OPTIONAL, -- Need M + ca-SlotOffset-r16 CHOICE { + refSCS15kHz INTEGER (-2..2), + refSCS30KHz INTEGER (-5..5), + refSCS60KHz INTEGER (-10..10), + refSCS120KHz INTEGER (-20..20) + } OPTIONAL, -- Cond AsyncCA + channelAccessConfig-r16 CHOICE {release NULL, setup ChannelAccessConfig-r16 } OPTIONAL, -- Need M + intraCellGuardBandsUL-r16 IntraCellGuardBands-r16 OPTIONAL, -- Need S + intraCellGuardBandsDL-r16 IntraCellGuardBands-r16 OPTIONAL, -- Need S + csi-RS-ValidationWith-DCI-r16 ENUMERATED {enabled} OPTIONAL, -- Need R + lte-CRS-PatternList1-r16 CHOICE {release NULL, setup LTE-CRS-PatternList-r16 } OPTIONAL, -- Need M + lte-CRS-PatternList2-r16 CHOICE {release NULL, setup LTE-CRS-PatternList-r16 } OPTIONAL, -- Need M + crs-RateMatch-PerCORESETPoolIndex-r16 ENUMERATED {enabled} OPTIONAL, -- Need R + enableTwoDefaultTCIStates-r16 ENUMERATED {enabled} OPTIONAL, -- Need R + enableDefaultTCIStatePerCoresetPoolIndex-r16 ENUMERATED {enabled} OPTIONAL, -- Need R + enableBeamSwitchTiming-r16 ENUMERATED {true} OPTIONAL, -- Need R + cbg-TxDiffTBsProcessingType1-r16 ENUMERATED {enabled} OPTIONAL, -- Need R + cbg-TxDiffTBsProcessingType2-r16 ENUMERATED {enabled} OPTIONAL -- Need R ]] } 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 + 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 ..., [[ - powerBoostPi2BPSK BOOLEAN OPTIONAL, -- Need M - uplinkChannelBW-PerSCS-List SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier OPTIONAL -- Need S + powerBoostPi2BPSK BOOLEAN OPTIONAL, -- Need M + uplinkChannelBW-PerSCS-List SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier OPTIONAL -- Need S + ]], + [[ + enablePLRS-UpdateForPUSCH-SRS-r16 ENUMERATED {enabled} OPTIONAL, -- Need R + enableDefaultBeamPL-ForPUSCH0-r16 ENUMERATED {enabled} OPTIONAL, -- Need R + enableDefaultBeamPL-ForPUCCH-r16 ENUMERATED {enabled} OPTIONAL, -- Need R + enableDefaultBeamPL-ForSRS-r16 ENUMERATED {enabled} OPTIONAL, -- Need R + uplinkTxSwitching-r16 CHOICE {release NULL, setup UplinkTxSwitching-r16 } OPTIONAL -- Need M ]] } +ChannelAccessConfig-r16 ::= SEQUENCE { + maxEnergyDetectionThreshold-r16 INTEGER(-85..-52), + energyDetectionThresholdOffset-r16 INTEGER (-20..-13), + ul-toDL-COT-SharingED-Threshold-r16 INTEGER (-85..-52) OPTIONAL, -- Need R + absenceOfAnyOtherTechnology-r16 ENUMERATED {true} OPTIONAL -- Need R +} + +IntraCellGuardBands-r16 ::= SEQUENCE (SIZE (1..4)) OF GuardBand-r16 + +GuardBand-r16 ::= SEQUENCE { + startCRB-r16 INTEGER (0..274), + nrofCRBs-r16 INTEGER (0..15) +} + +DormancyGroupID-r16 ::= INTEGER (0..4) + +DormantBWP-Config-r16::= SEQUENCE { + dormantBWP-Id-r16 BWP-Id OPTIONAL, -- Need M + withinActiveTimeConfig-r16 CHOICE {release NULL, setup WithinActiveTimeConfig-r16 } OPTIONAL, -- Need M + outsideActiveTimeConfig-r16 CHOICE {release NULL, setup OutsideActiveTimeConfig-r16 } OPTIONAL -- Need M +} + +WithinActiveTimeConfig-r16 ::= SEQUENCE { + firstWithinActiveTimeBWP-Id-r16 BWP-Id OPTIONAL, -- Need M + dormancyGroupWithinActiveTime-r16 DormancyGroupID-r16 OPTIONAL -- Need R +} + +OutsideActiveTimeConfig-r16 ::= SEQUENCE { + firstOutsideActiveTimeBWP-Id-r16 BWP-Id OPTIONAL, -- Need M + dormancyGroupOutsideActiveTime-r16 DormancyGroupID-r16 OPTIONAL -- Need R +} + +UplinkTxSwitching-r16 ::= SEQUENCE { + uplinkTxSwitchingPeriodLocation-r16 BOOLEAN, + uplinkTxSwitchingCarrier-r16 ENUMERATED {carrier1, carrier2} +} + -- TAG-SERVINGCELLCONFIG-STOP -- TAG-SERVINGCELLCONFIGCOMMON-START @@ -4537,16 +7395,24 @@ ServingCellConfigCommon ::= SEQUENCE { } 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 + 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 ssbSubcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond HOAndServCellWithSSB tdd-UL-DL-ConfigurationCommon TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD ss-PBCH-BlockPower INTEGER (-60..50), - ... + ..., + [[ + channelAccessMode-r16 CHOICE { + dynamic NULL, + semiStatic SemiStaticChannelAccessConfig + } OPTIONAL, -- Cond SharedSpectrum + discoveryBurstWindowLength-r16 ENUMERATED {ms0dot5, ms1, ms2, ms3, ms4, ms5} OPTIONAL, -- Need M + ssb-PositionQCL-r16 SSB-PositionQCL-Relation-r16 OPTIONAL, -- Cond SharedSpectrum + highSpeedConfig-r16 HighSpeedConfig-r16 OPTIONAL -- Need R + ]] } - -- TAG-SERVINGCELLCONFIGCOMMON-STOP -- TAG-SERVINGCELLCONFIGCOMMONSIB-START @@ -4560,10 +7426,17 @@ ServingCellConfigCommonSIB ::= SEQUENCE { groupPresence BIT STRING (SIZE (8)) OPTIONAL -- Cond FR2-Only }, 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), - ... + ..., + [[ + channelAccessMode-r16 CHOICE { + dynamic NULL, + semiStatic SemiStaticChannelAccessConfig + } OPTIONAL, -- Cond SharedSpectrum + discoveryBurstWindowLength-r16 ENUMERATED {ms0dot5, ms1, ms2, ms3, ms4, ms5} OPTIONAL, -- Need R + highSpeedConfig-r16 HighSpeedConfig-r16 OPTIONAL -- Need R + ]] } -- TAG-SERVINGCELLCONFIGCOMMONSIB-STOP @@ -4582,7 +7455,24 @@ ShortMAC-I ::= BIT STRING (SIZE (16)) SINR-Range ::= INTEGER(0..127) -- TAG-SINR-RANGE-STOP --- TAG–SI-SCHEDULINGINFO-START +-- TAG-SI-REQUESTCONFIG-START + +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-SI-SCHEDULINGINFO-START SI-SchedulingInfo ::= SEQUENCE { schedulingInfoList SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo, @@ -4603,27 +7493,12 @@ 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,... }, + sibType10-v1610, sibType11-v1610, sibType12-v1610, sibType13-v1610, sibType14-v1610, + spare3, spare2, spare1,... }, valueTag INTEGER (0..31) OPTIONAL, -- Cond SIB-TYPE areaScope ENUMERATED {true} OPTIONAL -- Need S } --- 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-SI-SCHEDULINGINFO-STOP -- TAG-SKCOUNTER-START @@ -4639,7 +7514,11 @@ SlotFormatCombinationsPerCell ::= SEQUENCE { slotFormatCombinations SEQUENCE (SIZE (1..maxNrofSlotFormatCombinationsPerSet)) OF SlotFormatCombination OPTIONAL, -- Need M positionInDCI INTEGER(0..maxSFI-DCI-PayloadSize-1) OPTIONAL, -- Need M - ... + ..., + [[ + enableConfiguredUL-r16 ENUMERATED {enabled} OPTIONAL -- Need R + ]] + } SlotFormatCombination ::= SEQUENCE { @@ -4656,9 +7535,36 @@ 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 - ... + OPTIONAL, -- Need N + slotFormatCombToReleaseList SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF ServCellIndex OPTIONAL, -- Need N + ..., + [[ + availableRB-SetsToAddModList-r16 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF AvailableRB-SetsPerCell-r16 OPTIONAL, -- Need N + availableRB-SetsToRelease-r16 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF ServCellIndex OPTIONAL, -- Need N + searchSpaceSwitchTriggerToAddModList-r16 SEQUENCE (SIZE(1..4)) OF SearchSpaceSwitchTrigger-r16 OPTIONAL, -- Need N + searchSpaceSwitchTriggerToReleaseList-r16 SEQUENCE (SIZE(1..4)) OF ServCellIndex OPTIONAL, -- Need N + co-DurationsPerCellToAddModList-r16 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF CO-DurationsPerCell-r16 OPTIONAL, -- Need N + co-DurationsPerCellToReleaseList-r16 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF ServCellIndex OPTIONAL -- Need N + ]] +} + +CO-DurationsPerCell-r16 ::= SEQUENCE { + servingCellId-r16 ServCellIndex, + positionInDCI-r16 INTEGER(0..maxSFI-DCI-PayloadSize-1), + subcarrierSpacing-r16 SubcarrierSpacing, + co-DurationList-r16 SEQUENCE (SIZE(1..64)) OF CO-Duration-r16 +} + +CO-Duration-r16 ::= INTEGER (0..1120) + +AvailableRB-SetsPerCell-r16 ::= SEQUENCE { + servingCellId-r16 ServCellIndex, + positionInDCI-r16 INTEGER(0..maxSFI-DCI-PayloadSize-1) +} + +SearchSpaceSwitchTrigger-r16 ::= SEQUENCE { + servingCellId-r16 ServCellIndex, + positionInDCI-r16 INTEGER(0..maxSFI-DCI-PayloadSize-1) } -- TAG-SLOTFORMATINDICATOR-STOP @@ -4679,16 +7585,41 @@ SpeedStateScaleFactors ::= SEQUENCE { -- TAG-SPEEDSTATESCALEFACTORS-STOP -- TAG-SPS-CONFIG-START -SPS-Config ::= SEQUENCE { - periodicity ENUMERATED {ms10, ms20, ms32, ms40, ms64, ms80, ms128, ms160, ms320, ms640, +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 - ... + nrofHARQ-Processes INTEGER (1..8), + n1PUCCH-AN PUCCH-ResourceId OPTIONAL, -- Need M + mcs-Table ENUMERATED {qam64LowSE} OPTIONAL, -- Need S + ..., + [[ + sps-ConfigIndex-r16 SPS-ConfigIndex-r16 OPTIONAL, -- Cond SPS-List + harq-ProcID-Offset-r16 INTEGER (0..15) OPTIONAL, -- Need R + periodicityExt-r16 INTEGER (1..5120) OPTIONAL, -- Need R + harq-CodebookID-r16 INTEGER (1..2) OPTIONAL, -- Need R + pdsch-AggregationFactor-r16 ENUMERATED {n1, n2, n4, n8 } OPTIONAL -- Need S + ]] } -- TAG-SPS-CONFIG-STOP +-- TAG-SPS-CONFIGINDEX-START + +SPS-ConfigIndex-r16 ::= INTEGER (0.. maxNrofSPS-Config-r16-1) + +-- TAG-SPS-CONFIGINDEX-STOP +-- TAG-SPS-PUCCH-AN-START + +SPS-PUCCH-AN-r16 ::= SEQUENCE { + sps-PUCCH-AN-ResourceID-r16 PUCCH-ResourceId, + maxPayloadSize-r16 INTEGER (4..256) OPTIONAL -- Need R +} + +-- TAG-SPS-PUCCH-AN-STOP +-- TAG-SPS-PUCCH-AN-LIST-START + +SPS-PUCCH-AN-List-r16 ::= SEQUENCE (SIZE(1..4)) OF SPS-PUCCH-AN-r16 + +-- TAG-SPS-PUCCH-AN-LIST-STOP -- TAG-SRB-IDENTITY-START SRB-Identity ::= INTEGER (1..3) @@ -4720,22 +7651,33 @@ SRS-CC-SetIndex ::= SEQUENCE { -- 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-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-RequestForDCI-Format1-2-r16 INTEGER (1..2) OPTIONAL, -- Need S + srs-RequestForDCI-Format0-2-r16 INTEGER (1..2) OPTIONAL, -- Need S + srs-ResourceSetToAddModListForDCI-Format0-2-r16 SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets)) OF SRS-ResourceSet OPTIONAL, -- Need N + srs-ResourceSetToReleaseListForDCI-Format0-2-r16 SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets)) OF SRS-ResourceSetId OPTIONAL,-- Need N + srs-PosResourceSetToReleaseList-r16 SEQUENCE (SIZE(1..maxNrofSRS-PosResourceSets-r16)) OF SRS-PosResourceSetId-r16 + OPTIONAL, -- Need N + srs-PosResourceSetToAddModList-r16 SEQUENCE (SIZE(1..maxNrofSRS-PosResourceSets-r16)) OF SRS-PosResourceSet-r16 OPTIONAL,-- Need N + srs-PosResourceToReleaseList-r16 SEQUENCE (SIZE(1..maxNrofSRS-PosResources-r16)) OF SRS-PosResourceId-r16 OPTIONAL,-- Need N + srs-PosResourceToAddModList-r16 SEQUENCE (SIZE(1..maxNrofSRS-PosResources-r16)) OF SRS-PosResource-r16 OPTIONAL -- Need N + ]] } SRS-ResourceSet ::= SEQUENCE { srs-ResourceSetId SRS-ResourceSetId, - srs-ResourceIdList SEQUENCE (SIZE(1..maxNrofSRS-ResourcesPerSet)) OF SRS-ResourceId OPTIONAL, -- Cond Setup + 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 + csi-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook + slotOffset INTEGER (1..32) OPTIONAL, -- Need S ..., [[ aperiodicSRS-ResourceTriggerList SEQUENCE (SIZE(1..maxNrofSRS-TriggerStates-2)) @@ -4743,27 +7685,70 @@ SRS-ResourceSet ::= SEQUENCE { ]] }, semi-persistent SEQUENCE { - associatedCSI-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook + associatedCSI-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook ... }, periodic SEQUENCE { - associatedCSI-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook + 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 + alpha Alpha OPTIONAL, -- Need S + p0 INTEGER (-202..24) OPTIONAL, -- Cond Setup + pathlossReferenceRS PathlossReferenceRS-Config OPTIONAL, -- Need M + srs-PowerControlAdjustmentStates ENUMERATED { sameAsFci2, separateClosedLoop} OPTIONAL, -- Need S + ..., + [[ + pathlossReferenceRSList-r16 CHOICE {release NULL, setup PathlossReferenceRSList-r16} OPTIONAL -- Need M + ]] +} + +PathlossReferenceRS-Config ::= CHOICE { + ssb-Index SSB-Index, + csi-RS-Index NZP-CSI-RS-ResourceId +} + +PathlossReferenceRSList-r16 ::= SEQUENCE (SIZE (1..maxNrofSRS-PathlossReferenceRS-r16)) OF PathlossReferenceRS-r16 + +PathlossReferenceRS-r16 ::= SEQUENCE { + srs-PathlossReferenceRS-Id-r16 SRS-PathlossReferenceRS-Id-r16, + pathlossReferenceRS-r16 PathlossReferenceRS-Config +} + +SRS-PathlossReferenceRS-Id-r16 ::= INTEGER (0..maxNrofSRS-PathlossReferenceRS-1-r16) + +SRS-PosResourceSet-r16 ::= SEQUENCE { + srs-PosResourceSetId-r16 SRS-PosResourceSetId-r16, + srs-PosResourceIdList-r16 SEQUENCE (SIZE(1..maxNrofSRS-ResourcesPerSet)) OF SRS-PosResourceId-r16 + OPTIONAL, -- Cond Setup + resourceType-r16 CHOICE { + aperiodic-r16 SEQUENCE { + aperiodicSRS-ResourceTriggerList-r16 SEQUENCE (SIZE(1..maxNrofSRS-TriggerStates-1)) + OF INTEGER (1..maxNrofSRS-TriggerStates-1) OPTIONAL, -- Need M + ... + }, + semi-persistent-r16 SEQUENCE { + ... + }, + periodic-r16 SEQUENCE { + ... + } + }, + alpha-r16 Alpha OPTIONAL, -- Need S + p0-r16 INTEGER (-202..24) OPTIONAL, -- Cond Setup + pathlossReferenceRS-Pos-r16 CHOICE { + ssb-IndexServing-r16 SSB-Index, + ssb-Ncell-r16 SSB-InfoNcell-r16, + dl-PRS-r16 DL-PRS-Info-r16 } OPTIONAL, -- Need M - srs-PowerControlAdjustmentStates ENUMERATED { sameAsFci2, separateClosedLoop} OPTIONAL, -- Need S ... } SRS-ResourceSetId ::= INTEGER (0..maxNrofSRS-ResourceSets-1) +SRS-PosResourceSetId-r16 ::= INTEGER (0..maxNrofSRS-PosResourceSets-1-r16) + SRS-Resource ::= SEQUENCE { srs-ResourceId SRS-ResourceId, nrofSRS-Ports ENUMERATED {port1, ports2, ports4}, @@ -4806,6 +7791,60 @@ SRS-Resource ::= SEQUENCE { }, sequenceId INTEGER (0..1023), spatialRelationInfo SRS-SpatialRelationInfo OPTIONAL, -- Need R + ..., + [[ + resourceMapping-r16 SEQUENCE { + startPosition-r16 INTEGER (0..13), + nrofSymbols-r16 ENUMERATED {n1, n2, n4}, + repetitionFactor-r16 ENUMERATED {n1, n2, n4} + } OPTIONAL -- Need R + ]] + +} + +SRS-PosResource-r16::= SEQUENCE { + srs-PosResourceId-r16 SRS-PosResourceId-r16, + transmissionComb-r16 CHOICE { + n2-r16 SEQUENCE { + combOffset-n2-r16 INTEGER (0..1), + cyclicShift-n2-r16 INTEGER (0..7) + }, + n4-r16 SEQUENCE { + combOffset-n4-16 INTEGER (0..3), + cyclicShift-n4-r16 INTEGER (0..11) + }, + n8-r16 SEQUENCE { + combOffset-n8-r16 INTEGER (0..7), + cyclicShift-n8-r16 INTEGER (0..5) + }, + ... + }, + resourceMapping-r16 SEQUENCE { + startPosition-r16 INTEGER (0..13), + nrofSymbols-r16 ENUMERATED {n1, n2, n4, n8, n12} + }, + freqDomainShift-r16 INTEGER (0..268), + freqHopping-r16 SEQUENCE { + c-SRS-r16 INTEGER (0..63), + ... + }, + groupOrSequenceHopping-r16 ENUMERATED { neither, groupHopping, sequenceHopping }, + resourceType-r16 CHOICE { + aperiodic-r16 SEQUENCE { + slotOffset-r16 INTEGER (1..32) OPTIONAL, -- Need S + ... + }, + semi-persistent-r16 SEQUENCE { + periodicityAndOffset-sp-r16 SRS-PeriodicityAndOffset-r16, + ... + }, + periodic-r16 SEQUENCE { + periodicityAndOffset-p-r16 SRS-PeriodicityAndOffset-r16, + ... + } + }, + sequenceId-r16 INTEGER (0..65535), + spatialRelationInfoPos-r16 SRS-SpatialRelationInfoPos-r16 OPTIONAL, -- Need R ... } @@ -4821,7 +7860,52 @@ SRS-SpatialRelationInfo ::= SEQUENCE { } } +SRS-SpatialRelationInfoPos-r16 ::= CHOICE { + servingRS-r16 SEQUENCE { + servingCellId ServCellIndex OPTIONAL, -- Need S + referenceSignal-r16 CHOICE { + ssb-IndexServing-r16 SSB-Index, + csi-RS-IndexServing-r16 NZP-CSI-RS-ResourceId, + srs-SpatialRelation-r16 SEQUENCE { + resourceSelection-r16 CHOICE { + srs-ResourceId-r16 SRS-ResourceId, + srs-PosResourceId-r16 SRS-PosResourceId-r16 + }, + uplinkBWP-r16 BWP-Id + } + } + }, + ssb-Ncell-r16 SSB-InfoNcell-r16, + dl-PRS-r16 DL-PRS-Info-r16 +} + +SSB-Configuration-r16 ::= SEQUENCE { + ssb-Freq-r16 ARFCN-ValueNR, + halfFrameIndex-r16 ENUMERATED {zero, one}, + ssbSubcarrierSpacing-r16 SubcarrierSpacing, + ssb-Periodicity-r16 ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, spare2,spare1 } OPTIONAL, -- Need S + sfn0-Offset-r16 SEQUENCE { + sfn-Offset-r16 INTEGER (0..1023), + integerSubframeOffset-r16 INTEGER (0..9) OPTIONAL -- Need R + } OPTIONAL, -- Need R + sfn-SSB-Offset-r16 INTEGER (0..15), + ss-PBCH-BlockPower-r16 INTEGER (-60..50) OPTIONAL -- Cond Pathloss +} + +SSB-InfoNcell-r16 ::= SEQUENCE { + physicalCellId-r16 PhysCellId, + ssb-IndexNcell-r16 SSB-Index OPTIONAL, -- Need S + ssb-Configuration-r16 SSB-Configuration-r16 OPTIONAL -- Need S +} + +DL-PRS-Info-r16 ::= SEQUENCE { + dl-PRS-ID-r16 INTEGER (0..255), + dl-PRS-ResourceSetId-r16 INTEGER (0..7), + dl-PRS-ResourceId-r16 INTEGER (0..63) OPTIONAL -- Need S +} + SRS-ResourceId ::= INTEGER (0..maxNrofSRS-Resources-1) +SRS-PosResourceId-r16 ::= INTEGER (0..maxNrofSRS-PosResources-1-r16) SRS-PeriodicityAndOffset ::= CHOICE { sl1 NULL, @@ -4843,7 +7927,37 @@ SRS-PeriodicityAndOffset ::= CHOICE { sl2560 INTEGER(0..2559) } +SRS-PeriodicityAndOffset-r16 ::= 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), + sl5120 INTEGER(0..5119), + sl10240 INTEGER(0..10239), + sl40960 INTEGER(0..40959), + sl81920 INTEGER(0..81919), + ... +} + -- TAG-SRS-CONFIG-STOP +-- TAG-SRS-RSRP-RANGE-START + +SRS-RSRP-Range-r16 ::= INTEGER(0..98) + +-- TAG-SRS-RSRP-RANGE-STOP -- TAG-SRS-TPC-COMMANDCONFIG-START SRS-TPC-CommandConfig ::= SEQUENCE { @@ -4851,7 +7965,7 @@ SRS-TPC-CommandConfig ::= SEQUENCE { fieldTypeFormat2-3 INTEGER (0..1) OPTIONAL, -- Need R ..., [[ - startingBitOfFormat2-3SUL INTEGER (1..31) OPTIONAL -- Need R + startingBitOfFormat2-3SUL INTEGER (1..31) OPTIONAL -- Need R ]] } @@ -4880,7 +7994,35 @@ SSB-MTC2 ::= SEQUENCE { periodicity ENUMERATED {sf5, sf10, sf20, sf40, sf80, spare3, spare2, spare1} } +SSB-MTC2-LP-r16 ::= SEQUENCE { + pci-List SEQUENCE (SIZE (1..maxNrofPCIsPerSMTC)) OF PhysCellId OPTIONAL, -- Need R + periodicity ENUMERATED {sf10, sf20, sf40, sf80, sf160, spare3, spare2, spare1} +} + +SSB-MTC3-r16 ::= SEQUENCE { + periodicityAndOffset-r16 CHOICE { + sf5-r16 INTEGER (0..4), + sf10-r16 INTEGER (0..9), + sf20-r16 INTEGER (0..19), + sf40-r16 INTEGER (0..39), + sf80-r16 INTEGER (0..79), + sf160-r16 INTEGER (0..159), + sf320-r16 INTEGER (0..319), + sf640-r16 INTEGER (0..639), + sf1280-r16 INTEGER (0..1279) + }, + duration-r16 ENUMERATED {sf1, sf2, sf3, sf4, sf5}, + pci-List-r16 SEQUENCE (SIZE (1..maxNrofPCIsPerSMTC)) OF PhysCellId OPTIONAL, -- Need M + ssb-ToMeasure-r16 CHOICE {release NULL, setup SSB-ToMeasure } OPTIONAL -- Need M +} + + -- TAG-SSB-MTC-STOP +-- TAG-SSB-POSITIONQCL-RELATION-START + +SSB-PositionQCL-Relation-r16 ::= ENUMERATED {n1,n2,n4,n8} + +-- TAG-SSB-POSITIONQCL-RELATION-STOP -- TAG-SSB-TOMEASURE-START SSB-ToMeasure ::= CHOICE { @@ -4977,6 +8119,12 @@ TDD-UL-DL-ConfigDedicated ::= SEQUENCE { ... } +TDD-UL-DL-ConfigDedicated-IAB-MT-r16::= SEQUENCE { + slotSpecificConfigurationsToAddModList-IAB-MT-r16 SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotConfig-IAB-MT-r16 OPTIONAL, -- Need N + slotSpecificConfigurationsToReleaseList-IAB-MT-r16 SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotIndex OPTIONAL, -- Need N + ... +} + TDD-UL-DL-SlotConfig ::= SEQUENCE { slotIndex TDD-UL-DL-SlotIndex, symbols CHOICE { @@ -4989,6 +8137,22 @@ TDD-UL-DL-SlotConfig ::= SEQUENCE { } } +TDD-UL-DL-SlotConfig-IAB-MT-r16::= SEQUENCE { + slotIndex-r16 TDD-UL-DL-SlotIndex, + symbols-IAB-MT-r16 CHOICE { + allDownlink-r16 NULL, + allUplink-r16 NULL, + explicit-r16 SEQUENCE { + nrofDownlinkSymbols-r16 INTEGER (1..maxNrofSymbols-1) OPTIONAL, -- Need FFS + nrofUplinkSymbols-r16 INTEGER (1..maxNrofSymbols-1) OPTIONAL -- Need FFS + }, + explicit-IAB-MT-r16 SEQUENCE { + nrofDownlinkSymbols-r16 INTEGER (1..maxNrofSymbols-1) OPTIONAL, -- Need FFS + nrofUplinkSymbols-r16 INTEGER (1..maxNrofSymbols-1) OPTIONAL -- Need FFS + } + } +} + TDD-UL-DL-SlotIndex ::= INTEGER (0..maxNrofSlots-1) -- TAG-TDD-UL-DL-CONFIGDEDICATED-STOP @@ -5064,6 +8228,38 @@ UE-TimersAndConstants ::= SEQUENCE { } -- TAG-UE-TIMERSANDCONSTANTS-STOP +-- TAG-ULDELAYVALUECONFIG-START + +UL-DelayValueConfig-r16 ::= SEQUENCE { + delay-DRBlist SEQUENCE (SIZE(1..maxDRB)) OF DRB-Identity +} + +-- TAG-ULDELAYVALUECONFIG-STOP +-- TAG-UPLINKCANCELLATION-START + +UplinkCancellation-r16 ::= SEQUENCE { + ci-RNTI-r16 RNTI-Value, + dci-PayloadSizeForCI-r16 INTEGER (0..maxCI-DCI-PayloadSize-r16), + ci-ConfigurationPerServingCell-r16 SEQUENCE (SIZE (1..maxNrofServingCells)) OF CI-ConfigurationPerServingCell-r16, + ... +} + +CI-ConfigurationPerServingCell-r16 ::= SEQUENCE { + servingCellId ServCellIndex, + positionInDCI-r16 INTEGER (0..maxCI-DCI-PayloadSize-r16-1), + positionInDCI-ForSUL-r16 INTEGER (0..maxCI-DCI-PayloadSize-r16-1) OPTIONAL, -- Cond SUL-Only + ci-PayloadSize-r16 ENUMERATED {n1, n2, n4, n5, n7, n8, n10, n14, n16, n20, n28, n32, n35, n42, n56, n112}, + timeFrequencyRegion-r16 SEQUENCE { + timeDurationForCI-r16 ENUMERATED {n2, n4, n7, n14} OPTIONAL, -- Cond SymbolPeriodicity + timeGranularityForCI-r16 ENUMERATED {n1, n2, n4, n7, n14, n28}, + frequencyRegionForCI-r16 INTEGER (0..37949), + deltaOffset-r16 INTEGER (0..2), + ... + }, + uplinkCancellationPriority-v1610 ENUMERATED {enabled} OPTIONAL -- Need S +} + +-- TAG-UPLINKCANCELLATION-STOP -- TAG-UPLINKCONFIGCOMMON-START UplinkConfigCommon ::= SEQUENCE { @@ -5131,7 +8327,7 @@ ZP-CSI-RS-ResourceSetId ::= INTEGER (0..maxNrofZP-CSI-RS-Res -- TAG-ACCESSSTRATUMRELEASE-START AccessStratumRelease ::= ENUMERATED { - rel15, spare7, spare6, spare5, spare4, spare3, spare2, spare1, ... } + rel15, rel16, spare6, spare5, spare4, spare3, spare2, spare1, ... } -- TAG-ACCESSSTRATUMRELEASE-STOP -- TAG-BANDCOMBINATIONLIST-START @@ -5150,6 +8346,10 @@ BandCombinationList-v1580 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandComb BandCombinationList-v1590 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1590 +BandCombinationList-v1610 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1610 + +BandCombinationList-UplinkTxSwitch-r16 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-r16 + BandCombination ::= SEQUENCE { bandList SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParameters, featureSetCombination FeatureSetCombinationId, @@ -5169,6 +8369,13 @@ BandCombination-v1550 ::= SEQUENCE { ca-ParametersNR-v1550 CA-ParametersNR-v1550 } +BandCombination-v1610 ::= SEQUENCE { + bandList-v1610 SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParameters-v1610 OPTIONAL, + ca-ParametersNR-v1610 CA-ParametersNR-v1610 OPTIONAL, + ca-ParametersNRDC-v1610 CA-ParametersNRDC-v1610 OPTIONAL, + powerClass-v1610 ENUMERATED {pc1dot5} OPTIONAL +} + BandCombination-v1560::= SEQUENCE { ne-DC-BC ENUMERATED {supported} OPTIONAL, ca-ParametersNRDC CA-ParametersNRDC OPTIONAL, @@ -5189,6 +8396,26 @@ BandCombination-v1590::= SEQUENCE { mrdc-Parameters-v1590 MRDC-Parameters-v1590 } +BandCombination-UplinkTxSwitch-r16 ::= SEQUENCE { + bandCombination-r16 BandCombination, + bandCombination-v1540 BandCombination-v1540 OPTIONAL, + bandCombination-v1560 BandCombination-v1560 OPTIONAL, + bandCombination-v1570 BandCombination-v1570 OPTIONAL, + bandCombination-v1580 BandCombination-v1580 OPTIONAL, + bandCombination-v1590 BandCombination-v1590 OPTIONAL, + bandCombination-v1610 BandCombination-v1610 OPTIONAL, + supportedBandPairListNR-r16 SEQUENCE (SIZE (1..maxULTxSwitchingBandPairs)) OF ULTxSwitchingBandPair-r16, + uplinkTxSwitching-OptionSupport-r16 ENUMERATED {switchedUL, dualUL, both} OPTIONAL, + ... +} + +ULTxSwitchingBandPair-r16 ::= SEQUENCE { + bandIndexUL1-r16 INTEGER(1..maxSimultaneousBands), + bandIndexUL2-r16 INTEGER(1..maxSimultaneousBands), + uplinkTxSwitchingPeriod-r16 ENUMERATED {n35us, n140us, n210us}, + uplinkTxSwitching-DL-Interruption-r16 BIT STRING (SIZE(1..maxSimultaneousBands)) OPTIONAL +} + BandParameters ::= CHOICE { eutra SEQUENCE { bandEUTRA FreqBandIndicatorEUTRA, @@ -5218,7 +8445,60 @@ BandParameters-v1540 ::= SEQUENCE { } OPTIONAL } +BandParameters-v1610 ::= SEQUENCE { + srs-TxSwitch-v1610 SEQUENCE { + supportedSRS-TxPortSwitch-v1610 ENUMERATED {t1r1-t1r2, t1r1-t1r2-t1r4, t1r1-t1r2-t2r2-t2r4, t1r1-t1r2-t2r2-t1r4-t2r4, + t1r1-t2r2, t1r1-t2r2-t4r4} + } OPTIONAL, + intraFreqDAPS-Parameters-r16 SEQUENCE { + intraFreqDiffSCS-DAPS-r16 ENUMERATED {supported} OPTIONAL, + intraFreqDAPS-r16 ENUMERATED {supported} OPTIONAL, + intraFreqAsyncDAPS-r16 ENUMERATED {supported} OPTIONAL, + intraFreqMultiUL-TransmissionDAPS-r16 ENUMERATED {supported} OPTIONAL, + intraFreqTwoTAGs-DAPS-r16 ENUMERATED {supported} OPTIONAL, + intraFreqSemiStaticPowerSharingDAPS-Mode1-r16 ENUMERATED {supported} OPTIONAL, + intraFreqSemiStaticPowerSharingDAPS-Mode2-r16 ENUMERATED {supported} OPTIONAL, + intraFreqDynamicPowersharingDAPS-r16 ENUMERATED {short, long} OPTIONAL + } OPTIONAL +} + -- TAG-BANDCOMBINATIONLIST-STOP +-- TAG-BANDCOMBINATIONLISTSIDELINK-START + +BandCombinationListSidelink-r16 ::= SEQUENCE { + supportedBandCombinationListSidelink-r16 SupportedBandCombinationListSidelink-r16 OPTIONAL, + supportedBandCombinationListSidelinkEUTRA-r16 SupportedBandCombinationListSidelinkEUTRA-r16 OPTIONAL, + supportedBandCombinationListSidelinkEUTRA-NR-r16 SupportedBandCombinationListSidelinkEUTRA-NR-r16 OPTIONAL, + ... +} + +SupportedBandCombinationListSidelink-r16 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationParametersSidelink-r16 + +BandCombinationParametersSidelink-r16 ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParametersSidelink-r16 + +BandParametersSidelink-r16 ::= SEQUENCE { + freqBandSidelink-r16 FreqBandIndicatorNR +} + +SupportedBandCombinationListSidelinkEUTRA-r16 ::= SEQUENCE { + bandCombinationListEUTRA1-r16 OCTET STRING OPTIONAL, + bandCombinationListEUTRA2-r16 OCTET STRING OPTIONAL +} + +SupportedBandCombinationListSidelinkEUTRA-NR-r16 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationParametersSidelinkEUTRA-NR-r16 + +BandCombinationParametersSidelinkEUTRA-NR-r16 ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParametersSidelinkEUTRA-NR-r16 + +BandParametersSidelinkEUTRA-NR-r16 ::= CHOICE { + eutra SEQUENCE { + bandParametersSidelinkEUTRA1-r16 OCTET STRING OPTIONAL, + bandParametersSidelinkEUTRA2-r16 OCTET STRING OPTIONAL + }, + nr SEQUENCE { + bandParametersSidelinkNR-r16 BandParametersSidelink-r16 } + } + +-- TAG-BANDCOMBINATIONLISTSIDELINK-STOP -- TAG-CA-BANDWIDTHCLASSEUTRA-START CA-BandwidthClassEUTRA ::= ENUMERATED {a, b, c, d, e, f, ...} @@ -5279,21 +8559,78 @@ CA-ParametersNR-v1550 ::= SEQUENCE { } CA-ParametersNR-v1560 ::= SEQUENCE { - diffNumerologyWithinPUCCH-GroupLargerSCS ENUMERATED {supported} OPTIONAL + diffNumerologyWithinPUCCH-GroupLargerSCS ENUMERATED {supported} OPTIONAL +} + +CA-ParametersNR-v1610 ::= SEQUENCE { + -- R1 9-3: Parallel MsgA and SRS/PUCCH/PUSCH transmissions across CCs in inter-band CA + parallelTxMsgA-SRS-PUCCH-PUSCH-r16 ENUMERATED {supported} OPTIONAL, + -- R1 9-4: MsgA operation in a band combination including SUL + msgA-SUL-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-9c: Joint search space group switching across multiple cells + jointSearchSpaceGroupSwitchingAcrossCells-r16 ENUMERATED {supported} OPTIONAL, + -- R1 14-5: Half-duplex UE behaviour in TDD CA for same SCS + half-DuplexTDD-CA-SameSCS-r16 ENUMERATED {supported} OPTIONAL, + -- R1 18-4: SCell dormancy within active time + scellDormancyWithinActiveTime-r16 ENUMERATED {supported} OPTIONAL, + -- R1 18-4a: SCell dormancy outside active time + scellDormancyOutsideActiveTime-r16 ENUMERATED {supported} OPTIONAL, + -- R1 18-6: Cross-carrier A-CSI RS triggering with different SCS + crossCarrierA-CSI-trigDiffSCS-r16 ENUMERATED {higherA-CSI-SCS,lowerA-CSI-SCS,both} OPTIONAL, + -- R1 18-6a: Default QCL assumption for cross-carrier A-CSI-RS triggering + defaultQCL-CrossCarrierA-CSI-Trig-r16 ENUMERATED {supported} OPTIONAL, + -- R1 18-7: CA with non-aligned frame boundaries for inter-band CA + interCA-NonAlignedFrame-r16 ENUMERATED {supported} OPTIONAL, + simul-SRS-Trans-InterBandCA-r16 INTEGER (1..2) OPTIONAL, + daps-Parameters-r16 SEQUENCE { + asyncDAPS-r16 ENUMERATED {supported} OPTIONAL, + interFreqDAPS-r16 ENUMERATED {supported} OPTIONAL, + interFreqDiffSCS-DAPS-r16 ENUMERATED {supported} OPTIONAL, + multiUL-TransmissionDAPS-r16 ENUMERATED {supported} OPTIONAL, + semiStaticPowerSharingDAPS-Mode1-r16 ENUMERATED {supported} OPTIONAL, + semiStaticPowerSharingDAPS-Mode2-r16 ENUMERATED {supported} OPTIONAL, + dynamicPowersharingDAPS-r16 ENUMERATED {short, long} OPTIONAL, + ul-TransCancellationDAPS-r16 ENUMERATED {supported} OPTIONAL + } OPTIONAL, + codebookParametersPerBC-r16 CodebookParameters-v1610 OPTIONAL } -- TAG-CA-PARAMETERSNR-STOP -- TAG-CA-PARAMETERS-NRDC-START -CA-ParametersNRDC ::= SEQUENCE { - ca-ParametersNR-ForDC CA-ParametersNR OPTIONAL, - ca-ParametersNR-ForDC-v1540 CA-ParametersNR-v1540 OPTIONAL, - ca-ParametersNR-ForDC-v1550 CA-ParametersNR-v1550 OPTIONAL, - ca-ParametersNR-ForDC-v1560 CA-ParametersNR-v1560 OPTIONAL, - featureSetCombinationDC FeatureSetCombinationId OPTIONAL +CA-ParametersNRDC ::= SEQUENCE { + ca-ParametersNR-ForDC CA-ParametersNR OPTIONAL, + ca-ParametersNR-ForDC-v1540 CA-ParametersNR-v1540 OPTIONAL, + ca-ParametersNR-ForDC-v1550 CA-ParametersNR-v1550 OPTIONAL, + ca-ParametersNR-ForDC-v1560 CA-ParametersNR-v1560 OPTIONAL, + featureSetCombinationDC FeatureSetCombinationId OPTIONAL +} + +CA-ParametersNRDC-v1610 ::= SEQUENCE { + -- R1 18-1: Semi-static power sharing mode1 between MCG and SCG cells of same FR for NR dual connectivity + intraFR-NR-DC-PwrSharingMode1-r16 ENUMERATED {supported} OPTIONAL, + -- R1 18-1a: Semi-static power sharing mode 2 between MCG and SCG cells of same FR for NR dual connectivity + intraFR-NR-DC-PwrSharingMode2-r16 ENUMERATED {supported} OPTIONAL, + -- R1 18-1b: Dynamic power sharing between MCG and SCG cells of same FR for NR dual connectivity + intraFR-NR-DC-DynamicPwrSharing-r16 ENUMERATED {short, long} OPTIONAL } -- TAG-CA-PARAMETERS-NRDC-STOP +-- TAG-CARRIERAGGREGATIONVARIANT-START + +CarrierAggregationVariant ::= SEQUENCE { + fr1fdd-FR1TDD-CA-SpCellOnFR1FDD ENUMERATED {supported} OPTIONAL, + fr1fdd-FR1TDD-CA-SpCellOnFR1TDD ENUMERATED {supported} OPTIONAL, + fr1fdd-FR2TDD-CA-SpCellOnFR1FDD ENUMERATED {supported} OPTIONAL, + fr1fdd-FR2TDD-CA-SpCellOnFR2TDD ENUMERATED {supported} OPTIONAL, + fr1tdd-FR2TDD-CA-SpCellOnFR1TDD ENUMERATED {supported} OPTIONAL, + fr1tdd-FR2TDD-CA-SpCellOnFR2TDD ENUMERATED {supported} OPTIONAL, + fr1fdd-FR1TDD-FR2TDD-CA-SpCellOnFR1FDD ENUMERATED {supported} OPTIONAL, + fr1fdd-FR1TDD-FR2TDD-CA-SpCellOnFR1TDD ENUMERATED {supported} OPTIONAL, + fr1fdd-FR1TDD-FR2TDD-CA-SpCellOnFR2TDD ENUMERATED {supported} OPTIONAL +} + +-- TAG-CARRIERAGGREGATIONVARIANT-STOP -- TAG-CODEBOOKPARAMETERS-START CodebookParameters ::= SEQUENCE { @@ -5311,18 +8648,29 @@ CodebookParameters ::= SEQUENCE { } OPTIONAL }, type2 SEQUENCE { - supportedCSI-RS-ResourceList SEQUENCE (SIZE (1.. maxNrofCSI-RS-Resources)) OF SupportedCSI-RS-Resource, + supportedCSI-RS-ResourceList SEQUENCE (SIZE (1.. maxNrofCSI-RS-Resources)) OF SupportedCSI-RS-Resource, parameterLx INTEGER (2..4), - amplitudeScalingType ENUMERATED {wideband, widebandAndSubband}, - amplitudeSubsetRestriction ENUMERATED {supported} OPTIONAL + amplitudeScalingType ENUMERATED {wideband, widebandAndSubband}, + amplitudeSubsetRestriction ENUMERATED {supported} OPTIONAL } OPTIONAL, - type2-PortSelection SEQUENCE { - supportedCSI-RS-ResourceList SEQUENCE (SIZE (1.. maxNrofCSI-RS-Resources)) OF SupportedCSI-RS-Resource, - parameterLx INTEGER (2..4), - amplitudeScalingType ENUMERATED {wideband, widebandAndSubband} + type2-PortSelection SEQUENCE { + supportedCSI-RS-ResourceList SEQUENCE (SIZE (1.. maxNrofCSI-RS-Resources)) OF SupportedCSI-RS-Resource, + parameterLx INTEGER (2..4), + amplitudeScalingType ENUMERATED {wideband, widebandAndSubband} } OPTIONAL } +CodebookParameters-v1610 ::= SEQUENCE { + supportedCSI-RS-ResourceListAlt-r16 SEQUENCE { + type1-SinglePanel-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-Resources)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16) OPTIONAL, + type1-MultiPanel-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-Resources)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16) OPTIONAL, + type2-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-Resources)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16) OPTIONAL, + type2-PortSelection-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-Resources)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16) OPTIONAL + } OPTIONAL +} + +CodebookVariantsList-r16 ::= SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesAlt-r16)) OF SupportedCSI-RS-Resource + SupportedCSI-RS-Resource ::= SEQUENCE { maxNumberTxPortsPerResource ENUMERATED {p2, p4, p8, p12, p16, p24, p32}, maxNumberResourcesPerBand INTEGER (1..64), @@ -5370,15 +8718,15 @@ FeatureSetDownlink ::= SEQUENCE { ue-SpecificUL-DL-Assignment ENUMERATED {supported} OPTIONAL, searchSpaceSharingCA-DL ENUMERATED {supported} OPTIONAL, timeDurationForQCL SEQUENCE { - scs-60kHz ENUMERATED {s7, s14, s28} OPTIONAL, - scs-120kHz ENUMERATED {s14, s28} OPTIONAL - } OPTIONAL, + scs-60kHz ENUMERATED {s7, s14, s28} OPTIONAL, + scs-120kHz ENUMERATED {s14, s28} OPTIONAL + } OPTIONAL, pdsch-ProcessingType1-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, + 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, dummy3 DummyA OPTIONAL, dummy4 SEQUENCE (SIZE (1.. maxNrofCodebooks)) OF DummyB OPTIONAL, dummy5 SEQUENCE (SIZE (1.. maxNrofCodebooks)) OF DummyC OPTIONAL, @@ -5409,6 +8757,28 @@ FeatureSetDownlink-v1540 ::= SEQUENCE { dl-MCS-TableAlt-DynamicIndication ENUMERATED {supported} OPTIONAL } +FeatureSetDownlink-v15a0 ::= SEQUENCE { + supportedSRS-Resources SRS-Resources OPTIONAL +} + +FeatureSetDownlink-v1610 ::= SEQUENCE { + -- R1 22-4e/4f/4g/4h: CBG based reception for DL with unicast PDSCH(s) per slot per CC with UE processing time Capability 1 + cbgPDSCH-ProcessingType1-DifferentTB-PerSlot SEQUENCE { + scs-15kHz ENUMERATED {one-pdsch, upto2, upto4, upto7} OPTIONAL, + scs-30kHz ENUMERATED {one-pdsch, upto2, upto4, upto7} OPTIONAL, + scs-60kHz ENUMERATED {one-pdsch, upto2, upto4, upto7} OPTIONAL, + scs-120kHz ENUMERATED {one-pdsch, upto2, upto4, upto7} OPTIONAL + } OPTIONAL, + + -- R1 22-3e/3f/3g/3h: CBG based reception for DL with unicast PDSCH(s) per slot per CC with UE processing time Capability 2 + cbgPDSCH-ProcessingType2-DifferentTB-PerSlot SEQUENCE { + scs-15kHz ENUMERATED {one-pdsch, upto2, upto4, upto7} OPTIONAL, + scs-30kHz ENUMERATED {one-pdsch, upto2, upto4, upto7} OPTIONAL, + scs-60kHz ENUMERATED {one-pdsch, upto2, upto4, upto7} OPTIONAL, + scs-120kHz ENUMERATED {one-pdsch, upto2, upto4, upto7} OPTIONAL + } OPTIONAL +} + DummyA ::= 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, @@ -5503,6 +8873,13 @@ FeatureSets ::= SEQUENCE { featureSetsDownlink-v1540 SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink-v1540 OPTIONAL, featureSetsUplink-v1540 SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink-v1540 OPTIONAL, featureSetsUplinkPerCC-v1540 SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetUplinkPerCC-v1540 OPTIONAL + ]], + [[ + featureSetsDownlink-v15a0 SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink-v15a0 OPTIONAL + ]], + [[ + featureSetsDownlink-v1610 SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink-v1610 OPTIONAL, + featureSetsUplink-v1610 SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink-v1610 OPTIONAL ]] } @@ -5541,6 +8918,61 @@ FeatureSetUplink-v1540 ::= SEQUENCE { ul-MCS-TableAlt-DynamicIndication ENUMERATED {supported} OPTIONAL } +FeatureSetUplink-v1610 ::= SEQUENCE { + -- R1 11-5: PUsCH repetition Type B + pusch-RepetitionTypeB-r16 SEQUENCE { + maxNumberPUSCH-Tx-r16 ENUMERATED {n2, n3, n4, n7, n8, n12}, + hoppingScheme-r16 ENUMERATED {interSlotHopping, interRepetitionHopping, both} + } OPTIONAL, + -- R1 11-7: UL cancelation scheme for self-carrier + ul-CancellationSelfCarrier-r16 ENUMERATED {supported} OPTIONAL, + -- R1 11-7a: UL cancelation scheme for cross-carrier + ul-CancellationCrossCarrier-r16 ENUMERATED {supported} OPTIONAL, + -- R1 16-5c: The maximum number of SRS resources in one SRS resource set with usage set to 'codebook' for Mode 2 + ul-FullPwrMode2-MaxSRS-ResInSet ENUMERATED {n1, n2, n4} OPTIONAL, + + -- R1 22-4a/4b/4c/4d: CBG based transmission for UL with unicast PUSCH(s) per slot per CC with UE processing time Capability 1 + cbgPUSCH-ProcessingType1-DifferentTB-PerSlot SEQUENCE { + scs-15kHz ENUMERATED {one-pusch, upto2, upto4, upto7} OPTIONAL, + scs-30kHz ENUMERATED {one-pusch, upto2, upto4, upto7} OPTIONAL, + scs-60kHz ENUMERATED {one-pusch, upto2, upto4, upto7} OPTIONAL, + scs-120kHz ENUMERATED {one-pusch, upto2, upto4, upto7} OPTIONAL + } OPTIONAL, + + -- R1 22-3a/3b/3c/3d: CBG based transmission for UL with unicast PUSCH(s) per slot per CC with UE processing time Capability 2 + cbgPUSCH-ProcessingType2-DifferentTB-PerSlot SEQUENCE { + scs-15kHz ENUMERATED {one-pusch, upto2, upto4, upto7} OPTIONAL, + scs-30kHz ENUMERATED {one-pusch, upto2, upto4, upto7} OPTIONAL, + scs-60kHz ENUMERATED {one-pusch, upto2, upto4, upto7} OPTIONAL, + scs-120kHz ENUMERATED {one-pusch, upto2, upto4, upto7} OPTIONAL + } OPTIONAL, + supportedSRS-PosResources-r16 SRS-AllPosResources-r16 OPTIONAL +} + +SRS-AllPosResources-r16 ::= SEQUENCE { + srs-PosResources-r16 SRS-PosResources-r16, + srs-PosResourceAP-r16 SRS-PosResourceAP-r16 OPTIONAL, + srs-PosResourceSP-r16 SRS-PosResourceSP-r16 OPTIONAL +} + +SRS-PosResources-r16 ::= SEQUENCE { + maxNumberSRS-PosResourceSetPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n12, n16}, + maxNumberSRS-PosResourcesPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n16, n32, n64}, + maxNumberSRS-ResourcesPerBWP-PerSlot-r16 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14}, + maxNumberPeriodicSRS-PosResourcesPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n16, n32, n64}, + maxNumberPeriodicSRS-PosResourcesPerBWP-PerSlot-r16 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14} +} + +SRS-PosResourceAP-r16 ::= SEQUENCE { + maxNumberAP-SRS-PosResourcesPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n16, n32, n64}, + maxNumberAP-SRS-PosResourcesPerBWP-PerSlot-r16 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14} +} + +SRS-PosResourceSP-r16 ::= SEQUENCE { + maxNumberSP-SRS-PosResourcesPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n16, n32, n64}, + maxNumberSP-SRS-PosResourcesPerBWP-PerSlot-r16 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14} +} + SRS-Resources ::= SEQUENCE { maxNumberAperiodicSRS-PerBWP ENUMERATED {n1, n2, n4, n8, n16}, maxNumberAperiodicSRS-PerBWP-PerSlot INTEGER (1..6), @@ -5627,6 +9059,14 @@ AggregatedBandwidth ::= ENUMERATED {mhz50, mhz100, mhz150, mhz200, mhz25 FreqSeparationClass ::= ENUMERATED {c1, c2, c3, ...} -- TAG-FREQSEPARATIONCLASS-STOP +-- TAG-HIGHSPEEDPARAMETERS-START + +HighSpeedParameters-r16 ::= SEQUENCE { + measurementEnhancement-r16 ENUMERATED {supported} OPTIONAL, + demodulationEnhancement-r16 ENUMERATED {supported} OPTIONAL +} + +-- TAG-HIGHSPEEDPARAMETERS-STOP -- TAG-IMS-PARAMETERS-START IMS-Parameters ::= SEQUENCE { @@ -5640,6 +9080,9 @@ IMS-ParametersCommon ::= SEQUENCE { ..., [[ voiceOverSCG-BearerEUTRA-5GC ENUMERATED {supported} OPTIONAL + ]], + [[ + voiceFallbackIndicationEPS-r16 ENUMERATED {supported} OPTIONAL ]] } @@ -5653,7 +9096,11 @@ IMS-ParametersFRX-Diff ::= SEQUENCE { InterRAT-Parameters ::= SEQUENCE { eutra EUTRA-Parameters OPTIONAL, - ... + ..., + [[ + utra-FDD-r16 UTRA-FDD-Parameters-r16 OPTIONAL + ]] + } EUTRA-Parameters ::= SEQUENCE { @@ -5669,10 +9116,12 @@ EUTRA-ParametersCommon ::= SEQUENCE { multiNS-Pmax-EUTRA ENUMERATED {supported} OPTIONAL, rs-SINR-MeasEUTRA ENUMERATED {supported} OPTIONAL, ..., - [[ + [[ ne-DC ENUMERATED {supported} OPTIONAL + ]], + [[ + nr-HO-ToEN-DC-r16 ENUMERATED {supported} OPTIONAL ]] - } EUTRA-ParametersXDD-Diff ::= SEQUENCE { @@ -5680,6 +9129,20 @@ EUTRA-ParametersXDD-Diff ::= SEQUENCE { ... } +UTRA-FDD-Parameters-r16 ::= SEQUENCE { + supportedBandListUTRA-FDD-r16 SEQUENCE (SIZE (1..maxBandsUTRA-FDD-r16)) OF SupportedBandUTRA-FDD-r16, + ... +} + +SupportedBandUTRA-FDD-r16 ::= ENUMERATED { + bandI, bandII, bandIII, bandIV, bandV, bandVI, + bandVII, bandVIII, bandIX, bandX, bandXI, + bandXII, bandXIII, bandXIV, bandXV, bandXVI, + bandXVII, bandXVIII, bandXIX, bandXX, + bandXXI, bandXXII, bandXXIII, bandXXIV, + bandXXV, bandXXVI, bandXXVII, bandXXVIII, + bandXXIX, bandXXX, bandXXXI, bandXXXII} + -- TAG-INTERRAT-PARAMETERS-STOP -- TAG-MAC-PARAMETERS-START @@ -5688,27 +9151,62 @@ MAC-Parameters ::= SEQUENCE { mac-ParametersXDD-Diff MAC-ParametersXDD-Diff OPTIONAL } +MAC-Parameters-v1610 ::= SEQUENCE { + mac-ParametersFRX-Diff-r16 MAC-ParametersFRX-Diff-r16 OPTIONAL +} + MAC-ParametersCommon ::= SEQUENCE { - lcp-Restriction ENUMERATED {supported} OPTIONAL, - dummy ENUMERATED {supported} OPTIONAL, - lch-ToSCellRestriction ENUMERATED {supported} OPTIONAL, + lcp-Restriction ENUMERATED {supported} OPTIONAL, + dummy ENUMERATED {supported} OPTIONAL, + lch-ToSCellRestriction ENUMERATED {supported} OPTIONAL, ..., [[ - recommendedBitRate ENUMERATED {supported} OPTIONAL, - recommendedBitRateQuery ENUMERATED {supported} OPTIONAL + recommendedBitRate ENUMERATED {supported} OPTIONAL, + recommendedBitRateQuery ENUMERATED {supported} OPTIONAL + ]], + [[ + recommendedBitRateMultiplier-r16 ENUMERATED {supported} OPTIONAL, + secondaryDRX-Group ENUMERATED {supported} OPTIONAL, + preEmptiveBSR-r16 ENUMERATED {supported} OPTIONAL, + autonomousTransmission-r16 ENUMERATED {supported} OPTIONAL, + lch-PriorityBasedPrioritization-r16 ENUMERATED {supported} OPTIONAL, + lch-ToConfiguredGrantMapping-r16 ENUMERATED {supported} OPTIONAL, + lch-ToGrantPriorityRestriction-r16 ENUMERATED {supported} OPTIONAL, + singlePHR-P-r16 ENUMERATED {supported} OPTIONAL, + ul-LBT-FailureDetectionRecovery-r16 ENUMERATED {supported} OPTIONAL ]] } +MAC-ParametersFRX-Diff-r16 ::= SEQUENCE { + directMCG-SCellActivation-r16 ENUMERATED {supported} OPTIONAL, + directMCG-SCellActivationResume-r16 ENUMERATED {supported} OPTIONAL, + directSCG-SCellActivation-r16 ENUMERATED {supported} OPTIONAL, + directSCG-SCellActivationResume-r16 ENUMERATED {supported} OPTIONAL, + -- R1 19-1: DRX Adaptation + drx-Adaptation-r16 SEQUENCE { + licensedBand-r16 MinTimeGap-r16 OPTIONAL, + unlicensedBand-r16 MinTimeGap-r16 OPTIONAL + } 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, + 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, ... } +MinTimeGap-r16 ::= SEQUENCE { + scs-15kHz-r16 ENUMERATED {sl1, sl3} OPTIONAL, + scs-30kHz-r16 ENUMERATED {sl1, sl6} OPTIONAL, + scs-60kHz-r16 ENUMERATED {sl1, sl12} OPTIONAL, + scs-120kHz-r16 ENUMERATED {sl2, sl24} OPTIONAL +} + -- TAG-MAC-PARAMETERS-STOP -- TAG-MEASANDMOBPARAMETERS-START @@ -5737,7 +9235,32 @@ MeasAndMobParametersCommon ::= SEQUENCE { ]], [[ nr-CGI-Reporting-ENDC ENUMERATED {supported} OPTIONAL + ]], + [[ + eutra-CGI-Reporting-NEDC ENUMERATED {supported} OPTIONAL, + eutra-CGI-Reporting-NRDC ENUMERATED {supported} OPTIONAL, + nr-CGI-Reporting-NEDC ENUMERATED {supported} OPTIONAL, + nr-CGI-Reporting-NRDC ENUMERATED {supported} OPTIONAL + ]], + [[ + reportAddNeighMeasForPeriodic-r16 ENUMERATED {supported} OPTIONAL, + condHandoverParametersCommon-r16 SEQUENCE { + condHandoverFDD-TDD-r16 ENUMERATED {supported} OPTIONAL, + condHandoverFR1-FR2-r16 ENUMERATED {supported} OPTIONAL + } OPTIONAL, + nr-NeedForGap-Reporting-r16 ENUMERATED {supported} OPTIONAL, + supportedGapPattern-NRonly-r16 BIT STRING (SIZE (10)) OPTIONAL, + supportedGapPattern-NRonly-NEDC-r16 ENUMERATED {supported} OPTIONAL, + maxNumberCLI-RSSI-r16 ENUMERATED {n8, n16, n32, n64} OPTIONAL, + maxNumberCLI-SRS-RSRP-r16 ENUMERATED {n4, n8, n16, n32} OPTIONAL, + maxNumberPerSlotCLI-SRS-RSRP-r16 ENUMERATED {n2, n4, n8} OPTIONAL, + mfbi-IAB-r16 ENUMERATED {supported} OPTIONAL, + multipleNS-And-Pmax-IAB-r16 ENUMERATED {supported} OPTIONAL, + nr-CGI-Reporting-NPN-r16 ENUMERATED {supported} OPTIONAL, + idleInactiveEUTRA-MeasReport-r16 ENUMERATED {supported} OPTIONAL, + idleInactive-ValidityArea-r16 ENUMERATED {supported} OPTIONAL ]] + } MeasAndMobParametersXDD-Diff ::= SEQUENCE { @@ -5752,26 +9275,61 @@ MeasAndMobParametersXDD-Diff ::= SEQUENCE { [[ sftd-MeasNR-Neigh ENUMERATED {supported} OPTIONAL, sftd-MeasNR-Neigh-DRX ENUMERATED {supported} OPTIONAL + ]], + [[ + condHandoverParametersXDD-Diff-r16 SEQUENCE { + condHandover-r16 ENUMERATED {supported} OPTIONAL, + condHandoverFailure-r16 ENUMERATED {supported} OPTIONAL, + condHandoverTwoTriggerEvents-r16 ENUMERATED {supported} OPTIONAL + } OPTIONAL, + pcellT312-r16 ENUMERATED {supported} OPTIONAL, + handoverIntraF-IAB-r16 ENUMERATED {supported} OPTIONAL, + eutra-AutonomousGaps-r16 ENUMERATED {supported} OPTIONAL, + eutra-AutonomousGapsNEDC-r16 ENUMERATED {supported} OPTIONAL, + eutra-AutonomousGapsNRDC-r16 ENUMERATED {supported} OPTIONAL, + nr-AutonomousGaps-r16 ENUMERATED {supported} OPTIONAL, + nr-AutonomousGaps-ENDC-r16 ENUMERATED {supported} OPTIONAL, + nr-AutonomousGapsNEDC-r16 ENUMERATED {supported} OPTIONAL, + nr-AutonomousGapsNRDC-r16 ENUMERATED {supported} OPTIONAL, + handoverUTRA-FDD-r16 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, + 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-EPC ENUMERATED {supported} OPTIONAL, - handoverLTE-5GC ENUMERATED {supported} OPTIONAL + handoverInterF ENUMERATED {supported} OPTIONAL, + handoverLTE-EPC ENUMERATED {supported} OPTIONAL, + handoverLTE-5GC ENUMERATED {supported} OPTIONAL + ]], + [[ + maxNumberResource-CSI-RS-RLM ENUMERATED {n2, n4, n6, n8} OPTIONAL ]], [[ - maxNumberResource-CSI-RS-RLM ENUMERATED {n2, n4, n6, n8} OPTIONAL + simultaneousRxDataSSB-DiffNumerology ENUMERATED {supported} OPTIONAL ]], [[ - simultaneousRxDataSSB-DiffNumerology ENUMERATED {supported} OPTIONAL + nr-AutonomousGaps-r16 ENUMERATED {supported} OPTIONAL, + nr-AutonomousGaps-ENDC-r16 ENUMERATED {supported} OPTIONAL, + handoverUTRA-FDD-r16 ENUMERATED {supported} OPTIONAL, + cli-RSSI-Meas-r16 ENUMERATED {supported} OPTIONAL, + cli-SRS-RSRP-Meas-r16 ENUMERATED {supported} OPTIONAL, + condHandoverParametersFRX-Diff-r16 SEQUENCE { + condHandover-r16 ENUMERATED {supported} OPTIONAL, + condHandoverFailure-r16 ENUMERATED {supported} OPTIONAL, + condHandoverTwoTriggerEvents-r16 ENUMERATED {supported} OPTIONAL + } OPTIONAL, + pcellT312-r16 ENUMERATED {supported} OPTIONAL, + interFrequencyMeas-Nogap-r16 ENUMERATED {supported} OPTIONAL, + simultaneousRxDataSSB-DiffNumerology-Inter-r16 ENUMERATED {supported} OPTIONAL, + handoverIntraF-IAB-r16 ENUMERATED {supported} OPTIONAL, + idleInactiveNR-MeasReport-r16 ENUMERATED {supported} OPTIONAL ]] } @@ -5785,24 +9343,54 @@ MeasAndMobParametersMRDC ::= SEQUENCE { } MeasAndMobParametersMRDC-v1560 ::= SEQUENCE { - measAndMobParametersMRDC-XDD-Diff-v1560 MeasAndMobParametersMRDC-XDD-Diff-v1560 OPTIONAL + measAndMobParametersMRDC-XDD-Diff-v1560 MeasAndMobParametersMRDC-XDD-Diff-v1560 OPTIONAL +} + +MeasAndMobParametersMRDC-v1610 ::= SEQUENCE { + measAndMobParametersMRDC-Common-v1610 MeasAndMobParametersMRDC-Common-v1610 OPTIONAL, + measAndMobParametersMRDC-XDD-Diff-v1610 MeasAndMobParametersMRDC-XDD-Diff-v1610 OPTIONAL, + measAndMobParametersMRDC-FRX-Diff-v1610 MeasAndMobParametersMRDC-FRX-Diff-v1610 OPTIONAL, + interNR-MeasEUTRA-IAB-r16 ENUMERATED {supported} OPTIONAL } MeasAndMobParametersMRDC-Common ::= SEQUENCE { - independentGapConfig ENUMERATED {supported} OPTIONAL + independentGapConfig ENUMERATED {supported} OPTIONAL +} + +MeasAndMobParametersMRDC-Common-v1610 ::= SEQUENCE { + condPSCellChangeParametersCommon-r16 SEQUENCE { + condPSCellChangeFDD-TDD-r16 ENUMERATED {supported} OPTIONAL, + condPSCellChangeFR1-FR2-r16 ENUMERATED {supported} OPTIONAL + } OPTIONAL } MeasAndMobParametersMRDC-XDD-Diff ::= SEQUENCE { - sftd-MeasPSCell ENUMERATED {supported} OPTIONAL, - sftd-MeasNR-Cell ENUMERATED {supported} OPTIONAL + sftd-MeasPSCell ENUMERATED {supported} OPTIONAL, + sftd-MeasNR-Cell ENUMERATED {supported} OPTIONAL } MeasAndMobParametersMRDC-XDD-Diff-v1560 ::= SEQUENCE { - sftd-MeasPSCell-NEDC ENUMERATED {supported} OPTIONAL + sftd-MeasPSCell-NEDC ENUMERATED {supported} OPTIONAL +} + +MeasAndMobParametersMRDC-XDD-Diff-v1610 ::= SEQUENCE { + condPSCellChangeParametersXDD-Diff-r16 SEQUENCE { + condPSCellChange-r16 ENUMERATED {supported} OPTIONAL, + condPSCellChangeTwoTriggerEvents-r16 ENUMERATED {supported} OPTIONAL + } OPTIONAL, + pscellT312-r16 ENUMERATED {supported} OPTIONAL } MeasAndMobParametersMRDC-FRX-Diff ::= SEQUENCE { - simultaneousRxDataSSB-DiffNumerology ENUMERATED {supported} OPTIONAL + simultaneousRxDataSSB-DiffNumerology ENUMERATED {supported} OPTIONAL +} + +MeasAndMobParametersMRDC-FRX-Diff-v1610 ::= SEQUENCE { + condPSCellChangeParametersFRX-Diff-r16 SEQUENCE { + condPSCellChange-r16 ENUMERATED {supported} OPTIONAL, + condPSCellChangeTwoTriggerEvents-r16 ENUMERATED {supported} OPTIONAL + } OPTIONAL, + pscellT312-r16 ENUMERATED {supported} OPTIONAL } -- TAG-MEASANDMOBPARAMETERSMRDC-STOP @@ -5884,7 +9472,13 @@ MIMO-ParametersPerBand ::= SEQUENCE { csi-RS-ForTracking CSI-RS-ForTracking OPTIONAL, srs-AssocCSI-RS SEQUENCE (SIZE (1.. maxNrofCSI-RS-Resources)) OF SupportedCSI-RS-Resource OPTIONAL, spatialRelations SpatialRelations OPTIONAL + ]], + [[ + -- R1 16-2b-0: Support of default QCL assumption with two TCI states + defaultQCL-TwoTCI-r16 ENUMERATED {supported} OPTIONAL, + codebookParametersPerBand-r16 CodebookParameters-v1610 OPTIONAL ]] + } DummyG ::= SEQUENCE { @@ -5995,6 +9589,17 @@ MRDC-Parameters ::= SEQUENCE { dualPA-Architecture ENUMERATED {supported} OPTIONAL, intraBandENDC-Support ENUMERATED {non-contiguous, both} OPTIONAL, ul-TimingAlignmentEUTRA-NR ENUMERATED {required} OPTIONAL + ]], + [[ + maxUplinkDutyCycle-interBandENDC-TDD-PC2-r16 SEQUENCE{ + eutra-TDD-Config0-r16 ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100} OPTIONAL, + eutra-TDD-Config1-r16 ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100} OPTIONAL, + eutra-TDD-Config2-r16 ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100} OPTIONAL, + eutra-TDD-Config3-r16 ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100} OPTIONAL, + eutra-TDD-Config4-r16 ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100} OPTIONAL, + eutra-TDD-Config5-r16 ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100} OPTIONAL, + eutra-TDD-Config6-r16 ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100} OPTIONAL + } OPTIONAL ]] } @@ -6002,8 +9607,8 @@ MRDC-Parameters-v1580 ::= SEQUENCE { dynamicPowerSharingNEDC ENUMERATED {supported} OPTIONAL } -MRDC-Parameters-v1590 ::= SEQUENCE { - interBandContiguousMRDC ENUMERATED {supported} OPTIONAL +MRDC-Parameters-v1590 ::= SEQUENCE { + interBandContiguousMRDC ENUMERATED {supported} OPTIONAL } -- TAG-MRDC-PARAMETERS-STOP @@ -6024,7 +9629,22 @@ NRDC-Parameters-v1570 ::= SEQUENCE { sfn-SyncNRDC ENUMERATED {supported} OPTIONAL } +NRDC-Parameters-v1610 ::= SEQUENCE { + measAndMobParametersNRDC-v1610 MeasAndMobParametersMRDC-v1610 OPTIONAL +} + + -- TAG-NRDC-PARAMETERS-STOP +-- TAG-OLPC-SRS-POS-START + +OLPC-SRS-Pos-r16 ::= SEQUENCE { + olpc-SRS-PosBasedOnPRS-Serving-r16 ENUMERATED {supported} OPTIONAL, + olpc-SRS-PosBasedOnSSB-Neigh-r16 ENUMERATED {supported} OPTIONAL, + olpc-SRS-PosBasedOnPRS-Neigh-r16 ENUMERATED {supported} OPTIONAL, + maxNumberPathLossEstimatePerServing-r16 ENUMERATED {n1, n4, n8, n16} OPTIONAL +} + +--TAG-OLPC-SRS-POS-STOP -- TAG-PDCP-PARAMETERS-START PDCP-Parameters ::= SEQUENCE { @@ -6048,7 +9668,18 @@ PDCP-Parameters ::= SEQUENCE { shortSN ENUMERATED {supported} OPTIONAL, pdcp-DuplicationSRB ENUMERATED {supported} OPTIONAL, pdcp-DuplicationMCG-OrSCG-DRB ENUMERATED {supported} OPTIONAL, - ... + ..., + [[ + drb-IAB-r16 ENUMERATED {supported} OPTIONAL, + non-DRB-IAB-r16 ENUMERATED {supported} OPTIONAL, + extendedDiscardTimer-r16 ENUMERATED {supported} OPTIONAL, + continueEHC-Context-r16 ENUMERATED {supported} OPTIONAL, + ehc-r16 ENUMERATED {supported} OPTIONAL, + maxNumberEHC-Contexts-r16 ENUMERATED {cs2, cs4, cs8, cs16, cs32, cs64, cs128, cs256, cs512, + cs1024, cs2048, cs4096, cs8192, cs16384, cs32768, cs65536} OPTIONAL, + jointEHC-ROHC-Config-r16 ENUMERATED {supported} OPTIONAL, + pdcp-DuplicationMoreThanTwoRLC-r16 ENUMERATED {supported} OPTIONAL + ]] } -- TAG-PDCP-PARAMETERS-STOP @@ -6059,6 +9690,10 @@ PDCP-ParametersMRDC ::= SEQUENCE { pdcp-DuplicationSplitDRB ENUMERATED {supported} OPTIONAL } +PDCP-ParametersMRDC-v1610 ::= SEQUENCE { + scg-DRB-NR-IAB-r16 ENUMERATED {supported} OPTIONAL +} + -- TAG-PDCP-PARAMETERSMRDC-STOP -- TAG-PHY-PARAMETERS-START @@ -6113,6 +9748,54 @@ Phy-ParametersCommon ::= SEQUENCE { maxNumberSearchSpaces ENUMERATED {n10} OPTIONAL, rateMatchingCtrlResrcSetDynamic ENUMERATED {supported} OPTIONAL, maxLayersMIMO-Indication ENUMERATED {supported} OPTIONAL + ]], + [[ + spCellPlacement CarrierAggregationVariant OPTIONAL + ]], + [[ + -- R1 9-1: Basic channel structure and procedure of 2-step RACH + twoStepRACH-r16 ENUMERATED {supported} OPTIONAL, + -- R1 11-1: Monitoring DCI format 1_2 and DCI format 0_2 + dci-Format1-2And0-2-r16 ENUMERATED {supported} OPTIONAL, + -- R1 11-1a: Monitoring both DCI format 0_1/1_1 and DCI format 0_2/1_2 in the same search space + monitoringDCI-SameSearchSpace-r16 ENUMERATED {supported} OPTIONAL, + -- R1 11-10: Type 2 configured grant release by DCI format 0_1 + type2-CG-ReleaseDCI-0-1-r16 ENUMERATED {supported} OPTIONAL, + -- R1 11-11: Type 2 configured grant release by DCI format 0_2 + type2-CG-ReleaseDCI-0-2-r16 ENUMERATED {supported} OPTIONAL, + -- R1 12-3: SPS release by DCI format 1_1 + sps-ReleaseDCI-1-1-r16 ENUMERATED {supported} OPTIONAL, + -- R1 12-3a: SPS release by DCI format 1_2 + sps-ReleaseDCI-1-2-r16 ENUMERATED {supported} OPTIONAL, + -- R1 14-8: CSI trigger states containing non-active BWP + csi-TriggerStateNon-ActiveBWP-r16 ENUMERATED {supported} OPTIONAL, + -- R1 20-2: Support up to 4 SMTCs configured for an IAB node MT per frequency location, including IAB-specific SMTC window periodicities + seperateSMTC-InterIAB-Support-r16 ENUMERATED {supported} OPTIONAL, + -- R1 20-3: Support RACH configuration separately from the RACH configuration for UE access, including new IAB-specific offset and scaling factors + seperateRACH-IAB-Support-r16 ENUMERATED {supported} OPTIONAL, + -- R1 20-5a: Support semi-static configuration/indication of UL-Flexible-DL slot formats for IAB-MT resources + ul-flexibleDL-SlotFormatSemiStatic-IAB-r16 ENUMERATED {supported} OPTIONAL, + -- R1 20-5b: Support dynamic indication of UL-Flexible-DL slot formats for IAB-MT resources + ul-flexibleDL-SlotFormatDynamics-IAB-r16 ENUMERATED {supported} OPTIONAL, + dft-S-OFDM-WaveformUL-IAB-r16 ENUMERATED {supported} OPTIONAL, + -- R1 20-6: Support DCI Format 2_5 based indication of soft resource availability to an IAB node + dci-25-AI-RNTI-Support-IAB-r16 ENUMERATED {supported} OPTIONAL, + -- R1 20-7: Support T_delta reception. + t-DeltaReceptionSupport-IAB-r16 ENUMERATED {supported} OPTIONAL, + -- R1 20-8: Support of Desired guard symbol reporting and provided guard symbok reception. + guardSymbolReportReception-IAB-r16 ENUMERATED {supported} OPTIONAL, + -- R1 18-8 HARQ-ACK codebook type and spatial bundling per PUCCH group + harqACK-CB-SpatialBundlingPUCCH-Group-r16 ENUMERATED {supported} OPTIONAL, + -- R1 19-2: Cross Slot Scheduling + crossSlotScheduling-r16 SEQUENCE { + licensedBand-r16 ENUMERATED {supported} OPTIONAL, + unlicensedBand-r16 ENUMERATED {supported} OPTIONAL + } OPTIONAL, + maxNumberSRS-PosPathLossEstimateAllServingCells-r16 ENUMERATED {n1, n4, n8, n16} OPTIONAL, + maxNumberSRS-PosSpatialRelationsAllServingCells-r16 ENUMERATED {n0, n1, n2, n4, n8, n16} OPTIONAL, + extendedCG-Periodicities-r16 ENUMERATED {supported} OPTIONAL, + extendedSPS-Periodicities-r16 ENUMERATED {supported} OPTIONAL, + codebookVariantsList-r16 CodebookVariantsList-r16 OPTIONAL ]] } @@ -6175,7 +9858,7 @@ Phy-ParametersFRX-Diff ::= SEQUENCE { mux-SR-HARQ-ACK-CSI-PUCCH-OncePerSlot SEQUENCE { sameSymbol ENUMERATED {supported} OPTIONAL, diffSymbol ENUMERATED {supported} OPTIONAL - } OPTIONAL, + } OPTIONAL, mux-SR-HARQ-ACK-PUCCH ENUMERATED {supported} OPTIONAL, mux-MultipleGroupCtrlCH-Overlap ENUMERATED {supported} OPTIONAL, dl-SchedulingOffset-PDSCH-TypeA ENUMERATED {supported} OPTIONAL, @@ -6194,7 +9877,26 @@ Phy-ParametersFRX-Diff ::= SEQUENCE { pdcch-BlindDetectionSCG-UE INTEGER (1..15) } OPTIONAL, mux-HARQ-ACK-PUSCH-DiffSymbol ENUMERATED {supported} OPTIONAL + ]], + [[ + -- R1 11-1b: Type 1 HARQ-ACK codebook support for relative TDRA for DL + type1-HARQ-ACK-Codebook-r16 ENUMERATED {supported} OPTIONAL, + -- R1 11-8: Enhanced UL power control scheme + enhancedPowerControl-r16 ENUMERATED {supported} OPTIONAL, + -- R1 16-1b-1: TCI state activation across multiple CCs + simultaneousTCI-ActMultipleCC-r16 ENUMERATED {supported} OPTIONAL, + -- R1 16-1b-2: Spatial relation update across multiple CCs + simultaneousSpatialRelationMultipleCC-r16 ENUMERATED {supported} OPTIONAL, + -- R1 16-1c: Support of default spatial relation and pathloss reference RS for dedicated-PUCCH/SRS and PUSCH + defaultSpatialRelationPathlossRS-r16 ENUMERATED {supported} OPTIONAL, + -- R1 16-1d: Support of spatial relation update for AP-SRS via MAC CE + spatialRelationUpdateAP-SRS-r16 ENUMERATED {supported} OPTIONAL, + cli-RSSI-FDM-DL-r16 ENUMERATED {supported} OPTIONAL, + cli-SRS-RSRP-FDM-DL-r16 ENUMERATED {supported} OPTIONAL, + -- R1 19-3: Maximum MIMO Layer Adaptation + maxLayersMIMO-Adaptation-r16 ENUMERATED {supported} OPTIONAL ]] + } Phy-ParametersFR1 ::= SEQUENCE { @@ -6225,7 +9927,10 @@ Phy-ParametersFR2 ::= SEQUENCE { Phy-ParametersMRDC ::= SEQUENCE { naics-Capability-List SEQUENCE (SIZE (1..maxNrofNAICS-Entries)) OF NAICS-Capability-Entry OPTIONAL, - ... + ..., + [[ + spCellPlacement CarrierAggregationVariant OPTIONAL + ]] } NAICS-Capability-Entry ::= SEQUENCE { @@ -6236,6 +9941,30 @@ NAICS-Capability-Entry ::= SEQUENCE { } -- TAG-PHY-PARAMETERSMRDC-STOP +-- TAG-POWSAV-PARAMETERS-START + +PowSav-Parameters-r16 ::= SEQUENCE { + powSav-ParametersCommon-r16 PowSav-ParametersCommon-r16 OPTIONAL, + powSav-ParametersFRX-Diff-r16 PowSav-ParametersFRX-Diff-r16 OPTIONAL, + ... +} + +PowSav-ParametersCommon-r16 ::= SEQUENCE { + drx-Preference-r16 ENUMERATED {supported} OPTIONAL, + maxCC-Preference-r16 ENUMERATED {supported} OPTIONAL, + releasePreference-r16 ENUMERATED {supported} OPTIONAL, + -- R1 19-4a: UE assistance information + minSchedulingOffsetPreference-r16 ENUMERATED {supported} OPTIONAL, + ... +} + +PowSav-ParametersFRX-Diff-r16 ::= SEQUENCE { + maxBW-Preference-r16 ENUMERATED {supported} OPTIONAL, + maxMIMO-LayerPreference-r16 ENUMERATED {supported} OPTIONAL, + ... +} + +-- TAG-POWSAV-PARAMETERS-STOP -- TAG-PROCESSINGPARAMETERS-START ProcessingParameters ::= SEQUENCE { @@ -6245,7 +9974,7 @@ ProcessingParameters ::= SEQUENCE { upto2 NumberOfCarriers OPTIONAL, upto4 NumberOfCarriers OPTIONAL, upto7 NumberOfCarriers OPTIONAL - } OPTIONAL + } OPTIONAL } NumberOfCarriers ::= INTEGER (1..16) @@ -6253,7 +9982,7 @@ NumberOfCarriers ::= INTEGER (1..16) -- TAG-PROCESSINGPARAMETERS-STOP -- TAG-RAT-TYPE-START -RAT-Type ::= ENUMERATED {nr, eutra-nr, eutra, spare1, ...} +RAT-Type ::= ENUMERATED {nr, eutra-nr, eutra, utra-fdd-v1610, ...} -- TAG-RAT-TYPE-STOP -- TAG-RF-PARAMETERS-START @@ -6272,6 +10001,11 @@ RF-Parameters ::= SEQUENCE { ]], [[ supportedBandCombinationList-v1560 BandCombinationList-v1560 OPTIONAL + ]], + [[ + supportedBandCombinationList-v1610 BandCombinationList-v1610 OPTIONAL, + supportedBandCombinationListSidelink-r16 BandCombinationListSidelink-r16 OPTIONAL, + supportedBandCombinationList-UplinkTxSwitch-r16 BandCombinationList-UplinkTxSwitch-r16 OPTIONAL ]] } @@ -6345,6 +10079,53 @@ BandNR ::= SEQUENCE { scs-120kHz BIT STRING (SIZE (8)) OPTIONAL } } OPTIONAL + ]], + [[ + asymmetricBandwidthCombinationSet BIT STRING (SIZE (1..32)) OPTIONAL + ]], + [[ + -- R1 10: NR-unlicensed + unlicensedParametersPerBand-r16 UnlicensedParametersPerBand-r16 OPTIONAL, + -- R1 11-7b: Independent cancellation of the overlapping PUSCHs in an intra-band UL CA + cancelOverlappingPUSCH-r16 ENUMERATED {supported} OPTIONAL, + -- R1 14-1: Multiple LTE-CRS rate matching patterns + multipleRateMatchingEUTRA-CRS-r16 SEQUENCE { + maxNumberPatterns-r16 INTEGER (2..6), + maxNumberNon-OverlapPatterns-r16 INTEGER (1..3) + } OPTIONAL, + -- R1 14-1a: Two LTE-CRS overlapping rate matching patterns within a part of NR carrier using 15 kHz overlapping with a LTE carrier + overlapRateMatchingEUTRA-CRS-r16 ENUMERATED {supported} OPTIONAL, + -- R1 14-2: PDSCH Type B mapping of length 9 and 10 OFDM symbols + pdsch-MappingTypeB-Alt-r16 ENUMERATED {supported} OPTIONAL, + -- R1 14-3: One slot periodic TRS configuration for FR1 + oneShotPeriodicTRS-r16 ENUMERATED {supported} OPTIONAL, + olpc-SRS-Pos-r16 OLPC-SRS-Pos-r16 OPTIONAL, + spatialRelationsSRS-Pos-r16 SpatialRelationsSRS-Pos-r16 OPTIONAL, + simul-SRS-Trans-IntraBandCA-r16 INTEGER (1..2) OPTIONAL, + channelBW-DL-IAB-r16 CHOICE { + fr1-100mhz SEQUENCE { + scs-15kHz ENUMERATED {supported} OPTIONAL, + scs-30kHz ENUMERATED {supported} OPTIONAL, + scs-60kHz ENUMERATED {supported} OPTIONAL + }, + fr2-200mhz SEQUENCE { + scs-60kHz ENUMERATED {supported} OPTIONAL, + scs-120kHz ENUMERATED {supported} OPTIONAL + } + } OPTIONAL, + channelBW-UL-IAB-r16 CHOICE { + fr1-100mhz SEQUENCE { + scs-15kHz ENUMERATED {supported} OPTIONAL, + scs-30kHz ENUMERATED {supported} OPTIONAL, + scs-60kHz ENUMERATED {supported} OPTIONAL + }, + fr2-200mhz SEQUENCE { + scs-60kHz ENUMERATED {supported} OPTIONAL, + scs-120kHz ENUMERATED {supported} OPTIONAL + } + } OPTIONAL, + rasterShift7dot5-IAB-r16 ENUMERATED {supported} OPTIONAL, + ue-PowerClass-v1610 ENUMERATED {pc1dot5} OPTIONAL ]] } @@ -6374,6 +10155,20 @@ RF-ParametersMRDC ::= SEQUENCE { ]], [[ supportedBandCombinationList-v1590 BandCombinationList-v1590 OPTIONAL + ]], + [[ + supportedBandCombinationListNEDC-Only-v15a0 SEQUENCE { + supportedBandCombinationList-v1540 BandCombinationList-v1540 OPTIONAL, + supportedBandCombinationList-v1560 BandCombinationList-v1560 OPTIONAL, + supportedBandCombinationList-v1570 BandCombinationList-v1570 OPTIONAL, + supportedBandCombinationList-v1580 BandCombinationList-v1580 OPTIONAL, + supportedBandCombinationList-v1590 BandCombinationList-v1590 OPTIONAL + } OPTIONAL + ]], + [[ + supportedBandCombinationList-v1610 BandCombinationList-v1610 OPTIONAL, + supportedBandCombinationListNEDC-Only-v1610 BandCombinationList-v1610 OPTIONAL, + supportedBandCombinationList-UplinkTxSwitch-r16 BandCombinationList-UplinkTxSwitch-r16 OPTIONAL ]] } @@ -6384,18 +10179,111 @@ RLC-Parameters ::= SEQUENCE { am-WithShortSN ENUMERATED {supported} OPTIONAL, um-WithShortSN ENUMERATED {supported} OPTIONAL, um-WithLongSN ENUMERATED {supported} OPTIONAL, - ... + ..., + [[ + extendedT-PollRetransmit-r16 ENUMERATED {supported} OPTIONAL, + extendedT-StatusProhibit-r16 ENUMERATED {supported} OPTIONAL + ]] } -- TAG-RLC-PARAMETERS-STOP -- TAG-SDAP-PARAMETERS-START SDAP-Parameters ::= SEQUENCE { - as-ReflectiveQoS ENUMERATED {true} OPTIONAL, - ... + as-ReflectiveQoS ENUMERATED {true} OPTIONAL, + ..., + [[ + sdap-QOS-IAB-r16 ENUMERATED {supported} OPTIONAL, + sdapHeaderIAB-r16 ENUMERATED {supported} OPTIONAL + ]] + } -- TAG-SDAP-PARAMETERS-STOP +-- TAG-SIDELINKPARAMETERS-START + +SidelinkParameters-r16 ::= SEQUENCE { + sidelinkParametersNR-r16 SidelinkParametersNR-r16 OPTIONAL, + sidelinkParametersEUTRA-r16 SidelinkParametersEUTRA-r16 OPTIONAL +} + +SidelinkParametersNR-r16 ::= SEQUENCE { + rlc-ParametersSidelink-r16 RLC-ParametersSidelink-r16 OPTIONAL, + mac-ParametersSidelink-r16 MAC-ParametersSidelink-r16 OPTIONAL, + fdd-Add-UE-Sidelink-Capabilities-r16 UE-SidelinkCapabilityAddXDD-Mode-r16 OPTIONAL, + tdd-Add-UE-Sidelink-Capabilities-r16 UE-SidelinkCapabilityAddXDD-Mode-r16 OPTIONAL, + ... +} + +SidelinkParametersEUTRA-r16 ::= SEQUENCE { + sl-ParametersEUTRA1-r16 OCTET STRING OPTIONAL, + sl-ParametersEUTRA2-r16 OCTET STRING OPTIONAL, + sl-ParametersEUTRA3-r16 OCTET STRING OPTIONAL, + supportedBandListSidelinkEUTRA-r16 SEQUENCE (SIZE (1..maxBandsEUTRA)) OF BandSidelinkEUTRA-r16 OPTIONAL, + ... +} + +RLC-ParametersSidelink-r16 ::= SEQUENCE { + am-WithLongSN-Sidelink-r16 ENUMERATED {supported} OPTIONAL, + um-WithLongSN-Sidelink-r16 ENUMERATED {supported} OPTIONAL, + ... +} + +MAC-ParametersSidelink-r16 ::= SEQUENCE { + mac-ParametersSidelinkCommon-r16 MAC-ParametersSidelinkCommon-r16 OPTIONAL, + mac-ParametersSidelinkXDD-Diff-r16 MAC-ParametersSidelinkXDD-Diff-r16 OPTIONAL, + ... +} + +UE-SidelinkCapabilityAddXDD-Mode-r16 ::= SEQUENCE { + mac-ParametersSidelinkXDD-Diff-r16 MAC-ParametersSidelinkXDD-Diff-r16 OPTIONAL +} + +MAC-ParametersSidelinkCommon-r16 ::= SEQUENCE { + lcp-RestrictionSidelink-r16 ENUMERATED {supported} OPTIONAL, + multipleConfiguredGrantsSidelink-r16 ENUMERATED {supported} OPTIONAL, + ... +} + +MAC-ParametersSidelinkXDD-Diff-r16 ::= SEQUENCE { + multipleSR-ConfigurationsSidelink-r16 ENUMERATED {supported} OPTIONAL, + logicalChannelSR-DelayTimerSidelink-r16 ENUMERATED {supported} OPTIONAL, + ... +} + +BandSidelinkEUTRA-r16 ::= SEQUENCE { + freqBandSidelinkEUTRA-r16 FreqBandIndicatorEUTRA, + -- R1 15-7: Transmitting LTE sidelink mode 3 scheduled by NR Uu + gnb-ScheduledMode3SidelinkEUTRA-r16 SEQUENCE { + gnb-ScheduledMode3DelaySidelinkEUTRA-r16 ENUMERATED {ms0, ms0dot25, ms0dot5, ms0dot625, ms0dot75, ms1, + ms1dot25, ms1dot5, ms1dot75, ms2, ms2dot5, ms3, ms4, + ms5, ms6, ms8, ms10, ms20} + } OPTIONAL, + -- R1 15-9: Transmitting LTE sidelink mode 4 configured by NR Uu + gnb-ScheduledMode4SidelinkEUTRA-r16 ENUMERATED {supported} OPTIONAL +} + +-- TAG-SIDELINKPARAMETERS-STOP +-- TAG-SON-PARAMETERS-START + +SON-Parameters-r16 ::= SEQUENCE { + rach-Report-r16 ENUMERATED {supported} OPTIONAL, + ... +} + +-- TAG-SON-PARAMETERS-STOP +-- TAG-SPATIALRELATIONSSRS-POS-START + +SpatialRelationsSRS-Pos-r16 ::= SEQUENCE { + spatialRelation-SRS-PosBasedOnSSB-Serving-r16 ENUMERATED {supported} OPTIONAL, + spatialRelation-SRS-PosBasedOnCSI-RS-Serving-r16 ENUMERATED {supported} OPTIONAL, + spatialRelation-SRS-PosBasedOnPRS-Serving-r16 ENUMERATED {supported} OPTIONAL, + spatialRelation-SRS-PosBasedOnSRS-r16 ENUMERATED {supported} OPTIONAL, + spatialRelation-SRS-PosBasedOnSSB-Neigh-r16 ENUMERATED {supported} OPTIONAL, + spatialRelation-SRS-PosBasedOnPRS-Neigh-r16 ENUMERATED {supported} OPTIONAL +} + +--TAG-SPATIALRELATIONSSRS-POS-STOP -- TAG-SRS-SWITCHINGTIMENR-START SRS-SwitchingTimeNR ::= SEQUENCE { @@ -6421,6 +10309,23 @@ SupportedBandwidth ::= CHOICE { } -- TAG-SUPPORTEDBANDWIDTH-STOP +-- TAG-UE-BASEDPERFMEAS-PARAMETERS-START + +UE-BasedPerfMeas-Parameters-r16 ::= SEQUENCE { + barometerMeasReport-r16 ENUMERATED {supported} OPTIONAL, + immMeasBT-r16 ENUMERATED {supported} OPTIONAL, + immMeasWLAN-r16 ENUMERATED {supported} OPTIONAL, + loggedMeasBT-r16 ENUMERATED {supported} OPTIONAL, + loggedMeasurements-r16 ENUMERATED {supported} OPTIONAL, + loggedMeasWLAN-r16 ENUMERATED {supported} OPTIONAL, + orientationMeasReport-r16 ENUMERATED {supported} OPTIONAL, + speedMeasReport-r16 ENUMERATED {supported} OPTIONAL, + gnss-Location-r16 ENUMERATED {supported} OPTIONAL, + ulPDCP-Delay-r16 ENUMERATED {supported} OPTIONAL, + ... +} + +-- TAG-UE-BASEDPERFMEAS-PARAMETERS-STOP -- TAG-UE-CAPABILITYRAT-CONTAINERLIST-START UE-CapabilityRAT-ContainerList ::= SEQUENCE (SIZE (0..maxRAT-CapabilityContainers)) OF UE-CapabilityRAT-Container @@ -6450,7 +10355,16 @@ UE-CapabilityRequestFilterCommon ::= SEQUENCE { includeNR-DC ENUMERATED {true} OPTIONAL, -- Need N includeNE-DC ENUMERATED {true} OPTIONAL -- Need N } OPTIONAL, -- Need N - ... + ..., + [[ + codebookTypeRequest-r16 SEQUENCE { + type1-SinglePanel-r16 ENUMERATED {true} OPTIONAL, -- Need N + type1-MultiPanel-r16 ENUMERATED {true} OPTIONAL, -- Need N + type2-r16 ENUMERATED {true} OPTIONAL, -- Need N + type2-PortSelection-r16 ENUMERATED {true} OPTIONAL -- Need N + } OPTIONAL, -- Need N + uplinkTxSwitchRequest-r16 ENUMERATED {true} OPTIONAL -- Need N + ]] } -- TAG-UE-CAPABILITYREQUESTFILTERCOMMON-STOP @@ -6489,6 +10403,13 @@ UE-MRDC-Capability-v1560 ::= SEQUENCE { measAndMobParametersMRDC-v1560 MeasAndMobParametersMRDC-v1560 OPTIONAL, fdd-Add-UE-MRDC-Capabilities-v1560 UE-MRDC-CapabilityAddXDD-Mode-v1560 OPTIONAL, tdd-Add-UE-MRDC-Capabilities-v1560 UE-MRDC-CapabilityAddXDD-Mode-v1560 OPTIONAL, + nonCriticalExtension UE-MRDC-Capability-v1610 OPTIONAL +} + +UE-MRDC-Capability-v1610 ::= SEQUENCE { + measAndMobParametersMRDC-v1610 MeasAndMobParametersMRDC-v1610 OPTIONAL, + generalParametersMRDC-v1610 GeneralParametersMRDC-v1610 OPTIONAL, + pdcp-ParametersMRDC-v1610 PDCP-ParametersMRDC-v1610 OPTIONAL, nonCriticalExtension SEQUENCE {} OPTIONAL } @@ -6514,68 +10435,96 @@ GeneralParametersMRDC-XDD-Diff ::= SEQUENCE { ... } +GeneralParametersMRDC-v1610 ::= SEQUENCE { + f1c-OverEUTRA-r16 ENUMERATED {supported} OPTIONAL +} + -- 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, + 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, + 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-v1530 OPTIONAL + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension UE-NR-Capability-v1530 OPTIONAL } UE-NR-Capability-v1530 ::= SEQUENCE { - fdd-Add-UE-NR-Capabilities-v1530 UE-NR-CapabilityAddXDD-Mode-v1530 OPTIONAL, - tdd-Add-UE-NR-Capabilities-v1530 UE-NR-CapabilityAddXDD-Mode-v1530 OPTIONAL, - dummy ENUMERATED {supported} OPTIONAL, - interRAT-Parameters InterRAT-Parameters OPTIONAL, - inactiveState ENUMERATED {supported} OPTIONAL, - delayBudgetReporting ENUMERATED {supported} OPTIONAL, - nonCriticalExtension UE-NR-Capability-v1540 OPTIONAL + fdd-Add-UE-NR-Capabilities-v1530 UE-NR-CapabilityAddXDD-Mode-v1530 OPTIONAL, + tdd-Add-UE-NR-Capabilities-v1530 UE-NR-CapabilityAddXDD-Mode-v1530 OPTIONAL, + dummy ENUMERATED {supported} OPTIONAL, + interRAT-Parameters InterRAT-Parameters OPTIONAL, + inactiveState ENUMERATED {supported} OPTIONAL, + delayBudgetReporting ENUMERATED {supported} OPTIONAL, + nonCriticalExtension UE-NR-Capability-v1540 OPTIONAL } UE-NR-Capability-v1540 ::= SEQUENCE { - sdap-Parameters SDAP-Parameters OPTIONAL, - overheatingInd ENUMERATED {supported} OPTIONAL, - ims-Parameters IMS-Parameters OPTIONAL, - fr1-Add-UE-NR-Capabilities-v1540 UE-NR-CapabilityAddFRX-Mode-v1540 OPTIONAL, - fr2-Add-UE-NR-Capabilities-v1540 UE-NR-CapabilityAddFRX-Mode-v1540 OPTIONAL, - fr1-fr2-Add-UE-NR-Capabilities UE-NR-CapabilityAddFRX-Mode OPTIONAL, - nonCriticalExtension UE-NR-Capability-v1550 OPTIONAL + sdap-Parameters SDAP-Parameters OPTIONAL, + overheatingInd ENUMERATED {supported} OPTIONAL, + ims-Parameters IMS-Parameters OPTIONAL, + fr1-Add-UE-NR-Capabilities-v1540 UE-NR-CapabilityAddFRX-Mode-v1540 OPTIONAL, + fr2-Add-UE-NR-Capabilities-v1540 UE-NR-CapabilityAddFRX-Mode-v1540 OPTIONAL, + fr1-fr2-Add-UE-NR-Capabilities UE-NR-CapabilityAddFRX-Mode OPTIONAL, + nonCriticalExtension UE-NR-Capability-v1550 OPTIONAL } UE-NR-Capability-v1550 ::= SEQUENCE { - reducedCP-Latency ENUMERATED {supported} OPTIONAL, - nonCriticalExtension UE-NR-Capability-v1560 OPTIONAL + reducedCP-Latency ENUMERATED {supported} OPTIONAL, + nonCriticalExtension UE-NR-Capability-v1560 OPTIONAL } UE-NR-Capability-v1560 ::= SEQUENCE { - nrdc-Parameters NRDC-Parameters OPTIONAL, - receivedFilters OCTET STRING (CONTAINING UECapabilityEnquiry-v1560-IEs) OPTIONAL, - nonCriticalExtension UE-NR-Capability-v1570 OPTIONAL + nrdc-Parameters NRDC-Parameters OPTIONAL, + receivedFilters OCTET STRING (CONTAINING UECapabilityEnquiry-v1560-IEs) OPTIONAL, + nonCriticalExtension UE-NR-Capability-v1570 OPTIONAL } UE-NR-Capability-v1570 ::= SEQUENCE { - nrdc-Parameters-v1570 NRDC-Parameters-v1570 OPTIONAL, - nonCriticalExtension SEQUENCE {} OPTIONAL + nrdc-Parameters-v1570 NRDC-Parameters-v1570 OPTIONAL, + nonCriticalExtension UE-NR-Capability-v1610 OPTIONAL +} + +UE-NR-Capability-v1610 ::= SEQUENCE { + inDeviceCoexInd-r16 ENUMERATED {supported} OPTIONAL, + dl-DedicatedMessageSegmentation-r16 ENUMERATED {supported} OPTIONAL, + nrdc-Parameters-v1610 NRDC-Parameters-v1610 OPTIONAL, + powSav-Parameters-r16 PowSav-Parameters-r16 OPTIONAL, + fr1-Add-UE-NR-Capabilities-v1610 UE-NR-CapabilityAddFRX-Mode-v1610 OPTIONAL, + fr2-Add-UE-NR-Capabilities-v1610 UE-NR-CapabilityAddFRX-Mode-v1610 OPTIONAL, + bh-RLF-Indication-r16 ENUMERATED {supported} OPTIONAL, + directSN-AdditionFirstRRC-IAB-r16 ENUMERATED {supported} OPTIONAL, + bap-Parameters-r16 BAP-Parameters-r16 OPTIONAL, + referenceTimeProvision-r16 ENUMERATED {supported} OPTIONAL, + sidelinkParameters-r16 SidelinkParameters-r16 OPTIONAL, + highSpeedParameters-r16 HighSpeedParameters-r16 OPTIONAL, + mac-Parameters-v1610 MAC-Parameters-v1610 OPTIONAL, + mcgRLF-RecoveryViaSCG-r16 ENUMERATED {supported} OPTIONAL, + resumeWithStoredMCG-SCells-r16 ENUMERATED {supported} OPTIONAL, + resumeWithStoredSCG-r16 ENUMERATED {supported} OPTIONAL, + resumeWithSCG-Config-r16 ENUMERATED {supported} OPTIONAL, + ue-BasedPerfMeas-Parameters-r16 UE-BasedPerfMeas-Parameters-r16 OPTIONAL, + son-Parameters-r16 SON-Parameters-r16 OPTIONAL, + onDemandSIB-Connected-r16 ENUMERATED {supported} 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 + phy-ParametersXDD-Diff Phy-ParametersXDD-Diff OPTIONAL, + mac-ParametersXDD-Diff MAC-ParametersXDD-Diff OPTIONAL, + measAndMobParametersXDD-Diff MeasAndMobParametersXDD-Diff OPTIONAL } UE-NR-CapabilityAddXDD-Mode-v1530 ::= SEQUENCE { @@ -6583,15 +10532,125 @@ UE-NR-CapabilityAddXDD-Mode-v1530 ::= SEQUENCE { } UE-NR-CapabilityAddFRX-Mode ::= SEQUENCE { - phy-ParametersFRX-Diff Phy-ParametersFRX-Diff OPTIONAL, - measAndMobParametersFRX-Diff MeasAndMobParametersFRX-Diff OPTIONAL + phy-ParametersFRX-Diff Phy-ParametersFRX-Diff OPTIONAL, + measAndMobParametersFRX-Diff MeasAndMobParametersFRX-Diff OPTIONAL } UE-NR-CapabilityAddFRX-Mode-v1540 ::= SEQUENCE { - ims-ParametersFRX-Diff IMS-ParametersFRX-Diff OPTIONAL + ims-ParametersFRX-Diff IMS-ParametersFRX-Diff OPTIONAL +} + +UE-NR-CapabilityAddFRX-Mode-v1610 ::= SEQUENCE { + powSav-ParametersFRX-Diff-r16 PowSav-ParametersFRX-Diff-r16 OPTIONAL, + mac-ParametersFRX-Diff-r16 MAC-ParametersFRX-Diff-r16 OPTIONAL +} + +BAP-Parameters-r16 ::= SEQUENCE { + flowControlBH-RLC-ChannelBased-r16 ENUMERATED {supported} OPTIONAL, + flowControlRouting-ID-Based-r16 ENUMERATED {supported} OPTIONAL } -- TAG-UE-NR-CAPABILITY-STOP +-- TAG-UNLICENSEDPARAMETERSPERBAND-START + +UnlicensedParametersPerBand-r16 ::= SEQUENCE { + -- R1 10-2g: SSB-based BFD/CBD for dynamic channel access mode + ssb-BFD-CBD-dynamicChannelAccess-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-2h: SSB-based BFD/CBD for semi-static channel access mode + ssb-BFD-CBD-semi-staticChannelAccess-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-2i: CSI-RS-based BFD/CBD for NR-U + csi-RS-BFD-CBD-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-10: RSSI and channel occupancy measurement and reporting + rssi-ChannelOccupancyReporting-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-11:SRS starting position at any OFDM symbol in a slot + srs-StartAnyOFDM-Symbol-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-20: Support search space set configuration with freqMonitorLocation-r16 + searchSpaceFreqMonitorLocation-r16 INTEGER (1..5) OPTIONAL, + -- R1 10-20a: Support coreset configuration with rb-Offset + coreset-RB-Offset-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-23:CGI reading on unlicensed cell for ANR functionality + cgi-Acquisition-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-25: Enable configured UL transmissions when DCI 2_0 is configured but not detected + configuredUL-Tx-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-8: Type B PDSCH length {3, 5, 6, 8, 9, 10, 11, 12, 13} without DMRS shift due to CRS collision + typeB-PDSCH-length-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-9: Search space set group switching with explicit DCI 2_0 bit field trigger or with implicit PDCCH decoding with DCI 2_0 monitoring + searchSpaceSetGroupSwitchingwithDCI-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-9b: Search space set group switching with implicit PDCCH decoding without DCI 2_0 monitoring FFS:per band or per UE + searchSpaceSetGroupSwitchingwithoutDCI-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-9d: Support Search space set group switching capability 2 + searchSpaceSetGroupSwitchingcapability2-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-14: Non-numerical PDSCH to HARQ-ACK timing + non-numericalPDSCH-HARQ-timing-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-15: Enhanced dynamic HARQ codebook + enhancedDynamicHARQ-codebook-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-16: One-shot HARQ ACK feedback + oneShotHARQ-feedback-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-17: Multi-PUSCH UL grant + multiPUSCH-UL-grant-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-26: CSI-RS based RLM for NR-U + csi-RS-RLM-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-26a: CSI-RS based RRM for NR-U + vcsi-RS-RRM-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-3: PRB interlace mapping for PUSCH + pusch-PRB-interlace-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-3a: PRB interlace mapping for PUCCH + pucch-F0-F1-PRB-Interlace-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-12: OCC for PRB interlace mapping for PF2 and PF3 + occ-PRB-PF2-PF3-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-13a: Extended CP range of more than one symbol for CG-PUSCH + extCP-rangeCG-PUSCH-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-18: Configured grant with retransmission in CG resources + configuredGrantWithReTx-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-24: CG-UCI multiplexing with HARQ ACK + mux-CG-UCI-HARQ-ACK-r16 ENUMERATED {supported} OPTIONAL, + -- R1 10-28: Configured grant with Rel-16 enhanced resource configuration + cg-resourceConfig-r16 ENUMERATED {supported} OPTIONAL +} + +-- TAG-UNLICENSEDPARAMETERSPERBAND-STOP +-- TAG-ABSOLUTETIMEINFO-START + +AbsoluteTimeInfo-r16 ::= BIT STRING (SIZE (48)) + +-- TAG-ABSOLUTETIMEINFO-STOP +-- TAG-AREACONFIGURATION-START + +AreaConfiguration-r16 ::= SEQUENCE { + areaConfig-r16 AreaConfig-r16, + interFreqTargetList-r16 SEQUENCE(SIZE (1..maxFreq)) OF InterFreqTargetInfo-r16 OPTIONAL -- Need R +} + +AreaConfig-r16 ::= CHOICE { + cellGlobalIdList-r16 CellGlobalIdList-r16, + trackingAreaCodeList-r16 TrackingAreaCodeList-r16, + trackingAreaIdentityList-r16 TrackingAreaIdentityList-r16 +} + +InterFreqTargetInfo-r16 ::= SEQUENCE { + dl-CarrierFreq ARFCN-ValueNR, + cellList SEQUENCE (SIZE (1..32)) OF PhysCellId OPTIONAL +} + +CellGlobalIdList-r16 ::= SEQUENCE (SIZE (1..32)) OF CGI-Info-Logging-r16 + +TrackingAreaCodeList-r16 ::= SEQUENCE (SIZE (1..8)) OF TrackingAreaCode + +TrackingAreaIdentityList-r16 ::= SEQUENCE (SIZE (1..8)) OF TrackingAreaIdentity-r16 + +TrackingAreaIdentity-r16 ::= SEQUENCE { + plmn-Identity-r16 PLMN-Identity, + trackingAreaCode-r16 TrackingAreaCode +} + +-- TAG-AREACONFIGURATION-STOP +-- TAG-BTNAMELIST-START + +BT-NameList-r16 ::= SEQUENCE (SIZE (1..maxBT-Name-r16)) OF BT-Name-r16 + +BT-Name-r16 ::= OCTET STRING (SIZE (1..248)) + +-- TAG-BTNAMELIST-STOP -- TAG-EUTRA-ALLOWEDMEASBANDWIDTH-START EUTRA-AllowedMeasBandwidth ::= ENUMERATED {mbw6, mbw15, mbw25, mbw50, mbw75, mbw100} @@ -6665,6 +10724,83 @@ EUTRA-Q-OffsetRange ::= ENUMERATED { dB20, dB22, dB24} -- TAG-EUTRA-Q-OFFSETRANGE-STOP +-- TAG-IABIPADDRESS-START + +IAB-IP-Address-r16 ::= CHOICE { + iPv4-Address-r16 BIT STRING (SIZE(32)), + iPv6-Address-r16 BIT STRING (SIZE(128)), + iPv6-Prefix-r16 BIT STRING (SIZE(64)), + ... +} + +-- TAG-IABIPADDRESS-STOP +-- TAG-IABIPADDRESSINDEX-START + +IAB-IP-AddressIndex-r16 ::= INTEGER (1..maxIAB-IP-Address-r16) + +-- TAG-IABIPADDRESSINDEX-STOP +-- TAG-IAB-IP-USAGE-START + +IAB-IP-Usage-r16 ::= ENUMERATED {f1-c, f1-U, non-F1, spare} + +-- TAG-IAB-IP-USAGE-STOP +-- TAG-LOGGINGDURATION-START + +LoggingDuration-r16 ::= ENUMERATED { + min10, min20, min40, min60, min90, min120, spare2, spare1} + +-- TAG-LOGGINGDURATION-STOP +-- TAG-LOGGINGINTERVAL-START + +LoggingInterval-r16 ::= ENUMERATED { + ms320, ms640, ms1280, ms2560, ms5120, ms10240, ms20480, + ms30720, ms40960, ms61440 , infinity} + +-- TAG-LOGGINGINTERVAL-STOP +-- TAG-LOGMEASRESULTLISTBT-START + +LogMeasResultListBT-r16 ::= SEQUENCE (SIZE (1..maxBT-IdReport-r16)) OF LogMeasResultBT-r16 + +LogMeasResultBT-r16 ::= SEQUENCE { + bt-Addr-r16 BIT STRING (SIZE (48)), + rssi-BT-r16 INTEGER (-128..127) OPTIONAL, + ... +} + +-- TAG-LOGMEASRESULTLISTBT-STOP +-- TAG-LOGMEASRESULTLISTWLAN-START + +LogMeasResultListWLAN-r16 ::= SEQUENCE (SIZE (1..maxWLAN-Id-Report-r16)) OF LogMeasResultWLAN-r16 + +LogMeasResultWLAN-r16 ::= SEQUENCE { + wlan-Identifiers-r16 WLAN-Identifiers-r16, + rssiWLAN-r16 WLAN-RSSI-Range-r16 OPTIONAL, + rtt-WLAN-r16 WLAN-RTT-r16 OPTIONAL, + ... +} + +WLAN-Identifiers-r16 ::= SEQUENCE { + ssid-r16 OCTET STRING (SIZE (1..32)) OPTIONAL, + bssid-r16 OCTET STRING (SIZE (6)) OPTIONAL, + hessid-r16 OCTET STRING (SIZE (6)) OPTIONAL, + ... +} + +WLAN-RSSI-Range-r16 ::= INTEGER(0..141) + +WLAN-RTT-r16 ::= SEQUENCE { + rttValue-r16 INTEGER (0..16777215), + rttUnits-r16 ENUMERATED { + microseconds, + hundredsofnanoseconds, + tensofnanoseconds, + nanoseconds, + tenthsofnanoseconds, +... }, + rttAccuracy-r16 INTEGER (0..255) OPTIONAL, + ... +} + -- TAG-OTHERCONFIG-START OtherConfig ::= SEQUENCE { @@ -6680,62 +10816,961 @@ OtherConfig-v1540 ::= SEQUENCE { overheatingAssistanceConfig CHOICE {release NULL, setup OverheatingAssistanceConfig} OPTIONAL, -- Need M ... } +CandidateServingFreqListNR-r16 ::= SEQUENCE (SIZE (1..maxFreqIDC-r16)) OF ARFCN-ValueNR + +OtherConfig-v1610 ::= SEQUENCE { + idc-AssistanceConfig-r16 CHOICE {release NULL, setup IDC-AssistanceConfig-r16} OPTIONAL, -- Need M + drx-PreferenceConfig-r16 CHOICE {release NULL, setup DRX-PreferenceConfig-r16} OPTIONAL, -- Need M + maxBW-PreferenceConfig-r16 CHOICE {release NULL, setup MaxBW-PreferenceConfig-r16} OPTIONAL, -- Need M + maxCC-PreferenceConfig-r16 CHOICE {release NULL, setup MaxCC-PreferenceConfig-r16} OPTIONAL, -- Need M + maxMIMO-LayerPreferenceConfig-r16 CHOICE {release NULL, setup MaxMIMO-LayerPreferenceConfig-r16} OPTIONAL, -- Need M + minSchedulingOffsetPreferenceConfig-r16 CHOICE {release NULL, setup MinSchedulingOffsetPreferenceConfig-r16} OPTIONAL, -- Need M + releasePreferenceConfig-r16 CHOICE {release NULL, setup ReleasePreferenceConfig-r16} OPTIONAL, -- Need M + referenceTimePreferenceReporting-r16 ENUMERATED {true} OPTIONAL, -- Need R + btNameList-r16 CHOICE {release NULL, setup BT-NameList-r16} OPTIONAL, -- Need M + wlanNameList-r16 CHOICE {release NULL, setup WLAN-NameList-r16} OPTIONAL, -- Need M + sensorNameList-r16 CHOICE {release NULL, setup Sensor-NameList-r16} OPTIONAL, -- Need M + obtainCommonLocation-r16 ENUMERATED {true} OPTIONAL, -- Need R + sl-AssistanceConfigNR-r16 ENUMERATED{true} OPTIONAL -- Need R +} OverheatingAssistanceConfig ::= SEQUENCE { overheatingIndicationProhibitTimer ENUMERATED {s0, s0dot5, s1, s2, s5, s10, s20, s30, s60, s90, s120, s300, s600, spare3, spare2, spare1} } +IDC-AssistanceConfig-r16 ::= SEQUENCE { + candidateServingFreqListNR-r16 CandidateServingFreqListNR-r16 OPTIONAL, -- Need R + ... +} + +DRX-PreferenceConfig-r16 ::= SEQUENCE { + drx-PreferenceProhibitTimer-r16 ENUMERATED { + s0, s0dot5, s1, s2, s3, s4, s5, s6, s7, + s8, s9, s10, s20, s30, spare2, spare1} +} + +MaxBW-PreferenceConfig-r16 ::= SEQUENCE { + maxBW-PreferenceProhibitTimer-r16 ENUMERATED { + s0, s0dot5, s1, s2, s3, s4, s5, s6, s7, + s8, s9, s10, s20, s30, spare2, spare1} +} + +MaxCC-PreferenceConfig-r16 ::= SEQUENCE { + maxCC-PreferenceProhibitTimer-r16 ENUMERATED { + s0, s0dot5, s1, s2, s3, s4, s5, s6, s7, + s8, s9, s10, s20, s30, spare2, spare1} +} + +MaxMIMO-LayerPreferenceConfig-r16 ::= SEQUENCE { + maxMIMO-LayerPreferenceProhibitTimer-r16 ENUMERATED { + s0, s0dot5, s1, s2, s3, s4, s5, s6, s7, + s8, s9, s10, s20, s30, spare2, spare1} +} + +MinSchedulingOffsetPreferenceConfig-r16 ::= SEQUENCE { + minSchedulingOffsetPreferenceProhibitTimer-r16 ENUMERATED { + s0, s0dot5, s1, s2, s3, s4, s5, s6, s7, + s8, s9, s10, s20, s30, spare2, spare1} +} + +ReleasePreferenceConfig-r16 ::= SEQUENCE { + releasePreferenceProhibitTimer-r16 ENUMERATED { + s0, s0dot5, s1, s2, s3, s4, s5, s6, s7, + s8, s9, s10, s20, s30, infinity, spare1}, + connectedReporting ENUMERATED {true} OPTIONAL -- Need R +} + -- TAG-OTHERCONFIG-STOP +-- TAG-PHYSCELLIDUTRA-FDD-START + +PhysCellIdUTRA-FDD-r16 ::= INTEGER (0..511) + +-- TAG-PHYSCELLIDUTRA-FDD-STOP -- TAG-RRC-TRANSACTIONIDENTIFIER-START RRC-TransactionIdentifier ::= INTEGER (0..3) -- TAG-RRC-TRANSACTIONIDENTIFIER-STOP +-- TAG-SENSORNAMELIST-START + +Sensor-NameList-r16 ::= SEQUENCE { + measUncomBarPre-r16 ENUMERATED {true} OPTIONAL, -- Need R + measUeSpeed ENUMERATED {true} OPTIONAL, -- Need R + measUeOrientation ENUMERATED {true} OPTIONAL -- Need R +} + +-- TAG-SENSORNAMELIST-STOP +-- TAG-TRACEREFERENCE-START + +TraceReference-r16 ::= SEQUENCE { + plmn-Identity-r16 PLMN-Identity, + traceId-r16 OCTET STRING (SIZE (3)) +} + +-- TAG-TRACEREFERENCE-STOP +-- TAG-UEMeasurementsAvailable-START + +UEMeasurementsAvailable-r16 ::= SEQUENCE { + logMeasAvailable-r16 ENUMERATED {true} OPTIONAL, + logMeasAvailableBT-r16 ENUMERATED {true} OPTIONAL, + logMeasAvailableWLAN-r16 ENUMERATED {true} OPTIONAL, + connEstFailInfoAvailable-r16 ENUMERATED {true} OPTIONAL, + rlf-InfoAvailable-r16 ENUMERATED {true} OPTIONAL, + ... +} + +-- TAG-UEMeasurementsAvailable-STOP +-- TAG-UTRA-FDD-Q-OFFSETRANGE-START + +UTRA-FDD-Q-OffsetRange-r16 ::= 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-UTRA-FDD-Q-OFFSETRANGE-STOP +-- TAG-VISITEDCELLINFOLIST-START + +VisitedCellInfoList-r16 ::= SEQUENCE (SIZE (1..maxCellHistory-r16)) OF VisitedCellInfo-r16 + +VisitedCellInfo-r16 ::= SEQUENCE { + visitedCellId-r16 CHOICE { + nr-CellId-r16 CHOICE { + cgi-Info CGI-Info-Logging-r16, + pci-arfcn-r16 SEQUENCE { + physCellId-r16 PhysCellId, + carrierFreq-r16 ARFCN-ValueNR + } + }, + eutra-CellId-r16 CHOICE { + cellGlobalId-r16 CGI-InfoEUTRA, + pci-arfcn-r16 SEQUENCE { + physCellId-r16 EUTRA-PhysCellId, + carrierFreq-r16 ARFCN-ValueEUTRA + } + } + } OPTIONAL, + timeSpent-r16 INTEGER (0..4095), + ... +} + +-- TAG-VISITEDCELLINFOLIST-STOP +-- TAG-WLANNAMELIST-START + +WLAN-NameList-r16 ::= SEQUENCE (SIZE (1..maxWLAN-Name-r16)) OF WLAN-Name-r16 + +WLAN-Name-r16 ::= OCTET STRING (SIZE (1..32)) + +-- TAG-SL-BWP-CONFIG-START + +SL-BWP-Config-r16 ::= SEQUENCE { + sl-BWP-Id BWP-Id, + sl-BWP-Generic-r16 SL-BWP-Generic-r16 OPTIONAL, -- Need M + sl-BWP-PoolConfig-r16 SL-BWP-PoolConfig-r16 OPTIONAL, -- Need M + ... +} + +SL-BWP-Generic-r16 ::= SEQUENCE { + sl-BWP-r16 BWP OPTIONAL, -- Need M + sl-LengthSymbols-r16 ENUMERATED {sym7, sym8, sym9, sym10, sym11, sym12, sym13, sym14} OPTIONAL, -- Need M + sl-StartSymbol-r16 ENUMERATED {sym0, sym1, sym2, sym3, sym4, sym5, sym6, sym7} OPTIONAL, -- Need M + sl-PSBCH-Config-r16 CHOICE {release NULL, setup SL-PSBCH-Config-r16} OPTIONAL, -- Need M + sl-TxDirectCurrentLocation-r16 INTEGER (0..3301) OPTIONAL, -- Need M + ... +} + +-- TAG-SL-BWP-CONFIG-STOP +-- TAG-SL-BWP-CONFIGCOMMON-START + +SL-BWP-ConfigCommon-r16 ::= SEQUENCE { + sl-BWP-Generic-r16 SL-BWP-Generic-r16 OPTIONAL, -- Need R + sl-BWP-PoolConfigCommon-r16 SL-BWP-PoolConfigCommon-r16 OPTIONAL, -- Need R + ... +} + +-- TAG-SL-BWP-CONFIGCOMMON-STOP +-- TAG-SL-BWP-POOLCONFIG-START + +SL-BWP-PoolConfig-r16 ::= SEQUENCE { + sl-RxPool-r16 SEQUENCE (SIZE (1..maxNrofRXPool-r16)) OF SL-ResourcePool-r16 OPTIONAL, -- Cond HO + sl-TxPoolSelectedNormal-r16 SL-TxPoolDedicated-r16 OPTIONAL, -- Need M + sl-TxPoolScheduling-r16 SL-TxPoolDedicated-r16 OPTIONAL, -- Need N + sl-TxPoolExceptional-r16 SL-ResourcePoolConfig-r16 OPTIONAL -- Need M +} + +SL-TxPoolDedicated-r16 ::= SEQUENCE { + sl-PoolToReleaseList-r16 SEQUENCE (SIZE (1..maxNrofTXPool-r16)) OF SL-ResourcePoolID-r16 OPTIONAL, -- Need N + sl-PoolToAddModList-r16 SEQUENCE (SIZE (1..maxNrofTXPool-r16)) OF SL-ResourcePoolConfig-r16 OPTIONAL -- Need N +} + +SL-ResourcePoolConfig-r16 ::= SEQUENCE { + sl-ResourcePoolID-r16 SL-ResourcePoolID-r16, + sl-ResourcePool-r16 SL-ResourcePool-r16 OPTIONAL -- Need M +} + +SL-ResourcePoolID-r16 ::= INTEGER (1..maxNrofPoolID-r16) + +-- TAG-SL-BWP-POOLCONFIG-STOP +-- TAG-SL-BWP-POOLCONFIGCOMMON-START + +SL-BWP-PoolConfigCommon-r16 ::= SEQUENCE { + sl-RxPool-r16 SEQUENCE (SIZE (1..maxNrofRXPool-r16)) OF SL-ResourcePool-r16 OPTIONAL, -- Need R + sl-TxPoolSelectedNormal-r16 SEQUENCE (SIZE (1..maxNrofTXPool-r16)) OF SL-ResourcePoolConfig-r16 OPTIONAL, -- Need R + sl-TxPoolExceptional-r16 SL-ResourcePoolConfig-r16 OPTIONAL -- Need R +} + +-- TAG-SL-BWP-POOLCONFIGCOMMON-STOP +-- TAG-SL-CBR-PRIORITYTXCONFIGLIST-START + +SL-CBR-PriorityTxConfigList-r16 ::= SEQUENCE (SIZE (1..8)) OF SL-PriorityTxConfigIndex-r16 + +SL-PriorityTxConfigIndex-r16 ::= SEQUENCE { + sl-PriorityThreshold-r16 INTEGER (1..8) OPTIONAL, -- Need M + sl-DefaultTxConfigIndex-r16 INTEGER (0..maxCBR-Level-1-r16) OPTIONAL, -- Need M + sl-CBR-ConfigIndex-r16 INTEGER (0..maxCBR-Config-1-r16) OPTIONAL, -- Need M + sl-Tx-ConfigIndexList-r16 SEQUENCE (SIZE (1.. maxCBR-Level-r16)) OF SL-TxConfigIndex-r16 OPTIONAL -- Need M +} + +SL-TxConfigIndex-r16 ::= INTEGER (0..maxTxConfig-1-r16) + +-- TAG-SL-CBR-PRIORITYTXCONFIGLIST-STOP +-- TAG-SL-CBR-COMMONTXCONFIGLIST-START + +SL-CBR-CommonTxConfigList-r16 ::= SEQUENCE { + sl-CBR-RangeConfigList-r16 SEQUENCE (SIZE (1..maxCBR-Config-r16)) OF SL-CBR-LevelsConfig-r16 OPTIONAL, -- Need M + sl-CBR-PSSCH-TxConfigList-r16 SEQUENCE (SIZE (1.. maxTxConfig-r16)) OF SL-CBR-PSSCH-TxConfig-r16 OPTIONAL -- Need M +} + +SL-CBR-LevelsConfig-r16 ::= SEQUENCE (SIZE (1..maxCBR-Level-r16)) OF SL-CBR-r16 + +SL-CBR-PSSCH-TxConfig-r16 ::= SEQUENCE { + sl-CR-Limit-r16 INTEGER(0..10000) OPTIONAL, -- Need M + sl-TxParameters-r16 SL-PSSCH-TxParameters-r16 OPTIONAL -- Need M +} + +SL-CBR-r16 ::= INTEGER (0..100) + +-- TAG-SL-CBR-COMMONTXCONFIGLIST-STOP +-- TAG-SL-CONFIGDEDICATEDNR-START + +SL-ConfigDedicatedNR-r16 ::= SEQUENCE { + sl-PHY-MAC-RLC-Config-r16 SL-PHY-MAC-RLC-Config-r16 OPTIONAL, -- Need M + sl-RadioBearerToReleaseList-r16 SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SLRB-Uu-ConfigIndex-r16 OPTIONAL, -- Need N + sl-RadioBearerToAddModList-r16 SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SL-RadioBearerConfig-r16 OPTIONAL, -- Need N + sl-MeasConfigInfoToReleaseList-r16 SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-DestinationIndex-r16 OPTIONAL, -- Need N + sl-MeasConfigInfoToAddModList-r16 SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-MeasConfigInfo-r16 OPTIONAL, -- Need M + t400-r16 ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000} OPTIONAL, -- Need M + ... +} + +SL-DestinationIndex-r16 ::= INTEGER (0..maxNrofSL-Dest-1-r16) + +SL-PHY-MAC-RLC-Config-r16::= SEQUENCE { + sl-ScheduledConfig-r16 CHOICE {release NULL, setup SL-ScheduledConfig-r16 } OPTIONAL, -- Need M + sl-UE-SelectedConfig-r16 CHOICE {release NULL, setup SL-UE-SelectedConfig-r16 } OPTIONAL, -- Need M + sl-FreqInfoToReleaseList-r16 SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-Freq-Id-r16 OPTIONAL, -- Need N + sl-FreqInfoToAddModList-r16 SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-FreqConfig-r16 OPTIONAL, -- Need N + sl-RLC-BearerToReleaseList-r16 SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-BearerConfigIndex-r16 OPTIONAL, -- Need N + sl-RLC-BearerToAddModList-r16 SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-BearerConfig-r16 OPTIONAL, -- Need N + sl-MaxNumConsecutiveDTX-r16 ENUMERATED {n1, n2, n3, n4, n6, n8, n16, n32} OPTIONAL, -- Need M + sl-CSI-Acquisition-r16 ENUMERATED {enabled} OPTIONAL, -- Need R + sl-CSI-SchedulingRequestId-r16 CHOICE {release NULL, setup SchedulingRequestId} OPTIONAL, -- Need M + sl-SSB-PriorityNR-r16 INTEGER (1..8) OPTIONAL, -- Need R + networkControlledSyncTx-r16 ENUMERATED {on, off} OPTIONAL -- Need M +} + +-- TAG-SL-CONFIGDEDICATEDNR-STOP +-- TAG-SL-CONFIGUREDGRANTCONFIG-START + +SL-ConfiguredGrantConfig-r16 ::= SEQUENCE { + sl-ConfigIndexCG-r16 SL-ConfigIndexCG-r16, + sl-PeriodCG-r16 SL-PeriodCG-r16 OPTIONAL, -- Need M + sl-NrOfHARQ-Processes-r16 INTEGER (1..16) OPTIONAL, -- Need M + sl-HARQ-ProcID-offset-r16 INTEGER (1..16) OPTIONAL, -- Need M + sl-CG-MaxTransNumList-r16 SL-CG-MaxTransNumList-r16 OPTIONAL, -- Need M + rrc-ConfiguredSidelinkGrant SEQUENCE { + sl-TimeResourceCG-Type1-r16 INTEGER (0..496) OPTIONAL, -- Need M + sl-StartSubchannelCG-Type1-r16 INTEGER (0..26) OPTIONAL, -- Need M + sl-FreqResourceCG-Type1-r16 INTEGER (0..6929) OPTIONAL, -- Need M + sl-TimeOffsetCG-Type1-r16 INTEGER (0..7999) OPTIONAL, -- Need R + sl-N1PUCCH-AN-r16 PUCCH-ResourceId OPTIONAL, -- Need M + sl-PSFCH-ToPUCCH-CG-Type1-r16 INTEGER (0..15) OPTIONAL -- Need M + } OPTIONAL, -- Need M + ... +} + +SL-ConfigIndexCG-r16 ::= INTEGER (1..maxNrofCG-SL-r16) + +SL-CG-MaxTransNumList-r16 ::= SEQUENCE (SIZE (1..8)) OF SL-CG-MaxTransNum-r16 + +SL-CG-MaxTransNum-r16 ::= SEQUENCE { + sl-Priority-r16 INTEGER (1..8), + sl-MaxTransNum-r16 INTEGER (1..32) +} + +SL-PeriodCG-r16 ::= CHOICE{ + sl-PeriodCG1-r16 ENUMERATED {ms0, ms100, ms200, ms300, ms400, ms500, ms600, ms700, ms800, ms900, ms1000}, + sl-PeriodCG2-r16 INTEGER (1..99) +} + +-- TAG-SL-CONFIGUREDGRANTCONFIG-STOP +-- TAG-SL-DESTINATIONIDENTITY-START + +SL-DestinationIdentity-r16 ::= BIT STRING (SIZE (24)) + +-- TAG-SL-DESTINATIONIDENTITY-STOP +-- TAG-SL-FREQCONFIG-START + +SL-FreqConfig-r16 ::= SEQUENCE { + sl-Freq-Id-r16 SL-Freq-Id-r16, + sl-SCS-SpecificCarrierList-r16 SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier, + sl-AbsoluteFrequencyPointA-r16 ARFCN-ValueNR OPTIONAL, -- Need M + sl-AbsoluteFrequencySSB-r16 ARFCN-ValueNR OPTIONAL, -- Need R + frequencyShift7p5khzSL-r16 ENUMERATED {true} OPTIONAL, -- Cond V2X-SL-Shared + valueN-r16 INTEGER (-1..1), + sl-BWP-ToReleaseList-r16 SEQUENCE (SIZE (1..maxNrofSL-BWPs-r16)) OF BWP-Id OPTIONAL, -- Need N + sl-BWP-ToAddModList-r16 SEQUENCE (SIZE (1..maxNrofSL-BWPs-r16)) OF SL-BWP-Config-r16 OPTIONAL, -- Need N + sl-SyncConfigList-r16 SL-SyncConfigList-r16 OPTIONAL, -- Need M + sl-SyncPriority-r16 ENUMERATED {gnss, gnbEnb} OPTIONAL -- Need M +} + +SL-Freq-Id-r16 ::= INTEGER (1.. maxNrofFreqSL-r16) + +-- TAG-SL-FREQCONFIG-STOP +-- TAG-SL-FREQCONFIGCOMMON-START + +SL-FreqConfigCommon-r16 ::= SEQUENCE { + sl-SCS-SpecificCarrierList-r16 SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier, + sl-AbsoluteFrequencyPointA-r16 ARFCN-ValueNR, + sl-AbsoluteFrequencySSB-r16 ARFCN-ValueNR OPTIONAL, -- Need R + frequencyShift7p5khzSL-r16 ENUMERATED {true} OPTIONAL, -- Cond V2X-SL-Shared + valueN-r16 INTEGER (-1..1), + sl-BWP-List-r16 SEQUENCE (SIZE (1..maxNrofSL-BWPs-r16)) OF SL-BWP-ConfigCommon-r16 OPTIONAL, -- Need R + sl-SyncPriority-r16 ENUMERATED {gnss, gnbEnb} OPTIONAL, -- Need R + sl-NbAsSync-r16 BOOLEAN OPTIONAL, -- Need R + sl-SyncConfigList-r16 SL-SyncConfigList-r16 OPTIONAL, -- Need R + ... +} +-- TAG-SL-FREQCONFIGCOMMON-STOP +-- TAG-SL-LOGICALCHANNELCONFIG-START + +SL-LogicalChannelConfig-r16 ::= SEQUENCE { + sl-Priority-r16 INTEGER (1..8), + sl-PrioritisedBitRate-r16 ENUMERATED {kBps0, kBps8, kBps16, kBps32, kBps64, kBps128, kBps256, kBps512, + kBps1024, kBps2048, kBps4096, kBps8192, kBps16384, kBps32768, kBps65536, infinity}, + sl-BucketSizeDuration-r16 ENUMERATED {ms5, ms10, ms20, ms50, ms100, ms150, ms300, ms500, ms1000, + spare7, spare6, spare5, spare4, spare3,spare2, spare1}, + sl-ConfiguredGrantType1Allowed-r16 ENUMERATED {true} OPTIONAL, -- Need R + sl-HARQ-FeedbackEnabled-r16 ENUMERATED {enabled, disabled } OPTIONAL, -- Need R + sl-AllowedCG-List-r16 SEQUENCE (SIZE (0.. maxNrofCG-SL-r16-1)) OF SL-ConfigIndexCG-r16 + OPTIONAL, -- Need R + sl-AllowedSCS-List-r16 SEQUENCE (SIZE (1..maxSCSs)) OF SubcarrierSpacing OPTIONAL, -- Need R + sl-MaxPUSCH-Duration-r16 ENUMERATED {ms0p02, ms0p04, ms0p0625, ms0p125, ms0p25, ms0p5, spare2, spare1} + OPTIONAL, -- Need R + sl-LogicalChannelGroup-r16 INTEGER (0..maxLCG-ID) OPTIONAL, -- Need R + sl-SchedulingRequestId-r16 SchedulingRequestId OPTIONAL, -- Need R + sl-LogicalChannelSR-DelayTimerApplied-r16 BOOLEAN OPTIONAL, -- Need R + ... +} +-- TAG-SL-LOGICALCHANNELCONFIG-STOP +-- TAG-SL-MEASCONFIGCOMMON-START + +SL-MeasConfigCommon-r16 ::= SEQUENCE { + sl-MeasObjectListCommon-r16 SL-MeasObjectList-r16 OPTIONAL, -- Need R + sl-ReportConfigListCommon-r16 SL-ReportConfigList-r16 OPTIONAL, -- Need R + sl-MeasIdListCommon-r16 SL-MeasIdList-r16 OPTIONAL, -- Need R + sl-QuantityConfigCommon-r16 SL-QuantityConfig-r16 OPTIONAL, -- Need R + ... +} + +-- TAG-SL-MEASCONFIGCOMMON-STOP +-- TAG-SL-MEASCONFIGINFO-START + +SL-MeasConfigInfo-r16 ::= SEQUENCE { + sl-DestinationIndex-r16 SL-DestinationIndex-r16, + sl-MeasConfig-r16 SL-MeasConfig-r16, + ... +} + +SL-MeasConfig-r16 ::= SEQUENCE { + sl-MeasObjectToRemoveList-r16 SL-MeasObjectToRemoveList-r16 OPTIONAL, -- Need N + sl-MeasObjectToAddModList-r16 SL-MeasObjectList-r16 OPTIONAL, -- Need N + sl-ReportConfigToRemoveList-r16 SL-ReportConfigToRemoveList-r16 OPTIONAL, -- Need N + sl-ReportConfigToAddModList-r16 SL-ReportConfigList-r16 OPTIONAL, -- Need N + sl-MeasIdToRemoveList-r16 SL-MeasIdToRemoveList-r16 OPTIONAL, -- Need N + sl-MeasIdToAddModList-r16 SL-MeasIdList-r16 OPTIONAL, -- Need N + sl-QuantityConfig-r16 SL-QuantityConfig-r16 OPTIONAL, -- Need M + ... +} + +SL-MeasObjectToRemoveList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-ObjectId-r16)) OF SL-MeasObjectId-r16 + +SL-ReportConfigToRemoveList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-ReportConfigId-r16)) OF SL-ReportConfigId-r16 + +SL-MeasIdToRemoveList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-MeasId-r16)) OF SL-MeasId-r16 + +-- TAG-SL-MEASCONFIGINFO-STOP +-- TAG-SL-MEASIDLIST-START + +SL-MeasIdList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-MeasId-r16)) OF SL-MeasIdInfo-r16 + +SL-MeasIdInfo-r16 ::= SEQUENCE { + sl-MeasId-r16 SL-MeasId-r16, + sl-MeasObjectId-r16 SL-MeasObjectId-r16, + sl-ReportConfigId-r16 SL-ReportConfigId-r16, + ... +} + +SL-MeasId-r16 ::= INTEGER (1..maxNrofSL-MeasId-r16) + +-- TAG-SL-MEASIDLIST-STOP +-- TAG-SL-MEASOBJECTLIST-START + +SL-MeasObjectList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-ObjectId-r16)) OF SL-MeasObjectInfo-r16 + +SL-MeasObjectInfo-r16 ::= SEQUENCE { + sl-MeasObjectId-r16 SL-MeasObjectId-r16, + sl-MeasObject-r16 SL-MeasObject-r16, + ... +} + +SL-MeasObjectId-r16 ::= INTEGER (1..maxNrofSL-ObjectId-r16) + +SL-MeasObject-r16 ::= SEQUENCE { + frequencyInfoSL-r16 ARFCN-ValueNR, + ... +} + +-- TAG-SL-MEASOBJECTLIST-STOP +-- TAG-SL-PDCP-CONFIG-START + +SL-PDCP-Config-r16 ::= SEQUENCE { + sl-DiscardTimer-r16 ENUMERATED {ms3, ms10, ms20, ms25, ms30, ms40, ms50, ms60, ms75, ms100, ms150, ms200, + ms250, ms300, ms500, ms750, ms1500, infinity} OPTIONAL, -- Cond Setup + sl-PDCP-SN-Size-r16 ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup2 + sl-OutOfOrderDelivery ENUMERATED { true } OPTIONAL, -- Need R + ... +} + +-- TAG-SL-PDCP-CONFIG-STOP +-- TAG-SL-PSBCH-CONFIG-START + +SL-PSBCH-Config-r16 ::= SEQUENCE { + dl-P0-PSBCH-r16 INTEGER (-16..15) OPTIONAL, -- Need M + dl-Alpha-PSBCH-r16 ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1} OPTIONAL, -- Need M + ... +} + +-- TAG-SL-PSBCH-CONFIG-STOP +-- TAG-SL-PSSCH-TXCONFIGLIST-START + +SL-PSSCH-TxConfigList-r16 ::= SEQUENCE (SIZE (1..maxPSSCH-TxConfig-r16)) OF SL-PSSCH-TxConfig-r16 + +SL-PSSCH-TxConfig-r16 ::= SEQUENCE { + sl-TypeTxSync-r16 SL-TypeTxSync-r16 OPTIONAL, -- Need R + sl-ThresUE-Speed-r16 ENUMERATED {kmph60, kmph80, kmph100, kmph120, + kmph140, kmph160, kmph180, kmph200}, + sl-ParametersAboveThres-r16 SL-PSSCH-TxParameters-r16, + sl-ParametersBelowThres-r16 SL-PSSCH-TxParameters-r16, + ... +} + + +SL-PSSCH-TxParameters-r16 ::= SEQUENCE { + sl-MinMCS-PSSCH-r16 INTEGER (0..27), + sl-MaxMCS-PSSCH-r16 INTEGER (0..31), + sl-MinSubChannelNumPSSCH-r16 INTEGER (1..27), + sl-MaxSubchannelNumPSSCH-r16 INTEGER (1..27), + sl-MaxTxTransNumPSSCH-r16 INTEGER (1..32), + sl-MaxTxPower-r16 SL-TxPower-r16 OPTIONAL -- Cond CBR +} + +-- TAG-SL-PSSCH-TXCONFIGLIST-STOP +-- TAG-SL-QOS-FLOWIDENTITY-START + +SL-QoS-FlowIdentity-r16 ::= INTEGER (1..maxNrofSL-QFIs-r16) + +-- TAG-SL-QOS-FLOWIDENTITY-STOP +-- TAG-SL-QOS-PROFILE-START + +SL-QoS-Profile-r16 ::= SEQUENCE { + sl-PQI-r16 SL-PQI-r16 OPTIONAL, -- Need R + sl-GFBR-r16 INTEGER (0..4000000000) OPTIONAL, -- Need R + sl-MFBR-r16 INTEGER (0..4000000000) OPTIONAL, -- Need R + sl-Range-r16 INTEGER (1..1000) OPTIONAL, -- Need R + ... +} + +SL-PQI-r16 ::= CHOICE { + sl-StandardizedPQI-r16 INTEGER (0..255), + sl-Non-StandardizedPQI-r16 SEQUENCE { + sl-ResourceType-r16 ENUMERATED {gbr, non-GBR, delayCriticalGBR, spare1} OPTIONAL, -- Need R + sl-PriorityLevel-r16 INTEGER (1..8) OPTIONAL, -- Need R + sl-PacketDelayBudget-r16 INTEGER (0..1023) OPTIONAL, -- Need R + sl-PacketErrorRate-r16 INTEGER (0..9) OPTIONAL, -- Need R + sl-AveragingWindow-r16 INTEGER (0..4095) OPTIONAL, -- Need R + sl-MaxDataBurstVolume-r16 INTEGER (0..4095) OPTIONAL, -- Need R + ... + } +} + +-- TAG-SL-QOS-PROFILE-STOP +-- TAG-SL-QUANTITYCONFIG-START + +SL-QuantityConfig-r16 ::= SEQUENCE { + sl-FilterCoefficientDMRS-r16 FilterCoefficient DEFAULT fc4, + ... +} + +-- TAG-SL-QuantityConfig-STOP +-- TAG-SL-RADIOBEARERCONFIG-START + +SL-RadioBearerConfig-r16 ::= SEQUENCE { + slrb-Uu-ConfigIndex-r16 SLRB-Uu-ConfigIndex-r16, + sl-SDAP-Config-r16 SL-SDAP-Config-r16 OPTIONAL, -- Cond SLRBSetup + sl-PDCP-Config-r16 SL-PDCP-Config-r16 OPTIONAL, -- Cond SLRBSetup + sl-TransRange-r16 ENUMERATED {m20, m50, m80, m100, m120, m150, m180, m200, m220, m250, m270, m300, m350, m370, + m400, m420, m450, m480, m500, m550, m600, m700, m1000, spare9, spare8, spare7, spare6, + spare5, spare4, spare3, spare2, spare1} OPTIONAL, -- Need R + ... +} + +-- TAG-SL-RADIOBEARERCONFIG-STOP +-- TAG-SL-REPORTCONFIGLIST-START + +SL-ReportConfigList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-ReportConfigId-r16)) OF SL-ReportConfigInfo-r16 + +SL-ReportConfigInfo-r16 ::= SEQUENCE { + sl-ReportConfigId-r16 SL-ReportConfigId-r16, + sl-ReportConfig-r16 SL-ReportConfig-r16, + ... +} + +SL-ReportConfigId-r16 ::= INTEGER (1..maxNrofSL-ReportConfigId-r16) + +SL-ReportConfig-r16 ::= SEQUENCE { + sl-ReportType-r16 CHOICE { + sl-Periodical-r16 SL-PeriodicalReportConfig-r16, + sl-EventTriggered-r16 SL-EventTriggerConfig-r16, + ... + }, + ... +} + +SL-PeriodicalReportConfig-r16 ::= SEQUENCE { + sl-ReportInterval-r16 ReportInterval, + sl-ReportAmount-r16 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, + sl-ReportQuantity-r16 SL-MeasReportQuantity-r16, + sl-RS-Type-r16 SL-RS-Type-r16, + ... +} + +SL-EventTriggerConfig-r16 ::= SEQUENCE { + sl-EventId-r16 CHOICE { + eventS1-r16 SEQUENCE { + s1-Threshold-r16 SL-MeasTriggerQuantity-r16, + sl-ReportOnLeave-r16 BOOLEAN, + sl-Hysteresis-r16 Hysteresis, + sl-TimeToTrigger-r16 TimeToTrigger, + ... + }, + eventS2-r16 SEQUENCE { + s2-Threshold-r16 SL-MeasTriggerQuantity-r16, + sl-ReportOnLeave-r16 BOOLEAN, + sl-Hysteresis-r16 Hysteresis, + sl-TimeToTrigger-r16 TimeToTrigger, + ... + }, + ... + }, + sl-ReportInterval-r16 ReportInterval, + sl-ReportAmount-r16 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, + sl-ReportQuantity-r16 SL-MeasReportQuantity-r16, + sl-RS-Type-r16 SL-RS-Type-r16, + ... +} + +SL-MeasReportQuantity-r16 ::= CHOICE { + sl-RSRP-r16 RSRP-Range, + ... +} + +SL-MeasTriggerQuantity-r16 ::= CHOICE { + sl-RSRP-r16 RSRP-Range, + ... +} + +SL-RS-Type-r16 ::= ENUMERATED {dmrs, spare3, spare2, spare1} + +-- TAG-SL-REPORTCONFIGLIST-STOP +-- TAG-SL-RESOURCEPOOL-START + +SL-ResourcePool-r16 ::= SEQUENCE { + sl-PSCCH-Config-r16 CHOICE {release NULL, setup SL-PSCCH-Config-r16 } OPTIONAL, -- Need M + sl-PSSCH-Config-r16 CHOICE {release NULL, setup SL-PSSCH-Config-r16 } OPTIONAL, -- Need M + sl-PSFCH-Config-r16 CHOICE {release NULL, setup SL-PSFCH-Config-r16 } OPTIONAL, -- Need M + sl-SyncAllowed-r16 SL-SyncAllowed-r16 OPTIONAL, -- Need M + sl-SubchannelSize-r16 ENUMERATED {n10, n12, n15, n20, n25, n50, n75, n100} OPTIONAL, -- Need M + sl-TimeResource-r16 INTEGER (10..160) OPTIONAL, -- Need M + sl-StartRB-Subchannel-r16 INTEGER (0..265) OPTIONAL, -- Need M + sl-NumSubchannel-r16 INTEGER (1..27) OPTIONAL, -- Need M + sl-Additional-MCS-Table-r16 ENUMERATED {qam256, qam64LowSE, qam256-qam64LowSE } OPTIONAL, -- Need M + sl-ThreshS-RSSI-CBR-r16 INTEGER (0..45) OPTIONAL, -- Need M + sl-TimeWindowSizeCBR-r16 ENUMERATED {ms100, slot100} OPTIONAL, -- Need M + sl-TimeWindowSizeCR-r16 ENUMERATED {ms1000, slot1000} OPTIONAL, -- Need M + sl-PTRS-Config-r16 SL-PTRS-Config-r16 OPTIONAL, -- Need M + sl-UE-SelectedConfigRP-r16 SL-UE-SelectedConfigRP-r16 OPTIONAL, -- Need M + sl-RxParametersNcell-r16 SEQUENCE { + sl-TDD-Configuration-r16 TDD-UL-DL-ConfigCommon OPTIONAL, -- Need M + sl-SyncConfigIndex-r16 INTEGER (0..15) + } OPTIONAL, -- Need M + sl-ZoneConfigMCR-List-r16 SEQUENCE (SIZE (16)) OF SL-ZoneConfigMCR-r16 OPTIONAL, -- Need M + sl-FilterCoefficient-r16 FilterCoefficient OPTIONAL, -- Need M + sl-RB-Number-r16 INTEGER (10..275) OPTIONAL, -- Need M + sl-PreemptionEnable-r16 ENUMERATED {enabled, pl1, pl2, pl3, pl4, pl5, pl6, pl7, pl8} OPTIONAL, -- Need R + sl-PriorityThreshold-UL-URLLC-r16 INTEGER (1..9) OPTIONAL, -- Need M + sl-PriorityThreshold-r16 INTEGER (1..9) OPTIONAL, -- Need M + sl-X-Overhead-r16 ENUMERATED {n0,n3, n6, n9} OPTIONAL, -- Need M + sl-PowerControl-r16 SL-PowerControl-r16 OPTIONAL, -- Need M + sl-TxPercentageList-r16 SL-TxPercentageList-r16 OPTIONAL, -- Need M + sl-MinMaxMCS-List-r16 SL-MinMaxMCS-List-r16 OPTIONAL, -- Need M +... +} + +SL-ZoneConfigMCR-r16 ::= SEQUENCE { + sl-ZoneConfigMCR-Index-r16 INTEGER (0..15), + sl-TransRange-r16 ENUMERATED {m20, m50, m80, m100, m120, m150, m180, m200, m220, m250, m270, m300, m350, + m370, m400, m420, m450, m480, m500, m550, m600, m700, m1000, spare8, spare7, + spare6, spare5, spare4, spare3, spare2, spare1} OPTIONAL, -- Need M + sl-ZoneConfig-r16 SL-ZoneConfig-r16 OPTIONAL, -- Need M +... +} + +SL-SyncAllowed-r16 ::= SEQUENCE { + gnss-Sync-r16 ENUMERATED {true} OPTIONAL, -- Need R + gnbEnb-Sync-r16 ENUMERATED {true} OPTIONAL, -- Need R + ue-Sync-r16 ENUMERATED {true} OPTIONAL -- Need R +} + +SL-PSCCH-Config-r16 ::= SEQUENCE { + sl-TimeResourcePSCCH-r16 ENUMERATED {n2, n3} OPTIONAL, -- Need M + sl-FreqResourcePSCCH-r16 ENUMERATED {n10,n12, n15, n20, n25} OPTIONAL, -- Need M + sl-DMRS-ScrambleID-r16 INTEGER (0..65535) OPTIONAL, -- Need M + sl-NumReservedBits-r16 INTEGER (2..4) OPTIONAL, -- Need M + ... +} + +SL-PSSCH-Config-r16 ::= SEQUENCE { + sl-PSSCH-DMRS-TimePatternList-r16 SEQUENCE (SIZE (1..3)) OF INTEGER (2..4) OPTIONAL, -- Need M + sl-BetaOffsets2ndSCI-r16 SEQUENCE (SIZE (4)) OF SL-BetaOffsets-r16 OPTIONAL, -- Need M + sl-Scaling-r16 ENUMERATED {f0p5, f0p65, f0p8, f1} OPTIONAL, -- Need M + ... +} + +SL-PSFCH-Config-r16 ::= SEQUENCE { + sl-PSFCH-Period-r16 ENUMERATED {sl0, sl1, sl2, sl4} OPTIONAL, -- Need M + sl-PSFCH-RB-Set-r16 BIT STRING (SIZE (10..275)) OPTIONAL, -- Need M + sl-NumMuxCS-Pair-r16 ENUMERATED {n1, n2, n3, n6} OPTIONAL, -- Need M + sl-MinTimeGapPSFCH-r16 ENUMERATED {sl2, sl3} OPTIONAL, -- Need M + sl-PSFCH-HopID-r16 INTEGER (0..1023) OPTIONAL, -- Need M + sl-PSFCH-CandidateResourceType-r16 ENUMERATED {startSubCH, allocSubCH} OPTIONAL, -- Need M + ... +} +SL-PTRS-Config-r16 ::= SEQUENCE { + sl-PTRS-FreqDensity-r16 SEQUENCE (SIZE (2)) OF INTEGER (1..276) OPTIONAL, -- Need M + sl-PTRS-TimeDensity-r16 SEQUENCE (SIZE (3)) OF INTEGER (0..29) OPTIONAL, -- Need M + sl-PTRS-RE-Offset-r16 ENUMERATED {offset01, offset10, offset11} OPTIONAL, -- Need M + ... +} + +SL-UE-SelectedConfigRP-r16 ::= SEQUENCE { + sl-CBR-PriorityTxConfigList-r16 SL-CBR-PriorityTxConfigList-r16 OPTIONAL, -- Need M + sl-ThresPSSCH-RSRP-List-r16 SL-ThresPSSCH-RSRP-List-r16 OPTIONAL, -- Need M + sl-MultiReserveResource-r16 ENUMERATED {enabled} OPTIONAL, -- Need M + sl-MaxNumPerReserve-r16 ENUMERATED {n2, n3} OPTIONAL, -- Need M + sl-SensingWindow-r16 ENUMERATED {ms100, ms1100} OPTIONAL, -- Need M + sl-SelectionWindowList-r16 SL-SelectionWindowList-r16 OPTIONAL, -- Need M + sl-ResourceReservePeriodList-r16 SEQUENCE (SIZE (1..16)) OF SL-ResourceReservePeriod-r16 OPTIONAL, -- Need M + sl-RS-ForSensing-r16 ENUMERATED {pscch, pssch}, + ... +} + +SL-ResourceReservePeriod-r16 ::= CHOICE { + sl-ResourceReservePeriod1-r16 ENUMERATED {ms0, ms100, ms200, ms300, ms400, ms500, ms600, ms700, ms800, ms900, ms1000}, + sl-ResourceReservePeriod2-r16 INTEGER (1..99) +} + +SL-SelectionWindowList-r16 ::= SEQUENCE (SIZE (8)) OF SL-SelectionWindowConfig-r16 + +SL-SelectionWindowConfig-r16 ::= SEQUENCE { + sl-Priority-r16 INTEGER (1..8), + sl-SelectionWindow-r16 ENUMERATED {n1, n5, n10, n20} +} + +SL-TxPercentageList-r16 ::= SEQUENCE (SIZE (8)) OF SL-TxPercentageConfig-r16 + +SL-TxPercentageConfig-r16 ::= SEQUENCE { + sl-Priority-r16 INTEGER (1..8), + sl-TxPercentage-r16 ENUMERATED {p20, p35, p50} +} + +SL-MinMaxMCS-List-r16 ::= SEQUENCE (SIZE (1..3)) OF SL-MinMaxMCS-Config-r16 + +SL-MinMaxMCS-Config-r16 ::= SEQUENCE { + sl-MCS-Table-r16 ENUMERATED {qam64, qam256, qam64LowSE}, + sl-MinMCS-PSSCH-r16 INTEGER (0..27), + sl-MaxMCS-PSSCH-r16 INTEGER (0..31) +} + +SL-BetaOffsets-r16 ::= INTEGER (0..31) + +SL-PowerControl-r16 ::= SEQUENCE { + sl-MaxTransPower-r16 INTEGER (-30..33), + sl-Alpha-PSSCH-PSCCH-r16 ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1} OPTIONAL, -- Need M + dl-Alpha-PSSCH-PSCCH-r16 ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1} OPTIONAL, -- Need M + sl-P0-PSSCH-PSCCH-r16 INTEGER (-16..15) OPTIONAL, -- Need M + dl-P0-PSSCH-PSCCH-r16 INTEGER (-16..15) OPTIONAL, -- Need M + dl-Alpha-PSFCH-r16 ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1} OPTIONAL, -- Need M + dl-P0-PSFCH-r16 INTEGER (-16..15) OPTIONAL, -- Need M + ... +} + +-- TAG-SL-RESOURCEPOOL-STOP +-- TAG-SL-RLC-BEARERCONFIG-START + +SL-RLC-BearerConfig-r16 ::= SEQUENCE { + sl-RLC-BearerConfigIndex-r16 SL-RLC-BearerConfigIndex-r16, + sl-ServedRadioBearer-r16 SLRB-Uu-ConfigIndex-r16 OPTIONAL, -- Cond LCH-SetupOnly + sl-RLC-Config-r16 SL-RLC-Config-r16 OPTIONAL, -- Cond LCH-Setup + sl-MAC-LogicalChannelConfig-r16 SL-LogicalChannelConfig-r16 OPTIONAL, -- Cond LCH-Setup + ... +} + +-- TAG-SL-RLC-BEARERCONFIG-STOP +-- TAG-SL-RLC-BEARERCONFIGINDEX-START + +SL-RLC-BearerConfigIndex-r16 ::= INTEGER (1..maxSL-LCID-r16) + +-- TAG-RLC-BEARERCONFIGINDEX-STOP +-- TAG-SL-RLC-CONFIG-START + +SL-RLC-Config-r16 ::= CHOICE { + sl-AM-RLC-r16 SEQUENCE { + sl-SN-FieldLengthAM-r16 SN-FieldLengthAM OPTIONAL, -- Cond SLRBSetup + sl-T-PollRetransmit-r16 T-PollRetransmit, + sl-PollPDU-r16 PollPDU, + sl-PollByte-r16 PollByte, + sl-MaxRetxThreshold-r16 ENUMERATED { t1, t2, t3, t4, t6, t8, t16, t32 }, + ... + }, + sl-UM-RLC-r16 SEQUENCE { + sl-SN-FieldLengthUM-r16 SN-FieldLengthUM OPTIONAL, -- Cond SLRBSetup + ... + }, + ... +} + +-- TAG-SL-RLC-CONFIG-STOP +-- TAG-SL-SCHEDULEDCONFIG-START + +SL-ScheduledConfig-r16 ::= SEQUENCE { + sl-RNTI-r16 RNTI-Value, + mac-MainConfigSL-r16 MAC-MainConfigSL-r16 OPTIONAL, -- Need M + sl-Timing-Config-r16 SL-TimingConfig-r16 OPTIONAL, -- Need M + sl-CS-RNTI-r16 RNTI-Value OPTIONAL, -- Need M + sl-PSFCH-ToPUCCH-r16 SEQUENCE (SIZE (1..8)) OF INTEGER (0..15) OPTIONAL, -- Need M + sl-ConfiguredGrantConfigList-r16 SL-ConfiguredGrantConfigList-r16 OPTIONAL, -- Need M + ... +} + +MAC-MainConfigSL-r16 ::= SEQUENCE { + sl-BSR-Config-r16 BSR-Config OPTIONAL, -- Need M + ul-PrioritizationThres-r16 INTEGER (1..16) OPTIONAL, -- Need M + sl-PrioritizationThres-r16 INTEGER (1..8) OPTIONAL, -- Need M + ... + +} + +SL-TimingConfig-r16 ::= SEQUENCE { + sl-DCI-ToSL-Trans-r16 ENUMERATED{ffs} OPTIONAL, -- Need M + ... +} + +SL-ConfiguredGrantConfigList-r16 ::= SEQUENCE { + sl-ConfiguredGrantConfigToReleaseList-r16 SEQUENCE (SIZE (1..maxNrofCG-SL-r16)) OF SL-ConfigIndexCG-r16 OPTIONAL, -- Need N + sl-ConfiguredGrantConfigToAddModList-r16 SEQUENCE (SIZE (1..maxNrofCG-SL-r16)) OF SL-ConfiguredGrantConfig-r16 OPTIONAL -- Need N +} + +-- TAG-SL-SCHEDULEDCONFIG-STOP +-- TAG-SL-SDAP-CONFIG-START + +SL-SDAP-Config-r16 ::= SEQUENCE { + sl-SDAP-Header-r16 ENUMERATED {present, absent}, + sl-DefaultRB-r16 BOOLEAN, + sl-MappedQoS-Flows-r16 CHOICE { + sl-MappedQoS-FlowsList-r16 SEQUENCE (SIZE (1..maxNrofSL-QFIs-r16)) OF SL-QoS-Profile-r16, + sl-MappedQoS-FlowsListDedicated-r16 SL-MappedQoS-FlowsListDedicated-r16 + } OPTIONAL, -- Need M + sl-CastType-r16 ENUMERATED {broadcast, groupcast, unicast, spare1} OPTIONAL, -- Need M + ... +} + +SL-MappedQoS-FlowsListDedicated-r16 ::= SEQUENCE { + sl-MappedQoS-FlowsToAddList-r16 SEQUENCE (SIZE (1..maxNrofSL-QFIs-r16)) OF SL-QoS-FlowIdentity-r16 OPTIONAL, -- Need N + sl-MappedQoS-FlowsToReleaseList-16 SEQUENCE (SIZE (1..maxNrofSL-QFIs-r16)) OF SL-QoS-FlowIdentity-r16 OPTIONAL -- Need N +} + +-- TAG-SL-SDAP-CONFIG-STOP +-- TAG-SL-SYNCCONFIG-START + +SL-SyncConfigList-r16 ::= SEQUENCE (SIZE (1..maxSL-SyncConfig-r16)) OF SL-SyncConfig-r16 + +SL-SyncConfig-r16 ::= SEQUENCE { + sl-SyncRefMinHyst-r16 ENUMERATED {dB0, dB3, dB6, dB9, dB12} OPTIONAL, -- Need R + sl-SyncRefDiffHyst-r16 ENUMERATED {dB0, dB3, dB6, dB9, dB12, dBinf} OPTIONAL, -- Need R + sl-filterCoefficient-r16 FilterCoefficient OPTIONAL, -- Need R + sl-SSB-TimeAllocation1-r16 SL-SSB-TimeAllocation-r16 OPTIONAL, -- Need R + sl-SSB-TimeAllocation2-r16 SL-SSB-TimeAllocation-r16 OPTIONAL, -- Need R + sl-SSB-TimeAllocation3-r16 SL-SSB-TimeAllocation-r16 OPTIONAL, -- Need R + sl-SSID-r16 INTEGER (0..671) OPTIONAL, -- Need R + txParameters-r16 SEQUENCE { + syncTxThreshIC-r16 SL-RSRP-Range-r16 OPTIONAL, -- Need R + syncTxThreshOoC-r16 SL-RSRP-Range-r16 OPTIONAL, -- Need R + syncInfoReserved-r16 BIT STRING (SIZE (2)) OPTIONAL -- Need R + }, + gnss-Sync-r16 ENUMERATED {true} OPTIONAL, -- Need R +... +} + +SL-RSRP-Range-r16 ::= INTEGER (0..13) + +SL-SSB-TimeAllocation-r16 ::= SEQUENCE { + sl-NumSSB-WithinPeriod-r16 ENUMERATED {n1, n2, n4, n5, n16, n32, n64} OPTIONAL, -- Need R + sl-TimeOffsetSSB-r16 INTEGER (0..1279) OPTIONAL, -- Need R + sl-TimeInterval-r16 INTEGER (0..639) OPTIONAL -- Need R +} + +-- TAG-SL-SYNCCONFIG-STOP +-- TAG-SL-THRESPSSCH-RSRP-LIST-START + +SL-ThresPSSCH-RSRP-List-r16 ::= SEQUENCE (SIZE (64)) OF SL-ThresPSSCH-RSRP-r16 + +SL-ThresPSSCH-RSRP-r16 ::= INTEGER (0..66) + +-- TAG-SL-THRESPSSCH-RSRP-LIST-STOP +-- TAG-SL-TXPOWER-START + +SL-TxPower-r16 ::= CHOICE{ + minusinfinity-r16 NULL, + txPower-r16 INTEGER (-30..33) +} + +-- TAG-SL-TXPOWER-STOP +-- TAG-SL-TYPETXSYNC-START + +SL-TypeTxSync-r16 ::= ENUMERATED {gnss, gnbEnb, ue} + +-- TAG-SL-TYPETXSYNC-STOP +-- TAG-SL-UE-SELECTEDCONFIG-START + +SL-UE-SelectedConfig-r16 ::= SEQUENCE { + sl-PSSCH-TxConfigList-r16 SL-PSSCH-TxConfigList-r16 OPTIONAL, -- Need R + sl-ProbResourceKeep-r16 ENUMERATED {v0, v0dot2, v0dot4, v0dot6, v0dot8} OPTIONAL, -- Need R + sl-ReselectAfter-r16 ENUMERATED {n1, n2, n3, n4, n5, n6, n7, n8, n9} OPTIONAL, -- Need R + sl-CBR-CommonTxConfigList-r16 SL-CBR-CommonTxConfigList-r16 OPTIONAL, -- Need R + ul-PrioritizationThres-r16 INTEGER (1..16) OPTIONAL, -- Need R + sl-PrioritizationThres-r16 INTEGER (1..8) OPTIONAL, -- Need R + ... +} + +-- TAG-SL-UE-SELECTEDCONFIG-STOP +-- TAG-SL-ZONECONFIG-START + +SL-ZoneConfig-r16 ::= SEQUENCE { + sl-ZoneLength-r16 ENUMERATED { m5, m10, m20, m30, m40, m50, spare2, spare1}, + ... +} + +-- TAG-SL-ZONECONFIG-STOP +-- TAG-SLRB-UU-CONFIGINDEX-START + +SLRB-Uu-ConfigIndex-r16 ::= INTEGER (1..maxNrofSLRB-r16) + +-- TAG-SLRB-UU-CONFIGINDEX-STOP -- TAG-MULTIPLICITY-AND-TYPE-CONSTRAINT-DEFINITIONS-START +maxAI-DCI-PayloadSize-r16 INTEGER ::= 128 --Maximum size of the DCI payload scrambled with ai-RNTI +maxAI-DCI-PayloadSize-r16-1 INTEGER ::= 127 --Maximum size of the DCI payload scrambled with ai-RNTI minus 1 maxBandComb INTEGER ::= 65536 -- Maximum number of DL band combinations +maxBandsUTRA-FDD-r16 INTEGER ::= 64 -- Maximum number of bands listed in UTRA-FDD UE caps +maxBH-RLC-ChannelID-r16 INTEGER ::= 65536 -- Maximum value of BH RLC Channel ID +maxBT-IdReport-r16 INTEGER ::= 32 -- Maximum number of Bluetooth IDs to report +maxBT-Name-r16 INTEGER ::= 4 -- Maximum number of Bluetooth name +maxCAG-Cell-r16 INTEGER ::= 16 -- Maximum number of NR CAG cell ranges in SIB3, SIB4 +maxCBR-Config-r16 INTEGER ::= 8 -- Maximum number of CBR range configurations for sidelink communication + -- congestion control +maxCBR-Config-1-r16 INTEGER ::= 7 -- Maximum number of CBR range configurations for sidelink communication + -- congestion control minus 1 +maxCBR-Level-r16 INTEGER ::= 16 -- Maximum nuber of CBR levels +maxCBR-Level-1-r16 INTEGER ::= 15 -- Maximum number of CBR levels minus 1 maxCellBlack INTEGER ::= 16 -- Maximum number of NR blacklisted cell ranges in SIB3, SIB4 +maxCellHistory-r16 INTEGER ::= 16 -- Maximum number of visited cells reported 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 E-UTRAN +maxCellMeasIdle-r16 INTEGER ::= 8 -- Maximum number of cells per carrier for idle/inactive measurements +maxCellMeasUTRA-FDD-r16 INTEGER ::= 32 -- Maximum number of cells in FDD UTRAN +maxCellWhite INTEGER ::= 16 -- Maximum number of NR whitelisted cell ranges in SIB3, SIB4 maxEARFCN INTEGER ::= 262143 -- Maximum value of E-UTRA carrier frequency maxEUTRA-CellBlack INTEGER ::= 16 -- Maximum number of E-UTRA blacklisted physical cell identity ranges -- in SIB5 maxEUTRA-NS-Pmax INTEGER ::= 8 -- Maximum number of NS and P-Max values per band +maxLogMeasReport-r16 INTEGER ::= 520 -- Maximum number of entries for logged measurements 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 +maxFreqIdle-r16 INTEGER ::= 8 -- Maximum number of carrier frequencies for idle/inactive measurements maxNrofServingCells INTEGER ::= 32 -- Max number of serving cells (SpCells + SCells) -maxNrofServingCells-1 INTEGER ::= 31 -- Max number of serving cells (SpCell + SCells) minus 1 +maxNrofServingCells-1 INTEGER ::= 31 -- Max number of serving cells (SpCell + SCells) per cell group maxNrofAggregatedCellsPerCellGroup INTEGER ::= 16 +maxNrofDUCells-r16 INTEGER ::= 512 -- Max number of cells configured on the collocated IAB-DU +maxNrofAssociatedDUCellsPerMT-r16 INTEGER ::= 65535 +maxNrofAvailabilityCombinationsPerSet-r16 INTEGER ::= 512 -- Max number of AvailabilityCombinationId used in the DCI format 2_5 +maxNrofAvailabilityCombinationsPerSet-r16-1 INTEGER ::= 511 -- Max number of AvailabilityCombinationId used in the DCI format 2_5 minus 1 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 +maxNrofCellMeas INTEGER ::= 32 -- Maximum number of entries in each of the cell lists in a measurement object +maxNrofCG-SL-r16 INTEGER ::= 8 -- Max number of sidelink configured grant +maxNrofCG-SL-r16-1 INTEGER ::= 7 -- Max number of sidelink configured grant minus 1 +maxNrofSS-BlocksToAverage INTEGER ::= 16 -- Max number for the (max) number of SS blocks to average to determine cell measurement +maxNrofCondCells-r16 INTEGER ::= 8 -- Max number of conditional candidate SpCells +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 +maxLC-ID-Iab-r16 INTEGER ::= 65536 -- Maximum value of BH Logical Channel ID extension +maxLTE-CRS-Patterns-r16 INTEGER ::= 3 -- Maximum number of additional LTE CRS rate matching patterns 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) +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 +maxNrofControlResourceSets-1-r16 INTEGER ::= 15 -- Max number of CoReSets configurable on a serving cell extended in minus 1 +maxNrofCoresetPools-r16 INTEGER ::= 2 -- Maximum number of CORESET pools 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 +maxIAB-IP-Address-r16 INTEGER ::= 32 -- Max number of assigned IP addresses 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 @@ -6747,8 +11782,7 @@ maxNrofCSI-ResourceConfigurations INTEGER ::= 112 -- Maximum number of 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 +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 @@ -6762,10 +11796,8 @@ 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-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 @@ -6775,6 +11807,17 @@ maxNrofCSI-SSB-ResourceSets-1 INTEGER ::= 63 -- Maximum number of 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 +maxNrofFreqSL-r16 INTEGER ::= 8 -- Maximum number of carrier frequncy for for NR sidelink communication +maxNrofSL-BWPs-r16 INTEGER ::= 4 -- Maximum number of BWP for for NR sidelink communication +maxFreqSL-EUTRA-r16 INTEGER ::= 8 -- Maximum number of EUTRA anchor carrier frequncy for NR sidelink communication +maxNrofSL-MeasId-r16 INTEGER ::= 64 -- Maximum number of sidelink measurement identity (RSRP) per destination +maxNrofSL-ObjectId-r16 INTEGER ::= 64 -- Maximum number of sidelink measurement objects (RSRP) per destination +maxNrofSL-ReportConfigId-r16 INTEGER ::= 64 -- Maximum number of sidelink measurement reporting configuration(RSRP) per destination +maxNrofSL-PoolToMeasureNR-r16 INTEGER ::= 8 -- Maximum number of resoure pool for NR sidelink measurement to measure for + -- each measurement object (for CBR) +maxFreqSL-NR-r16 INTEGER ::= 8 -- Maximum number of NR anchor carrier frequncy for NR sidelink communication +maxNrofSL-QFIs-r16 INTEGER ::= 2048 -- Maximum number of QoS flow for NR sidelink communication per UE +maxNrofSL-QFIsPerDest-r16 INTEGER ::= 64 -- Maximum number of QoS flow per destination for NR sidelink communication 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 @@ -6783,20 +11826,35 @@ maxNrofCSI-RS-ResourcesRRM INTEGER ::= 96 -- Maximum number of 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 cells with CSI-RS resources for an RRM measurement - -- object +maxNrofCSI-RS-CellsRRM INTEGER ::= 96 -- Maximum number of cells with CSI-RS resources for an RRM measurement object +maxNrofSL-Dest-r16 INTEGER ::= 32 -- Maximum number of destination for NR sidelink communication +maxNrofSL-Dest-1-r16 INTEGER ::= 31 -- Highest index of destination for NR sidelink communication +maxNrofSLRB-r16 INTEGER ::= 512 -- Maximum number of radio bearer for NR sidelink communication per UE +maxSL-LCID-r16 INTEGER ::= 512 -- Maximum number of RLC bearer for NR sidelink communication per UE +maxSL-SyncConfig-r16 INTEGER ::= 16 -- Maximum number of sidelink Sync configurations +maxNrofRXPool-r16 INTEGER ::= 16 -- Maximum number of Rx resource poolfor NR sidelink communication +maxNrofTXPool-r16 INTEGER ::= 8 -- Maximum number of Tx resourcepoolfor NR sidelink communication +maxNrofPoolID-r16 INTEGER ::= 16 -- Maximum index of resource pool for NR sidelink communication +maxNrofSRS-PathlossReferenceRS-r16 INTEGER ::= 64 -- Maximum number of RSs used as pathloss reference for SRS power control. +maxNrofSRS-PathlossReferenceRS-1-r16 INTEGER ::= 63 -- Maximum number of RSs used as pathloss reference for SRS power control-1. 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-PosResourceSets-r16 INTEGER ::= 16 -- Maximum number of SRS Positioning resource sets in a BWP. +maxNrofSRS-PosResourceSets-1-r16 INTEGER ::= 15 -- Maximum number of SRS Positioning 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-PosResources-r16 INTEGER ::= 64 -- Maximum number of SRS Positioning resources. +maxNrofSRS-PosResources-1-r16 INTEGER ::= 63 -- Maximum number of SRS Positioning resources in an SRS Positioning + -- 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-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 +maxULTxSwitchingBandPairs INTEGER ::= 32 -- Maximum number of band pairs supporting dynamic UL Tx switching in a band combination 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. +maxNrofTrafficPattern-r16 INTEGER ::= 8 -- Maximum number of Traffic Pattern for NR sidelink communication. maxNrofPUCCH-Resources INTEGER ::= 128 maxNrofPUCCH-Resources-1 INTEGER ::= 127 maxNrofPUCCH-ResourceSets INTEGER ::= 4 -- Maximum number of PUCCH Resource Sets @@ -6804,13 +11862,22 @@ maxNrofPUCCH-ResourceSets-1 INTEGER ::= 3 -- Maximum number of maxNrofPUCCH-ResourcesPerSet INTEGER ::= 32 -- Maximum number of PUCCH Resources per PUCCH-ResourceSet 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. +maxNrofPUCCH-PathlossReferenceRSs-1 INTEGER ::= 3 -- Maximum number of RSs used as pathloss reference for PUCCH power control minus 1. +maxNrofPUCCH-PathlossReferenceRSs-r16 INTEGER ::= 64 -- Maximum number of RSs used as pathloss reference for PUCCH power control extended. +maxNrofPUCCH-PathlossReferenceRSs-1-r16 INTEGER ::= 63 -- Maximum number of RSs used as pathloss reference for PUCCH power control + -- minus 1 extended. +maxNrofPUCCH-PathlossReferenceRSsDiff-r16 INTEGER ::= 60 -- Difference between the extended maximum and the non-extended maximum +maxNrofPUCCH-ResourceGroups-r16 INTEGER ::= 4 -- Maximum number of PUCCH resources groups. +maxNrofPUCCH-ResourcesPerGroup-r16 INTEGER ::= 128 -- Maximum number of PUCCH resources in a PUCCH group. +maxNrofMultiplePUSCHs-r16 INTEGER ::= 8 -- Maximum number of multiple PUSCHs in PUSCH TDRA list maxNrofP0-PUSCH-AlphaSets INTEGER ::= 30 -- Maximum number of P0-pusch-alpha-sets (see 38,213, clause 7.1) maxNrofP0-PUSCH-AlphaSets-1 INTEGER ::= 29 -- Maximum number of P0-pusch-alpha-sets minus 1 (see 38,213, clause 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. +maxNrofPUSCH-PathlossReferenceRSs-1 INTEGER ::= 3 -- Maximum number of RSs used as pathloss reference for PUSCH power control minus 1. +maxNrofPUSCH-PathlossReferenceRSs-r16 INTEGER ::= 64 -- Maximum number of RSs used as pathloss reference for PUSCH power control extended +maxNrofPUSCH-PathlossReferenceRSs-1-r16 INTEGER ::= 63 -- Maximum number of RSs used as pathloss reference for PUSCH power control minus 1 +maxNrofPUSCH-PathlossReferenceRSsDiff-r16 INTEGER ::= 60 -- Difference between maxNrofPUSCH-PathlossReferenceRSs-r16 and + -- maxNrofPUSCH-PathlossReferenceRSs 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 @@ -6818,16 +11885,26 @@ 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. +maxFreqLayers INTEGER ::= 4 -- Max number of frequency layers. +maxFreqIDC-r16 INTEGER ::= 128 -- Max number of frequencies for IDC indication. +maxCombIDC-r16 INTEGER ::= 128 -- Max number of reported UL CA for IDC indication. maxFreqIDC-MRDC INTEGER ::= 32 -- Maximum number of candidate NR frequencies for MR-DC IDC indication maxNrofCandidateBeams INTEGER ::= 16 -- Max number of PRACH-ResourceDedicatedBFR that in BFR config. +maxNrofCandidateBeams-r16 INTEGER ::= 64 -- Max number of candidate beam resources in BFR config. +maxNrofCandidateBeamsExt-r16 INTEGER ::= 48 -- Max number of PRACH-ResourceDedicatedBFR in the CandidateBeamRSListExt maxNrofPCIsPerSMTC INTEGER ::= 64 -- Maximun number of PCIs per SMTC. maxNrofQFIs INTEGER ::= 64 +maxNrofResourceAvailabilityPerCombination-r16 INTEGER ::= 256 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 +maxNrofSpatialRelationInfos-plus-1 INTEGER ::= 9 +maxNrofSpatialRelationInfos-r16 INTEGER ::= 64 +maxNrofSpatialRelationInfosDiff-r16 INTEGER ::= 56 -- Difference between maxNrofSpatialRelationInfos-r16 and maxNrofSpatialRelationInfos maxNrofIndexesToReport INTEGER ::= 32 maxNrofIndexesToReport2 INTEGER ::= 64 +maxNrofSSBs-r16 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 @@ -6848,6 +11925,8 @@ maxCellSFTD INTEGER ::= 3 -- Maximum number of maxReportConfigId INTEGER ::= 64 maxNrofCodebooks INTEGER ::= 16 -- Maximum number of codebooks suppoted by the UE maxNrofCSI-RS-Resources INTEGER ::= 7 -- Maximum number of codebook resources supported by the UE +maxNrofCSI-RS-ResourcesAlt-r16 INTEGER ::= 512 -- Maximum number of alternative codebook resources supported by the UE +maxNrofCSI-RS-ResourcesAlt-1-r16 INTEGER ::= 511 -- Maximum number of alternative codebook resources supported by the UE minus 1 maxNrofSRI-PUSCH-Mappings INTEGER ::= 16 maxNrofSRI-PUSCH-Mappings-1 INTEGER ::= 15 maxSIB INTEGER::= 32 -- Maximum number of SIBs @@ -6864,9 +11943,42 @@ maxEUTRA-DL-FeatureSets INTEGER ::= 256 -- (for E-UTRA) Tota maxEUTRA-UL-FeatureSets INTEGER ::= 256 -- (for E-UTRA) 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) +maxFeatureSetCombinations INTEGER ::= 1024 -- (for MR-DC/NR)Total number of Feature set combinations (size of the pool) maxInterRAT-RSTD-Freq INTEGER ::= 3 +maxHRNN-Len-r16 INTEGER ::= 48 -- Maximum length of HRNNs +maxNPN-r16 INTEGER ::= 12 -- Maximum number of NPNs broadcast and reported by UE at establishment +maxNrOfMinSchedulingOffsetValues-r16 INTEGER ::= 2 -- Maximum number of min. scheduling offset (K0/K2) configurations +maxK0-SchedulingOffset-r16 INTEGER ::= 16 -- Maximum number of slots configured as min. scheduling offset (K0) +maxK2-SchedulingOffset-r16 INTEGER ::= 16 -- Maximum number of slots configured as min. scheduling offset (K2) +maxDCI-2-6-Size-r16 INTEGER ::= 140 -- Maximum size of DCI format 2-6 +maxDCI-2-6-Size-1-r16 INTEGER ::= 139 -- Maximum DCI format 2-6 size minus 1 +maxNrofUL-Allocations-r16 INTEGER ::= 64 -- Maximum number of PUSCH time domain resource allocations +maxNrofP0-PUSCH-Set-r16 INTEGER ::= 2 -- Maximum number of P0 PUSCH set(s) +maxOnDemandSIB-r16 INTEGER ::= 8 -- Maximum number of SIB(s) that can be requested on-demand +maxOnDemandPosSIB-r16 INTEGER ::= 32 -- Maximum number of posSIB(s) that can be requested on-demand +maxCI-DCI-PayloadSize-r16 INTEGER ::= 126 -- Maximum number of the DCI size for CI +maxCI-DCI-PayloadSize-r16-1 INTEGER ::= 125 -- Maximum number of the DCI size for CI minus 1 +maxWLAN-Id-Report-r16 INTEGER ::= 32 -- Maximum number of WLAN IDs to report +maxWLAN-Name-r16 INTEGER ::= 4 -- Maximum number of WLAN name +maxRAReport-r16 INTEGER ::= 8 -- Maximum number of RA procedures information to be included in the RA report +maxTxConfig-r16 INTEGER ::= 64 -- Maximum number of sidelink transmission parameters configurations +maxTxConfig-1-r16 INTEGER ::= 63 -- Maximum number of sidelink transmission parameters configurations minus 1 +maxPSSCH-TxConfig-r16 INTEGER ::= 16 -- Maximum number of PSSCH TX configurations +maxNrofCLI-RSSI-Resources-r16 INTEGER ::= 64 -- Maximum number of CLI-RSSI resources for UE +maxNrofCLI-RSSI-Resources-r16-1 INTEGER ::= 63 -- Maximum number of CLI-RSSI resources for UE minus 1 +maxNrofCLI-SRS-Resources-r16 INTEGER ::= 32 -- Maximum number of SRS resources for CLI measurement for UE +maxCLI-Report-r16 INTEGER ::= 8 +maxNrofConfiguredGrantConfig-r16 INTEGER ::= 12 -- Maximum number of configured grant configurations per BWP +maxNrofConfiguredGrantConfig-r16-1 INTEGER ::= 11 -- Maximum number of configured grant configurations per BWP minus 1 +maxNrofCG-Type2DeactivationState INTEGER ::= 16 -- Maximum number of deactivation state for type 2 configured grants per BWP +maxNrofConfiguredGrantConfigMAC-r16 INTEGER ::= 32 -- Maximum number of configured grant configurations per MAC entity +maxNrofConfiguredGrantConfigMAC-r16-1 INTEGER ::= 31 -- Maximum number of configured grant configurations per MAC entity minus 1 +maxNrofSPS-Config-r16 INTEGER ::= 8 -- Maximum number of SPS configurations per BWP +maxNrofSPS-Config-r16-1 INTEGER ::= 7 -- Maximum number of SPS configurations per BWP minus 1 +maxNrofSPS-DeactivationState INTEGER ::= 16 -- Maximum number of deactivation state for SPS per BWP +maxNrofDormancyGroups INTEGER ::= 5 -- +maxNrofPUCCH-ResourceGroups-1-r16 INTEGER ::= 3 -- +maxNrofServingCellsTCI-r16 INTEGER ::= 32 -- Maximum number of serving cells in simultaneousTCI-UpdateList -- TAG-MULTIPLICITY-AND-TYPE-CONSTRAINT-DEFINITIONS-STOP diff --git a/epan/dissectors/asn1/nr-rrc/NR-Sidelink-Preconf.asn b/epan/dissectors/asn1/nr-rrc/NR-Sidelink-Preconf.asn new file mode 100644 index 0000000000..ffb4934636 --- /dev/null +++ b/epan/dissectors/asn1/nr-rrc/NR-Sidelink-Preconf.asn @@ -0,0 +1,69 @@ +-- 3GPP TS 38.331 V16.1.0 (2020-07) + +NR-Sidelink-Preconf DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS +SL-CBR-CommonTxConfigList-r16, +SL-FreqConfigCommon-r16, +SL-RadioBearerConfig-r16, +SL-RLC-BearerConfig-r16, +SL-EUTRA-AnchorCarrierFreqList-r16, +SL-NR-AnchorCarrierFreqList-r16, +SL-MeasConfigCommon-r16, +SL-UE-SelectedConfig-r16, +TDD-UL-DL-ConfigCommon, +maxNrofFreqSL-r16, +maxNrofSLRB-r16, +maxSL-LCID-r16 +FROM NR-RRC-Definitions; + +-- TAG-NR-SIDELINK-PRECONF-DEFINITIONS-STOP +-- TAG-SL-PRECONFIGURATIONNR-START + +SL-PreconfigurationNR-r16 ::= SEQUENCE { + sidelinkPreconfigNR-r16 SidelinkPreconfigNR-r16, + ... +} + +SidelinkPreconfigNR-r16 ::= SEQUENCE { + sl-PreconfigFreqInfoList-r16 SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-FreqConfigCommon-r16 OPTIONAL, + sl-PreconfigNR-AnchorCarrierFreqList-r16 SL-NR-AnchorCarrierFreqList-r16 OPTIONAL, + sl-PreconfigEUTRA-AnchorCarrierFreqList-r16 SL-EUTRA-AnchorCarrierFreqList-r16 OPTIONAL, + sl-RadioBearerPreConfigList-r16 SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SL-RadioBearerConfig-r16 OPTIONAL, + sl-RLC-BearerPreConfigList-r16 SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-BearerConfig-r16 OPTIONAL, + sl-MeasPreConfig-r16 SL-MeasConfigCommon-r16 OPTIONAL, + sl-OffsetDFN-r16 INTEGER (1..1000) OPTIONAL, + t400-r16 ENUMERATED{ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000} OPTIONAL, + sl-MaxNumConsecutiveDTX-r16 ENUMERATED {n1, n2, n3, n4, n6, n8, n16, n32} OPTIONAL, + sl-SSB-PriorityNR-r16 INTEGER (1..8) OPTIONAL, + sl-PreconfigGeneral-r16 SL-PreconfigGeneral-r16 OPTIONAL, + sl-UE-SelectedPreConfig-r16 SL-UE-SelectedConfig-r16 OPTIONAL, + sl-CSI-Acquisition-r16 ENUMERATED {enabled} OPTIONAL, + sl-RoHC-Profiles-r16 SL-RoHC-Profiles-r16 OPTIONAL, + sl-MaxCID-r16 INTEGER (1..16383) DEFAULT 15, + ... +} + +SL-PreconfigGeneral-r16 ::= SEQUENCE { + sl-TDD-Configuration-r16 TDD-UL-DL-ConfigCommon OPTIONAL, + reservedBits-r16 BIT STRING (SIZE (2)) OPTIONAL, + ... +} + +SL-RoHC-Profiles-r16 ::= SEQUENCE { + profile0x0001-r16 BOOLEAN, + profile0x0002-r16 BOOLEAN, + profile0x0003-r16 BOOLEAN, + profile0x0004-r16 BOOLEAN, + profile0x0006-r16 BOOLEAN, + profile0x0101-r16 BOOLEAN, + profile0x0102-r16 BOOLEAN, + profile0x0103-r16 BOOLEAN, + profile0x0104-r16 BOOLEAN +} + +-- TAG-SL-PRECONFIGURATIONNR-STOP + +END diff --git a/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn b/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn index fab994e8ff..b64ae14cbc 100644 --- a/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn +++ b/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn @@ -1,32 +1,109 @@ --- 3GPP TS 38.331 V15.9.0 (2020-03) +-- 3GPP TS 38.331 V16.1.0 (2020-07) NR-UE-Variables DEFINITIONS AUTOMATIC TAGS ::= BEGIN IMPORTS + ARFCN-ValueNR, CellIdentity, EUTRA-PhysCellId, MeasId, MeasIdToAddModList, + MeasIdleCarrierEUTRA-r16, + MeasIdleCarrierNR-r16, + MeasResultIdleEUTRA-r16, + MeasResultIdleNR-r16, MeasObjectToAddModList, PhysCellId, RNTI-Value, ReportConfigToAddModList, RSRP-Range, + SL-MeasId-r16, + SL-MeasIdList-r16, + SL-MeasObjectList-r16, + SL-ReportConfigList-r16, + SL-QuantityConfig-r16, + Tx-PoolMeasList-r16, QuantityConfig, maxNrofCellMeas, - maxNrofMeasId + maxNrofMeasId, + maxFreqIdle-r16, + PhysCellIdUTRA-FDD-r16, + ValidityAreaList-r16, + CondReconfigToAddModList-r16, + ConnEstFailReport-r16, + LoggingDuration-r16, + LoggingInterval-r16, + LogMeasInfoList-r16, + LogMeasInfo-r16, + RA-Report-r16, + RLF-Report-r16, + TraceReference-r16, + WLAN-Identifiers-r16, + WLAN-NameList-r16, + BT-NameList-r16, + PLMN-Identity, + maxPLMN, + RA-ReportList-r16, + VisitedCellInfoList-r16, + AbsoluteTimeInfo-r16, + LoggedEventTriggerConfig-r16, + LoggedPeriodicalReportConfig-r16, + Sensor-NameList-r16, + PLMN-IdentityList2-r16, + AreaConfiguration-r16, + maxNrofSL-MeasId-r16, + maxNrofFreqSL-r16, + maxNrofCLI-RSSI-Resources-r16, + maxNrofCLI-SRS-Resources-r16, + RSSI-ResourceId-r16, + SRS-ResourceId FROM NR-RRC-Definitions; -- NR-UE-VARIABLES-STOP --- TAG-VARPENDINGRNA-UPDATE-START +-- TAG-VARCONDITIONALRECONFIG-START -VarPendingRNA-Update ::= SEQUENCE { - pendingRNA-Update BOOLEAN OPTIONAL +VarConditionalReconfig ::= SEQUENCE { + condReconfigList CondReconfigToAddModList-r16 OPTIONAL } --- TAG-VARPENDINGRNA-UPDATE-STOP + +-- TAG-VARCONDITIONALRECONFIG-STOP +-- TAG-VARCONNESTFAILREPORT-START + +VarConnEstFailReport-r16 ::= SEQUENCE { + connEstFailReport-r16 ConnEstFailReport-r16, + plmn-Identity-r16 PLMN-Identity +} + +-- TAG-VARCONNESTFAILREPORT-STOP +-- TAG-VARLOGMEASCONFIG-START + +VarLogMeasConfig-r16-IEs ::= SEQUENCE { + areaConfiguration-r16 AreaConfiguration-r16 OPTIONAL, + bt-NameList-r16 BT-NameList-r16 OPTIONAL, + wlan-NameList-r16 WLAN-NameList-r16 OPTIONAL, + sensor-NameList-r16 Sensor-NameList-r16 OPTIONAL, + loggingDuration-r16 LoggingDuration-r16, + reportType CHOICE { + periodical LoggedPeriodicalReportConfig-r16, + eventTriggered LoggedEventTriggerConfig-r16 + } +} +-- TAG-VARLOGMEASCONFIG-STOP +-- TAG-VARLOGMEAREPORT-START + +VarLogMeasReport-r16 ::= SEQUENCE { + absoluteTimeStamp-r16 AbsoluteTimeInfo-r16, + traceReference-r16 TraceReference-r16, + traceRecordingSessionRef-r16 OCTET STRING (SIZE (2)), + tce-Id-r16 OCTET STRING (SIZE (1)), + logMeasInfoList-r16 LogMeasInfoList-r16, + plmn-IdentityList-r16 PLMN-IdentityList2-r16 +} + +-- TAG-VARLOGMEAREPORT-STOP -- TAG-VARMEASCONFIG-START VarMeasConfig ::= SEQUENCE { @@ -47,6 +124,38 @@ VarMeasConfig ::= SEQUENCE { } -- TAG-VARMEASCONFIG-STOP +-- TAG-VARMEASCONFIGSL-START + +VarMeasConfigSL-r16 ::= SEQUENCE { + -- NR sidelink measurement identities + sl-MeasIdList-r16 SL-MeasIdList-r16 OPTIONAL, + -- NR sidelink measurement objects + sl-MeasObjectList-r16 SL-MeasObjectList-r16 OPTIONAL, + -- NR sidelink reporting configurations + sl-reportConfigList-r16 SL-ReportConfigList-r16 OPTIONAL, + -- Other parameters + sl-QuantityConfig-r16 SL-QuantityConfig-r16 OPTIONAL +} + +-- TAG-VARMEASCONFIGSL-STOP +-- TAG-VARMEASIDLECONFIG-START + +VarMeasIdleConfig-r16 ::= SEQUENCE { + measIdleCarrierListNR-r16 SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasIdleCarrierNR-r16 OPTIONAL, + measIdleCarrierListEUTRA-r16 SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasIdleCarrierEUTRA-r16 OPTIONAL, + measIdleDuration-r16 ENUMERATED {sec10, sec30, sec60, sec120, sec180, sec240, sec300, spare}, + validityAreaList-r16 ValidityAreaList-r16 OPTIONAL +} + +-- TAG-VARMEASIDLECONFIG-STOP +-- TAG-VARMEASIDLEREPORT-START + +VarMeasIdleReport-r16 ::= SEQUENCE { + measReportIdleNR-r16 MeasResultIdleNR-r16 OPTIONAL, + measReportIdleEUTRA-r16 MeasResultIdleEUTRA-r16 OPTIONAL +} + +-- TAG-VARMEASIDLEREPORT-STOP -- TAG-VARMEASREPORTLIST-START VarMeasReportList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF VarMeasReport @@ -55,16 +164,61 @@ VarMeasReport ::= SEQUENCE { -- List of measurement that have been triggered measId MeasId, cellsTriggeredList CellsTriggeredList OPTIONAL, - numberOfReportsSent INTEGER + numberOfReportsSent INTEGER, + cli-TriggeredList-r16 CLI-TriggeredList-r16 OPTIONAL, + tx-PoolMeasToAddModListNR-r16 Tx-PoolMeasList-r16 OPTIONAL } CellsTriggeredList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CHOICE { physCellId PhysCellId, - physCellIdEUTRA EUTRA-PhysCellId + physCellIdEUTRA EUTRA-PhysCellId, + physCellIdUTRA-FDD-r16 PhysCellIdUTRA-FDD-r16 + } + +CLI-TriggeredList-r16 ::= CHOICE { + srs-RSRP-TriggeredList-r16 SRS-RSRP-TriggeredList-r16, + cli-RSSI-TriggeredList-r16 CLI-RSSI-TriggeredList-r16 } +SRS-RSRP-TriggeredList-r16 ::= SEQUENCE (SIZE (1.. maxNrofCLI-SRS-Resources-r16)) OF SRS-ResourceId + +CLI-RSSI-TriggeredList-r16 ::= SEQUENCE (SIZE (1.. maxNrofCLI-RSSI-Resources-r16)) OF RSSI-ResourceId-r16 -- TAG-VARMEASREPORTLIST-STOP +-- TAG-VARMEASREPORTLISTSL-START + +VarMeasReportListSL-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-MeasId-r16)) OF VarMeasReportSL-r16 + +VarMeasReportSL-r16 ::= SEQUENCE { + -- List of NR sidelink measurement that have been triggered + sl-MeasId-r16 SL-MeasId-r16, + sl-FrequencyTriggeredList-r16 SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF ARFCN-ValueNR OPTIONAL, + sl-NumberOfReportsSent-r16 INTEGER +} + +-- TAG-VARMEASREPORTLISTSL-STOP +-- TAG-VARMOBILITYHISTORYREPORT-START + +VarMobilityHistoryReport-r16 ::= VisitedCellInfoList-r16 + +-- TAG-VARMOBILITYHISTORYREPORT-STOP +-- TAG-VARPENDINGRNA-UPDATE-START + +VarPendingRNA-Update ::= SEQUENCE { + pendingRNA-Update BOOLEAN OPTIONAL +} + +-- TAG-VARPENDINGRNA-UPDATE-STOP +-- TAG-VARRA-REPORT-START + +VarRA-Report-r16 ::= SEQUENCE { + ra-ReportList-r16 RA-ReportList-r16, + plmn-IdentityList-r16 PLMN-IdentityList-r16 +} + +PLMN-IdentityList-r16 ::= SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity + +-- TAG-VARRA-REPORT-STOP -- TAG-VARRESUMEMAC-INPUT-START VarResumeMAC-Input ::= SEQUENCE { @@ -75,6 +229,14 @@ VarResumeMAC-Input ::= SEQUENCE { } -- TAG-VARRESUMEMAC-INPUT-STOP +-- TAG-VARRLF-REPORT-START + +VarRLF-Report-r16 ::= SEQUENCE { + rlf-Report-r16 RLF-Report-r16, + plmn-IdentityList-r16 PLMN-IdentityList-r16 +} + +-- TAG-VARRLF-REPORT-STOP -- TAG-VARSHORTMAC-INPUT-START VarShortMAC-Input ::= SEQUENCE { diff --git a/epan/dissectors/asn1/nr-rrc/PC5-RRC-Definitions.asn b/epan/dissectors/asn1/nr-rrc/PC5-RRC-Definitions.asn new file mode 100644 index 0000000000..6299c15144 --- /dev/null +++ b/epan/dissectors/asn1/nr-rrc/PC5-RRC-Definitions.asn @@ -0,0 +1,273 @@ +-- 3GPP TS 38.331 V16.1.0 (2020-07) + +PC5-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + SetupRelease, + RRC-TransactionIdentifier, + SN-FieldLengthAM, + SN-FieldLengthUM, + LogicalChannelIdentity, + maxNrofSLRB-r16, + maxNrofSL-QFIs-r16, + maxNrofSL-QFIsPerDest-r16, + RSRP-Range, + SL-MeasConfig-r16, + SL-MeasId-r16, + FreqBandList, + SupportedBandCombinationListSidelink-r16 + +FROM NR-RRC-Definitions; + +-- TAG-PC5-RRC-DEFINITIONS-STOP +-- TAG-SBCCH-SL-BCH-MESSAGE-START + +SBCCH-SL-BCH-Message ::= SEQUENCE { + message SBCCH-SL-BCH-MessageType +} + +SBCCH-SL-BCH-MessageType::= CHOICE { + c1 CHOICE { + masterInformationBlockSidelink MasterInformationBlockSidelink, + spare1 NULL + }, + messageClassExtension SEQUENCE {} +} + +-- TAG-SBCCH-SL-BCH-MESSAGE-STOP +-- TAG-SCCH-MESSAGE-START + +SCCH-Message ::= SEQUENCE { + message SCCH-MessageType +} + +SCCH-MessageType ::= CHOICE { + c1 CHOICE { + measurementReportSidelink MeasurementReportSidelink, + rrcReconfigurationSidelink RRCReconfigurationSidelink, + rrcReconfigurationCompleteSidelink RRCReconfigurationCompleteSidelink, + rrcReconfigurationFailureSidelink RRCReconfigurationFailureSidelink, + ueCapabilityEnquirySidelink UECapabilityEnquirySidelink, + ueCapabilityInformationSidelink UECapabilityInformationSidelink, + spare2 NULL, spare1 NULL + }, + messageClassExtension SEQUENCE {} +} + +-- TAG-SCCH-MESSAGE-STOP +-- TAG-MASTERINFORMATIONBLOCKSIDELINK-START + +MasterInformationBlockSidelink ::= SEQUENCE { + sl-TDD-Config-r16 BIT STRING (SIZE (12)), + inCoverage-r16 BOOLEAN, + directFrameNumber-r16 BIT STRING (SIZE (10)), + slotIndex-r16 BIT STRING (SIZE (7)), + reservedBits-r16 BIT STRING (SIZE (2)) +} + +-- TAG-MASTERINFORMATIONBLOCKSIDELINK-STOP +-- TAG-MEASUREMENTREPORTSIDELINK-START + +MeasurementReportSidelink ::= SEQUENCE { + criticalExtensions CHOICE { + measurementReportSidelink-r16 MeasurementReportSidelink-IEs-r16, + criticalExtensionsFuture SEQUENCE {} + } +} + +MeasurementReportSidelink-IEs-r16 ::= SEQUENCE { + sl-measResults-r16 SL-MeasResults-r16, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL +} + +SL-MeasResults-r16 ::= SEQUENCE { + sl-MeasId-r16 SL-MeasId-r16, + sl-MeasResult-r16 SL-MeasResult-r16, + ... +} + +SL-MeasResult-r16 ::= SEQUENCE { + sl-ResultDMRS-r16 SL-MeasQuantityResult-r16 OPTIONAL, + ... +} + +SL-MeasQuantityResult-r16 ::= SEQUENCE { + sl-RSRP-r16 RSRP-Range OPTIONAL, + ... +} + +-- TAG-MEASUREMENTREPORTSIDELINK-STOP +-- TAG-RRCRECONFIGURATIONSIDELINK-START + +RRCReconfigurationSidelink ::= SEQUENCE { + rrc-TransactionIdentifier-r16 RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcReconfigurationSidelink-r16 RRCReconfigurationSidelink-IEs-r16, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCReconfigurationSidelink-IEs-r16 ::= SEQUENCE { + slrb-ConfigToAddModList-r16 SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SLRB-Config-r16 OPTIONAL, -- Need N + slrb-ConfigToReleaseList-r16 SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SLRB-PC5-ConfigIndex-r16 OPTIONAL, -- Need N + sl-MeasConfig-r16 CHOICE {release NULL, setup SL-MeasConfig-r16} OPTIONAL, -- Need M + sl-CSI-RS-Config-r16 CHOICE {release NULL, setup SL-CSI-RS-Config-r16} OPTIONAL, -- Need M + sl-ResetConfig-r16 ENUMERATED {true} OPTIONAL, -- Need N + sl-LatencyBoundCSI-Report-r16 INTEGER (3..160) OPTIONAL, -- Need M + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +SLRB-Config-r16::= SEQUENCE { + slrb-PC5-ConfigIndex-r16 SLRB-PC5-ConfigIndex-r16, + sl-SDAP-ConfigPC5-r16 SL-SDAP-ConfigPC5-r16 OPTIONAL, -- Need M + sl-PDCP-ConfigPC5-r16 SL-PDCP-ConfigPC5-r16 OPTIONAL, -- Need M + sl-RLC-ConfigPC5-r16 SL-RLC-ConfigPC5-r16 OPTIONAL, -- Need M + sl-MAC-LogicalChannelConfigPC5-r16 SL-LogicalChannelConfigPC5-r16 OPTIONAL, -- Need M + ... +} + +SLRB-PC5-ConfigIndex-r16 ::= INTEGER (1..maxNrofSLRB-r16) + +SL-SDAP-ConfigPC5-r16 ::= SEQUENCE { + sl-MappedQoS-FlowsToAddList-r16 SEQUENCE (SIZE (1.. maxNrofSL-QFIsPerDest-r16)) OF SL-PFI-r16 OPTIONAL, -- Need N + sl-MappedQoS-FlowsToReleaseList-r16 SEQUENCE (SIZE (1.. maxNrofSL-QFIsPerDest-r16)) OF SL-PFI-r16 OPTIONAL, -- Need N + ... +} + +SL-PDCP-ConfigPC5-r16 ::= SEQUENCE { + sl-PDCP-SN-Size-r16 ENUMERATED {len12bits, len18bits} OPTIONAL, -- Need M + sl-OutOfOrderDelivery ENUMERATED { true } OPTIONAL, -- Need R + ... +} + +SL-RLC-ConfigPC5-r16 ::= CHOICE { + sl-AM-RLC-r16 SEQUENCE { + sl-SN-FieldLengthAM-r16 SN-FieldLengthAM OPTIONAL, -- Need M + ... + }, + sl-UM-Bi-Directional-RLC-r16 SEQUENCE { + sl-SN-FieldLengthUM-r16 SN-FieldLengthUM OPTIONAL, -- Need M + ... + }, + sl-UM-Uni-Directional-RLC-r16 SEQUENCE { + sl-SN-FieldLengthUM-r16 SN-FieldLengthUM OPTIONAL, -- Need M + ... + } +} + +SL-LogicalChannelConfigPC5-r16 ::= SEQUENCE { + sl-LogicalChannelIdentity-r16 LogicalChannelIdentity, + ... +} + +SL-PFI-r16 ::= INTEGER (1..64) + +SL-CSI-RS-Config-r16 ::= SEQUENCE { + sl-CSI-RS-FreqAllocation-r16 CHOICE { + sl-OneAntennaPort-r16 BIT STRING (SIZE (12)), + sl-TwoAntennaPort-r16 BIT STRING (SIZE (6)) + } OPTIONAL, -- Need M + sl-CSI-RS-FirstSymbol-r16 INTEGER (3..12) OPTIONAL, -- Need M + ... +} + +-- TAG-RRCRECONFIGURATIONSIDELINK-STOP +-- TAG-RRCRECONFIGURATIONCOMPLETESIDELINK-START + +RRCReconfigurationCompleteSidelink ::= SEQUENCE { + rrc-TransactionIdentifier-r16 RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcReconfigurationCompleteSidelink-r16 RRCReconfigurationCompleteSidelink-IEs-r16, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCReconfigurationCompleteSidelink-IEs-r16 ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- TAG-RRCRECONFIGURATIONCOMPLETESIDELINK-STOP +-- TAG-RRCRECONFIGURATIONFAILURESIDELINK-START + +RRCReconfigurationFailureSidelink ::= SEQUENCE { + rrc-TransactionIdentifier-r16 RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcReconfigurationFailureSidelink-r16 RRCReconfigurationFailureSidelink-IEs-r16, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCReconfigurationFailureSidelink-IEs-r16 ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- TAG-RRCRECONFIGURATIONFAILURESIDELINK-STOP +-- TAG-UECAPABILITYENQUIRYSIDELINK-START + +UECapabilityEnquirySidelink ::= SEQUENCE { + rrc-TransactionIdentifier-r16 RRC-TransactionIdentifier, + criticalExtensions CHOICE { + ueCapabilityEnquirySidelink-r16 UECapabilityEnquirySidelink-IEs-r16, + criticalExtensionsFuture SEQUENCE {} + } +} + +UECapabilityEnquirySidelink-IEs-r16 ::= SEQUENCE { + ueCapabilityRequestFilterSidelink-r16 UE-CapabilityRequestFilterSidelink-r16 OPTIONAL, -- Need N + ue-CapabilityInformationSidelink-r16 OCTET STRING OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL +} + +-- TAG-UECAPABILITYENQUIRYSIDELINK-STOP +-- TAG-UECAPABILITYINFORMATIONSIDELINK-START + +UECapabilityInformationSidelink ::= SEQUENCE { + rrc-TransactionIdentifier-r16 RRC-TransactionIdentifier, + criticalExtensions CHOICE { + ueCapabilityInformationSidelink-r16 UECapabilityInformationSidelink-IEs-r16, + criticalExtensionsFuture SEQUENCE {} + } +} + +UECapabilityInformationSidelink-IEs-r16 ::= SEQUENCE { + accessStratumReleaseSidelink-r16 AccessStratumReleaseSidelink-r16, + pdcp-ParametersSidelink-r16 PDCP-ParametersSidelink-r16 OPTIONAL, +-- WS modification: rename to avoid conflict with NR-RRC-DEfintions.asn + rlc-ParametersSidelink-r16 PC5-RLC-ParametersSidelink-r16 OPTIONAL, + supportedBandCombinationListSidelink-r16 SupportedBandCombinationListSidelink-r16 OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL +} + +AccessStratumReleaseSidelink-r16 ::= ENUMERATED { rel16, spare7, spare6, spare5, spare4, spare3, spare2, spare1, ... } + +PDCP-ParametersSidelink-r16 ::= SEQUENCE { + outOfOrderDeliverySidelink-r16 ENUMERATED {supported} OPTIONAL, + ... +} + +-- WS modification: rename to avoid conflict with NR-RRC-DEfintions.asn +PC5-RLC-ParametersSidelink-r16 ::= SEQUENCE { + am-WithLongSN-Sidelink-r16 ENUMERATED {supported} OPTIONAL, + um-WithLongSN-Sidelink-r16 ENUMERATED {supported} OPTIONAL, + ... +} + +-- TAG-UECAPABILITYINFORMATIONSIDELINK-STOP +-- TAG-UE-CAPABILITYREQUESTFILTERSIDELINK-START + +UE-CapabilityRequestFilterSidelink-r16 ::= SEQUENCE { + frequencyBandListFilterSidelink-r16 FreqBandList OPTIONAL, -- Need N + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- TAG-UE-CAPABILITYREQUESTFILTERSIDELINK-STOP + +END diff --git a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf index ddc62cafa7..a4dc7c6755 100644 --- a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf +++ b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf @@ -9,8 +9,10 @@ PROTO_ROOT_NAME proto_nr_rrc #.END #.USE_VALS_EXT +BandSidelinkEUTRA-r16/gnb-ScheduledMode3SidelinkEUTRA-r16/gnb-ScheduledMode3DelaySidelinkEUTRA-r16 CA-BandwidthClassNR ConfiguredGrantConfig/periodicity +ConfiguredGrantConfig/eag_1/cg-minDFI-Delay-r16 CSI-ReportConfig/reportFreqConfiguration/csi-ReportingBand DummyA/maxNumberPortsAcrossNZP-CSI-RS-PerCC DummyA/maxNumberSimultaneousCSI-RS-ActBWP-AllCC @@ -22,8 +24,14 @@ DRX-Config/drx-RetransmissionTimerDL DRX-Config/drx-RetransmissionTimerUL DRX-Config/drx-LongCycleStartOffset DRX-Config/shortDRX/drx-ShortCycle +DRX-ConfigSecondaryGroup/drx-onDurationTimer/milliSeconds +DRX-ConfigSecondaryGroup/drx-InactivityTimer DRX-Info/drx-LongCycleStartOffset DRX-Info/shortDRX/drx-ShortCycle +DRX-Info2/drx-onDurationTimer/milliSeconds +DRX-Preference-r16/preferredDRX-InactivityTimer-r16 +DRX-Preference-r16/preferredDRX-LongCycle-r16 +DRX-Preference-r16/preferredDRX-ShortCycle-r16 EUTRA-Q-OffsetRange PDCP-Config/t-Reordering PollByte @@ -32,16 +40,24 @@ RangeToBestCell RRM-Config/ue-InactiveTime Q-OffsetRange ServingCellConfig/bwp-InactivityTimer +SL-PDCP-Config-r16/sl-DiscardTimer-r16 +SL-RadioBearerConfig-r16/sl-TransRange-r16 +SL-TimeOffsetEUTRA-r16 +SL-ZoneConfigMCR-r16/sl-TransRange-r16 SPS-Config/periodicity SRS-PeriodicityAndOffset +SRS-PeriodicityAndOffset-r16 +SupportedBandUTRA-FDD-r16 T-PollRetransmit T-Reassembly T-StatusProhibit UL-DataSplitThreshold +UTRA-FDD-Q-OffsetRange-r16 #.EXPORTS BandCombinationIndex_PDU BandCombinationInfoSN_PDU +BandParametersSidelink-r16_PDU CellGroupConfig_PDU DRX-Config_PDU CG-Config_PDU @@ -72,6 +88,10 @@ SIB6_PDU SIB7_PDU SIB8_PDU SIB9_PDU +SidelinkParametersNR-r16_PDU +SidelinkUEInformationNR-r16_PDU +SL-CBR-r16_PDU +SupportedBandCombinationListSidelink-r16_PDU UE-CapabilityRAT-ContainerList_PDU UE-CapabilityRequestFilterCommon_PDU UE-CapabilityRequestFilterNR_PDU @@ -85,6 +105,7 @@ UplinkTxDirectCurrentList_PDU #.PDU BandCombinationIndex BandCombinationInfoSN +BandParametersSidelink-r16 BCCH-BCH-Message @bcch.bch BCCH-DL-SCH-Message @bcch.dl.sch CellGroupConfig @@ -111,6 +132,12 @@ PH-TypeListSCG RadioBearerConfig RRCReconfiguration @rrc_reconf RRCReconfigurationComplete +SBCCH-SL-BCH-Message @sbcch.sl.bch +SCCH-Message @scch +SidelinkParametersNR-r16 +SidelinkUEInformationNR-r16 +SL-CBR-r16 +SupportedBandCombinationListSidelink-r16 SIB1 SIB2 SIB3 @@ -126,6 +153,7 @@ UE-CapabilityRequestFilterNR UE-MRDC-Capability @ue_mrdc_cap UE-NR-Capability @ue_nr_cap UEAssistanceInformation +UECapabilityInformationSidelink UERadioAccessCapabilityInformation @ue_radio_access_cap_info UERadioPagingInformation @ue_radio_paging_info UL-CCCH-Message @ul.ccch @@ -136,11 +164,40 @@ UplinkTxDirectCurrentList #.OMIT_ASSIGNMENT CellsTriggeredList +CLI-RSSI-TriggeredList-r16 +CLI-TriggeredList-r16 +MeasResultLogging2NR-r16 +PLMN-IdentityList-r16 +SIB12-IEs-r16 +SidelinkPreconfigNR-r16 +SL-BWP-ConfigCommon-r16 +SL-BWP-PoolConfigCommon-r16 +SL-ConfigCommonNR-r16 +SL-EUTRA-AnchorCarrierFreqList-r16 +SL-FreqConfigCommon-r16 +SL-MeasConfigCommon-r16 +SL-NR-AnchorCarrierFreqList-r16 +SL-PreconfigGeneral-r16 +SL-PreconfigurationNR-r16 +SL-RoHC-Profiles-r16 +SRS-RSRP-TriggeredList-r16 +VarConditionalReconfig +VarConnEstFailReport-r16 +VarLogMeasConfig-r16-IEs +VarLogMeasReport-r16 VarMeasConfig -VarMeasReportList +VarMeasConfigSL-r16 +VarMeasIdleConfig-r16 +VarMeasIdleReport-r16 VarMeasReport +VarMeasReportList +VarMeasReportListSL-r16 +VarMeasReportSL-r16 +VarMobilityHistoryReport-r16 VarPendingRNA-Update +VarRA-Report-r16 VarResumeMAC-Input +VarRLF-Report-r16 VarShortMAC-Input #.NO_EMIT ONLY_VALS @@ -231,6 +288,33 @@ RAT-Type TYPE_PREFIX actx->pinfo->link_dir = P2P_DIR_UL; +#.FN_BODY DLInformationTransferMRDC-r16-IEs/dl-DCCH-MessageNR-r16 VAL_PTR = &dl_dcch_msg_nr_tvb + tvbuff_t *dl_dcch_msg_nr_tvb = NULL; +%(DEFAULT_BODY)s + if (dl_dcch_msg_nr_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dl_DCCH_MessageNR); + dissect_DL_DCCH_Message_PDU(dl_dcch_msg_nr_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY DLInformationTransferMRDC-r16-IEs/dl-DCCH-MessageEUTRA-r16 VAL_PTR = &dl_dcch_msg_eutra_tvb + tvbuff_t *dl_dcch_msg_eutra_tvb = NULL; +%(DEFAULT_BODY)s + if (dl_dcch_msg_eutra_tvb && lte_rrc_dl_dcch_handle) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dl_DCCH_MessageEUTRA); + nr_rrc_call_dissector(lte_rrc_dl_dcch_handle, dl_dcch_msg_eutra_tvb, actx->pinfo, subtree); + } + +#.FN_BODY FailureReportMCG-r16/measResultSCG-EUTRA-r16 VAL_PTR = &meas_result_scg_fail_mrdc_tvb + tvbuff_t *meas_result_scg_fail_mrdc_tvb = NULL; +%(DEFAULT_BODY)s + if (meas_result_scg_fail_mrdc_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResultSCG_FailureMRDC); + dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(meas_result_scg_fail_mrdc_tvb, actx->pinfo, subtree, NULL); + } + #.FN_HDR MIB col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MIB"); @@ -264,6 +348,21 @@ RAT-Type TYPE_PREFIX #.FN_HDR SIB9 col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB9"); +#.FN_HDR SIB10-r16 + col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB10"); + +#.FN_HDR SIB11-r16 + col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB11"); + +#.FN_HDR SIB12-r16 + col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB12"); + +#.FN_HDR SIB13-r16 + col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB13"); + +#.FN_HDR SIB14-r16 + col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB14"); + #.FN_HDR SIB1 col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SIB1"); @@ -300,6 +399,18 @@ RAT-Type TYPE_PREFIX #.FN_HDR MobilityFromNRCommand col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Mobility From NR Command"); +#.FN_HDR DLDedicatedMessageSegment-r16 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DL Dedicated MessageSegment"); + +#.FN_HDR UEInformationRequest-r16 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Information Request"); + +#.FN_HDR DLInformationTransferMRDC-r16 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DL InformationTransfer MRDC"); + +#.FN_HDR LoggedMeasurementConfiguration-r16 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Logged Measurement Configuration"); + #.FN_HDR Paging col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging"); @@ -366,6 +477,27 @@ RAT-Type TYPE_PREFIX #.FN_HDR SCGFailureInformationEUTRA col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SCG Failure Information EUTRA"); +#.FN_HDR ULDedicatedMessageSegment-r16 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UL Dedicated MessageSegment"); + +#.FN_HDR DedicatedSIBRequest-r16 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Dedicated SIB Request"); + +#.FN_HDR MCGFailureInformation-r16 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MCG Failure Information"); + +#.FN_HDR UEInformationResponse-r16 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Information Response"); + +#.FN_HDR SidelinkUEInformationNR-r16 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Sidelink UE Information NR"); + +#.FN_HDR ULInformationTransferIRAT-r16 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UL Information Transfer IRAT"); + +#.FN_HDR IABOtherInformation-r16 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IAB Other Information"); + #.FN_BODY MRDC-SecondaryCellGroupConfig/mrdc-SecondaryCellGroup/eutra-SCG VAL_PTR = &eutra_scg_tvb tvbuff_t *eutra_scg_tvb = NULL; %(DEFAULT_BODY)s @@ -384,6 +516,24 @@ RAT-Type TYPE_PREFIX nr_rrc_call_dissector(lte_rrc_conn_reconf_compl_handle, eutra_scg_response_tvb, actx->pinfo, subtree); } +#.FN_BODY RRCResume-v1610-IEs/mrdc-SecondaryCellGroup-r16/eutra-SCG-r16 VAL_PTR = &eutra_scg_tvb + tvbuff_t *eutra_scg_tvb = NULL; +%(DEFAULT_BODY)s + if (eutra_scg_tvb && lte_rrc_conn_reconf_handle) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_eutra_SCG); + nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, eutra_scg_tvb, actx->pinfo, subtree); + } + +#.FN_BODY RRCResumeComplete-v1610-IEs/scg-Response-r16/eutra-SCG-Response VAL_PTR = &eutra_scg_response_tvb + tvbuff_t *eutra_scg_response_tvb = NULL; +%(DEFAULT_BODY)s + if (eutra_scg_response_tvb && lte_rrc_conn_reconf_compl_handle) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_eutra_SCG_Response); + nr_rrc_call_dissector(lte_rrc_conn_reconf_compl_handle, eutra_scg_response_tvb, actx->pinfo, subtree); + } + #.FN_BODY FailureReportSCG-EUTRA/measResultSCG-FailureMRDC VAL_PTR = &meas_result_scg_fail_mrdc_tvb tvbuff_t *meas_result_scg_fail_mrdc_tvb = NULL; %(DEFAULT_BODY)s @@ -432,13 +582,17 @@ RAT-Type TYPE_PREFIX 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); + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_targetRAT_MessageContainer); switch (nr_priv->target_rat_type) { case T_targetRAT_Type_eutra: /* eutra */ if (lte_rrc_dl_dcch_handle) nr_rrc_call_dissector(lte_rrc_dl_dcch_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree); break; + case T_targetRAT_Type_utra_fdd_v1610: + /* utra-fdd */ + dissect_rrc_HandoverToUTRANCommand_PDU(target_rat_msg_cont_tvb, actx->pinfo, subtree, NULL); + break; default: break; } @@ -470,15 +624,75 @@ RAT-Type TYPE_PREFIX de_nas_5gs_s1_mode_to_n1_mode_nas_transparent_cont(nas_5gs_tvb, subtree, actx->pinfo); } +#.FN_BODY SL-ConfigDedicatedEUTRA-Info-r16/sl-ConfigDedicatedEUTRA-r16 VAL_PTR = &sl_config_ded_eutra_tvb + tvbuff_t *sl_config_ded_eutra_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (sl_config_ded_eutra_tvb && lte_rrc_conn_reconf_handle) { + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ConfigDedicatedEUTRA); + nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, sl_config_ded_eutra_tvb, actx->pinfo, subtree); + } + #.TYPE_ATTR RejectWaitTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +#.TYPE_RENAME +MeasTriggerQuantityUTRA-FDD-r16/utra-FDD-RSCP-r16 MeasTriggerQuantityUTRA_FDD_RSCP_r16 + +#.TYPE_ATTR +MeasTriggerQuantityUTRA-FDD-r16/utra-FDD-RSCP-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_measTriggerQuantity_utra_FDD_RSCP_r16_fmt) + +#.TYPE_RENAME +MeasTriggerQuantityUTRA-FDD-r16/utra-FDD-EcN0-r16 MeasTriggerQuantityUTRA_FDD_EcN0_r16 + +#.TYPE_ATTR +MeasTriggerQuantityUTRA-FDD-r16/utra-FDD-EcN0-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_measTriggerQuantity_utra_FDD_EcN0_r16_fmt) + #.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 +#.FN_BODY SL-TxResourceReq-r16/sl-CapabilityInformationSidelink-r16 VAL_PTR = &sl_cap_info_sidelink_tvb + tvbuff_t *sl_cap_info_sidelink_tvb = NULL; +%(DEFAULT_BODY)s + if (sl_cap_info_sidelink_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_CapabilityInformationSidelink); + dissect_UECapabilityInformationSidelink_PDU(sl_cap_info_sidelink_tvb, actx->pinfo, subtree, NULL); + } + +#.TYPE_ATTR +LogMeasInfo-r16/relativeTimeStamp-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds + +#.TYPE_ATTR +RLF-Report-r16/nr-RLF-Report-r16/timeConnFailure-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_timeConnFailure_r16_fmt) + +#.FN_BODY RLF-Report-r16/eutra-RLF-Report-r16/measResult-RLF-Report-EUTRA-r16 VAL_PTR = &meas_result_rlf_report_eutra_tvb + tvbuff_t *meas_result_rlf_report_eutra_tvb = NULL; +%(DEFAULT_BODY)s + if (meas_result_rlf_report_eutra_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResult_RLF_Report_EUTRA); + dissect_lte_rrc_RLF_Report_r9_PDU(meas_result_rlf_report_eutra_tvb, actx->pinfo, subtree, NULL); + } + +#.TYPE_ATTR +TimeSinceFailure-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds + +#.TYPE_ATTR +TimeUntilReconnection-16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds + +#.FN_BODY ULInformationTransferIRAT-r16-IEs/ul-DCCH-MessageEUTRA-r16 VAL_PTR = &ul_dcch_msg_eutra_tvb + tvbuff_t *ul_dcch_msg_eutra_tvb = NULL; +%(DEFAULT_BODY)s + if (ul_dcch_msg_eutra_tvb && lte_rrc_ul_dcch_handle) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_ul_DCCH_MessageEUTRA); + nr_rrc_call_dissector(lte_rrc_ul_dcch_handle, ul_dcch_msg_eutra_tvb, actx->pinfo, subtree); + } + #.TYPE_ATTR IntraFreqNeighCellInfo/q-RxLevMinOffsetCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt) @@ -744,6 +958,54 @@ SIB9/timeInfo/leapSeconds DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_secon SIB9/timeInfo/localTimeOffset DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_localTimeOffset_fmt) #.TYPE_ATTR +CLI-RSSI-Range-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_CLI_RSSI_Range_r16_fmt) + +#.FN_BODY CommonLocationInfo-r16/locationTimestamp-r16 VAL_PTR = &location_timestamp_tvb + tvbuff_t *location_timestamp_tvb = NULL; +%(DEFAULT_BODY)s + if (location_timestamp_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationTimestamp_r16); + dissect_lpp_DisplacementTimeStamp_r15_PDU(location_timestamp_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY CommonLocationInfo-r16/locationCoordinate-r16 VAL_PTR = &location_coordinate_tvb + tvbuff_t *location_coordinate_tvb = NULL; +%(DEFAULT_BODY)s + if (location_coordinate_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationCoordinate_r16); + dissect_lpp_LocationCoordinates_PDU(location_coordinate_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY CommonLocationInfo-r16/locationError-r16 VAL_PTR = &location_error_tvb + tvbuff_t *location_error_tvb = NULL; +%(DEFAULT_BODY)s + if (location_error_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationError_r16); + dissect_lpp_LocationError_PDU(location_error_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY CommonLocationInfo-r16/locationSource-r16 VAL_PTR = &location_source_tvb + tvbuff_t *location_source_tvb = NULL; +%(DEFAULT_BODY)s + if (location_source_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationSource_r16); + dissect_lpp_LocationSource_r13_PDU(location_source_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY CommonLocationInfo-r16/velocityEstimate-r16 VAL_PTR = &velocity_estimate_tvb + tvbuff_t *velocity_estimate_tvb = NULL; +%(DEFAULT_BODY)s + if (velocity_estimate_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_velocityEstimate_r16); + dissect_lpp_Velocity_PDU(velocity_estimate_tvb, actx->pinfo, subtree, NULL); + } + +#.TYPE_ATTR ConfiguredGrantConfig/configuredGrantTimer DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_periodicities #.TYPE_ATTR @@ -759,6 +1021,45 @@ FrequencyInfoDL-SIB/offsetToPointA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&un Hysteresis DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_Hysteresis_fmt) #.TYPE_ATTR +RSRQ-RangeEUTRA-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRQ_RangeEUTRA_r16_fmt) + +#.FN_BODY Sensor-LocationInfo-r16/sensor-MeasurementInformation-r16 VAL_PTR = &sensor_meas_info_tvb + tvbuff_t *sensor_meas_info_tvb = NULL; +%(DEFAULT_BODY)s + if (sensor_meas_info_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sensor_MeasurementInformation_r16); + dissect_lpp_Sensor_MeasurementInformation_r13_PDU(sensor_meas_info_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY Sensor-LocationInfo-r16/sensor-MotionInformation-r16 VAL_PTR = &sensor_motion_info_tvb + tvbuff_t *sensor_motion_info_tvb = NULL; +%(DEFAULT_BODY)s + if (sensor_motion_info_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sensor_MotionInformation_r16); + dissect_lpp_Sensor_MotionInformation_r15_PDU(sensor_motion_info_tvb, actx->pinfo, subtree, NULL); + } + +#.TYPE_ATTR +ChannelAccessConfig-r16/maxEnergyDetectionThreshold-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm + +#.TYPE_ATTR +ChannelAccessConfig-r16/energyDetectionThresholdOffset-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR +MeasResultUTRA-FDD-r16/measResult-r16/utra-FDD-RSCP-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_utra_FDD_RSCP_r16_fmt) + +#.TYPE_ATTR +MeasResultUTRA-FDD-r16/measResult-r16/utra-FDD-EcN0-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_utra_FDD_EcN0_r16_fmt) + +#.TYPE_ATTR +MeasResultForRSSI-r16/channelOccupancy-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent + +#.TYPE_ATTR +UL-PDCP-DelayValueResult-r16/averageDelay-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_averageDelay_r16_fmt) + +#.TYPE_ATTR NZP-CSI-RS-Resource/powerControlOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels #.TYPE_ATTR @@ -819,6 +1120,9 @@ RSRQ-RangeEUTRA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRQ_RangeEUTRA_fmt) SINR-RangeEUTRA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_SINR_RangeEUTRA_fmt) #.TYPE_ATTR +MsgA-PUSCH-Config-r16/msgA-DeltaPreamble-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR MeasTriggerQuantityOffset/rsrp DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm #.TYPE_ATTR @@ -855,8 +1159,77 @@ SINR-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_SINR_Range_fmt) SRS-ResourceSet/p0 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm #.TYPE_ATTR +SRS-PosResourceSet-r16/p0-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm + +#.TYPE_ATTR +SRS-RSRP-Range-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_SRS_RSRP_r16_fmt) + +#.TYPE_ATTR T-Reselection DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +#.FN_BODY SupportedBandCombinationListSidelinkEUTRA-r16/bandCombinationListEUTRA1-r16 VAL_PTR = &band_comb_list_tvb + tvbuff_t *band_comb_list_tvb = NULL; +%(DEFAULT_BODY)s + if (band_comb_list_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_bandCombinationListEUTRA1_r16); + dissect_lte_rrc_V2X_SupportedBandCombination_r14_PDU(band_comb_list_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY SupportedBandCombinationListSidelinkEUTRA-r16/bandCombinationListEUTRA2-r16 VAL_PTR = &band_comb_list_tvb + tvbuff_t *band_comb_list_tvb = NULL; +%(DEFAULT_BODY)s + if (band_comb_list_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_bandCombinationListEUTRA2_r16); + dissect_lte_rrc_V2X_SupportedBandCombination_v1530_PDU(band_comb_list_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY BandParametersSidelinkEUTRA-NR-r16/eutra/bandParametersSidelinkEUTRA1-r16 VAL_PTR = &band_params_sl_tvb + tvbuff_t *band_params_sl_tvb = NULL; +%(DEFAULT_BODY)s + if (band_params_sl_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_bandParametersSidelinkEUTRA1_r16); + dissect_lte_rrc_V2X_BandParameters_r14_PDU(band_params_sl_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY BandParametersSidelinkEUTRA-NR-r16/eutra/bandParametersSidelinkEUTRA2-r16 VAL_PTR = &band_params_sl_tvb + tvbuff_t *band_params_sl_tvb = NULL; +%(DEFAULT_BODY)s + if (band_params_sl_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_bandParametersSidelinkEUTRA2_r16); + dissect_lte_rrc_V2X_BandParameters_v1530_PDU(band_params_sl_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY SidelinkParametersEUTRA-r16/sl-ParametersEUTRA1-r16 VAL_PTR = &sl_params_tvb + tvbuff_t *sl_params_tvb = NULL; +%(DEFAULT_BODY)s + if (sl_params_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ParametersEUTRA1_r16); + dissect_lte_rrc_SL_Parameters_v1430_PDU(sl_params_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY SidelinkParametersEUTRA-r16/sl-ParametersEUTRA2-r16 VAL_PTR = &sl_params_tvb + tvbuff_t *sl_params_tvb = NULL; +%(DEFAULT_BODY)s + if (sl_params_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ParametersEUTRA2_r16); + dissect_lte_rrc_SL_Parameters_v1530_PDU(sl_params_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY SidelinkParametersEUTRA-r16/sl-ParametersEUTRA3-r16 VAL_PTR = &sl_params_tvb + tvbuff_t *sl_params_tvb = NULL; +%(DEFAULT_BODY)s + if (sl_params_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ParametersEUTRA3_r16); + dissect_lte_rrc_SL_Parameters_v1540_PDU(sl_params_tvb, actx->pinfo, subtree, NULL); + } + #.FN_BODY UE-CapabilityRAT-Container nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); /* Initialise to invalid value */ @@ -889,6 +1262,9 @@ T-Reselection DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds case RAT_Type_eutra: dissect_lte_rrc_UE_EUTRA_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL); break; + case RAT_Type_utra_fdd_v1610: + dissect_rrc_InterRATHandoverInfo_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL); + break; default: break; } @@ -923,9 +1299,41 @@ T-Reselection DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds } } +#.FN_BODY AbsoluteTimeInfo-r16 VAL_PTR = &abs_time_info_tvb + tvbuff_t *abs_time_info_tvb = NULL; +%(DEFAULT_BODY)s +#.FN_FTR AbsoluteTimeInfo-r16 + if (abs_time_info_tvb) { + const gchar *str, *hf_str; + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_absTimeInfo); + str = tvb_bcd_dig_to_wmem_packet_str(abs_time_info_tvb, 0, 6, NULL, FALSE); + hf_str = wmem_strdup_printf(wmem_packet_scope(), "%c%c-%c%c-%c%c %c%c:%c%c:%c%c", str[0], str[1], + str[2], str[3], str[4], str[5], str[6], str[7], str[8], str[9], str[10], str[11]); + proto_tree_add_string(subtree, hf_nr_rrc_absolute_time, abs_time_info_tvb, 0, 6, hf_str); + } + #.TYPE_ATTR EUTRA-NS-PmaxValue/additionalPmax DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm +#.TYPE_ATTR +WLAN-Identifiers-r16/ssid-r16 TYPE=FT_STRING DISPLAY=STR_ASCII + +#.FN_BODY WLAN-Identifiers-r16/ssid-r16 VAL_PTR=&ssid_tvb HF_INDEX=-1 + tvbuff_t *ssid_tvb = NULL; + +%(DEFAULT_BODY)s + actx->created_item = proto_tree_add_item(tree, hf_index, ssid_tvb, 0, -1, ENC_ASCII|ENC_NA); + +#.TYPE_ATTR +WLAN-Identifiers-r16/bssid-r16 TYPE=FT_ETHER + +#.TYPE_ATTR +WLAN-Identifiers-r16/hessid-r16 TYPE=FT_ETHER + +#.TYPE_ATTR +VisitedCellInfo-r16/timeSpent-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds + #.FN_BODY RLC-BearerConfig struct mac_nr_info *p_mac_nr_info; /* Get the struct and clear it out */ @@ -1043,10 +1451,37 @@ CA-ParametersEUTRA-v1570/dl-1024QAM-TotalWeightedLayers DISPLAY=BASE_CUSTOM STRI %(DEFAULT_BODY)s if (src_scg_eutra_config_tvb && lte_rrc_conn_reconf_handle) { proto_tree *subtree; - subtree = proto_item_add_subtree(actx->created_item, ett_rr_rrc_targetRAT_MessageContainer); + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_targetRAT_MessageContainer); nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, src_scg_eutra_config_tvb, actx->pinfo, subtree); } +#.FN_BODY AS-Context/eag_4/sidelinkUEInformationNR-r16 VAL_PTR = &sidelink_ue_info_nr_tvb + tvbuff_t *sidelink_ue_info_nr_tvb = NULL; +%(DEFAULT_BODY)s + if (sidelink_ue_info_nr_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sidelinkUEInformationNR); + dissect_nr_rrc_SidelinkUEInformationNR_r16_PDU(sidelink_ue_info_nr_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY AS-Context/eag_4/sidelinkUEInformationEUTRA-r16 VAL_PTR = &sidelink_ue_info_eutra_tvb + tvbuff_t *sidelink_ue_info_eutra_tvb = NULL; +%(DEFAULT_BODY)s + if (sidelink_ue_info_eutra_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sidelinkUEInformationEUTRA); + dissect_lte_rrc_SidelinkUEInformation_r12_PDU(sidelink_ue_info_eutra_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY AS-Context/eag_4/ueAssistanceInformationEUTRA-r16 VAL_PTR = &ue_assist_info_eutra_tvb + tvbuff_t *ue_assist_info_eutra_tvb = NULL; +%(DEFAULT_BODY)s + if (ue_assist_info_eutra_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_ueAssistanceInformationEUTRA); + dissect_lte_rrc_UEAssistanceInformation_r11_PDU(ue_assist_info_eutra_tvb, actx->pinfo, subtree, NULL); + } + #.FN_BODY CG-Config-v1560-IEs/scg-CellGroupConfigEUTRA VAL_PTR = &scg_cell_group_config_eutra_tvb tvbuff_t *scg_cell_group_config_eutra_tvb = NULL; %(DEFAULT_BODY)s @@ -1091,3 +1526,60 @@ CA-ParametersEUTRA-v1570/dl-1024QAM-TotalWeightedLayers DISPLAY=BASE_CUSTOM STRI subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sourceConfigSCG_EUTRA); nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, source_config_scg_eutra_tvb, actx->pinfo, subtree); } + +#.FN_BODY CG-ConfigInfo-v1560-IEs/scgFailureInfoEUTRA/measResultSCG-EUTRA VAL_PTR = &meas_result_scg_fail_mrdc_tvb + tvbuff_t *meas_result_scg_fail_mrdc_tvb = NULL; +%(DEFAULT_BODY)s + if (meas_result_scg_fail_mrdc_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResultSCG_FailureMRDC); + dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(meas_result_scg_fail_mrdc_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY CG-ConfigInfo-v1610-IEs/scgFailureInfoEUTRA-r16/measResultSCG-EUTRA-r16 VAL_PTR = &meas_result_scg_fail_mrdc_tvb + tvbuff_t *meas_result_scg_fail_mrdc_tvb = NULL; +%(DEFAULT_BODY)s + if (meas_result_scg_fail_mrdc_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResultSCG_FailureMRDC); + dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(meas_result_scg_fail_mrdc_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_HDR SBCCH-SL-BCH-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 SCCH-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 MasterInformationBlockSidelink + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Master Information Block Sidelink"); + +#.FN_HDR MeasurementReportSidelink + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Measurement Report Sidelink"); + +#.FN_HDR RRCReconfigurationSidelink + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Sidelink"); + +#.FN_HDR RRCReconfigurationCompleteSidelink + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Complete Sidelink"); + +#.FN_HDR RRCReconfigurationFailureSidelink + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Failure Sidelink"); + +#.FN_HDR UECapabilityEnquirySidelink + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Enquiry Sidelink"); + +#.FN_HDR UECapabilityInformationSidelink + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Information Sidelink"); 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 06eb339710..227a3e7673 100644 --- a/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c +++ b/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c @@ -31,9 +31,11 @@ #include "packet-cell_broadcast.h" #include "packet-mac-nr.h" #include "packet-rlc-nr.h" +#include "packet-rrc.h" #include "packet-lte-rrc.h" #include "packet-nr-rrc.h" #include "packet-gsm_a_common.h" +#include "packet-lpp.h" #define PNAME "NR Radio Resource Control (RRC) protocol" #define PSNAME "NR RRC" @@ -93,12 +95,13 @@ 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; +static int hf_nr_rrc_absolute_time = -1; /* Initialize the subtree pointers */ static gint ett_nr_rrc = -1; #include "packet-nr-rrc-ett.c" static gint ett_nr_rrc_DedicatedNAS_Message = -1; -static gint ett_rr_rrc_targetRAT_MessageContainer = -1; +static gint ett_nr_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; @@ -122,9 +125,36 @@ static gint ett_nr_rrc_measResultSCG_FailureMRDC = -1; static gint ett_nr_rrc_ul_DCCH_MessageNR = -1; static gint ett_nr_rrc_ul_DCCH_MessageEUTRA = -1; static gint ett_rr_rrc_nas_SecurityParamFromNR = -1; +static gint ett_nr_rrc_sidelinkUEInformationNR = -1; +static gint ett_nr_rrc_sidelinkUEInformationEUTRA = -1; +static gint ett_nr_rrc_ueAssistanceInformationEUTRA = -1; +static gint ett_nr_rrc_dl_DCCH_MessageNR = -1; +static gint ett_nr_rrc_dl_DCCH_MessageEUTRA = -1; +static gint ett_nr_rrc_sl_ConfigDedicatedEUTRA = -1; +static gint ett_nr_rrc_sl_CapabilityInformationSidelink = -1; +static gint ett_nr_rrc_measResult_RLF_Report_EUTRA = -1; +static gint ett_nr_rrc_locationTimestamp_r16 = -1; +static gint ett_nr_rrc_locationCoordinate_r16 = -1; +static gint ett_nr_rrc_locationError_r16 = -1; +static gint ett_nr_rrc_locationSource_r16 = -1; +static gint ett_nr_rrc_velocityEstimate_r16 = -1; +static gint ett_nr_rrc_sensor_MeasurementInformation_r16 = -1; +static gint ett_nr_rrc_sensor_MotionInformation_r16 = -1; +static gint ett_nr_rrc_bandCombinationListEUTRA1_r16 = -1; +static gint ett_nr_rrc_bandCombinationListEUTRA2_r16 = -1; +static gint ett_nr_rrc_bandParametersSidelinkEUTRA1_r16 = -1; +static gint ett_nr_rrc_bandParametersSidelinkEUTRA2_r16 = -1; +static gint ett_nr_rrc_sl_ParametersEUTRA1_r16 = -1; +static gint ett_nr_rrc_sl_ParametersEUTRA2_r16 = -1; +static gint ett_nr_rrc_sl_ParametersEUTRA3_r16 = -1; +static gint ett_nr_rrc_absTimeInfo = -1; static expert_field ei_nr_rrc_number_pages_le15 = EI_INIT; +/* Forward declarations */ +static int dissect_UECapabilityInformationSidelink_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_DL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); + 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" }; @@ -381,6 +411,106 @@ nr_rrc_dl_1024QAM_TotalWeightedLayers_fmt(gchar *s, guint32 v) g_snprintf(s, ITEM_LABEL_LENGTH, "%u (%u)", 10+(2*v), v); } +static void +nr_rrc_timeConnFailure_r16_fmt(gchar *s, guint32 v) +{ + g_snprintf(s, ITEM_LABEL_LENGTH, "%ums (%u)", 100*v, v); +} + +static void +nr_rrc_CLI_RSSI_Range_r16_fmt(gchar *s, guint32 v) +{ + if (v == 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "CLI-RSSI < -100dBm (0)"); + } else if (v < 76) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= CLI-RSSI < %ddBm (%u)", v-101, v-100, v); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "-25dBm <= CLI-RSSI (76)"); + } +} + +static void +nr_rrc_RSRQ_RangeEUTRA_r16_fmt(gchar *s, guint32 v) +{ + gint32 d = (gint32)v; + + if (d == -34) { + g_snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -36dB (-34)"); + } else if (d < 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%d)", (((float)d-1)/2)-19, ((float)d/2)-19, d); + } else if (d == 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -19.5dB (0)"); + } else if (d < 34) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%d)", (((float)d-1)/2)-19.5, ((float)d/2)-19.5, d); + } else if (d == 34) { + g_snprintf(s, ITEM_LABEL_LENGTH, "-3dB <= RSRQ (34)"); + } else if (d < 46) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%d)", (((float)d-1)/2)-20, ((float)d/2)-20, d); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "2.5dB <= RSRQ (46)"); + } +} + +static void +nr_rrc_utra_FDD_RSCP_r16_fmt(gchar *s, guint32 v) +{ + gint32 d = (gint32)v; + + if (d == -5) { + g_snprintf(s, ITEM_LABEL_LENGTH, "RSCP < -120dBm (-5)"); + } else if (d < 91) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSCP < %ddB (%d)", d-116, d-115, d); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "-25dBm <= RSCP (91)"); + } +} + +static void +nr_rrc_utra_FDD_EcN0_r16_fmt(gchar *s, guint32 v) +{ + if (v == 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "Ec/No < -24dB (0)"); + } else if (v < 49) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= Ec/No < %.1fdB (%u)", (((float)v-1)/2)-24, ((float)v/2)-24, v); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "0dB <= Ec/No (49)"); + } +} + +static void +nr_rrc_averageDelay_r16_fmt(gchar *s, guint32 v) +{ + g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%u)", (float)v/10, v); +} + +static void +nr_rrc_measTriggerQuantity_utra_FDD_RSCP_r16_fmt(gchar *s, guint32 v) +{ + gint32 d = (gint32)v; + + g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%d)", d-115, d); +} + +static void +nr_rrc_measTriggerQuantity_utra_FDD_EcN0_r16_fmt(gchar *s, guint32 v) +{ + g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", (float)v/2-24.5, v); +} + +static void +nr_rrc_SRS_RSRP_r16_fmt(gchar *s, guint32 v) +{ + if (v == 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "SRS-RSRP < -140dBm (0)"); + } else if (v < 97) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= SRS-RSRP < %ddB (%u)", v-141, v-140, v); + } else if (v == 97) { + g_snprintf(s, ITEM_LABEL_LENGTH, "-44dBm <= SRS-RSRP (97)"); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "Infinity (98)"); + } +} + #include "packet-nr-rrc-fn.c" void @@ -519,13 +649,17 @@ proto_register_nr_rrc(void) { { "Local time", "nr-rrc.local_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL }}, + { &hf_nr_rrc_absolute_time, + { "Absolute time", "nr-rrc.absolute_time", + FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL }}, }; static gint *ett[] = { &ett_nr_rrc, #include "packet-nr-rrc-ettarr.c" &ett_nr_rrc_DedicatedNAS_Message, - &ett_rr_rrc_targetRAT_MessageContainer, + &ett_nr_rrc_targetRAT_MessageContainer, &ett_nr_rrc_nas_Container, &ett_nr_rrc_serialNumber, &ett_nr_rrc_warningType, @@ -548,7 +682,30 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_measResultSCG_FailureMRDC, &ett_nr_rrc_ul_DCCH_MessageNR, &ett_nr_rrc_ul_DCCH_MessageEUTRA, - &ett_rr_rrc_nas_SecurityParamFromNR + &ett_rr_rrc_nas_SecurityParamFromNR, + &ett_nr_rrc_sidelinkUEInformationNR, + &ett_nr_rrc_sidelinkUEInformationEUTRA, + &ett_nr_rrc_ueAssistanceInformationEUTRA, + &ett_nr_rrc_dl_DCCH_MessageNR, + &ett_nr_rrc_dl_DCCH_MessageEUTRA, + &ett_nr_rrc_sl_ConfigDedicatedEUTRA, + &ett_nr_rrc_sl_CapabilityInformationSidelink, + &ett_nr_rrc_measResult_RLF_Report_EUTRA, + &ett_nr_rrc_locationTimestamp_r16, + &ett_nr_rrc_locationCoordinate_r16, + &ett_nr_rrc_locationError_r16, + &ett_nr_rrc_locationSource_r16, + &ett_nr_rrc_velocityEstimate_r16, + &ett_nr_rrc_sensor_MeasurementInformation_r16, + &ett_nr_rrc_sensor_MotionInformation_r16, + &ett_nr_rrc_bandCombinationListEUTRA1_r16, + &ett_nr_rrc_bandCombinationListEUTRA2_r16, + &ett_nr_rrc_bandParametersSidelinkEUTRA1_r16, + &ett_nr_rrc_bandParametersSidelinkEUTRA2_r16, + &ett_nr_rrc_sl_ParametersEUTRA1_r16, + &ett_nr_rrc_sl_ParametersEUTRA2_r16, + &ett_nr_rrc_sl_ParametersEUTRA3_r16, + &ett_nr_rrc_absTimeInfo }; static ei_register_info ei[] = { diff --git a/epan/dissectors/packet-lpp.c b/epan/dissectors/packet-lpp.c index 23a1dc4897..d5145c68c4 100644 --- a/epan/dissectors/packet-lpp.c +++ b/epan/dissectors/packet-lpp.c @@ -55,6 +55,13 @@ static int hf_lpp_lpp_HorizontalVelocity_PDU = -1; /* HorizontalVelocity */ static int hf_lpp_lpp_HorizontalWithVerticalVelocity_PDU = -1; /* HorizontalWithVerticalVelocity */ static int hf_lpp_lpp_HorizontalVelocityWithUncertainty_PDU = -1; /* HorizontalVelocityWithUncertainty */ static int hf_lpp_lpp_Polygon_PDU = -1; /* Polygon */ +static int hf_lpp_lpp_LocationCoordinates_PDU = -1; /* LocationCoordinates */ +static int hf_lpp_lpp_Velocity_PDU = -1; /* Velocity */ +static int hf_lpp_lpp_LocationError_PDU = -1; /* LocationError */ +static int hf_lpp_lpp_LocationSource_r13_PDU = -1; /* LocationSource_r13 */ +static int hf_lpp_lpp_Sensor_MeasurementInformation_r13_PDU = -1; /* Sensor_MeasurementInformation_r13 */ +static int hf_lpp_lpp_Sensor_MotionInformation_r15_PDU = -1; /* Sensor_MotionInformation_r15 */ +static int hf_lpp_lpp_DisplacementTimeStamp_r15_PDU = -1; /* DisplacementTimeStamp_r15 */ static int hf_lpp_transactionID = -1; /* LPP_TransactionID */ static int hf_lpp_endTransaction = -1; /* BOOLEAN */ static int hf_lpp_sequenceNumber = -1; /* SequenceNumber */ @@ -4297,7 +4304,7 @@ dissect_lpp_ECID_RequestCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx static int dissect_lpp_EPDU_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 87 "./asn1/lpp/lpp.cnf" +#line 101 "./asn1/lpp/lpp.cnf" offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 256U, &lpp_epdu_id, FALSE); @@ -4336,7 +4343,7 @@ dissect_lpp_EPDU_Identifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int dissect_lpp_EPDU_Body(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 93 "./asn1/lpp/lpp.cnf" +#line 107 "./asn1/lpp/lpp.cnf" tvbuff_t *lppe_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, &lppe_tvb); @@ -4551,7 +4558,7 @@ static const per_sequence_t RequestCapabilities_sequence[] = { static int dissect_lpp_RequestCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 63 "./asn1/lpp/lpp.cnf" +#line 77 "./asn1/lpp/lpp.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Request Capabilities"); @@ -4634,7 +4641,7 @@ static const value_string lpp_T_gnss_id_vals[] = { static int dissect_lpp_T_gnss_id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1571 "./asn1/lpp/lpp.cnf" +#line 1585 "./asn1/lpp/lpp.cnf" guint32 gnss_id; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 5, &gnss_id, TRUE, 1, NULL); @@ -6746,7 +6753,7 @@ static const per_sequence_t ProvideCapabilities_sequence[] = { static int dissect_lpp_ProvideCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 66 "./asn1/lpp/lpp.cnf" +#line 80 "./asn1/lpp/lpp.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Provide Capabilities"); @@ -7240,7 +7247,7 @@ dissect_lpp_T_gnss_WeekOrDay(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 4095U, NULL, FALSE); -#line 1508 "./asn1/lpp/lpp.cnf" +#line 1522 "./asn1/lpp/lpp.cnf" proto_item_append_text(actx->created_item, " (days for glonass, weeks otherwise)"); @@ -7254,7 +7261,7 @@ dissect_lpp_T_gnss_Toe(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 255U, NULL, FALSE); -#line 1511 "./asn1/lpp/lpp.cnf" +#line 1525 "./asn1/lpp/lpp.cnf" proto_item_append_text(actx->created_item, " (units of 15 mns for glonass, hours otherwise)"); @@ -7268,7 +7275,7 @@ dissect_lpp_T_t_toeLimit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 15U, NULL, FALSE); -#line 1514 "./asn1/lpp/lpp.cnf" +#line 1528 "./asn1/lpp/lpp.cnf" proto_item_append_text(actx->created_item, " (units of 30 mns for glonass, hours otherwise)"); @@ -8124,7 +8131,7 @@ dissect_lpp_OCTET_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a static int dissect_lpp_T_ssid_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1717 "./asn1/lpp/lpp.cnf" +#line 1731 "./asn1/lpp/lpp.cnf" tvbuff_t *ssid_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, @@ -8298,7 +8305,7 @@ static const per_sequence_t RequestAssistanceData_sequence[] = { static int dissect_lpp_RequestAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 69 "./asn1/lpp/lpp.cnf" +#line 83 "./asn1/lpp/lpp.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Request Assistance Data"); @@ -8373,7 +8380,7 @@ dissect_lpp_INTEGER_0_86399(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int dissect_lpp_T_notificationOfLeapSecond(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 343 "./asn1/lpp/lpp.cnf" +#line 357 "./asn1/lpp/lpp.cnf" tvbuff_t *notificationOfLeapSecond_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 2, 2, FALSE, NULL, 0, ¬ificationOfLeapSecond_tvb, NULL); @@ -8381,7 +8388,7 @@ dissect_lpp_T_notificationOfLeapSecond(tvbuff_t *tvb _U_, int offset _U_, asn1_c -#line 347 "./asn1/lpp/lpp.cnf" +#line 361 "./asn1/lpp/lpp.cnf" if (notificationOfLeapSecond_tvb) { guint bitvalue = tvb_get_bits8(notificationOfLeapSecond_tvb, 0, 2); actx->created_item = proto_tree_add_uint(tree, hf_index, notificationOfLeapSecond_tvb, 0, 1, bitvalue); @@ -9146,7 +9153,7 @@ dissect_lpp_GNSS_ReferenceLocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static int dissect_lpp_T_dataID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 362 "./asn1/lpp/lpp.cnf" +#line 376 "./asn1/lpp/lpp.cnf" tvbuff_t *dataID_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 2, 2, FALSE, NULL, 0, &dataID_tvb, NULL); @@ -9154,7 +9161,7 @@ dissect_lpp_T_dataID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr -#line 366 "./asn1/lpp/lpp.cnf" +#line 380 "./asn1/lpp/lpp.cnf" if (dataID_tvb) { guint bitvalue = tvb_get_bits8(dataID_tvb, 0, 2); actx->created_item = proto_tree_add_uint(tree, hf_index, dataID_tvb, 0, 1, bitvalue); @@ -9451,7 +9458,7 @@ dissect_lpp_GNSS_RTK_ReferenceStationInfo_r15(tvbuff_t *tvb _U_, int offset _U_, static int dissect_lpp_T_smoothingIndicator_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 468 "./asn1/lpp/lpp.cnf" +#line 482 "./asn1/lpp/lpp.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 1, 1, FALSE, NULL, 0, ¶m_tvb, NULL); @@ -9459,7 +9466,7 @@ dissect_lpp_T_smoothingIndicator_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx -#line 472 "./asn1/lpp/lpp.cnf" +#line 486 "./asn1/lpp/lpp.cnf" if (param_tvb) { guint bitvalue = tvb_get_bits8(param_tvb, 0, 1); actx->created_item = proto_tree_add_uint(tree, hf_index, param_tvb, 0, 1, bitvalue); @@ -9473,7 +9480,7 @@ dissect_lpp_T_smoothingIndicator_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx static int dissect_lpp_T_smoothingInterval_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 481 "./asn1/lpp/lpp.cnf" +#line 495 "./asn1/lpp/lpp.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 3, 3, FALSE, NULL, 0, ¶m_tvb, NULL); @@ -9481,7 +9488,7 @@ dissect_lpp_T_smoothingInterval_r15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ -#line 485 "./asn1/lpp/lpp.cnf" +#line 499 "./asn1/lpp/lpp.cnf" if (param_tvb) { guint bitvalue = tvb_get_bits8(param_tvb, 0, 3); actx->created_item = proto_tree_add_uint(tree, hf_index, param_tvb, 0, 1, bitvalue); @@ -10249,7 +10256,7 @@ dissect_lpp_INTEGER_M65536_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * static int dissect_lpp_T_cnavMo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 776 "./asn1/lpp/lpp.cnf" +#line 790 "./asn1/lpp/lpp.cnf" gint64 cnavMo; int curr_offset = offset; offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index, @@ -10258,7 +10265,7 @@ dissect_lpp_T_cnavMo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr -#line 781 "./asn1/lpp/lpp.cnf" +#line 795 "./asn1/lpp/lpp.cnf" proto_item_set_hidden(actx->created_item); actx->created_item = proto_tree_add_int64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3, cnavMo, "%g semi-circles (%"G_GINT64_MODIFIER"d)", @@ -10272,7 +10279,7 @@ dissect_lpp_T_cnavMo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr static int dissect_lpp_T_cnavE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 787 "./asn1/lpp/lpp.cnf" +#line 801 "./asn1/lpp/lpp.cnf" guint64 cnavE; int curr_offset = offset; offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index, @@ -10281,7 +10288,7 @@ dissect_lpp_T_cnavE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro -#line 792 "./asn1/lpp/lpp.cnf" +#line 806 "./asn1/lpp/lpp.cnf" proto_item_set_hidden(actx->created_item); actx->created_item = proto_tree_add_uint64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3, cnavE, "%g (%"G_GINT64_MODIFIER"u)", @@ -10295,7 +10302,7 @@ dissect_lpp_T_cnavE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro static int dissect_lpp_T_cnavOmega(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 798 "./asn1/lpp/lpp.cnf" +#line 812 "./asn1/lpp/lpp.cnf" gint64 cnavOmega; int curr_offset = offset; offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index, @@ -10304,7 +10311,7 @@ dissect_lpp_T_cnavOmega(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, -#line 803 "./asn1/lpp/lpp.cnf" +#line 817 "./asn1/lpp/lpp.cnf" proto_item_set_hidden(actx->created_item); actx->created_item = proto_tree_add_int64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3, cnavOmega, "%g semi-circles (%"G_GINT64_MODIFIER"d)", @@ -10318,7 +10325,7 @@ dissect_lpp_T_cnavOmega(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, static int dissect_lpp_T_cnavOMEGA0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 809 "./asn1/lpp/lpp.cnf" +#line 823 "./asn1/lpp/lpp.cnf" gint64 cnavOMEGA0; int curr_offset = offset; offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index, @@ -10327,7 +10334,7 @@ dissect_lpp_T_cnavOMEGA0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ -#line 814 "./asn1/lpp/lpp.cnf" +#line 828 "./asn1/lpp/lpp.cnf" proto_item_set_hidden(actx->created_item); actx->created_item = proto_tree_add_int64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3, cnavOMEGA0, "%g semi-circles (%"G_GINT64_MODIFIER"d)", @@ -10341,7 +10348,7 @@ dissect_lpp_T_cnavOMEGA0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ static int dissect_lpp_T_cnavIo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 823 "./asn1/lpp/lpp.cnf" +#line 837 "./asn1/lpp/lpp.cnf" gint64 cnavIo; int curr_offset = offset; offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index, @@ -10350,7 +10357,7 @@ dissect_lpp_T_cnavIo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr -#line 828 "./asn1/lpp/lpp.cnf" +#line 842 "./asn1/lpp/lpp.cnf" proto_item_set_hidden(actx->created_item); actx->created_item = proto_tree_add_int64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3, cnavIo, "%g semi-circles (%"G_GINT64_MODIFIER"d)", @@ -10396,7 +10403,7 @@ dissect_lpp_NavModelCNAV_KeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ct static int dissect_lpp_T_gloP1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 858 "./asn1/lpp/lpp.cnf" +#line 872 "./asn1/lpp/lpp.cnf" tvbuff_t *gloP1_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 2, 2, FALSE, NULL, 0, &gloP1_tvb, NULL); @@ -10404,7 +10411,7 @@ dissect_lpp_T_gloP1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro -#line 862 "./asn1/lpp/lpp.cnf" +#line 876 "./asn1/lpp/lpp.cnf" if (gloP1_tvb) { guint bitvalue = tvb_get_bits8(gloP1_tvb, 0, 2); actx->created_item = proto_tree_add_uint(tree, hf_index, gloP1_tvb, 0, 1, bitvalue); @@ -10559,7 +10566,7 @@ dissect_lpp_GNSS_OrbitModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int dissect_lpp_T_svHealthExt_v1240(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 545 "./asn1/lpp/lpp.cnf" +#line 559 "./asn1/lpp/lpp.cnf" tvbuff_t *svHealthExt_tvb = NULL; proto_tree *subtree; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, @@ -10568,7 +10575,7 @@ dissect_lpp_T_svHealthExt_v1240(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a -#line 550 "./asn1/lpp/lpp.cnf" +#line 564 "./asn1/lpp/lpp.cnf" if (svHealthExt_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_lpp_svHealthExt_v1240); proto_tree_add_bits_item(subtree, hf_lpp_svHealthExt_v1240_e5bhs, svHealthExt_tvb, 0, 2, ENC_BIG_ENDIAN); @@ -10864,7 +10871,7 @@ dissect_lpp_GNSS_AcquisitionAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_c static int dissect_lpp_T_toa(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1015 "./asn1/lpp/lpp.cnf" +#line 1029 "./asn1/lpp/lpp.cnf" guint32 toa, val; int len, old_offset = offset; T_GNSS_ID_enum gnss_id = (T_GNSS_ID_enum)GPOINTER_TO_UINT(actx->private_data); @@ -10874,7 +10881,7 @@ dissect_lpp_T_toa(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto -#line 1021 "./asn1/lpp/lpp.cnf" +#line 1035 "./asn1/lpp/lpp.cnf" len = (offset-old_offset) >> 3 ? (offset-old_offset) >> 3 : 1; val = (gnss_id == T_GNSS_ID_GALILEO) ? 600*toa : 4096*toa; actx->created_item = proto_tree_add_uint_format_value(tree, hf_lpp_toa, tvb, old_offset, len, @@ -10888,7 +10895,7 @@ dissect_lpp_T_toa(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto static int dissect_lpp_T_kepSV_StatusINAV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1048 "./asn1/lpp/lpp.cnf" +#line 1062 "./asn1/lpp/lpp.cnf" tvbuff_t *statusINAV_tvb = NULL; proto_tree *subtree; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, @@ -10897,7 +10904,7 @@ dissect_lpp_T_kepSV_StatusINAV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac -#line 1053 "./asn1/lpp/lpp.cnf" +#line 1067 "./asn1/lpp/lpp.cnf" if (statusINAV_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_kepSV_StatusINAV); proto_tree_add_bits_item(subtree, hf_lpp_kepSV_StatusINAV_e5bhs, statusINAV_tvb, 0, 2, ENC_BIG_ENDIAN); @@ -10912,7 +10919,7 @@ dissect_lpp_T_kepSV_StatusINAV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static int dissect_lpp_T_kepSV_StatusFNAV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1060 "./asn1/lpp/lpp.cnf" +#line 1074 "./asn1/lpp/lpp.cnf" tvbuff_t *statusFNAV_tvb = NULL; proto_tree *subtree; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, @@ -10921,7 +10928,7 @@ dissect_lpp_T_kepSV_StatusFNAV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac -#line 1065 "./asn1/lpp/lpp.cnf" +#line 1079 "./asn1/lpp/lpp.cnf" if (statusFNAV_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_kepSV_StatusFNAV); proto_tree_add_bits_item(subtree, hf_lpp_kepSV_StatusFNAV_e5ahs, statusFNAV_tvb, 0, 2, ENC_BIG_ENDIAN); @@ -11139,7 +11146,7 @@ dissect_lpp_AlmanacECEF_SBAS_AlmanacSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ static int dissect_lpp_T_bdsSvHealth_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1227 "./asn1/lpp/lpp.cnf" +#line 1241 "./asn1/lpp/lpp.cnf" tvbuff_t *bdsSvHealth_tvb = NULL; proto_tree *subtree; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, @@ -11148,7 +11155,7 @@ dissect_lpp_T_bdsSvHealth_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act -#line 1232 "./asn1/lpp/lpp.cnf" +#line 1246 "./asn1/lpp/lpp.cnf" if (bdsSvHealth_tvb) { guint16 bits; subtree = proto_item_add_subtree(actx->created_item, ett_lpp_bdsSvHealth_r12); @@ -11246,7 +11253,7 @@ dissect_lpp_GNSS_AlmanacList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int dissect_lpp_T_toa_ext_v1240(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1027 "./asn1/lpp/lpp.cnf" +#line 1041 "./asn1/lpp/lpp.cnf" guint32 toa_ext, val; int len, old_offset = offset; T_GNSS_ID_enum gnss_id = (T_GNSS_ID_enum)GPOINTER_TO_UINT(actx->private_data); @@ -11256,7 +11263,7 @@ dissect_lpp_T_toa_ext_v1240(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx -#line 1033 "./asn1/lpp/lpp.cnf" +#line 1047 "./asn1/lpp/lpp.cnf" len = (offset-old_offset) >> 3 ? (offset-old_offset) >> 3 : 1; val = (gnss_id == T_GNSS_ID_GALILEO) ? 600*toa_ext : 4096*toa_ext; actx->created_item = proto_tree_add_uint_format_value(tree, hf_lpp_toa_ext_v1240, tvb, old_offset, len, @@ -11334,7 +11341,7 @@ dissect_lpp_UTC_ModelSet1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U static int dissect_lpp_T_utcDN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1296 "./asn1/lpp/lpp.cnf" +#line 1310 "./asn1/lpp/lpp.cnf" tvbuff_t *utcDN_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 4, 4, FALSE, NULL, 0, &utcDN_tvb, NULL); @@ -11342,7 +11349,7 @@ dissect_lpp_T_utcDN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro -#line 1300 "./asn1/lpp/lpp.cnf" +#line 1314 "./asn1/lpp/lpp.cnf" if (utcDN_tvb) { guint bitvalue = tvb_get_bits8(utcDN_tvb, 0, 4); actx->created_item = proto_tree_add_uint(tree, hf_index, utcDN_tvb, 0, 1, bitvalue); @@ -11378,7 +11385,7 @@ dissect_lpp_UTC_ModelSet2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U static int dissect_lpp_T_kp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1324 "./asn1/lpp/lpp.cnf" +#line 1338 "./asn1/lpp/lpp.cnf" tvbuff_t *kp_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 2, 2, FALSE, NULL, 0, &kp_tvb, NULL); @@ -11386,7 +11393,7 @@ dissect_lpp_T_kp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_ -#line 1328 "./asn1/lpp/lpp.cnf" +#line 1342 "./asn1/lpp/lpp.cnf" if (kp_tvb) { guint bitvalue = tvb_get_bits8(kp_tvb, 0, 2); actx->created_item = proto_tree_add_uint(tree, hf_index, kp_tvb, 0, 1, bitvalue); @@ -13875,7 +13882,7 @@ dissect_lpp_T_gN_pressure_v1520(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -1024, 1023U, NULL, FALSE); -#line 1690 "./asn1/lpp/lpp.cnf" +#line 1704 "./asn1/lpp/lpp.cnf" proto_item_append_text(actx->created_item, "Pa/Km"); @@ -13889,7 +13896,7 @@ dissect_lpp_T_gE_pressure_v1520(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -1024, 1023U, NULL, FALSE); -#line 1693 "./asn1/lpp/lpp.cnf" +#line 1707 "./asn1/lpp/lpp.cnf" proto_item_append_text(actx->created_item, "Pa/Km"); @@ -14045,7 +14052,7 @@ dissect_lpp_Sensor_ProvideAssistanceData_r14(tvbuff_t *tvb _U_, int offset _U_, static int dissect_lpp_T_transmitterLatitude_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1642 "./asn1/lpp/lpp.cnf" +#line 1656 "./asn1/lpp/lpp.cnf" tvbuff_t *transmitterLatitude_tvb = NULL; guint32 val; @@ -14064,7 +14071,7 @@ dissect_lpp_T_transmitterLatitude_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ct static int dissect_lpp_T_transmitterLongitude_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1653 "./asn1/lpp/lpp.cnf" +#line 1667 "./asn1/lpp/lpp.cnf" tvbuff_t *transmitterLongitude_tvb = NULL; guint32 val; @@ -14083,7 +14090,7 @@ dissect_lpp_T_transmitterLongitude_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_c static int dissect_lpp_T_transmitterAltitude_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1664 "./asn1/lpp/lpp.cnf" +#line 1678 "./asn1/lpp/lpp.cnf" tvbuff_t *transmitterAltitude_tvb = NULL; guint32 val; @@ -14709,7 +14716,7 @@ static const per_sequence_t ProvideAssistanceData_sequence[] = { static int dissect_lpp_ProvideAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 72 "./asn1/lpp/lpp.cnf" +#line 86 "./asn1/lpp/lpp.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Provide Assistance Data"); @@ -14741,7 +14748,7 @@ dissect_lpp_LocationInformationType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ static int dissect_lpp_ReportingDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 242 "./asn1/lpp/lpp.cnf" +#line 256 "./asn1/lpp/lpp.cnf" guint32 duration; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, @@ -14811,7 +14818,7 @@ static const value_string lpp_T_reportingInterval_vals[] = { static int dissect_lpp_T_reportingInterval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 230 "./asn1/lpp/lpp.cnf" +#line 244 "./asn1/lpp/lpp.cnf" guint32 idx; const gchar *interval[10] = {"", ": 1s", ": 2s", ": 4s", ": 8s", ": 10s", ": 16s", ": 20s", ": 32s", ": 64s"}; @@ -14822,7 +14829,7 @@ dissect_lpp_T_reportingInterval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a -#line 237 "./asn1/lpp/lpp.cnf" +#line 251 "./asn1/lpp/lpp.cnf" if (idx < 10) { proto_item_append_text(actx->created_item, "%s", interval[idx]); } @@ -15586,7 +15593,7 @@ static const per_sequence_t RequestLocationInformation_sequence[] = { static int dissect_lpp_RequestLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 75 "./asn1/lpp/lpp.cnf" +#line 89 "./asn1/lpp/lpp.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Request Location Information"); @@ -16577,7 +16584,7 @@ dissect_lpp_A_GNSS_ProvideLocationInformation(tvbuff_t *tvb _U_, int offset _U_, static int dissect_lpp_T_error_Resolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 295 "./asn1/lpp/lpp.cnf" +#line 309 "./asn1/lpp/lpp.cnf" tvbuff_t *error_Resolution_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 2, 2, FALSE, NULL, 0, &error_Resolution_tvb, NULL); @@ -16585,7 +16592,7 @@ dissect_lpp_T_error_Resolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac -#line 299 "./asn1/lpp/lpp.cnf" +#line 313 "./asn1/lpp/lpp.cnf" if (error_Resolution_tvb) { guint bitvalue = tvb_get_bits8(error_Resolution_tvb, 0, 2); actx->created_item = proto_tree_add_uint(tree, hf_index, error_Resolution_tvb, 0, 1, bitvalue); @@ -16599,7 +16606,7 @@ dissect_lpp_T_error_Resolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static int dissect_lpp_T_error_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 308 "./asn1/lpp/lpp.cnf" +#line 322 "./asn1/lpp/lpp.cnf" tvbuff_t *error_Value_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 5, 5, FALSE, NULL, 0, &error_Value_tvb, NULL); @@ -16607,7 +16614,7 @@ dissect_lpp_T_error_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U -#line 312 "./asn1/lpp/lpp.cnf" +#line 326 "./asn1/lpp/lpp.cnf" if (error_Value_tvb) { guint bitvalue = tvb_get_bits8(error_Value_tvb, 0, 5); actx->created_item = proto_tree_add_uint(tree, hf_index, error_Value_tvb, 0, 1, bitvalue); @@ -16621,7 +16628,7 @@ dissect_lpp_T_error_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U static int dissect_lpp_T_error_NumSamples(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 321 "./asn1/lpp/lpp.cnf" +#line 335 "./asn1/lpp/lpp.cnf" tvbuff_t *error_NumSamples_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 3, 3, FALSE, NULL, 0, &error_NumSamples_tvb, NULL); @@ -16629,7 +16636,7 @@ dissect_lpp_T_error_NumSamples(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac -#line 325 "./asn1/lpp/lpp.cnf" +#line 339 "./asn1/lpp/lpp.cnf" if (error_NumSamples_tvb) { guint bitvalue = tvb_get_bits8(error_NumSamples_tvb, 0, 3); actx->created_item = proto_tree_add_uint(tree, hf_index, error_NumSamples_tvb, 0, 1, bitvalue); @@ -17761,7 +17768,7 @@ dissect_lpp_WLAN_ProvideLocationInformation_r13(tvbuff_t *tvb _U_, int offset _U static int dissect_lpp_T_btAddr_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1726 "./asn1/lpp/lpp.cnf" +#line 1740 "./asn1/lpp/lpp.cnf" tvbuff_t *btAddr_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, @@ -18020,7 +18027,7 @@ static const per_sequence_t ProvideLocationInformation_sequence[] = { static int dissect_lpp_ProvideLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 78 "./asn1/lpp/lpp.cnf" +#line 92 "./asn1/lpp/lpp.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Provide Location Information"); @@ -18147,7 +18154,7 @@ static const per_sequence_t Abort_sequence[] = { static int dissect_lpp_Abort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 81 "./asn1/lpp/lpp.cnf" +#line 95 "./asn1/lpp/lpp.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Abort"); @@ -18234,7 +18241,7 @@ static const per_choice_t Error_choice[] = { static int dissect_lpp_Error(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 84 "./asn1/lpp/lpp.cnf" +#line 98 "./asn1/lpp/lpp.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Error"); @@ -18438,6 +18445,62 @@ int dissect_lpp_Polygon_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tre offset += 7; offset >>= 3; return offset; } +int dissect_lpp_LocationCoordinates_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_lpp_LocationCoordinates(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_LocationCoordinates_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lpp_Velocity_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_lpp_Velocity(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_Velocity_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lpp_LocationError_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_lpp_LocationError(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_LocationError_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lpp_LocationSource_r13_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_lpp_LocationSource_r13(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_LocationSource_r13_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lpp_Sensor_MeasurementInformation_r13_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_lpp_Sensor_MeasurementInformation_r13(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_Sensor_MeasurementInformation_r13_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lpp_Sensor_MotionInformation_r15_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_lpp_Sensor_MotionInformation_r15(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_Sensor_MotionInformation_r15_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lpp_DisplacementTimeStamp_r15_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_lpp_DisplacementTimeStamp_r15(tvb, offset, &asn1_ctx, tree, hf_lpp_lpp_DisplacementTimeStamp_r15_PDU); + offset += 7; offset >>= 3; + return offset; +} /*--- End of included file: packet-lpp-fn.c ---*/ @@ -18507,6 +18570,34 @@ void proto_register_lpp(void) { { "Polygon", "lpp.Polygon", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_lpp_lpp_LocationCoordinates_PDU, + { "LocationCoordinates", "lpp.LocationCoordinates", + FT_UINT32, BASE_DEC, VALS(lpp_LocationCoordinates_vals), 0, + NULL, HFILL }}, + { &hf_lpp_lpp_Velocity_PDU, + { "Velocity", "lpp.Velocity", + FT_UINT32, BASE_DEC, VALS(lpp_Velocity_vals), 0, + NULL, HFILL }}, + { &hf_lpp_lpp_LocationError_PDU, + { "LocationError", "lpp.LocationError_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lpp_lpp_LocationSource_r13_PDU, + { "LocationSource-r13", "lpp.LocationSource_r13", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lpp_lpp_Sensor_MeasurementInformation_r13_PDU, + { "Sensor-MeasurementInformation-r13", "lpp.Sensor_MeasurementInformation_r13_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lpp_lpp_Sensor_MotionInformation_r15_PDU, + { "Sensor-MotionInformation-r15", "lpp.Sensor_MotionInformation_r15_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lpp_lpp_DisplacementTimeStamp_r15_PDU, + { "DisplacementTimeStamp-r15", "lpp.DisplacementTimeStamp_r15", + FT_UINT32, BASE_DEC, VALS(lpp_DisplacementTimeStamp_r15_vals), 0, + NULL, HFILL }}, { &hf_lpp_transactionID, { "transactionID", "lpp.transactionID_element", FT_NONE, BASE_NONE, NULL, 0, diff --git a/epan/dissectors/packet-lpp.h b/epan/dissectors/packet-lpp.h index 98a253e9e9..0b6367a5ff 100644 --- a/epan/dissectors/packet-lpp.h +++ b/epan/dissectors/packet-lpp.h @@ -56,6 +56,13 @@ int dissect_lpp_HorizontalVelocity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_ int dissect_lpp_HorizontalWithVerticalVelocity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lpp_HorizontalVelocityWithUncertainty_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lpp_Polygon_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lpp_LocationCoordinates_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lpp_Velocity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lpp_LocationError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lpp_LocationSource_r13_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lpp_Sensor_MeasurementInformation_r13_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lpp_Sensor_MotionInformation_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lpp_DisplacementTimeStamp_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); /*--- End of included file: packet-lpp-exp.h ---*/ #line 19 "./asn1/lpp/packet-lpp-template.h" diff --git a/epan/dissectors/packet-lte-rrc.c b/epan/dissectors/packet-lte-rrc.c index 5ba79d4649..bc68269006 100644 --- a/epan/dissectors/packet-lte-rrc.c +++ b/epan/dissectors/packet-lte-rrc.c @@ -345,6 +345,8 @@ static int hf_lte_rrc_SC_MCCH_Message_r13_PDU = -1; /* SC_MCCH_Message_r13 */ static int hf_lte_rrc_lte_rrc_MeasurementReport_PDU = -1; /* MeasurementReport */ static int hf_lte_rrc_RRCConnectionReconfiguration_PDU = -1; /* RRCConnectionReconfiguration */ static int hf_lte_rrc_lte_rrc_RRCConnectionReconfigurationComplete_PDU = -1; /* RRCConnectionReconfigurationComplete */ +static int hf_lte_rrc_lte_rrc_SidelinkUEInformation_r12_PDU = -1; /* SidelinkUEInformation_r12 */ +static int hf_lte_rrc_lte_rrc_UEAssistanceInformation_r11_PDU = -1; /* UEAssistanceInformation_r11 */ static int hf_lte_rrc_lte_rrc_UECapabilityEnquiry_PDU = -1; /* UECapabilityEnquiry */ static int hf_lte_rrc_UECapabilityInformation_PDU = -1; /* UECapabilityInformation */ static int hf_lte_rrc_lte_rrc_RLF_Report_r9_PDU = -1; /* RLF_Report_r9 */ @@ -352,6 +354,13 @@ static int hf_lte_rrc_lte_rrc_RLF_Report_v9e0_PDU = -1; /* RLF_Report_v9e0 */ static int hf_lte_rrc_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU = -1; /* MeasResultSCG_FailureMRDC_r15 */ static int hf_lte_rrc_lte_rrc_MeasResultList3EUTRA_r15_PDU = -1; /* MeasResultList3EUTRA_r15 */ static int hf_lte_rrc_lte_rrc_UE_EUTRA_Capability_PDU = -1; /* UE_EUTRA_Capability */ +static int hf_lte_rrc_lte_rrc_V2X_BandParameters_r14_PDU = -1; /* V2X_BandParameters_r14 */ +static int hf_lte_rrc_lte_rrc_V2X_BandParameters_v1530_PDU = -1; /* V2X_BandParameters_v1530 */ +static int hf_lte_rrc_lte_rrc_SL_Parameters_v1430_PDU = -1; /* SL_Parameters_v1430 */ +static int hf_lte_rrc_lte_rrc_SL_Parameters_v1530_PDU = -1; /* SL_Parameters_v1530 */ +static int hf_lte_rrc_lte_rrc_SL_Parameters_v1540_PDU = -1; /* SL_Parameters_v1540 */ +static int hf_lte_rrc_lte_rrc_V2X_SupportedBandCombination_r14_PDU = -1; /* V2X_SupportedBandCombination_r14 */ +static int hf_lte_rrc_lte_rrc_V2X_SupportedBandCombination_v1530_PDU = -1; /* V2X_SupportedBandCombination_v1530 */ static int hf_lte_rrc_lte_rrc_VisitedCellInfoList_r12_PDU = -1; /* VisitedCellInfoList_r12 */ static int hf_lte_rrc_lte_rrc_VisitedCellInfo_r12_PDU = -1; /* VisitedCellInfo_r12 */ static int hf_lte_rrc_SBCCH_SL_BCH_Message_PDU = -1; /* SBCCH_SL_BCH_Message */ @@ -375,8 +384,6 @@ static int hf_lte_rrc_MBMSInterestIndication_r11_PDU = -1; /* MBMSInterestIndic static int hf_lte_rrc_UE_RadioPagingInfo_r12_PDU = -1; /* UE_RadioPagingInfo_r12 */ static int hf_lte_rrc_SystemInformationBlockType1_v890_IEs_PDU = -1; /* SystemInformationBlockType1_v890_IEs */ static int hf_lte_rrc_InDeviceCoexIndication_r11_PDU = -1; /* InDeviceCoexIndication_r11 */ -static int hf_lte_rrc_UEAssistanceInformation_r11_PDU = -1; /* UEAssistanceInformation_r11 */ -static int hf_lte_rrc_SidelinkUEInformation_r12_PDU = -1; /* SidelinkUEInformation_r12 */ static int hf_lte_rrc_WLANConnectionStatusReport_r13_PDU = -1; /* WLANConnectionStatusReport_r13 */ static int hf_lte_rrc_SystemInformationBlockType1_PDU = -1; /* SystemInformationBlockType1 */ static int hf_lte_rrc_RRCConnectionReconfiguration_v8m0_IEs_PDU = -1; /* RRCConnectionReconfiguration_v8m0_IEs */ @@ -592,8 +599,8 @@ static int hf_lte_rrc_sidelinkUEInformation_r12 = -1; /* T_sidelinkUEInformatio static int hf_lte_rrc_sourceContextEN_DC_r15 = -1; /* T_sourceContextEN_DC_r15 */ static int hf_lte_rrc_selectedbandCombinationInfoEN_DC_v1540 = -1; /* T_selectedbandCombinationInfoEN_DC_v1540 */ static int hf_lte_rrc_wlanConnectionStatusReport_r13 = -1; /* T_wlanConnectionStatusReport_r13 */ -static int hf_lte_rrc_sidelinkUEInformationNR_r16 = -1; /* OCTET_STRING */ -static int hf_lte_rrc_ueAssistanceInformationNR_r16 = -1; /* OCTET_STRING */ +static int hf_lte_rrc_sidelinkUEInformationNR_r16 = -1; /* T_sidelinkUEInformationNR_r16 */ +static int hf_lte_rrc_ueAssistanceInformationNR_r16 = -1; /* T_ueAssistanceInformationNR_r16 */ static int hf_lte_rrc_configRestrictInfoDAPS_r16 = -1; /* ConfigRestrictInfoDAPS_r16 */ static int hf_lte_rrc_maxSCH_TB_BitsDL_r16 = -1; /* INTEGER_1_100 */ static int hf_lte_rrc_maxSCH_TB_BitsUL_r16 = -1; /* INTEGER_1_100 */ @@ -5489,7 +5496,7 @@ static int hf_lte_rrc_cbr_PSSCH_r14 = -1; /* SL_CBR_r14 */ static int hf_lte_rrc_cbr_PSCCH_r14 = -1; /* SL_CBR_r14 */ static int hf_lte_rrc_MeasResultListNR_SL_r16_item = -1; /* MeasResultCBR_NR_r16 */ static int hf_lte_rrc_poolIdentityNR_r16 = -1; /* SL_ResourcePoolID_NR_r16 */ -static int hf_lte_rrc_cbr_ResultsNR_r16 = -1; /* OCTET_STRING */ +static int hf_lte_rrc_cbr_ResultsNR_r16 = -1; /* T_cbr_ResultsNR_r16 */ static int hf_lte_rrc_sl_TxPoolReportID_r16 = -1; /* INTEGER_1_maxSL_PoolToMeasureNR_r16 */ static int hf_lte_rrc_sl_SubframeRef_r15 = -1; /* INTEGER_0_10239 */ static int hf_lte_rrc_sensingResult_r15 = -1; /* SEQUENCE_SIZE_0_400_OF_SensingResult_r15 */ @@ -7043,8 +7050,8 @@ static int hf_lte_rrc_sl_64QAM_Rx_r15 = -1; /* T_sl_64QAM_Rx_r15 */ static int hf_lte_rrc_sl_RateMatchingTBSScaling_r15 = -1; /* T_sl_RateMatchingTBSScaling_r15 */ static int hf_lte_rrc_sl_LowT2min_r15 = -1; /* T_sl_LowT2min_r15 */ static int hf_lte_rrc_v2x_SensingReportingMode3_r15 = -1; /* T_v2x_SensingReportingMode3_r15 */ -static int hf_lte_rrc_sl_ParameterNR_r16 = -1; /* OCTET_STRING */ -static int hf_lte_rrc_v2x_SupportedBandCombinationListNR_r16 = -1; /* OCTET_STRING */ +static int hf_lte_rrc_sl_ParameterNR_r16 = -1; /* T_sl_ParameterNR_r16 */ +static int hf_lte_rrc_v2x_SupportedBandCombinationListNR_r16 = -1; /* T_v2x_SupportedBandCombinationListNR_r16 */ static int hf_lte_rrc_v2x_SupportedBandCombinationListEUTRA_NR_r16 = -1; /* V2X_SupportedBandCombinationEUTRA_NR_r16 */ static int hf_lte_rrc_ue_CategorySL_C_TX_r15 = -1; /* INTEGER_1_5 */ static int hf_lte_rrc_ue_CategorySL_C_RX_r15 = -1; /* INTEGER_1_4 */ @@ -7057,7 +7064,7 @@ static int hf_lte_rrc_eutra_01 = -1; /* T_eutra */ static int hf_lte_rrc_v2x_BandParameters1_r16 = -1; /* V2X_BandParameters_r14 */ static int hf_lte_rrc_v2x_BandParameters2_r16 = -1; /* V2X_BandParameters_v1530 */ static int hf_lte_rrc_nr = -1; /* T_nr */ -static int hf_lte_rrc_v2x_BandParametersNR_r16 = -1; /* OCTET_STRING */ +static int hf_lte_rrc_v2x_BandParametersNR_r16 = -1; /* T_v2x_BandParametersNR_r16 */ static int hf_lte_rrc_SupportedBandInfoList_r12_item = -1; /* SupportedBandInfo_r12 */ static int hf_lte_rrc_support_r12 = -1; /* T_support_r12 */ static int hf_lte_rrc_FreqBandIndicatorListEUTRA_r12_item = -1; /* FreqBandIndicator_r11 */ @@ -12589,6 +12596,12 @@ static gint ett_lte_rrc_nas_Container_r15 = -1; static gint ett_lte_rrc_sourceRB_ConfigIntra5GC_r15 = -1; static gint ett_lte_rrc_selectedbandCombinationInfoEN_DC_v1540 = -1; static gint ett_lte_rrc_requestedCapabilityCommon_r15 = -1; +static gint ett_lte_rrc_sidelinkUEInformationNR_r16 = -1; +static gint ett_lte_rrc_ueAssistanceInformationNR_r16 = -1; +static gint ett_lte_rrc_cbr_ResultsNR_r16 = -1; +static gint ett_lte_rrc_sl_ParameterNR_r16 = -1; +static gint ett_lte_rrc_v2x_SupportedBandCombinationListNR_r16 = -1; +static gint ett_lte_rrc_v2x_BandParametersNR_r16 = -1; static expert_field ei_lte_rrc_number_pages_le15 = EI_INIT; static expert_field ei_lte_rrc_si_info_value_changed = EI_INIT; @@ -15474,8 +15487,6 @@ static int dissect_MBMSInterestIndication_r11_PDU(tvbuff_t *tvb _U_, packet_info static int dissect_UE_RadioPagingInfo_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_SystemInformationBlockType1_v890_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_InDeviceCoexIndication_r11_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); -static int dissect_UEAssistanceInformation_r11_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); -static int dissect_SidelinkUEInformation_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_WLANConnectionStatusReport_r13_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_SystemInformationBlockType1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_RRCConnectionReconfiguration_v8m0_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); @@ -54145,7 +54156,7 @@ dissect_lte_rrc_T_mbmsInterestIndication_r11(tvbuff_t *tvb _U_, int offset _U_, static int dissect_lte_rrc_T_powerPrefIndication_r11(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_UEAssistanceInformation_r11_PDU); + NO_BOUND, NO_BOUND, FALSE, dissect_lte_rrc_UEAssistanceInformation_r11_PDU); return offset; } @@ -54155,7 +54166,7 @@ dissect_lte_rrc_T_powerPrefIndication_r11(tvbuff_t *tvb _U_, int offset _U_, asn static int dissect_lte_rrc_T_sidelinkUEInformation_r12(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_SidelinkUEInformation_r12_PDU); + NO_BOUND, NO_BOUND, FALSE, dissect_lte_rrc_SidelinkUEInformation_r12_PDU); return offset; } @@ -54223,7 +54234,6 @@ dissect_lte_rrc_T_selectedbandCombinationInfoEN_DC_v1540(tvbuff_t *tvb _U_, int } - return offset; } @@ -58734,9 +58744,40 @@ dissect_lte_rrc_T_sourceRB_ConfigIntra5GC_r15(tvbuff_t *tvb _U_, int offset _U_, static int -dissect_lte_rrc_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_sidelinkUEInformationNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *sidelink_ue_info_nr_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, NULL); + NO_BOUND, NO_BOUND, FALSE, &sidelink_ue_info_nr_tvb); + + + if (sidelink_ue_info_nr_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sidelinkUEInformationNR_r16); + dissect_nr_rrc_SidelinkUEInformationNR_r16_PDU(sidelink_ue_info_nr_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + + +static int +dissect_lte_rrc_T_ueAssistanceInformationNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *ue_assist_info_nr_tvb = NULL; + + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &ue_assist_info_nr_tvb); + + + if (ue_assist_info_nr_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_ueAssistanceInformationNR_r16); + dissect_nr_rrc_UEAssistanceInformation_PDU(ue_assist_info_nr_tvb, actx->pinfo, subtree, NULL); + } + + return offset; } @@ -58758,8 +58799,8 @@ dissect_lte_rrc_ConfigRestrictInfoDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, as static const per_sequence_t AS_Context_v1610_sequence[] = { - { &hf_lte_rrc_sidelinkUEInformationNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_ueAssistanceInformationNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, + { &hf_lte_rrc_sidelinkUEInformationNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_sidelinkUEInformationNR_r16 }, + { &hf_lte_rrc_ueAssistanceInformationNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_ueAssistanceInformationNR_r16 }, { &hf_lte_rrc_configRestrictInfoDAPS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ConfigRestrictInfoDAPS_r16 }, { NULL, 0, 0, NULL } }; @@ -59042,6 +59083,16 @@ dissect_lte_rrc_HandoverPreparationInformation(tvbuff_t *tvb _U_, int offset _U_ } + +static int +dissect_lte_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 AS_Config_v10j0_sequence[] = { { &hf_lte_rrc_antennaInfoDedicatedPCell_v10i0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AntennaInfoDedicated_v10i0 }, { NULL, 0, 0, NULL } @@ -67091,6 +67142,8 @@ static const value_string lte_rrc_T_carrierFreqOffset_r16_vals[] = { { 0, NULL } }; +static value_string_ext lte_rrc_T_carrierFreqOffset_r16_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_T_carrierFreqOffset_r16_vals); + static int dissect_lte_rrc_T_carrierFreqOffset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -80026,9 +80079,29 @@ dissect_lte_rrc_SL_ResourcePoolID_NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1 } + +static int +dissect_lte_rrc_T_cbr_ResultsNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *cbr_results_nr_tvb = NULL; + + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &cbr_results_nr_tvb); + + + if (cbr_results_nr_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_cbr_ResultsNR_r16); + dissect_nr_rrc_SL_CBR_r16_PDU(cbr_results_nr_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + static const per_sequence_t MeasResultCBR_NR_r16_sequence[] = { { &hf_lte_rrc_poolIdentityNR_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_ResourcePoolID_NR_r16 }, - { &hf_lte_rrc_cbr_ResultsNR_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_OCTET_STRING }, + { &hf_lte_rrc_cbr_ResultsNR_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cbr_ResultsNR_r16 }, { NULL, 0, 0, NULL } }; @@ -88975,6 +89048,8 @@ static const value_string lte_rrc_T_requestedTBS_r16_vals[] = { { 0, NULL } }; +static value_string_ext lte_rrc_T_requestedTBS_r16_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_T_requestedTBS_r16_vals); + static int dissect_lte_rrc_T_requestedTBS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -89439,7 +89514,6 @@ dissect_lte_rrc_T_ul_DCCH_MessageNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ } - return offset; } @@ -106217,9 +106291,49 @@ dissect_lte_rrc_UE_BasedNetwPerfMeasParameters_v1610(tvbuff_t *tvb _U_, int offs } + +static int +dissect_lte_rrc_T_sl_ParameterNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *sl_params_nr_tvb = NULL; + + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &sl_params_nr_tvb); + + + if (sl_params_nr_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sl_ParameterNR_r16); + dissect_nr_rrc_SidelinkParametersNR_r16_PDU(sl_params_nr_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + + +static int +dissect_lte_rrc_T_v2x_SupportedBandCombinationListNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *v2x_supp_band_comb_list_nr_tvb = NULL; + + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &v2x_supp_band_comb_list_nr_tvb); + + + if (v2x_supp_band_comb_list_nr_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_v2x_SupportedBandCombinationListNR_r16); + dissect_nr_rrc_SupportedBandCombinationListSidelink_r16_PDU(v2x_supp_band_comb_list_nr_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + static const per_sequence_t SL_ParametersNR_r16_sequence[] = { - { &hf_lte_rrc_sl_ParameterNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_v2x_SupportedBandCombinationListNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, + { &hf_lte_rrc_sl_ParameterNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_sl_ParameterNR_r16 }, + { &hf_lte_rrc_v2x_SupportedBandCombinationListNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_v2x_SupportedBandCombinationListNR_r16 }, { NULL, 0, 0, NULL } }; @@ -106247,8 +106361,29 @@ dissect_lte_rrc_T_eutra(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } + +static int +dissect_lte_rrc_T_v2x_BandParametersNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *v2x_band_params_nr_tvb = NULL; + + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &v2x_band_params_nr_tvb); + + + if (v2x_band_params_nr_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_v2x_BandParametersNR_r16); + dissect_nr_rrc_BandParametersSidelink_r16_PDU(v2x_band_params_nr_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + static const per_sequence_t T_nr_sequence[] = { - { &hf_lte_rrc_v2x_BandParametersNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, + { &hf_lte_rrc_v2x_BandParametersNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_v2x_BandParametersNR_r16 }, { NULL, 0, 0, NULL } }; @@ -124147,6 +124282,8 @@ static const value_string lte_rrc_T_requestedTBS_r16_01_vals[] = { { 0, NULL } }; +static value_string_ext lte_rrc_T_requestedTBS_r16_01_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_T_requestedTBS_r16_01_vals); + static int dissect_lte_rrc_T_requestedTBS_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -125583,6 +125720,26 @@ int dissect_lte_rrc_RRCConnectionReconfigurationComplete_PDU(tvbuff_t *tvb _U_, offset += 7; offset >>= 3; return offset; } +int dissect_lte_rrc_SidelinkUEInformation_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_SidelinkUEInformation_r12(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_SidelinkUEInformation_r12_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lte_rrc_UEAssistanceInformation_r11_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_UEAssistanceInformation_r11(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_UEAssistanceInformation_r11_PDU); + offset += 7; offset >>= 3; + return offset; +} int dissect_lte_rrc_UECapabilityEnquiry_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); @@ -125653,6 +125810,76 @@ int dissect_lte_rrc_UE_EUTRA_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinf offset += 7; offset >>= 3; return offset; } +int dissect_lte_rrc_V2X_BandParameters_r14_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_V2X_BandParameters_r14(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_V2X_BandParameters_r14_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lte_rrc_V2X_BandParameters_v1530_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_V2X_BandParameters_v1530(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_V2X_BandParameters_v1530_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lte_rrc_SL_Parameters_v1430_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_SL_Parameters_v1430(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_SL_Parameters_v1430_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lte_rrc_SL_Parameters_v1530_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_SL_Parameters_v1530(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_SL_Parameters_v1530_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lte_rrc_SL_Parameters_v1540_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_SL_Parameters_v1540(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_SL_Parameters_v1540_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lte_rrc_V2X_SupportedBandCombination_r14_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_V2X_SupportedBandCombination_r14(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_V2X_SupportedBandCombination_r14_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lte_rrc_V2X_SupportedBandCombination_v1530_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_V2X_SupportedBandCombination_v1530(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_V2X_SupportedBandCombination_v1530_PDU); + offset += 7; offset >>= 3; + return offset; +} int dissect_lte_rrc_VisitedCellInfoList_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); @@ -125883,26 +126110,6 @@ static int dissect_InDeviceCoexIndication_r11_PDU(tvbuff_t *tvb _U_, packet_info offset += 7; offset >>= 3; return offset; } -static int dissect_UEAssistanceInformation_r11_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { - proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); - proto_item_set_hidden(prot_ti); - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); - offset = dissect_lte_rrc_UEAssistanceInformation_r11(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_UEAssistanceInformation_r11_PDU); - offset += 7; offset >>= 3; - return offset; -} -static int dissect_SidelinkUEInformation_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { - proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); - proto_item_set_hidden(prot_ti); - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); - offset = dissect_lte_rrc_SidelinkUEInformation_r12(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_SidelinkUEInformation_r12_PDU); - offset += 7; offset >>= 3; - return offset; -} static int dissect_WLANConnectionStatusReport_r13_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); @@ -126106,7 +126313,7 @@ static int dissect_UE_RadioPagingInfo_NB_r13_PDU(tvbuff_t *tvb _U_, packet_info /*--- End of included file: packet-lte-rrc-fn.c ---*/ -#line 3195 "./asn1/lte-rrc/packet-lte-rrc-template.c" +#line 3201 "./asn1/lte-rrc/packet-lte-rrc-template.c" static int dissect_lte_rrc_DL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) @@ -126572,6 +126779,14 @@ void proto_register_lte_rrc(void) { { "RRCConnectionReconfigurationComplete", "lte-rrc.RRCConnectionReconfigurationComplete_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_lte_rrc_lte_rrc_SidelinkUEInformation_r12_PDU, + { "SidelinkUEInformation-r12", "lte-rrc.SidelinkUEInformation_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_lte_rrc_UEAssistanceInformation_r11_PDU, + { "UEAssistanceInformation-r11", "lte-rrc.UEAssistanceInformation_r11_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_lte_rrc_lte_rrc_UECapabilityEnquiry_PDU, { "UECapabilityEnquiry", "lte-rrc.UECapabilityEnquiry_element", FT_NONE, BASE_NONE, NULL, 0, @@ -126600,6 +126815,34 @@ void proto_register_lte_rrc(void) { { "UE-EUTRA-Capability", "lte-rrc.UE_EUTRA_Capability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_lte_rrc_lte_rrc_V2X_BandParameters_r14_PDU, + { "V2X-BandParameters-r14", "lte-rrc.V2X_BandParameters_r14_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_lte_rrc_V2X_BandParameters_v1530_PDU, + { "V2X-BandParameters-v1530", "lte-rrc.V2X_BandParameters_v1530_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_lte_rrc_SL_Parameters_v1430_PDU, + { "SL-Parameters-v1430", "lte-rrc.SL_Parameters_v1430_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_lte_rrc_SL_Parameters_v1530_PDU, + { "SL-Parameters-v1530", "lte-rrc.SL_Parameters_v1530_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_lte_rrc_SL_Parameters_v1540_PDU, + { "SL-Parameters-v1540", "lte-rrc.SL_Parameters_v1540_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_lte_rrc_V2X_SupportedBandCombination_r14_PDU, + { "V2X-SupportedBandCombination-r14", "lte-rrc.V2X_SupportedBandCombination_r14", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_lte_rrc_V2X_SupportedBandCombination_v1530_PDU, + { "V2X-SupportedBandCombination-v1530", "lte-rrc.V2X_SupportedBandCombination_v1530", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_lte_rrc_lte_rrc_VisitedCellInfoList_r12_PDU, { "VisitedCellInfoList-r12", "lte-rrc.VisitedCellInfoList_r12", FT_UINT32, BASE_DEC, NULL, 0, @@ -126692,14 +126935,6 @@ void proto_register_lte_rrc(void) { { "InDeviceCoexIndication-r11", "lte-rrc.InDeviceCoexIndication_r11_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_UEAssistanceInformation_r11_PDU, - { "UEAssistanceInformation-r11", "lte-rrc.UEAssistanceInformation_r11_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_lte_rrc_SidelinkUEInformation_r12_PDU, - { "SidelinkUEInformation-r12", "lte-rrc.SidelinkUEInformation_r12_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, { &hf_lte_rrc_WLANConnectionStatusReport_r13_PDU, { "WLANConnectionStatusReport-r13", "lte-rrc.WLANConnectionStatusReport_r13_element", FT_NONE, BASE_NONE, NULL, 0, @@ -127563,11 +127798,11 @@ void proto_register_lte_rrc(void) { { &hf_lte_rrc_sidelinkUEInformationNR_r16, { "sidelinkUEInformationNR-r16", "lte-rrc.sidelinkUEInformationNR_r16", FT_BYTES, BASE_NONE, NULL, 0, - "OCTET_STRING", HFILL }}, + NULL, HFILL }}, { &hf_lte_rrc_ueAssistanceInformationNR_r16, { "ueAssistanceInformationNR-r16", "lte-rrc.ueAssistanceInformationNR_r16", FT_BYTES, BASE_NONE, NULL, 0, - "OCTET_STRING", HFILL }}, + NULL, HFILL }}, { &hf_lte_rrc_configRestrictInfoDAPS_r16, { "configRestrictInfoDAPS-r16", "lte-rrc.configRestrictInfoDAPS_r16_element", FT_NONE, BASE_NONE, NULL, 0, @@ -129602,7 +129837,7 @@ void proto_register_lte_rrc(void) { "PUR_PeriodicityAndOffset_r16", HFILL }}, { &hf_lte_rrc_requestedTBS_r16, { "requestedTBS-r16", "lte-rrc.requestedTBS_r16", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_requestedTBS_r16_vals), 0, + FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_T_requestedTBS_r16_vals_ext, 0, NULL, HFILL }}, { &hf_lte_rrc_rrc_ACK_r16, { "rrc-ACK-r16", "lte-rrc.rrc_ACK_r16", @@ -136602,7 +136837,7 @@ void proto_register_lte_rrc(void) { "ARFCN_ValueEUTRA_r9", HFILL }}, { &hf_lte_rrc_carrierFreqOffset_r16, { "carrierFreqOffset-r16", "lte-rrc.carrierFreqOffset_r16", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_carrierFreqOffset_r16_vals), 0, + FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_T_carrierFreqOffset_r16_vals_ext, 0, "T_carrierFreqOffset_r16", HFILL }}, { &hf_lte_rrc_segmentNumber_r16_02, { "segmentNumber-r16", "lte-rrc.segmentNumber_r16", @@ -147151,7 +147386,7 @@ void proto_register_lte_rrc(void) { { &hf_lte_rrc_cbr_ResultsNR_r16, { "cbr-ResultsNR-r16", "lte-rrc.cbr_ResultsNR_r16", FT_BYTES, BASE_NONE, NULL, 0, - "OCTET_STRING", HFILL }}, + NULL, HFILL }}, { &hf_lte_rrc_sl_TxPoolReportID_r16, { "sl-TxPoolReportID-r16", "lte-rrc.sl_TxPoolReportID_r16", FT_UINT32, BASE_DEC, NULL, 0, @@ -153367,11 +153602,11 @@ void proto_register_lte_rrc(void) { { &hf_lte_rrc_sl_ParameterNR_r16, { "sl-ParameterNR-r16", "lte-rrc.sl_ParameterNR_r16", FT_BYTES, BASE_NONE, NULL, 0, - "OCTET_STRING", HFILL }}, + NULL, HFILL }}, { &hf_lte_rrc_v2x_SupportedBandCombinationListNR_r16, { "v2x-SupportedBandCombinationListNR-r16", "lte-rrc.v2x_SupportedBandCombinationListNR_r16", FT_BYTES, BASE_NONE, NULL, 0, - "OCTET_STRING", HFILL }}, + NULL, HFILL }}, { &hf_lte_rrc_v2x_SupportedBandCombinationListEUTRA_NR_r16, { "v2x-SupportedBandCombinationListEUTRA-NR-r16", "lte-rrc.v2x_SupportedBandCombinationListEUTRA_NR_r16", FT_UINT32, BASE_DEC, NULL, 0, @@ -153423,7 +153658,7 @@ void proto_register_lte_rrc(void) { { &hf_lte_rrc_v2x_BandParametersNR_r16, { "v2x-BandParametersNR-r16", "lte-rrc.v2x_BandParametersNR_r16", FT_BYTES, BASE_NONE, NULL, 0, - "OCTET_STRING", HFILL }}, + NULL, HFILL }}, { &hf_lte_rrc_SupportedBandInfoList_r12_item, { "SupportedBandInfo-r12", "lte-rrc.SupportedBandInfo_r12_element", FT_NONE, BASE_NONE, NULL, 0, @@ -156278,7 +156513,7 @@ void proto_register_lte_rrc(void) { "PUR_PeriodicityAndOffset_NB_r16", HFILL }}, { &hf_lte_rrc_requestedTBS_r16_01, { "requestedTBS-r16", "lte-rrc.requestedTBS_r16", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_requestedTBS_r16_01_vals), 0, + FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_T_requestedTBS_r16_01_vals_ext, 0, "T_requestedTBS_r16_01", HFILL }}, { &hf_lte_rrc_rrc_ACK_r16_01, { "rrc-ACK-r16", "lte-rrc.rrc_ACK_r16", @@ -159878,7 +160113,7 @@ void proto_register_lte_rrc(void) { "CarrierFreq_NB_r13", HFILL }}, /*--- End of included file: packet-lte-rrc-hfarr.c ---*/ -#line 3570 "./asn1/lte-rrc/packet-lte-rrc-template.c" +#line 3576 "./asn1/lte-rrc/packet-lte-rrc-template.c" { &hf_lte_rrc_eutra_cap_feat_group_ind_1, { "Indicator 1", "lte-rrc.eutra_cap_feat_group_ind_1", @@ -164311,7 +164546,7 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_PCI_ARFCN_NB_r14, /*--- End of included file: packet-lte-rrc-ettarr.c ---*/ -#line 4329 "./asn1/lte-rrc/packet-lte-rrc-template.c" +#line 4335 "./asn1/lte-rrc/packet-lte-rrc-template.c" &ett_lte_rrc_featureGroupIndicators, &ett_lte_rrc_featureGroupIndRel9Add, @@ -164357,7 +164592,13 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_nas_Container_r15, &ett_lte_rrc_sourceRB_ConfigIntra5GC_r15, &ett_lte_rrc_selectedbandCombinationInfoEN_DC_v1540, - &ett_lte_rrc_requestedCapabilityCommon_r15 + &ett_lte_rrc_requestedCapabilityCommon_r15, + &ett_lte_rrc_sidelinkUEInformationNR_r16, + &ett_lte_rrc_ueAssistanceInformationNR_r16, + &ett_lte_rrc_cbr_ResultsNR_r16, + &ett_lte_rrc_sl_ParameterNR_r16, + &ett_lte_rrc_v2x_SupportedBandCombinationListNR_r16, + &ett_lte_rrc_v2x_BandParametersNR_r16 }; static ei_register_info ei[] = { @@ -164450,7 +164691,7 @@ void proto_register_lte_rrc(void) { /*--- End of included file: packet-lte-rrc-dis-reg.c ---*/ -#line 4429 "./asn1/lte-rrc/packet-lte-rrc-template.c" +#line 4441 "./asn1/lte-rrc/packet-lte-rrc-template.c" lte_rrc_etws_cmas_dcs_hash = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), g_direct_hash, g_direct_equal); lte_rrc_system_info_value_changed_hash = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), g_direct_hash, g_direct_equal); diff --git a/epan/dissectors/packet-lte-rrc.h b/epan/dissectors/packet-lte-rrc.h index ae83967cbb..684e525723 100644 --- a/epan/dissectors/packet-lte-rrc.h +++ b/epan/dissectors/packet-lte-rrc.h @@ -32,12 +32,21 @@ int dissect_lte_rrc_UEPagingCoverageInformation_PDU(tvbuff_t *tvb _U_, packet_in int dissect_lte_rrc_UERadioPagingInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_MeasurementReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_RRCConnectionReconfigurationComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_SidelinkUEInformation_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_UEAssistanceInformation_r11_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_UECapabilityEnquiry_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_RLF_Report_r9_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_RLF_Report_v9e0_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_MeasResultList3EUTRA_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_UE_EUTRA_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_V2X_BandParameters_r14_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_V2X_BandParameters_v1530_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_SL_Parameters_v1430_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_SL_Parameters_v1530_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_SL_Parameters_v1540_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_V2X_SupportedBandCombination_r14_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_V2X_SupportedBandCombination_v1530_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_VisitedCellInfoList_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_VisitedCellInfo_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_HandoverPreparationInformation_NB_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); diff --git a/epan/dissectors/packet-nr-rrc.c b/epan/dissectors/packet-nr-rrc.c index 69245cf66e..b0479b6ddc 100644 --- a/epan/dissectors/packet-nr-rrc.c +++ b/epan/dissectors/packet-nr-rrc.c @@ -1,7 +1,7 @@ /* Do not modify this file. Changes will be overwritten. */ /* Generated automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-nr-rrc.c */ -/* asn2wrs.py -L -p nr-rrc -c ./nr-rrc.cnf -s ./packet-nr-rrc-template -D . -O ../.. NR-InterNodeDefinitions.asn NR-RRC-Definitions.asn NR-UE-Variables.asn */ +/* asn2wrs.py -L -p nr-rrc -c ./nr-rrc.cnf -s ./packet-nr-rrc-template -D . -O ../.. NR-InterNodeDefinitions.asn NR-RRC-Definitions.asn NR-Sidelink-Preconf.asn NR-UE-Variables.asn PC5-RRC-Definitions.asn */ /* Input file: packet-nr-rrc-template.c */ @@ -39,9 +39,11 @@ #include "packet-cell_broadcast.h" #include "packet-mac-nr.h" #include "packet-rlc-nr.h" +#include "packet-rrc.h" #include "packet-lte-rrc.h" #include "packet-nr-rrc.h" #include "packet-gsm_a_common.h" +#include "packet-lpp.h" #define PNAME "NR Radio Resource Control (RRC) protocol" #define PSNAME "NR RRC" @@ -71,28 +73,54 @@ extern int proto_mac_nr; #define maxMeasFreqsSN 32 #define maxMeasIdentitiesMN 62 #define maxCellPrep 32 +#define maxAI_DCI_PayloadSize_r16 128 +#define maxAI_DCI_PayloadSize_r16_1 127 #define maxBandComb 65536 +#define maxBandsUTRA_FDD_r16 64 +#define maxBH_RLC_ChannelID_r16 65536 +#define maxBT_IdReport_r16 32 +#define maxBT_Name_r16 4 +#define maxCAG_Cell_r16 16 +#define maxCBR_Config_r16 8 +#define maxCBR_Config_1_r16 7 +#define maxCBR_Level_r16 16 +#define maxCBR_Level_1_r16 15 #define maxCellBlack 16 +#define maxCellHistory_r16 16 #define maxCellInter 16 #define maxCellIntra 16 #define maxCellMeasEUTRA 32 +#define maxCellMeasIdle_r16 8 +#define maxCellMeasUTRA_FDD_r16 32 +#define maxCellWhite 16 #define maxEARFCN 262143 #define maxEUTRA_CellBlack 16 #define maxEUTRA_NS_Pmax 8 +#define maxLogMeasReport_r16 520 #define maxMultiBands 8 #define maxNARFCN 3279165 #define maxNR_NS_Pmax 8 +#define maxFreqIdle_r16 8 #define maxNrofServingCells 32 #define maxNrofServingCells_1 31 #define maxNrofAggregatedCellsPerCellGroup 16 +#define maxNrofDUCells_r16 512 +#define maxNrofAssociatedDUCellsPerMT_r16 65535 +#define maxNrofAvailabilityCombinationsPerSet_r16 512 +#define maxNrofAvailabilityCombinationsPerSet_r16_1 511 #define maxNrofSCells 31 #define maxNrofCellMeas 32 +#define maxNrofCG_SL_r16 8 +#define maxNrofCG_SL_r16_1 7 #define maxNrofSS_BlocksToAverage 16 +#define maxNrofCondCells_r16 8 #define maxNrofCSI_RS_ResourcesToAverage 16 #define maxNrofDL_Allocations 16 #define maxNrofSR_ConfigPerCellGroup 8 #define maxLCG_ID 7 #define maxLC_ID 32 +#define maxLC_ID_Iab_r16 65536 +#define maxLTE_CRS_Patterns_r16 3 #define maxNrofTAGs 4 #define maxNrofTAGs_1 3 #define maxNrofBWPs 4 @@ -103,11 +131,15 @@ extern int proto_mac_nr; #define maxNrofPhysicalResourceBlocks 275 #define maxNrofPhysicalResourceBlocks_1 274 #define maxNrofPhysicalResourceBlocksPlus1 276 +#define maxNrofControlResourceSets 12 #define maxNrofControlResourceSets_1 11 +#define maxNrofControlResourceSets_1_r16 15 +#define maxNrofCoresetPools_r16 2 #define maxCoReSetDuration 3 #define maxNrofSearchSpaces_1 39 #define maxSFI_DCI_PayloadSize 128 #define maxSFI_DCI_PayloadSize_1 127 +#define maxIAB_IP_Address_r16 32 #define maxINT_DCI_PayloadSize 126 #define maxINT_DCI_PayloadSize_1 125 #define maxNrofRateMatchPatterns 4 @@ -144,6 +176,16 @@ extern int proto_mac_nr; #define maxNrofCSI_SSB_ResourceSetsPerConfig 1 #define maxNrofFailureDetectionResources 10 #define maxNrofFailureDetectionResources_1 9 +#define maxNrofFreqSL_r16 8 +#define maxNrofSL_BWPs_r16 4 +#define maxFreqSL_EUTRA_r16 8 +#define maxNrofSL_MeasId_r16 64 +#define maxNrofSL_ObjectId_r16 64 +#define maxNrofSL_ReportConfigId_r16 64 +#define maxNrofSL_PoolToMeasureNR_r16 8 +#define maxFreqSL_NR_r16 8 +#define maxNrofSL_QFIs_r16 2048 +#define maxNrofSL_QFIsPerDest_r16 64 #define maxNrofObjectId 64 #define maxNrofPageRec 32 #define maxNrofPCI_Ranges 8 @@ -153,17 +195,33 @@ extern int proto_mac_nr; #define maxNrofMeasId 64 #define maxNrofQuantityConfig 2 #define maxNrofCSI_RS_CellsRRM 96 +#define maxNrofSL_Dest_r16 32 +#define maxNrofSL_Dest_1_r16 31 +#define maxNrofSLRB_r16 512 +#define maxSL_LCID_r16 512 +#define maxSL_SyncConfig_r16 16 +#define maxNrofRXPool_r16 16 +#define maxNrofTXPool_r16 8 +#define maxNrofPoolID_r16 16 +#define maxNrofSRS_PathlossReferenceRS_r16 64 +#define maxNrofSRS_PathlossReferenceRS_1_r16 63 #define maxNrofSRS_ResourceSets 16 #define maxNrofSRS_ResourceSets_1 15 +#define maxNrofSRS_PosResourceSets_r16 16 +#define maxNrofSRS_PosResourceSets_1_r16 15 #define maxNrofSRS_Resources 64 #define maxNrofSRS_Resources_1 63 +#define maxNrofSRS_PosResources_r16 64 +#define maxNrofSRS_PosResources_1_r16 63 #define maxNrofSRS_ResourcesPerSet 16 #define maxNrofSRS_TriggerStates_1 3 #define maxNrofSRS_TriggerStates_2 2 #define maxRAT_CapabilityContainers 8 #define maxSimultaneousBands 32 +#define maxULTxSwitchingBandPairs 32 #define maxNrofSlotFormatCombinationsPerSet 512 #define maxNrofSlotFormatCombinationsPerSet_1 511 +#define maxNrofTrafficPattern_r16 8 #define maxNrofPUCCH_Resources 128 #define maxNrofPUCCH_Resources_1 127 #define maxNrofPUCCH_ResourceSets 4 @@ -172,10 +230,19 @@ extern int proto_mac_nr; #define maxNrofPUCCH_P0_PerSet 8 #define maxNrofPUCCH_PathlossReferenceRSs 4 #define maxNrofPUCCH_PathlossReferenceRSs_1 3 +#define maxNrofPUCCH_PathlossReferenceRSs_r16 64 +#define maxNrofPUCCH_PathlossReferenceRSs_1_r16 63 +#define maxNrofPUCCH_PathlossReferenceRSsDiff_r16 60 +#define maxNrofPUCCH_ResourceGroups_r16 4 +#define maxNrofPUCCH_ResourcesPerGroup_r16 128 +#define maxNrofMultiplePUSCHs_r16 8 #define maxNrofP0_PUSCH_AlphaSets 30 #define maxNrofP0_PUSCH_AlphaSets_1 29 #define maxNrofPUSCH_PathlossReferenceRSs 4 #define maxNrofPUSCH_PathlossReferenceRSs_1 3 +#define maxNrofPUSCH_PathlossReferenceRSs_r16 64 +#define maxNrofPUSCH_PathlossReferenceRSs_1_r16 63 +#define maxNrofPUSCH_PathlossReferenceRSsDiff_r16 60 #define maxNrofNAICS_Entries 8 #define maxBands 1024 #define maxBandsMRDC 1280 @@ -183,16 +250,26 @@ extern int proto_mac_nr; #define maxCellReport 8 #define maxDRB 29 #define maxFreq 8 +#define maxFreqLayers 4 +#define maxFreqIDC_r16 128 +#define maxCombIDC_r16 128 #define maxFreqIDC_MRDC 32 #define maxNrofCandidateBeams 16 +#define maxNrofCandidateBeams_r16 64 +#define maxNrofCandidateBeamsExt_r16 48 #define maxNrofPCIsPerSMTC 64 #define maxNrofQFIs 64 +#define maxNrofResourceAvailabilityPerCombination_r16 256 #define maxNrOfSemiPersistentPUSCH_Triggers 64 #define maxNrofSR_Resources 8 #define maxNrofSlotFormatsPerCombination 256 #define maxNrofSpatialRelationInfos 8 +#define maxNrofSpatialRelationInfos_plus_1 9 +#define maxNrofSpatialRelationInfos_r16 64 +#define maxNrofSpatialRelationInfosDiff_r16 56 #define maxNrofIndexesToReport 32 #define maxNrofIndexesToReport2 64 +#define maxNrofSSBs_r16 64 #define maxNrofSSBs_1 63 #define maxNrofS_NSSAI 8 #define maxNrofTCI_StatesPDCCH 64 @@ -213,6 +290,8 @@ extern int proto_mac_nr; #define maxReportConfigId 64 #define maxNrofCodebooks 16 #define maxNrofCSI_RS_Resources 7 +#define maxNrofCSI_RS_ResourcesAlt_r16 512 +#define maxNrofCSI_RS_ResourcesAlt_1_r16 511 #define maxNrofSRI_PUSCH_Mappings 16 #define maxNrofSRI_PUSCH_Mappings_1 15 #define maxSIB 32 @@ -231,23 +310,57 @@ extern int proto_mac_nr; #define maxPerCC_FeatureSets 1024 #define maxFeatureSetCombinations 1024 #define maxInterRAT_RSTD_Freq 3 +#define maxHRNN_Len_r16 48 +#define maxNPN_r16 12 +#define maxNrOfMinSchedulingOffsetValues_r16 2 +#define maxK0_SchedulingOffset_r16 16 +#define maxK2_SchedulingOffset_r16 16 +#define maxDCI_2_6_Size_r16 140 +#define maxDCI_2_6_Size_1_r16 139 +#define maxNrofUL_Allocations_r16 64 +#define maxNrofP0_PUSCH_Set_r16 2 +#define maxOnDemandSIB_r16 8 +#define maxOnDemandPosSIB_r16 32 +#define maxCI_DCI_PayloadSize_r16 126 +#define maxCI_DCI_PayloadSize_r16_1 125 +#define maxWLAN_Id_Report_r16 32 +#define maxWLAN_Name_r16 4 +#define maxRAReport_r16 8 +#define maxTxConfig_r16 64 +#define maxTxConfig_1_r16 63 +#define maxPSSCH_TxConfig_r16 16 +#define maxNrofCLI_RSSI_Resources_r16 64 +#define maxNrofCLI_RSSI_Resources_r16_1 63 +#define maxNrofCLI_SRS_Resources_r16 32 +#define maxCLI_Report_r16 8 +#define maxNrofConfiguredGrantConfig_r16 12 +#define maxNrofConfiguredGrantConfig_r16_1 11 +#define maxNrofCG_Type2DeactivationState 16 +#define maxNrofConfiguredGrantConfigMAC_r16 32 +#define maxNrofConfiguredGrantConfigMAC_r16_1 31 +#define maxNrofSPS_Config_r16 8 +#define maxNrofSPS_Config_r16_1 7 +#define maxNrofSPS_DeactivationState 16 +#define maxNrofDormancyGroups 5 +#define maxNrofPUCCH_ResourceGroups_1_r16 3 +#define maxNrofServingCellsTCI_r16 32 typedef enum _RAT_Type_enum { RAT_Type_nr = 0, RAT_Type_eutra_nr = 1, RAT_Type_eutra = 2, - RAT_Type_spare1 = 3 + RAT_Type_utra_fdd_v1610 = 3 } RAT_Type_enum; typedef enum _T_targetRAT_Type_enum { T_targetRAT_Type_eutra = 0, - T_targetRAT_Type_spare3 = 1, + T_targetRAT_Type_utra_fdd_v1610 = 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 60 "./asn1/nr-rrc/packet-nr-rrc-template.c" +#line 62 "./asn1/nr-rrc/packet-nr-rrc-template.c" /* Initialize the protocol and registered fields */ static int proto_nr_rrc = -1; @@ -279,6 +392,7 @@ static int hf_nr_rrc_nr_rrc_MIB_PDU = -1; /* MIB */ static int hf_nr_rrc_nr_rrc_RRCReconfiguration_PDU = -1; /* RRCReconfiguration */ static int hf_nr_rrc_nr_rrc_RRCReconfigurationComplete_PDU = -1; /* RRCReconfigurationComplete */ static int hf_nr_rrc_nr_rrc_SIB1_PDU = -1; /* SIB1 */ +static int hf_nr_rrc_nr_rrc_SidelinkUEInformationNR_r16_PDU = -1; /* SidelinkUEInformationNR_r16 */ static int hf_nr_rrc_nr_rrc_UEAssistanceInformation_PDU = -1; /* UEAssistanceInformation */ static int hf_nr_rrc_nr_rrc_SIB2_PDU = -1; /* SIB2 */ static int hf_nr_rrc_nr_rrc_SIB3_PDU = -1; /* SIB3 */ @@ -297,14 +411,23 @@ static int hf_nr_rrc_nr_rrc_MeasResultSCG_Failure_PDU = -1; /* MeasResultSCG_Fa static int hf_nr_rrc_nr_rrc_P_Max_PDU = -1; /* P_Max */ static int hf_nr_rrc_nr_rrc_RadioBearerConfig_PDU = -1; /* RadioBearerConfig */ static int hf_nr_rrc_nr_rrc_UplinkTxDirectCurrentList_PDU = -1; /* UplinkTxDirectCurrentList */ +static int hf_nr_rrc_nr_rrc_SupportedBandCombinationListSidelink_r16_PDU = -1; /* SupportedBandCombinationListSidelink_r16 */ +static int hf_nr_rrc_nr_rrc_BandParametersSidelink_r16_PDU = -1; /* BandParametersSidelink_r16 */ static int hf_nr_rrc_nr_rrc_FreqBandList_PDU = -1; /* FreqBandList */ +static int hf_nr_rrc_nr_rrc_SidelinkParametersNR_r16_PDU = -1; /* SidelinkParametersNR_r16 */ static int hf_nr_rrc_nr_rrc_UE_CapabilityRAT_ContainerList_PDU = -1; /* UE_CapabilityRAT_ContainerList */ static int hf_nr_rrc_nr_rrc_UE_CapabilityRequestFilterCommon_PDU = -1; /* UE_CapabilityRequestFilterCommon */ static int hf_nr_rrc_nr_rrc_UE_CapabilityRequestFilterNR_PDU = -1; /* UE_CapabilityRequestFilterNR */ static int hf_nr_rrc_nr_rrc_UE_MRDC_Capability_PDU = -1; /* UE_MRDC_Capability */ static int hf_nr_rrc_nr_rrc_UE_NR_Capability_PDU = -1; /* UE_NR_Capability */ +static int hf_nr_rrc_nr_rrc_SL_CBR_r16_PDU = -1; /* SL_CBR_r16 */ +static int hf_nr_rrc_SBCCH_SL_BCH_Message_PDU = -1; /* SBCCH_SL_BCH_Message */ +static int hf_nr_rrc_SCCH_Message_PDU = -1; /* SCCH_Message */ +static int hf_nr_rrc_UECapabilityInformationSidelink_PDU = -1; /* UECapabilityInformationSidelink */ static int hf_nr_rrc_MeasResultList2NR_PDU = -1; /* MeasResultList2NR */ +static int hf_nr_rrc_OverheatingAssistance_PDU = -1; /* OverheatingAssistance */ static int hf_nr_rrc_SystemInformation_PDU = -1; /* SystemInformation */ +static int hf_nr_rrc_PosSystemInformation_r16_IEs_PDU = -1; /* PosSystemInformation_r16_IEs */ static int hf_nr_rrc_UECapabilityEnquiry_v1560_IEs_PDU = -1; /* UECapabilityEnquiry_v1560_IEs */ static int hf_nr_rrc_criticalExtensions = -1; /* T_criticalExtensions */ static int hf_nr_rrc_c1 = -1; /* T_c1 */ @@ -334,6 +457,16 @@ static int hf_nr_rrc_configRestrictInfo = -1; /* ConfigRestrictInfoSCG */ static int hf_nr_rrc_ran_NotificationAreaInfo = -1; /* RAN_NotificationAreaInfo */ static int hf_nr_rrc_ueAssistanceInformation = -1; /* T_ueAssistanceInformation */ static int hf_nr_rrc_selectedBandCombinationSN = -1; /* BandCombinationInfoSN */ +static int hf_nr_rrc_configRestrictInfoDAPS_r16 = -1; /* ConfigRestrictInfoDAPS_r16 */ +static int hf_nr_rrc_sidelinkUEInformationNR_r16 = -1; /* T_sidelinkUEInformationNR_r16 */ +static int hf_nr_rrc_sidelinkUEInformationEUTRA_r16 = -1; /* T_sidelinkUEInformationEUTRA_r16 */ +static int hf_nr_rrc_ueAssistanceInformationEUTRA_r16 = -1; /* T_ueAssistanceInformationEUTRA_r16 */ +static int hf_nr_rrc_ueAssistanceInformationSCG_r16 = -1; /* T_ueAssistanceInformationSCG_r16 */ +static int hf_nr_rrc_needForGapsInfoNR_r16 = -1; /* NeedForGapsInfoNR_r16 */ +static int hf_nr_rrc_powerCoordination_r16 = -1; /* T_powerCoordination_r16 */ +static int hf_nr_rrc_p_DAPS_Source_r16 = -1; /* P_Max */ +static int hf_nr_rrc_p_DAPS_Target_r16 = -1; /* P_Max */ +static int hf_nr_rrc_uplinkPowerSharingDAPS_Mode_r16 = -1; /* T_uplinkPowerSharingDAPS_Mode_r16 */ 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 */ @@ -380,7 +513,9 @@ static int hf_nr_rrc_scellFrequenciesSN_NR = -1; /* SEQUENCE_SIZE_1_maxNrofServ static int hf_nr_rrc_scellFrequenciesSN_NR_item = -1; /* ARFCN_ValueNR */ static int hf_nr_rrc_scellFrequenciesSN_EUTRA = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueEUTRA */ static int hf_nr_rrc_scellFrequenciesSN_EUTRA_item = -1; /* ARFCN_ValueEUTRA */ -static int hf_nr_rrc_nonCriticalExtension_05 = -1; /* T_nonCriticalExtension_02 */ +static int hf_nr_rrc_nonCriticalExtension_05 = -1; /* CG_Config_v1610_IEs */ +static int hf_nr_rrc_drx_InfoSCG2 = -1; /* DRX_Info2 */ +static int hf_nr_rrc_nonCriticalExtension_06 = -1; /* T_nonCriticalExtension_02 */ static int hf_nr_rrc_PH_TypeListSCG_item = -1; /* PH_InfoSCG */ static int hf_nr_rrc_servCellIndex = -1; /* ServCellIndex */ static int hf_nr_rrc_ph_Uplink = -1; /* PH_UplinkCarrierSCG */ @@ -393,6 +528,9 @@ static int hf_nr_rrc_requestedBC_MRDC = -1; /* BandCombinationInfoSN */ static int hf_nr_rrc_requestedP_MaxFR1 = -1; /* P_Max */ static int hf_nr_rrc_requestedPDCCH_BlindDetectionSCG = -1; /* INTEGER_1_15 */ static int hf_nr_rrc_requestedP_MaxEUTRA = -1; /* P_Max */ +static int hf_nr_rrc_requestedP_MaxFR2_r16 = -1; /* P_Max */ +static int hf_nr_rrc_requestedMaxInterFreqMeasIdSCG_r16 = -1; /* INTEGER_1_maxMeasIdentitiesMN */ +static int hf_nr_rrc_requestedMaxIntraFreqMeasIdSCG_r16 = -1; /* INTEGER_1_maxMeasIdentitiesMN */ 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 */ @@ -416,29 +554,40 @@ 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_06 = -1; /* CG_ConfigInfo_v1540_IEs */ +static int hf_nr_rrc_nonCriticalExtension_07 = -1; /* CG_ConfigInfo_v1540_IEs */ static int hf_nr_rrc_ph_InfoMCG = -1; /* PH_TypeListMCG */ static int hf_nr_rrc_measResultReportCGI = -1; /* T_measResultReportCGI */ static int hf_nr_rrc_cgi_Info = -1; /* CGI_InfoNR */ -static int hf_nr_rrc_nonCriticalExtension_07 = -1; /* CG_ConfigInfo_v1560_IEs */ +static int hf_nr_rrc_nonCriticalExtension_08 = -1; /* CG_ConfigInfo_v1560_IEs */ static int hf_nr_rrc_candidateCellInfoListMN_EUTRA = -1; /* T_candidateCellInfoListMN_EUTRA */ static int hf_nr_rrc_candidateCellInfoListSN_EUTRA_02 = -1; /* T_candidateCellInfoListSN_EUTRA_01 */ static int hf_nr_rrc_sourceConfigSCG_EUTRA = -1; /* T_sourceConfigSCG_EUTRA */ static int hf_nr_rrc_scgFailureInfoEUTRA = -1; /* T_scgFailureInfoEUTRA */ static int hf_nr_rrc_failureTypeEUTRA = -1; /* T_failureTypeEUTRA */ -static int hf_nr_rrc_measResultSCG_EUTRA = -1; /* OCTET_STRING */ +static int hf_nr_rrc_measResultSCG_EUTRA = -1; /* T_measResultSCG_EUTRA */ static int hf_nr_rrc_drx_ConfigMCG = -1; /* DRX_Config */ static int hf_nr_rrc_measResultReportCGI_EUTRA = -1; /* T_measResultReportCGI_EUTRA */ static int hf_nr_rrc_cgi_InfoEUTRA = -1; /* CGI_InfoEUTRA */ static int hf_nr_rrc_measResultCellListSFTD_EUTRA = -1; /* MeasResultCellListSFTD_EUTRA */ static int hf_nr_rrc_fr_InfoListMCG = -1; /* FR_InfoList */ -static int hf_nr_rrc_nonCriticalExtension_08 = -1; /* CG_ConfigInfo_v1570_IEs */ +static int hf_nr_rrc_nonCriticalExtension_09 = -1; /* CG_ConfigInfo_v1570_IEs */ static int hf_nr_rrc_sftdFrequencyList_NR = -1; /* SFTD_FrequencyList_NR */ static int hf_nr_rrc_sftdFrequencyList_EUTRA = -1; /* SFTD_FrequencyList_EUTRA */ -static int hf_nr_rrc_nonCriticalExtension_09 = -1; /* CG_ConfigInfo_v1590_IEs */ +static int hf_nr_rrc_nonCriticalExtension_10 = -1; /* CG_ConfigInfo_v1590_IEs */ static int hf_nr_rrc_servFrequenciesMN_NR = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueNR */ static int hf_nr_rrc_servFrequenciesMN_NR_item = -1; /* ARFCN_ValueNR */ -static int hf_nr_rrc_nonCriticalExtension_10 = -1; /* T_nonCriticalExtension_03 */ +static int hf_nr_rrc_nonCriticalExtension_11 = -1; /* CG_ConfigInfo_v1610_IEs */ +static int hf_nr_rrc_drx_InfoMCG2 = -1; /* DRX_Info2 */ +static int hf_nr_rrc_alignedDRX_Indication = -1; /* T_alignedDRX_Indication */ +static int hf_nr_rrc_scgFailureInfo_r16 = -1; /* T_scgFailureInfo_r16 */ +static int hf_nr_rrc_failureType_r16 = -1; /* T_failureType_r16 */ +static int hf_nr_rrc_measResultSCG_r16 = -1; /* T_measResultSCG_r16 */ +static int hf_nr_rrc_scgFailureInfoEUTRA_r16 = -1; /* T_scgFailureInfoEUTRA_r16 */ +static int hf_nr_rrc_failureTypeEUTRA_r16 = -1; /* T_failureTypeEUTRA_r16 */ +static int hf_nr_rrc_measResultSCG_EUTRA_r16 = -1; /* T_measResultSCG_EUTRA_r16 */ +static int hf_nr_rrc_sidelinkUEInformationNR_r16_01 = -1; /* T_sidelinkUEInformationNR_r16_01 */ +static int hf_nr_rrc_sidelinkUEInformationEUTRA_r16_01 = -1; /* OCTET_STRING */ +static int hf_nr_rrc_nonCriticalExtension_12 = -1; /* T_nonCriticalExtension_03 */ static int hf_nr_rrc_SFTD_FrequencyList_NR_item = -1; /* ARFCN_ValueNR */ static int hf_nr_rrc_SFTD_FrequencyList_EUTRA_item = -1; /* ARFCN_ValueEUTRA */ static int hf_nr_rrc_allowedBC_ListMRDC = -1; /* BandCombinationInfoList */ @@ -457,6 +606,17 @@ static int hf_nr_rrc_pdcch_BlindDetectionSCG = -1; /* INTEGER_1_15 */ static int hf_nr_rrc_maxNumberROHC_ContextSessionsSN = -1; /* INTEGER_0_16384 */ static int hf_nr_rrc_maxIntraFreqMeasIdentitiesSCG = -1; /* INTEGER_1_maxMeasIdentitiesMN */ static int hf_nr_rrc_maxInterFreqMeasIdentitiesSCG = -1; /* INTEGER_1_maxMeasIdentitiesMN */ +static int hf_nr_rrc_p_maxNR_FR1_MCG_r16 = -1; /* P_Max */ +static int hf_nr_rrc_powerCoordination_FR2_r16 = -1; /* T_powerCoordination_FR2_r16 */ +static int hf_nr_rrc_p_maxNR_FR2_MCG_r16 = -1; /* P_Max */ +static int hf_nr_rrc_p_maxNR_FR2_SCG_r16 = -1; /* P_Max */ +static int hf_nr_rrc_p_maxUE_FR2_r16 = -1; /* P_Max */ +static int hf_nr_rrc_nrdc_PC_mode_FR1_r16 = -1; /* T_nrdc_PC_mode_FR1_r16 */ +static int hf_nr_rrc_nrdc_PC_mode_FR2_r16 = -1; /* T_nrdc_PC_mode_FR2_r16 */ +static int hf_nr_rrc_maxMeasSRS_ResourceSCG_r16 = -1; /* INTEGER_0_maxNrofCLI_SRS_Resources_r16 */ +static int hf_nr_rrc_maxMeasCLI_ResourceSCG_r16 = -1; /* INTEGER_0_maxNrofCLI_RSSI_Resources_r16 */ +static int hf_nr_rrc_maxNumberEHC_ContextsSN_r16 = -1; /* INTEGER_0_65536 */ +static int hf_nr_rrc_allowedReducedConfigForOverheating_r16 = -1; /* OverheatingAssistance */ static int hf_nr_rrc_SelectedBandEntriesMN_item = -1; /* BandEntryIndex */ static int hf_nr_rrc_PH_TypeListMCG_item = -1; /* PH_InfoMCG */ static int hf_nr_rrc_ph_Uplink_01 = -1; /* PH_UplinkCarrierMCG */ @@ -489,6 +649,9 @@ static int hf_nr_rrc_ms10240 = -1; /* INTEGER_0_10239 */ static int hf_nr_rrc_shortDRX = -1; /* T_shortDRX */ static int hf_nr_rrc_drx_ShortCycle = -1; /* T_drx_ShortCycle */ static int hf_nr_rrc_drx_ShortCycleTimer = -1; /* INTEGER_1_16 */ +static int hf_nr_rrc_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_measuredFrequenciesMN = -1; /* SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo */ static int hf_nr_rrc_measuredFrequenciesMN_item = -1; /* NR_FreqInfo */ static int hf_nr_rrc_measGapConfig = -1; /* T_measGapConfig */ @@ -498,6 +661,7 @@ static int hf_nr_rrc_gapPurpose = -1; /* T_gapPurpose */ static int hf_nr_rrc_measGapConfigFR2 = -1; /* T_measGapConfigFR2 */ static int hf_nr_rrc_affectedCarrierFreqCombInfoListMRDC = -1; /* SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC */ static int hf_nr_rrc_affectedCarrierFreqCombInfoListMRDC_item = -1; /* AffectedCarrierFreqCombInfoMRDC */ +static int hf_nr_rrc_overheatingAssistanceSCG_r16 = -1; /* T_overheatingAssistanceSCG_r16 */ 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 */ @@ -516,10 +680,15 @@ static int hf_nr_rrc_c1_04 = -1; /* T_c1_04 */ static int hf_nr_rrc_measTimingConf = -1; /* MeasurementTimingConfiguration_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_04 = -1; /* T_criticalExtensionsFuture_04 */ static int hf_nr_rrc_measTiming = -1; /* MeasTimingList */ -static int hf_nr_rrc_nonCriticalExtension_11 = -1; /* MeasurementTimingConfiguration_v1550_IEs */ +static int hf_nr_rrc_nonCriticalExtension_13 = -1; /* MeasurementTimingConfiguration_v1550_IEs */ static int hf_nr_rrc_campOnFirstSSB = -1; /* BOOLEAN */ static int hf_nr_rrc_psCellOnlyOnFirstSSB = -1; /* BOOLEAN */ -static int hf_nr_rrc_nonCriticalExtension_12 = -1; /* T_nonCriticalExtension_04 */ +static int hf_nr_rrc_nonCriticalExtension_14 = -1; /* MeasurementTimingConfiguration_v1610_IEs */ +static int hf_nr_rrc_csi_RS_Config_r16 = -1; /* T_csi_RS_Config_r16 */ +static int hf_nr_rrc_csi_RS_SubcarrierSpacing_r16 = -1; /* SubcarrierSpacing */ +static int hf_nr_rrc_csi_RS_CellMobility_r16 = -1; /* CSI_RS_CellMobility */ +static int hf_nr_rrc_refSSBFreq_r16 = -1; /* ARFCN_ValueNR */ +static int hf_nr_rrc_nonCriticalExtension_15 = -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 */ @@ -538,13 +707,13 @@ static int hf_nr_rrc_spare4 = -1; /* NULL */ static int hf_nr_rrc_criticalExtensionsFuture_05 = -1; /* T_criticalExtensionsFuture_05 */ static int hf_nr_rrc_supportedBandListNRForPaging = -1; /* SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR */ static int hf_nr_rrc_supportedBandListNRForPaging_item = -1; /* FreqBandIndicatorNR */ -static int hf_nr_rrc_nonCriticalExtension_13 = -1; /* T_nonCriticalExtension_05 */ +static int hf_nr_rrc_nonCriticalExtension_16 = -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_14 = -1; /* T_nonCriticalExtension_06 */ +static int hf_nr_rrc_nonCriticalExtension_17 = -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 */ @@ -569,6 +738,10 @@ 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_dlDedicatedMessageSegment_r16 = -1; /* DLDedicatedMessageSegment_r16 */ +static int hf_nr_rrc_ueInformationRequest_r16 = -1; /* UEInformationRequest_r16 */ +static int hf_nr_rrc_dlInformationTransferMRDC_r16 = -1; /* DLInformationTransferMRDC_r16 */ +static int hf_nr_rrc_loggedMeasurementConfiguration_r16 = -1; /* LoggedMeasurementConfiguration_r16 */ 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 */ @@ -604,13 +777,24 @@ static int hf_nr_rrc_ulInformationTransferMRDC = -1; /* ULInformationTransferMR static int hf_nr_rrc_scgFailureInformation = -1; /* SCGFailureInformation */ static int hf_nr_rrc_scgFailureInformationEUTRA = -1; /* SCGFailureInformationEUTRA */ static int hf_nr_rrc_messageClassExtension_07 = -1; /* T_messageClassExtension_07 */ +static int hf_nr_rrc_c2 = -1; /* T_c2 */ +static int hf_nr_rrc_ulDedicatedMessageSegment_r16 = -1; /* ULDedicatedMessageSegment_r16 */ +static int hf_nr_rrc_dedicatedSIBRequest_r16 = -1; /* DedicatedSIBRequest_r16 */ +static int hf_nr_rrc_mcgFailureInformation_r16 = -1; /* MCGFailureInformation_r16 */ +static int hf_nr_rrc_ueInformationResponse_r16 = -1; /* UEInformationResponse_r16 */ +static int hf_nr_rrc_sidelinkUEInformationNR_r16_02 = -1; /* SidelinkUEInformationNR_r16 */ +static int hf_nr_rrc_ulInformationTransferIRAT_r16 = -1; /* ULInformationTransferIRAT_r16 */ +static int hf_nr_rrc_iabOtherInformation_r16 = -1; /* IABOtherInformation_r16 */ +static int hf_nr_rrc_spare9 = -1; /* NULL */ +static int hf_nr_rrc_spare8 = -1; /* NULL */ +static int hf_nr_rrc_messageClassExtensionFuture_r16 = -1; /* T_messageClassExtensionFuture_r16 */ 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_15 = -1; /* T_nonCriticalExtension_07 */ +static int hf_nr_rrc_nonCriticalExtension_18 = -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 */ @@ -619,34 +803,142 @@ 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_16 = -1; /* T_nonCriticalExtension_08 */ +static int hf_nr_rrc_nonCriticalExtension_19 = -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_dedicatedSIBRequest_r16_01 = -1; /* DedicatedSIBRequest_r16_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_17 = -1; /* T_nonCriticalExtension_09 */ +static int hf_nr_rrc_onDemandSIB_RequestList_r16 = -1; /* T_onDemandSIB_RequestList_r16 */ +static int hf_nr_rrc_requestedSIB_List_r16 = -1; /* SEQUENCE_SIZE_1_maxOnDemandSIB_r16_OF_SIB_ReqInfo_r16 */ +static int hf_nr_rrc_requestedSIB_List_r16_item = -1; /* SIB_ReqInfo_r16 */ +static int hf_nr_rrc_requestedPosSIB_List_r16 = -1; /* SEQUENCE_SIZE_1_maxOnDemandPosSIB_r16_OF_PosSIB_ReqInfo_r16 */ +static int hf_nr_rrc_requestedPosSIB_List_r16_item = -1; /* PosSIB_ReqInfo_r16 */ +static int hf_nr_rrc_nonCriticalExtension_20 = -1; /* T_nonCriticalExtension_09 */ +static int hf_nr_rrc_gnss_id_r16 = -1; /* GNSS_ID_r16 */ +static int hf_nr_rrc_sbas_id_r16 = -1; /* SBAS_ID_r16 */ +static int hf_nr_rrc_posSibType_r16 = -1; /* T_posSibType_r16 */ static int hf_nr_rrc_criticalExtensions_10 = -1; /* T_criticalExtensions_10 */ -static int hf_nr_rrc_failureInformation_01 = -1; /* FailureInformation_IEs */ +static int hf_nr_rrc_dlDedicatedMessageSegment_r16_01 = -1; /* DLDedicatedMessageSegment_r16_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_10 = -1; /* T_criticalExtensionsFuture_10 */ +static int hf_nr_rrc_segmentNumber_r16 = -1; /* INTEGER_0_4 */ +static int hf_nr_rrc_rrc_MessageSegmentContainer_r16 = -1; /* OCTET_STRING */ +static int hf_nr_rrc_rrc_MessageSegmentType_r16 = -1; /* T_rrc_MessageSegmentType_r16 */ +static int hf_nr_rrc_nonCriticalExtension_21 = -1; /* T_nonCriticalExtension_10 */ +static int hf_nr_rrc_criticalExtensions_11 = -1; /* T_criticalExtensions_11 */ +static int hf_nr_rrc_dlInformationTransfer_01 = -1; /* DLInformationTransfer_IEs */ +static int hf_nr_rrc_criticalExtensionsFuture_11 = -1; /* T_criticalExtensionsFuture_11 */ +static int hf_nr_rrc_dedicatedNAS_Message = -1; /* DedicatedNAS_Message */ +static int hf_nr_rrc_nonCriticalExtension_22 = -1; /* DLInformationTransfer_v1610_IEs */ +static int hf_nr_rrc_referenceTimeInfo_r16 = -1; /* ReferenceTimeInfo_r16 */ +static int hf_nr_rrc_nonCriticalExtension_23 = -1; /* T_nonCriticalExtension_11 */ +static int hf_nr_rrc_criticalExtensions_12 = -1; /* T_criticalExtensions_12 */ +static int hf_nr_rrc_c1_14 = -1; /* T_c1_14 */ +static int hf_nr_rrc_dlInformationTransferMRDC_r16_01 = -1; /* DLInformationTransferMRDC_r16_IEs */ +static int hf_nr_rrc_criticalExtensionsFuture_12 = -1; /* T_criticalExtensionsFuture_12 */ +static int hf_nr_rrc_dl_DCCH_MessageNR_r16 = -1; /* T_dl_DCCH_MessageNR_r16 */ +static int hf_nr_rrc_dl_DCCH_MessageEUTRA_r16 = -1; /* T_dl_DCCH_MessageEUTRA_r16 */ +static int hf_nr_rrc_nonCriticalExtension_24 = -1; /* T_nonCriticalExtension_12 */ +static int hf_nr_rrc_criticalExtensions_13 = -1; /* T_criticalExtensions_13 */ +static int hf_nr_rrc_failureInformation_01 = -1; /* FailureInformation_IEs */ +static int hf_nr_rrc_criticalExtensionsFuture_13 = -1; /* T_criticalExtensionsFuture_13 */ static int hf_nr_rrc_failureInfoRLC_Bearer = -1; /* FailureInfoRLC_Bearer */ -static int hf_nr_rrc_nonCriticalExtension_18 = -1; /* T_nonCriticalExtension_10 */ +static int hf_nr_rrc_nonCriticalExtension_25 = -1; /* FailureInformation_v1610_IEs */ static int hf_nr_rrc_cellGroupId = -1; /* CellGroupId */ static int hf_nr_rrc_logicalChannelIdentity = -1; /* LogicalChannelIdentity */ static int hf_nr_rrc_failureType_01 = -1; /* T_failureType_01 */ -static int hf_nr_rrc_criticalExtensions_11 = -1; /* T_criticalExtensions_11 */ +static int hf_nr_rrc_failureInfoDAPS_r16 = -1; /* FailureInfoDAPS_r16 */ +static int hf_nr_rrc_nonCriticalExtension_26 = -1; /* T_nonCriticalExtension_13 */ +static int hf_nr_rrc_failureType_r16_01 = -1; /* T_failureType_r16_01 */ +static int hf_nr_rrc_criticalExtensions_14 = -1; /* T_criticalExtensions_14 */ +static int hf_nr_rrc_iabOtherInformation_r16_01 = -1; /* IABOtherInformation_r16_IEs */ +static int hf_nr_rrc_criticalExtensionsFuture_14 = -1; /* T_criticalExtensionsFuture_14 */ +static int hf_nr_rrc_ip_InfoType = -1; /* T_ip_InfoType */ +static int hf_nr_rrc_iab_IP_Request_r16 = -1; /* T_iab_IP_Request_r16 */ +static int hf_nr_rrc_iab_IPv4_AddressNumReq_r16 = -1; /* IAB_IPAddressNumReq_r16 */ +static int hf_nr_rrc_iab_IPv6_AddressReq_r16 = -1; /* T_iab_IPv6_AddressReq_r16 */ +static int hf_nr_rrc_iab_IPv6_AddressNumReq_r16 = -1; /* IAB_IPAddressNumReq_r16 */ +static int hf_nr_rrc_iab_IPv6_AddressPrefixReq_r16 = -1; /* IAB_IPAddressPrefixReq_r16 */ +static int hf_nr_rrc_iab_IP_Report_r16 = -1; /* T_iab_IP_Report_r16 */ +static int hf_nr_rrc_iab_IPv4_AddressReport_r16 = -1; /* IAB_IP_AddressAndTraffic_r16 */ +static int hf_nr_rrc_iab_IPv6_Report_r16 = -1; /* T_iab_IPv6_Report_r16 */ +static int hf_nr_rrc_iab_IPv6_AddressReport_r16 = -1; /* IAB_IP_AddressAndTraffic_r16 */ +static int hf_nr_rrc_iab_IPv6_PrefixReport_r16 = -1; /* IAB_IP_PrefixAndTraffic_r16 */ +static int hf_nr_rrc_nonCriticalExtension_27 = -1; /* T_nonCriticalExtension_14 */ +static int hf_nr_rrc_all_Traffic_NumReq_r16 = -1; /* INTEGER_1_8 */ +static int hf_nr_rrc_f1_C_Traffic_NumReq_r16 = -1; /* INTEGER_1_8 */ +static int hf_nr_rrc_f1_U_Traffic_NumReq_r16 = -1; /* INTEGER_1_8 */ +static int hf_nr_rrc_non_F1_Traffic_NumReq_r16 = -1; /* INTEGER_1_8 */ +static int hf_nr_rrc_all_Traffic_PrefixReq_r16 = -1; /* T_all_Traffic_PrefixReq_r16 */ +static int hf_nr_rrc_f1_C_Traffic_PrefixReq_r16 = -1; /* T_f1_C_Traffic_PrefixReq_r16 */ +static int hf_nr_rrc_f1_U_Traffic_PrefixReq_r16 = -1; /* T_f1_U_Traffic_PrefixReq_r16 */ +static int hf_nr_rrc_non_F1_Traffic_PrefixReq_r16 = -1; /* T_non_F1_Traffic_PrefixReq_r16 */ +static int hf_nr_rrc_all_Traffic_IAB_IP_Address_r16 = -1; /* SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16 */ +static int hf_nr_rrc_all_Traffic_IAB_IP_Address_r16_item = -1; /* IAB_IP_Address_r16 */ +static int hf_nr_rrc_f1_C_Traffic_IP_Address_r16 = -1; /* SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16 */ +static int hf_nr_rrc_f1_C_Traffic_IP_Address_r16_item = -1; /* IAB_IP_Address_r16 */ +static int hf_nr_rrc_f1_U_Traffic_IP_Address_r16 = -1; /* SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16 */ +static int hf_nr_rrc_f1_U_Traffic_IP_Address_r16_item = -1; /* IAB_IP_Address_r16 */ +static int hf_nr_rrc_non_F1_Traffic_IP_Address_r16 = -1; /* SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16 */ +static int hf_nr_rrc_non_F1_Traffic_IP_Address_r16_item = -1; /* IAB_IP_Address_r16 */ +static int hf_nr_rrc_all_Traffic_IAB_IP_Address_r16_01 = -1; /* IAB_IP_Address_r16 */ +static int hf_nr_rrc_f1_C_Traffic_IP_Address_r16_01 = -1; /* IAB_IP_Address_r16 */ +static int hf_nr_rrc_f1_U_Traffic_IP_Address_r16_01 = -1; /* IAB_IP_Address_r16 */ +static int hf_nr_rrc_non_F1_Traffic_IP_Address_r16_01 = -1; /* IAB_IP_Address_r16 */ +static int hf_nr_rrc_criticalExtensions_15 = -1; /* T_criticalExtensions_15 */ static int hf_nr_rrc_locationMeasurementIndication_01 = -1; /* LocationMeasurementIndication_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_11 = -1; /* T_criticalExtensionsFuture_11 */ +static int hf_nr_rrc_criticalExtensionsFuture_15 = -1; /* T_criticalExtensionsFuture_15 */ static int hf_nr_rrc_measurementIndication = -1; /* T_measurementIndication */ static int hf_nr_rrc_setup_01 = -1; /* LocationMeasurementInfo */ -static int hf_nr_rrc_nonCriticalExtension_19 = -1; /* T_nonCriticalExtension_11 */ -static int hf_nr_rrc_criticalExtensions_12 = -1; /* T_criticalExtensions_12 */ +static int hf_nr_rrc_nonCriticalExtension_28 = -1; /* T_nonCriticalExtension_15 */ +static int hf_nr_rrc_criticalExtensions_16 = -1; /* T_criticalExtensions_16 */ +static int hf_nr_rrc_loggedMeasurementConfiguration_r16_01 = -1; /* LoggedMeasurementConfiguration_r16_IEs */ +static int hf_nr_rrc_criticalExtensionsFuture_16 = -1; /* T_criticalExtensionsFuture_16 */ +static int hf_nr_rrc_traceReference_r16 = -1; /* TraceReference_r16 */ +static int hf_nr_rrc_traceRecordingSessionRef_r16 = -1; /* OCTET_STRING_SIZE_2 */ +static int hf_nr_rrc_tce_Id_r16 = -1; /* OCTET_STRING_SIZE_1 */ +static int hf_nr_rrc_absoluteTimeInfo_r16 = -1; /* AbsoluteTimeInfo_r16 */ +static int hf_nr_rrc_areaConfiguration_r16 = -1; /* AreaConfiguration_r16 */ +static int hf_nr_rrc_plmn_IdentityList_r16 = -1; /* PLMN_IdentityList2_r16 */ +static int hf_nr_rrc_bt_NameList_r16 = -1; /* T_bt_NameList_r16 */ +static int hf_nr_rrc_setup_02 = -1; /* BT_NameList_r16 */ +static int hf_nr_rrc_wlan_NameList_r16 = -1; /* T_wlan_NameList_r16 */ +static int hf_nr_rrc_setup_03 = -1; /* WLAN_NameList_r16 */ +static int hf_nr_rrc_sensor_NameList_r16 = -1; /* T_sensor_NameList_r16 */ +static int hf_nr_rrc_setup_04 = -1; /* Sensor_NameList_r16 */ +static int hf_nr_rrc_loggingDuration_r16 = -1; /* LoggingDuration_r16 */ +static int hf_nr_rrc_reportType = -1; /* T_reportType */ +static int hf_nr_rrc_periodical = -1; /* LoggedPeriodicalReportConfig_r16 */ +static int hf_nr_rrc_eventTriggered = -1; /* LoggedEventTriggerConfig_r16 */ +static int hf_nr_rrc_nonCriticalExtension_29 = -1; /* T_nonCriticalExtension_16 */ +static int hf_nr_rrc_loggingInterval_r16 = -1; /* LoggingInterval_r16 */ +static int hf_nr_rrc_eventType_r16 = -1; /* EventType_r16 */ +static int hf_nr_rrc_outOfCoverage = -1; /* NULL */ +static int hf_nr_rrc_eventL1 = -1; /* T_eventL1 */ +static int hf_nr_rrc_l1_Threshold = -1; /* MeasTriggerQuantity */ +static int hf_nr_rrc_hysteresis = -1; /* Hysteresis */ +static int hf_nr_rrc_timeToTrigger = -1; /* TimeToTrigger */ +static int hf_nr_rrc_criticalExtensions_17 = -1; /* T_criticalExtensions_17 */ +static int hf_nr_rrc_mcgFailureInformation_r16_01 = -1; /* MCGFailureInformation_r16_IEs */ +static int hf_nr_rrc_criticalExtensionsFuture_17 = -1; /* T_criticalExtensionsFuture_17 */ +static int hf_nr_rrc_failureReportMCG_r16 = -1; /* FailureReportMCG_r16 */ +static int hf_nr_rrc_nonCriticalExtension_30 = -1; /* T_nonCriticalExtension_17 */ +static int hf_nr_rrc_failureType_r16_02 = -1; /* T_failureType_r16_02 */ +static int hf_nr_rrc_measResultFreqList_r16 = -1; /* MeasResultList2NR */ +static int hf_nr_rrc_measResultFreqListEUTRA_r16 = -1; /* MeasResultList2EUTRA */ +static int hf_nr_rrc_measResultSCG_r16_01 = -1; /* T_measResultSCG_r16_01 */ +static int hf_nr_rrc_measResultSCG_EUTRA_r16_01 = -1; /* T_measResultSCG_EUTRA_r16_01 */ +static int hf_nr_rrc_measResultFreqListUTRA_FDD_r16 = -1; /* MeasResultList2UTRA */ +static int hf_nr_rrc_MeasResultList2UTRA_item = -1; /* MeasResult2UTRA_FDD_r16 */ +static int hf_nr_rrc_carrierFreq_r16 = -1; /* ARFCN_ValueUTRA_FDD_r16 */ +static int hf_nr_rrc_measResultNeighCellList_r16 = -1; /* MeasResultListUTRA_FDD_r16 */ +static int hf_nr_rrc_MeasResultList2EUTRA_item = -1; /* MeasResult2EUTRA_r16 */ +static int hf_nr_rrc_criticalExtensions_18 = -1; /* T_criticalExtensions_18 */ static int hf_nr_rrc_measurementReport_01 = -1; /* MeasurementReport_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_12 = -1; /* T_criticalExtensionsFuture_12 */ +static int hf_nr_rrc_criticalExtensionsFuture_18 = -1; /* T_criticalExtensionsFuture_18 */ static int hf_nr_rrc_measResults = -1; /* MeasResults */ -static int hf_nr_rrc_nonCriticalExtension_20 = -1; /* T_nonCriticalExtension_12 */ +static int hf_nr_rrc_nonCriticalExtension_31 = -1; /* T_nonCriticalExtension_18 */ 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 */ @@ -655,40 +947,44 @@ static int hf_nr_rrc_pdcch_ConfigSIB1 = -1; /* PDCCH_ConfigSIB1 */ static int hf_nr_rrc_cellBarred = -1; /* T_cellBarred */ static int hf_nr_rrc_intraFreqReselection = -1; /* T_intraFreqReselection */ static int hf_nr_rrc_spare = -1; /* BIT_STRING_SIZE_1 */ -static int hf_nr_rrc_criticalExtensions_13 = -1; /* T_criticalExtensions_13 */ +static int hf_nr_rrc_criticalExtensions_19 = -1; /* T_criticalExtensions_19 */ static int hf_nr_rrc_mobilityFromNRCommand_01 = -1; /* MobilityFromNRCommand_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_13 = -1; /* T_criticalExtensionsFuture_13 */ +static int hf_nr_rrc_criticalExtensionsFuture_19 = -1; /* T_criticalExtensionsFuture_19 */ 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; /* T_nas_SecurityParamFromNR */ -static int hf_nr_rrc_nonCriticalExtension_21 = -1; /* T_nonCriticalExtension_13 */ +static int hf_nr_rrc_nonCriticalExtension_32 = -1; /* MobilityFromNRCommand_v1610_IEs */ +static int hf_nr_rrc_voiceFallbackIndication_r16 = -1; /* T_voiceFallbackIndication_r16 */ +static int hf_nr_rrc_nonCriticalExtension_33 = -1; /* T_nonCriticalExtension_19 */ static int hf_nr_rrc_pagingRecordList = -1; /* PagingRecordList */ -static int hf_nr_rrc_nonCriticalExtension_22 = -1; /* T_nonCriticalExtension_14 */ +static int hf_nr_rrc_nonCriticalExtension_34 = -1; /* T_nonCriticalExtension_20 */ static int hf_nr_rrc_PagingRecordList_item = -1; /* PagingRecord */ static int hf_nr_rrc_ue_Identity = -1; /* PagingUE_Identity */ static int hf_nr_rrc_accessType = -1; /* T_accessType */ static int hf_nr_rrc_ng_5G_S_TMSI = -1; /* NG_5G_S_TMSI */ static int hf_nr_rrc_fullI_RNTI = -1; /* I_RNTI_Value */ -static int hf_nr_rrc_criticalExtensions_14 = -1; /* T_criticalExtensions_14 */ +static int hf_nr_rrc_criticalExtensions_20 = -1; /* T_criticalExtensions_20 */ static int hf_nr_rrc_rrcReestablishment_01 = -1; /* RRCReestablishment_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_14 = -1; /* T_criticalExtensionsFuture_14 */ +static int hf_nr_rrc_criticalExtensionsFuture_20 = -1; /* T_criticalExtensionsFuture_20 */ static int hf_nr_rrc_nextHopChainingCount = -1; /* NextHopChainingCount */ -static int hf_nr_rrc_nonCriticalExtension_23 = -1; /* T_nonCriticalExtension_15 */ -static int hf_nr_rrc_criticalExtensions_15 = -1; /* T_criticalExtensions_15 */ +static int hf_nr_rrc_nonCriticalExtension_35 = -1; /* T_nonCriticalExtension_21 */ +static int hf_nr_rrc_criticalExtensions_21 = -1; /* T_criticalExtensions_21 */ static int hf_nr_rrc_rrcReestablishmentComplete_01 = -1; /* RRCReestablishmentComplete_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_15 = -1; /* T_criticalExtensionsFuture_15 */ -static int hf_nr_rrc_nonCriticalExtension_24 = -1; /* T_nonCriticalExtension_16 */ +static int hf_nr_rrc_criticalExtensionsFuture_21 = -1; /* T_criticalExtensionsFuture_21 */ +static int hf_nr_rrc_nonCriticalExtension_36 = -1; /* RRCReestablishmentComplete_v1610_IEs */ +static int hf_nr_rrc_ueMeasurementsAvailable_r16 = -1; /* UEMeasurementsAvailable_r16 */ +static int hf_nr_rrc_nonCriticalExtension_37 = -1; /* T_nonCriticalExtension_22 */ static int hf_nr_rrc_rrcReestablishmentRequest_01 = -1; /* RRCReestablishmentRequest_IEs */ static int hf_nr_rrc_ue_Identity_01 = -1; /* ReestabUE_Identity */ static int hf_nr_rrc_reestablishmentCause = -1; /* ReestablishmentCause */ static int hf_nr_rrc_c_RNTI = -1; /* RNTI_Value */ -static int hf_nr_rrc_criticalExtensions_16 = -1; /* T_criticalExtensions_16 */ +static int hf_nr_rrc_criticalExtensions_22 = -1; /* T_criticalExtensions_22 */ static int hf_nr_rrc_rrcReconfiguration_02 = -1; /* RRCReconfiguration_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_16 = -1; /* T_criticalExtensionsFuture_16 */ +static int hf_nr_rrc_criticalExtensionsFuture_22 = -1; /* T_criticalExtensionsFuture_22 */ 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_25 = -1; /* RRCReconfiguration_v1530_IEs */ +static int hf_nr_rrc_nonCriticalExtension_38 = -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 */ @@ -697,46 +993,85 @@ 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_26 = -1; /* RRCReconfiguration_v1540_IEs */ +static int hf_nr_rrc_nonCriticalExtension_39 = -1; /* RRCReconfiguration_v1540_IEs */ static int hf_nr_rrc_otherConfig_v1540 = -1; /* OtherConfig_v1540 */ -static int hf_nr_rrc_nonCriticalExtension_27 = -1; /* RRCReconfiguration_v1560_IEs */ +static int hf_nr_rrc_nonCriticalExtension_40 = -1; /* RRCReconfiguration_v1560_IEs */ static int hf_nr_rrc_mrdc_SecondaryCellGroupConfig = -1; /* T_mrdc_SecondaryCellGroupConfig */ -static int hf_nr_rrc_setup_02 = -1; /* MRDC_SecondaryCellGroupConfig */ +static int hf_nr_rrc_setup_05 = -1; /* MRDC_SecondaryCellGroupConfig */ static int hf_nr_rrc_radioBearerConfig2 = -1; /* T_radioBearerConfig2 */ static int hf_nr_rrc_sk_Counter = -1; /* SK_Counter */ -static int hf_nr_rrc_nonCriticalExtension_28 = -1; /* T_nonCriticalExtension_17 */ +static int hf_nr_rrc_nonCriticalExtension_41 = -1; /* RRCReconfiguration_v1610_IEs */ +static int hf_nr_rrc_otherConfig_v1610 = -1; /* OtherConfig_v1610 */ +static int hf_nr_rrc_bap_Config_r16 = -1; /* T_bap_Config_r16 */ +static int hf_nr_rrc_setup_06 = -1; /* BAP_Config_r16 */ +static int hf_nr_rrc_iab_IP_AddressConfigurationList_r16 = -1; /* IAB_IP_AddressConfigurationList_r16 */ +static int hf_nr_rrc_conditionalReconfiguration_r16 = -1; /* ConditionalReconfiguration_r16 */ +static int hf_nr_rrc_daps_SourceRelease_r16 = -1; /* T_daps_SourceRelease_r16 */ +static int hf_nr_rrc_t316_r16 = -1; /* T_t316_r16 */ +static int hf_nr_rrc_setup_07 = -1; /* T316_r16 */ +static int hf_nr_rrc_needForGapsConfigNR_r16 = -1; /* T_needForGapsConfigNR_r16 */ +static int hf_nr_rrc_setup_08 = -1; /* NeedForGapsConfigNR_r16 */ +static int hf_nr_rrc_onDemandSIB_Request_r16 = -1; /* T_onDemandSIB_Request_r16 */ +static int hf_nr_rrc_setup_09 = -1; /* OnDemandSIB_Request_r16 */ +static int hf_nr_rrc_dedicatedPosSysInfoDelivery_r16 = -1; /* T_dedicatedPosSysInfoDelivery_r16 */ +static int hf_nr_rrc_sl_ConfigDedicatedNR_r16 = -1; /* T_sl_ConfigDedicatedNR_r16 */ +static int hf_nr_rrc_setup_10 = -1; /* SL_ConfigDedicatedNR_r16 */ +static int hf_nr_rrc_sl_ConfigDedicatedEUTRA_Info_r16 = -1; /* T_sl_ConfigDedicatedEUTRA_Info_r16 */ +static int hf_nr_rrc_setup_11 = -1; /* SL_ConfigDedicatedEUTRA_Info_r16 */ +static int hf_nr_rrc_nonCriticalExtension_42 = -1; /* T_nonCriticalExtension_23 */ static int hf_nr_rrc_mrdc_ReleaseAndAdd = -1; /* T_mrdc_ReleaseAndAdd */ static int hf_nr_rrc_mrdc_SecondaryCellGroup = -1; /* T_mrdc_SecondaryCellGroup */ static int hf_nr_rrc_nr_SCG = -1; /* T_nr_SCG */ static int hf_nr_rrc_eutra_SCG = -1; /* T_eutra_SCG */ +static int hf_nr_rrc_bap_Address_r16 = -1; /* BIT_STRING_SIZE_10 */ +static int hf_nr_rrc_defaultUL_BAProutingID_r16 = -1; /* BAP_Routing_ID_r16 */ +static int hf_nr_rrc_defaultUL_BH_RLC_Channel_r16 = -1; /* BH_RLC_ChannelID_r16 */ +static int hf_nr_rrc_flowControlFeedbackType_r16 = -1; /* T_flowControlFeedbackType_r16 */ static int hf_nr_rrc_keySetChangeIndicator = -1; /* BOOLEAN */ static int hf_nr_rrc_nas_Container = -1; /* T_nas_Container */ -static int hf_nr_rrc_criticalExtensions_17 = -1; /* T_criticalExtensions_17 */ +static int hf_nr_rrc_onDemandSIB_RequestProhibitTimer_r16 = -1; /* T_onDemandSIB_RequestProhibitTimer_r16 */ +static int hf_nr_rrc_iab_IP_AddressToAddModList_r16 = -1; /* SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressConfiguration_r16 */ +static int hf_nr_rrc_iab_IP_AddressToAddModList_r16_item = -1; /* IAB_IP_AddressConfiguration_r16 */ +static int hf_nr_rrc_iab_IP_AddressToReleaseList_r16 = -1; /* SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressIndex_r16 */ +static int hf_nr_rrc_iab_IP_AddressToReleaseList_r16_item = -1; /* IAB_IP_AddressIndex_r16 */ +static int hf_nr_rrc_iab_IP_AddressIndex_r16 = -1; /* IAB_IP_AddressIndex_r16 */ +static int hf_nr_rrc_iab_IP_Address_r16 = -1; /* IAB_IP_Address_r16 */ +static int hf_nr_rrc_iab_IP_Usage_r16 = -1; /* IAB_IP_Usage_r16 */ +static int hf_nr_rrc_iab_donor_DU_BAP_Address_r16 = -1; /* BIT_STRING_SIZE_10 */ +static int hf_nr_rrc_sl_ConfigDedicatedEUTRA_r16 = -1; /* T_sl_ConfigDedicatedEUTRA_r16 */ +static int hf_nr_rrc_sl_TimeOffsetEUTRA_List_r16 = -1; /* SEQUENCE_SIZE_8_OF_SL_TimeOffsetEUTRA_r16 */ +static int hf_nr_rrc_sl_TimeOffsetEUTRA_List_r16_item = -1; /* SL_TimeOffsetEUTRA_r16 */ +static int hf_nr_rrc_criticalExtensions_23 = -1; /* T_criticalExtensions_23 */ static int hf_nr_rrc_rrcReconfigurationComplete_01 = -1; /* RRCReconfigurationComplete_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_17 = -1; /* T_criticalExtensionsFuture_17 */ -static int hf_nr_rrc_nonCriticalExtension_29 = -1; /* RRCReconfigurationComplete_v1530_IEs */ +static int hf_nr_rrc_criticalExtensionsFuture_23 = -1; /* T_criticalExtensionsFuture_23 */ +static int hf_nr_rrc_nonCriticalExtension_43 = -1; /* RRCReconfigurationComplete_v1530_IEs */ static int hf_nr_rrc_uplinkTxDirectCurrentList = -1; /* UplinkTxDirectCurrentList */ -static int hf_nr_rrc_nonCriticalExtension_30 = -1; /* RRCReconfigurationComplete_v1560_IEs */ +static int hf_nr_rrc_nonCriticalExtension_44 = -1; /* RRCReconfigurationComplete_v1560_IEs */ static int hf_nr_rrc_scg_Response = -1; /* T_scg_Response */ static int hf_nr_rrc_nr_SCG_Response = -1; /* T_nr_SCG_Response */ static int hf_nr_rrc_eutra_SCG_Response = -1; /* T_eutra_SCG_Response */ -static int hf_nr_rrc_nonCriticalExtension_31 = -1; /* T_nonCriticalExtension_18 */ -static int hf_nr_rrc_criticalExtensions_18 = -1; /* T_criticalExtensions_18 */ +static int hf_nr_rrc_nonCriticalExtension_45 = -1; /* RRCReconfigurationComplete_v1610_IEs */ +static int hf_nr_rrc_nonCriticalExtension_46 = -1; /* T_nonCriticalExtension_24 */ +static int hf_nr_rrc_criticalExtensions_24 = -1; /* T_criticalExtensions_24 */ static int hf_nr_rrc_rrcReject_01 = -1; /* RRCReject_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_18 = -1; /* T_criticalExtensionsFuture_18 */ +static int hf_nr_rrc_criticalExtensionsFuture_24 = -1; /* T_criticalExtensionsFuture_24 */ static int hf_nr_rrc_waitTime = -1; /* RejectWaitTime */ -static int hf_nr_rrc_nonCriticalExtension_32 = -1; /* T_nonCriticalExtension_19 */ -static int hf_nr_rrc_criticalExtensions_19 = -1; /* T_criticalExtensions_19 */ +static int hf_nr_rrc_nonCriticalExtension_47 = -1; /* T_nonCriticalExtension_25 */ +static int hf_nr_rrc_criticalExtensions_25 = -1; /* T_criticalExtensions_25 */ static int hf_nr_rrc_rrcRelease_01 = -1; /* RRCRelease_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_19 = -1; /* T_criticalExtensionsFuture_19 */ +static int hf_nr_rrc_criticalExtensionsFuture_25 = -1; /* T_criticalExtensionsFuture_25 */ 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_33 = -1; /* RRCRelease_v1540_IEs */ -static int hf_nr_rrc_nonCriticalExtension_34 = -1; /* T_nonCriticalExtension_20 */ +static int hf_nr_rrc_nonCriticalExtension_48 = -1; /* RRCRelease_v1540_IEs */ +static int hf_nr_rrc_nonCriticalExtension_49 = -1; /* RRCRelease_v1610_IEs */ +static int hf_nr_rrc_voiceFallbackIndication_r16_01 = -1; /* T_voiceFallbackIndication_r16_01 */ +static int hf_nr_rrc_measIdleConfig_r16 = -1; /* T_measIdleConfig_r16 */ +static int hf_nr_rrc_setup_12 = -1; /* MeasIdleConfigDedicated_r16 */ +static int hf_nr_rrc_nonCriticalExtension_50 = -1; /* T_nonCriticalExtension_26 */ static int hf_nr_rrc_nr = -1; /* CarrierInfoNR */ static int hf_nr_rrc_eutra = -1; /* RedirectedCarrierInfo_EUTRA */ static int hf_nr_rrc_cnType = -1; /* T_cnType */ @@ -764,85 +1099,113 @@ static int hf_nr_rrc_ran_Area_item = -1; /* RAN_AreaConfig */ static int hf_nr_rrc_trackingAreaCode = -1; /* TrackingAreaCode */ static int hf_nr_rrc_ran_AreaCodeList = -1; /* SEQUENCE_SIZE_1_32_OF_RAN_AreaCode */ static int hf_nr_rrc_ran_AreaCodeList_item = -1; /* RAN_AreaCode */ -static int hf_nr_rrc_criticalExtensions_20 = -1; /* T_criticalExtensions_20 */ +static int hf_nr_rrc_criticalExtensions_26 = -1; /* T_criticalExtensions_26 */ static int hf_nr_rrc_rrcResume_01 = -1; /* RRCResume_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_20 = -1; /* T_criticalExtensionsFuture_20 */ +static int hf_nr_rrc_criticalExtensionsFuture_26 = -1; /* T_criticalExtensionsFuture_26 */ 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_35 = -1; /* RRCResume_v1560_IEs */ +static int hf_nr_rrc_nonCriticalExtension_51 = -1; /* RRCResume_v1560_IEs */ static int hf_nr_rrc_radioBearerConfig2_01 = -1; /* T_radioBearerConfig2_01 */ -static int hf_nr_rrc_nonCriticalExtension_36 = -1; /* T_nonCriticalExtension_21 */ -static int hf_nr_rrc_criticalExtensions_21 = -1; /* T_criticalExtensions_21 */ +static int hf_nr_rrc_nonCriticalExtension_52 = -1; /* RRCResume_v1610_IEs */ +static int hf_nr_rrc_idleModeMeasurementReq_r16 = -1; /* T_idleModeMeasurementReq_r16 */ +static int hf_nr_rrc_restoreMCG_SCells_r16 = -1; /* T_restoreMCG_SCells_r16 */ +static int hf_nr_rrc_restoreSCG_r16 = -1; /* T_restoreSCG_r16 */ +static int hf_nr_rrc_mrdc_SecondaryCellGroup_r16 = -1; /* T_mrdc_SecondaryCellGroup_r16 */ +static int hf_nr_rrc_nr_SCG_r16 = -1; /* T_nr_SCG_r16 */ +static int hf_nr_rrc_eutra_SCG_r16 = -1; /* T_eutra_SCG_r16 */ +static int hf_nr_rrc_needForGapsConfigNR_r16_01 = -1; /* T_needForGapsConfigNR_r16_01 */ +static int hf_nr_rrc_nonCriticalExtension_53 = -1; /* T_nonCriticalExtension_27 */ +static int hf_nr_rrc_criticalExtensions_27 = -1; /* T_criticalExtensions_27 */ static int hf_nr_rrc_rrcResumeComplete_01 = -1; /* RRCResumeComplete_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_21 = -1; /* T_criticalExtensionsFuture_21 */ +static int hf_nr_rrc_criticalExtensionsFuture_27 = -1; /* T_criticalExtensionsFuture_27 */ static int hf_nr_rrc_selectedPLMN_Identity = -1; /* INTEGER_1_maxPLMN */ -static int hf_nr_rrc_nonCriticalExtension_37 = -1; /* T_nonCriticalExtension_22 */ +static int hf_nr_rrc_nonCriticalExtension_54 = -1; /* RRCResumeComplete_v1610_IEs */ +static int hf_nr_rrc_idleMeasAvailable_r16 = -1; /* T_idleMeasAvailable_r16 */ +static int hf_nr_rrc_measResultIdleEUTRA_r16 = -1; /* MeasResultIdleEUTRA_r16 */ +static int hf_nr_rrc_measResultIdleNR_r16 = -1; /* MeasResultIdleNR_r16 */ +static int hf_nr_rrc_scg_Response_r16 = -1; /* T_scg_Response_r16 */ +static int hf_nr_rrc_nr_SCG_Response_01 = -1; /* T_nr_SCG_Response_01 */ +static int hf_nr_rrc_eutra_SCG_Response_01 = -1; /* T_eutra_SCG_Response_01 */ +static int hf_nr_rrc_mobilityHistoryAvail_r16 = -1; /* T_mobilityHistoryAvail_r16 */ +static int hf_nr_rrc_mobilityState_r16 = -1; /* T_mobilityState_r16 */ +static int hf_nr_rrc_nonCriticalExtension_55 = -1; /* T_nonCriticalExtension_28 */ static int hf_nr_rrc_rrcResumeRequest_01 = -1; /* RRCResumeRequest_IEs */ static int hf_nr_rrc_resumeIdentity = -1; /* ShortI_RNTI_Value */ static int hf_nr_rrc_resumeMAC_I = -1; /* BIT_STRING_SIZE_16 */ static int hf_nr_rrc_resumeCause = -1; /* ResumeCause */ static int hf_nr_rrc_rrcResumeRequest1_01 = -1; /* RRCResumeRequest1_IEs */ static int hf_nr_rrc_resumeIdentity_01 = -1; /* I_RNTI_Value */ -static int hf_nr_rrc_criticalExtensions_22 = -1; /* T_criticalExtensions_22 */ +static int hf_nr_rrc_criticalExtensions_28 = -1; /* T_criticalExtensions_28 */ static int hf_nr_rrc_rrcSetup_01 = -1; /* RRCSetup_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_22 = -1; /* T_criticalExtensionsFuture_22 */ +static int hf_nr_rrc_criticalExtensionsFuture_28 = -1; /* T_criticalExtensionsFuture_28 */ static int hf_nr_rrc_masterCellGroup_02 = -1; /* T_masterCellGroup_02 */ -static int hf_nr_rrc_nonCriticalExtension_38 = -1; /* T_nonCriticalExtension_23 */ -static int hf_nr_rrc_criticalExtensions_23 = -1; /* T_criticalExtensions_23 */ +static int hf_nr_rrc_nonCriticalExtension_56 = -1; /* T_nonCriticalExtension_29 */ +static int hf_nr_rrc_criticalExtensions_29 = -1; /* T_criticalExtensions_29 */ static int hf_nr_rrc_rrcSetupComplete_01 = -1; /* RRCSetupComplete_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_23 = -1; /* T_criticalExtensionsFuture_23 */ +static int hf_nr_rrc_criticalExtensionsFuture_29 = -1; /* T_criticalExtensionsFuture_29 */ 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_39 = -1; /* T_nonCriticalExtension_24 */ +static int hf_nr_rrc_nonCriticalExtension_57 = -1; /* RRCSetupComplete_v1610_IEs */ +static int hf_nr_rrc_iab_NodeIndication_r16 = -1; /* T_iab_NodeIndication_r16 */ +static int hf_nr_rrc_idleMeasAvailable_r16_01 = -1; /* T_idleMeasAvailable_r16_01 */ +static int hf_nr_rrc_mobilityHistoryAvail_r16_01 = -1; /* T_mobilityHistoryAvail_r16_01 */ +static int hf_nr_rrc_mobilityState_r16_01 = -1; /* T_mobilityState_r16_01 */ +static int hf_nr_rrc_nonCriticalExtension_58 = -1; /* T_nonCriticalExtension_30 */ static int hf_nr_rrc_amf_Identifier = -1; /* AMF_Identifier */ static int hf_nr_rrc_rrcSetupRequest_01 = -1; /* RRCSetupRequest_IEs */ static int hf_nr_rrc_ue_Identity_02 = -1; /* InitialUE_Identity */ static int hf_nr_rrc_establishmentCause = -1; /* EstablishmentCause */ static int hf_nr_rrc_ng_5G_S_TMSI_Part1 = -1; /* BIT_STRING_SIZE_39 */ static int hf_nr_rrc_randomValue = -1; /* BIT_STRING_SIZE_39 */ -static int hf_nr_rrc_criticalExtensions_24 = -1; /* T_criticalExtensions_24 */ +static int hf_nr_rrc_criticalExtensions_30 = -1; /* T_criticalExtensions_30 */ static int hf_nr_rrc_rrcSystemInfoRequest_01 = -1; /* RRCSystemInfoRequest_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_24 = -1; /* T_criticalExtensionsFuture_24 */ +static int hf_nr_rrc_criticalExtensionsFuture_r16 = -1; /* T_criticalExtensionsFuture_r16 */ +static int hf_nr_rrc_rrcPosSystemInfoRequest_r16 = -1; /* RRC_PosSystemInfoRequest_r16_IEs */ +static int hf_nr_rrc_criticalExtensionsFuture_30 = -1; /* T_criticalExtensionsFuture_30 */ static int hf_nr_rrc_requested_SI_List = -1; /* BIT_STRING_SIZE_maxSI_Message */ static int hf_nr_rrc_spare_01 = -1; /* BIT_STRING_SIZE_12 */ -static int hf_nr_rrc_criticalExtensions_25 = -1; /* T_criticalExtensions_25 */ +static int hf_nr_rrc_requestedPosSI_List = -1; /* BIT_STRING_SIZE_maxSI_Message */ +static int hf_nr_rrc_spare_02 = -1; /* BIT_STRING_SIZE_11 */ +static int hf_nr_rrc_criticalExtensions_31 = -1; /* T_criticalExtensions_31 */ static int hf_nr_rrc_scgFailureInformation_01 = -1; /* SCGFailureInformation_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_25 = -1; /* T_criticalExtensionsFuture_25 */ +static int hf_nr_rrc_criticalExtensionsFuture_31 = -1; /* T_criticalExtensionsFuture_31 */ static int hf_nr_rrc_failureReportSCG = -1; /* FailureReportSCG */ -static int hf_nr_rrc_nonCriticalExtension_40 = -1; /* SCGFailureInformation_v1590_IEs */ -static int hf_nr_rrc_nonCriticalExtension_41 = -1; /* T_nonCriticalExtension_25 */ +static int hf_nr_rrc_nonCriticalExtension_59 = -1; /* SCGFailureInformation_v1590_IEs */ +static int hf_nr_rrc_nonCriticalExtension_60 = -1; /* T_nonCriticalExtension_31 */ static int hf_nr_rrc_failureType_02 = -1; /* T_failureType_02 */ static int hf_nr_rrc_measResultFreqList = -1; /* MeasResultFreqList */ static int hf_nr_rrc_measResultSCG_Failure = -1; /* T_measResultSCG_Failure */ +static int hf_nr_rrc_locationInfo_r16 = -1; /* LocationInfo_r16 */ +static int hf_nr_rrc_failureType_v1610 = -1; /* T_failureType_v1610 */ static int hf_nr_rrc_MeasResultFreqList_item = -1; /* MeasResult2NR */ -static int hf_nr_rrc_criticalExtensions_26 = -1; /* T_criticalExtensions_26 */ +static int hf_nr_rrc_criticalExtensions_32 = -1; /* T_criticalExtensions_32 */ static int hf_nr_rrc_scgFailureInformationEUTRA_01 = -1; /* SCGFailureInformationEUTRA_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_26 = -1; /* T_criticalExtensionsFuture_26 */ +static int hf_nr_rrc_criticalExtensionsFuture_32 = -1; /* T_criticalExtensionsFuture_32 */ static int hf_nr_rrc_failureReportSCG_EUTRA = -1; /* FailureReportSCG_EUTRA */ -static int hf_nr_rrc_nonCriticalExtension_42 = -1; /* SCGFailureInformationEUTRA_v1590_IEs */ -static int hf_nr_rrc_nonCriticalExtension_43 = -1; /* T_nonCriticalExtension_26 */ +static int hf_nr_rrc_nonCriticalExtension_61 = -1; /* SCGFailureInformationEUTRA_v1590_IEs */ +static int hf_nr_rrc_nonCriticalExtension_62 = -1; /* T_nonCriticalExtension_32 */ static int hf_nr_rrc_failureType_03 = -1; /* T_failureType_03 */ static int hf_nr_rrc_measResultFreqListMRDC = -1; /* MeasResultFreqListFailMRDC */ static int hf_nr_rrc_measResultSCG_FailureMRDC = -1; /* T_measResultSCG_FailureMRDC */ static int hf_nr_rrc_MeasResultFreqListFailMRDC_item = -1; /* MeasResult2EUTRA */ -static int hf_nr_rrc_criticalExtensions_27 = -1; /* T_criticalExtensions_27 */ +static int hf_nr_rrc_criticalExtensions_33 = -1; /* T_criticalExtensions_33 */ static int hf_nr_rrc_securityModeCommand_01 = -1; /* SecurityModeCommand_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_27 = -1; /* T_criticalExtensionsFuture_27 */ +static int hf_nr_rrc_criticalExtensionsFuture_33 = -1; /* T_criticalExtensionsFuture_33 */ static int hf_nr_rrc_securityConfigSMC = -1; /* SecurityConfigSMC */ -static int hf_nr_rrc_nonCriticalExtension_44 = -1; /* T_nonCriticalExtension_27 */ +static int hf_nr_rrc_nonCriticalExtension_63 = -1; /* T_nonCriticalExtension_33 */ static int hf_nr_rrc_securityAlgorithmConfig = -1; /* SecurityAlgorithmConfig */ -static int hf_nr_rrc_criticalExtensions_28 = -1; /* T_criticalExtensions_28 */ +static int hf_nr_rrc_criticalExtensions_34 = -1; /* T_criticalExtensions_34 */ static int hf_nr_rrc_securityModeComplete_01 = -1; /* SecurityModeComplete_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_28 = -1; /* T_criticalExtensionsFuture_28 */ -static int hf_nr_rrc_nonCriticalExtension_45 = -1; /* T_nonCriticalExtension_28 */ -static int hf_nr_rrc_criticalExtensions_29 = -1; /* T_criticalExtensions_29 */ +static int hf_nr_rrc_criticalExtensionsFuture_34 = -1; /* T_criticalExtensionsFuture_34 */ +static int hf_nr_rrc_nonCriticalExtension_64 = -1; /* T_nonCriticalExtension_34 */ +static int hf_nr_rrc_criticalExtensions_35 = -1; /* T_criticalExtensions_35 */ static int hf_nr_rrc_securityModeFailure_01 = -1; /* SecurityModeFailure_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_29 = -1; /* T_criticalExtensionsFuture_29 */ -static int hf_nr_rrc_nonCriticalExtension_46 = -1; /* T_nonCriticalExtension_29 */ +static int hf_nr_rrc_criticalExtensionsFuture_35 = -1; /* T_criticalExtensionsFuture_35 */ +static int hf_nr_rrc_nonCriticalExtension_65 = -1; /* T_nonCriticalExtension_35 */ 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 */ @@ -865,10 +1228,43 @@ static int hf_nr_rrc_plmnCommon = -1; /* UAC_AccessCategory1_Selecti 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_47 = -1; /* T_nonCriticalExtension_30 */ -static int hf_nr_rrc_criticalExtensions_30 = -1; /* T_criticalExtensions_30 */ +static int hf_nr_rrc_nonCriticalExtension_66 = -1; /* SIB1_v1610_IEs */ +static int hf_nr_rrc_idleModeMeasurementsEUTRA_r16 = -1; /* T_idleModeMeasurementsEUTRA_r16 */ +static int hf_nr_rrc_idleModeMeasurementsNR_r16 = -1; /* T_idleModeMeasurementsNR_r16 */ +static int hf_nr_rrc_posSI_SchedulingInfo_r16 = -1; /* PosSI_SchedulingInfo_r16 */ +static int hf_nr_rrc_nonCriticalExtension_67 = -1; /* T_nonCriticalExtension_36 */ +static int hf_nr_rrc_criticalExtensions_36 = -1; /* T_criticalExtensions_36 */ +static int hf_nr_rrc_sidelinkUEInformationNR_r16_03 = -1; /* SidelinkUEInformationNR_r16_IEs */ +static int hf_nr_rrc_criticalExtensionsFuture_36 = -1; /* T_criticalExtensionsFuture_36 */ +static int hf_nr_rrc_sl_RxInterestedFreqList_r16 = -1; /* SL_InterestedFreqList_r16 */ +static int hf_nr_rrc_sl_TxResourceReqList_r16 = -1; /* SL_TxResourceReqList_r16 */ +static int hf_nr_rrc_sl_FailureList_r16 = -1; /* SL_FailureList_r16 */ +static int hf_nr_rrc_nonCriticalExtension_68 = -1; /* T_nonCriticalExtension_37 */ +static int hf_nr_rrc_SL_InterestedFreqList_r16_item = -1; /* INTEGER_1_maxNrofFreqSL_r16 */ +static int hf_nr_rrc_SL_TxResourceReqList_r16_item = -1; /* SL_TxResourceReq_r16 */ +static int hf_nr_rrc_sl_DestinationIdentity_r16 = -1; /* SL_DestinationIdentity_r16 */ +static int hf_nr_rrc_sl_CastType_r16 = -1; /* T_sl_CastType_r16 */ +static int hf_nr_rrc_sl_RLC_ModeIndicationList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RLC_ModeIndication_r16 */ +static int hf_nr_rrc_sl_RLC_ModeIndicationList_r16_item = -1; /* SL_RLC_ModeIndication_r16 */ +static int hf_nr_rrc_sl_QoS_InfoList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16 */ +static int hf_nr_rrc_sl_QoS_InfoList_r16_item = -1; /* SL_QoS_Info_r16 */ +static int hf_nr_rrc_sl_TypeTxSyncList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16 */ +static int hf_nr_rrc_sl_TypeTxSyncList_r16_item = -1; /* SL_TypeTxSync_r16 */ +static int hf_nr_rrc_sl_TxInterestedFreqList_r16 = -1; /* SL_TxInterestedFreqList_r16 */ +static int hf_nr_rrc_sl_CapabilityInformationSidelink_r16 = -1; /* T_sl_CapabilityInformationSidelink_r16 */ +static int hf_nr_rrc_SL_TxInterestedFreqList_r16_item = -1; /* INTEGER_1_maxNrofFreqSL_r16 */ +static int hf_nr_rrc_sl_QoS_FlowIdentity_r16 = -1; /* SL_QoS_FlowIdentity_r16 */ +static int hf_nr_rrc_sl_QoS_Profile_r16 = -1; /* SL_QoS_Profile_r16 */ +static int hf_nr_rrc_sl_Mode_r16 = -1; /* T_sl_Mode_r16 */ +static int hf_nr_rrc_sl_AM_Mode_r16 = -1; /* NULL */ +static int hf_nr_rrc_sl_UM_Mode_r16 = -1; /* NULL */ +static int hf_nr_rrc_SL_FailureList_r16_item = -1; /* SL_Failure_r16 */ +static int hf_nr_rrc_sl_Failure_r16 = -1; /* T_sl_Failure_r16 */ +static int hf_nr_rrc_criticalExtensions_37 = -1; /* T_criticalExtensions_37 */ static int hf_nr_rrc_systemInformation_01 = -1; /* SystemInformation_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_30 = -1; /* T_criticalExtensionsFuture_30 */ +static int hf_nr_rrc_criticalExtensionsFuture_r16_01 = -1; /* T_criticalExtensionsFuture_r16_01 */ +static int hf_nr_rrc_posSystemInformation_r16 = -1; /* PosSystemInformation_r16_IEs */ +static int hf_nr_rrc_criticalExtensionsFuture_37 = -1; /* T_criticalExtensionsFuture_37 */ 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 */ @@ -879,53 +1275,244 @@ 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_48 = -1; /* T_nonCriticalExtension_31 */ -static int hf_nr_rrc_criticalExtensions_31 = -1; /* T_criticalExtensions_31 */ +static int hf_nr_rrc_sib10_v1610 = -1; /* SIB10_r16 */ +static int hf_nr_rrc_sib11_v1610 = -1; /* SIB11_r16 */ +static int hf_nr_rrc_sib12_v1610 = -1; /* SIB12_r16 */ +static int hf_nr_rrc_sib13_v1610 = -1; /* SIB13_r16 */ +static int hf_nr_rrc_sib14_v1610 = -1; /* SIB14_r16 */ +static int hf_nr_rrc_nonCriticalExtension_69 = -1; /* T_nonCriticalExtension_38 */ +static int hf_nr_rrc_criticalExtensions_38 = -1; /* T_criticalExtensions_38 */ static int hf_nr_rrc_ueAssistanceInformation_02 = -1; /* UEAssistanceInformation_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_31 = -1; /* T_criticalExtensionsFuture_31 */ +static int hf_nr_rrc_criticalExtensionsFuture_38 = -1; /* T_criticalExtensionsFuture_38 */ static int hf_nr_rrc_delayBudgetReport = -1; /* DelayBudgetReport */ -static int hf_nr_rrc_nonCriticalExtension_49 = -1; /* UEAssistanceInformation_v1540_IEs */ +static int hf_nr_rrc_nonCriticalExtension_70 = -1; /* UEAssistanceInformation_v1540_IEs */ static int hf_nr_rrc_type1 = -1; /* T_type1 */ static int hf_nr_rrc_overheatingAssistance = -1; /* OverheatingAssistance */ -static int hf_nr_rrc_nonCriticalExtension_50 = -1; /* T_nonCriticalExtension_32 */ -static int hf_nr_rrc_reducedMaxCCs = -1; /* T_reducedMaxCCs */ -static int hf_nr_rrc_reducedCCsDL = -1; /* INTEGER_0_31 */ -static int hf_nr_rrc_reducedCCsUL = -1; /* INTEGER_0_31 */ -static int hf_nr_rrc_reducedMaxBW_FR1 = -1; /* T_reducedMaxBW_FR1 */ -static int hf_nr_rrc_reducedBW_FR1_DL = -1; /* ReducedAggregatedBandwidth */ -static int hf_nr_rrc_reducedBW_FR1_UL = -1; /* ReducedAggregatedBandwidth */ -static int hf_nr_rrc_reducedMaxBW_FR2 = -1; /* T_reducedMaxBW_FR2 */ -static int hf_nr_rrc_reducedBW_FR2_DL = -1; /* ReducedAggregatedBandwidth */ -static int hf_nr_rrc_reducedBW_FR2_UL = -1; /* ReducedAggregatedBandwidth */ +static int hf_nr_rrc_nonCriticalExtension_71 = -1; /* UEAssistanceInformation_v1610_IEs */ +static int hf_nr_rrc_reducedMaxCCs = -1; /* ReducedMaxCCs_r16 */ +static int hf_nr_rrc_reducedMaxBW_FR1 = -1; /* ReducedMaxBW_FRx_r16 */ +static int hf_nr_rrc_reducedMaxBW_FR2 = -1; /* ReducedMaxBW_FRx_r16 */ static int hf_nr_rrc_reducedMaxMIMO_LayersFR1 = -1; /* T_reducedMaxMIMO_LayersFR1 */ static int hf_nr_rrc_reducedMIMO_LayersFR1_DL = -1; /* MIMO_LayersDL */ static int hf_nr_rrc_reducedMIMO_LayersFR1_UL = -1; /* MIMO_LayersUL */ static int hf_nr_rrc_reducedMaxMIMO_LayersFR2 = -1; /* T_reducedMaxMIMO_LayersFR2 */ static int hf_nr_rrc_reducedMIMO_LayersFR2_DL = -1; /* MIMO_LayersDL */ static int hf_nr_rrc_reducedMIMO_LayersFR2_UL = -1; /* MIMO_LayersUL */ -static int hf_nr_rrc_criticalExtensions_32 = -1; /* T_criticalExtensions_32 */ +static int hf_nr_rrc_idc_Assistance_r16 = -1; /* IDC_Assistance_r16 */ +static int hf_nr_rrc_drx_Preference_r16 = -1; /* DRX_Preference_r16 */ +static int hf_nr_rrc_maxBW_Preference_r16 = -1; /* MaxBW_Preference_r16 */ +static int hf_nr_rrc_maxCC_Preference_r16 = -1; /* MaxCC_Preference_r16 */ +static int hf_nr_rrc_maxMIMO_LayerPreference_r16 = -1; /* MaxMIMO_LayerPreference_r16 */ +static int hf_nr_rrc_minSchedulingOffsetPreference_r16 = -1; /* MinSchedulingOffsetPreference_r16 */ +static int hf_nr_rrc_releasePreference_r16 = -1; /* ReleasePreference_r16 */ +static int hf_nr_rrc_sl_UE_AssistanceInformationNR_r16 = -1; /* SL_UE_AssistanceInformationNR_r16 */ +static int hf_nr_rrc_referenceTimeInfoPreference_r16 = -1; /* BOOLEAN */ +static int hf_nr_rrc_nonCriticalExtension_72 = -1; /* T_nonCriticalExtension_39 */ +static int hf_nr_rrc_affectedCarrierFreqList_r16 = -1; /* AffectedCarrierFreqList_r16 */ +static int hf_nr_rrc_affectedCarrierFreqCombList_r16 = -1; /* AffectedCarrierFreqCombList_r16 */ +static int hf_nr_rrc_AffectedCarrierFreqList_r16_item = -1; /* AffectedCarrierFreq_r16 */ +static int hf_nr_rrc_carrierFreq_r16_01 = -1; /* ARFCN_ValueNR */ +static int hf_nr_rrc_interferenceDirection_r16 = -1; /* T_interferenceDirection_r16 */ +static int hf_nr_rrc_AffectedCarrierFreqCombList_r16_item = -1; /* AffectedCarrierFreqComb_r16 */ +static int hf_nr_rrc_affectedCarrierFreqComb_r16 = -1; /* SEQUENCE_SIZE_2_maxNrofServingCells_OF_ARFCN_ValueNR */ +static int hf_nr_rrc_affectedCarrierFreqComb_r16_item = -1; /* ARFCN_ValueNR */ +static int hf_nr_rrc_victimSystemType_r16 = -1; /* VictimSystemType_r16 */ +static int hf_nr_rrc_gps_r16 = -1; /* T_gps_r16 */ +static int hf_nr_rrc_glonass_r16 = -1; /* T_glonass_r16 */ +static int hf_nr_rrc_bds_r16 = -1; /* T_bds_r16 */ +static int hf_nr_rrc_galileo_r16 = -1; /* T_galileo_r16 */ +static int hf_nr_rrc_navIC_r16 = -1; /* T_navIC_r16 */ +static int hf_nr_rrc_wlan_r16 = -1; /* T_wlan_r16 */ +static int hf_nr_rrc_bluetooth_r16 = -1; /* T_bluetooth_r16 */ +static int hf_nr_rrc_preferredDRX_InactivityTimer_r16 = -1; /* T_preferredDRX_InactivityTimer_r16 */ +static int hf_nr_rrc_preferredDRX_LongCycle_r16 = -1; /* T_preferredDRX_LongCycle_r16 */ +static int hf_nr_rrc_preferredDRX_ShortCycle_r16 = -1; /* T_preferredDRX_ShortCycle_r16 */ +static int hf_nr_rrc_preferredDRX_ShortCycleTimer_r16 = -1; /* INTEGER_1_16 */ +static int hf_nr_rrc_reducedMaxBW_FR1_r16 = -1; /* ReducedMaxBW_FRx_r16 */ +static int hf_nr_rrc_reducedMaxBW_FR2_r16 = -1; /* ReducedMaxBW_FRx_r16 */ +static int hf_nr_rrc_reducedMaxCCs_r16 = -1; /* ReducedMaxCCs_r16 */ +static int hf_nr_rrc_reducedMaxMIMO_LayersFR1_r16 = -1; /* T_reducedMaxMIMO_LayersFR1_r16 */ +static int hf_nr_rrc_reducedMIMO_LayersFR1_DL_r16 = -1; /* INTEGER_1_8 */ +static int hf_nr_rrc_reducedMIMO_LayersFR1_UL_r16 = -1; /* INTEGER_1_4 */ +static int hf_nr_rrc_reducedMaxMIMO_LayersFR2_r16 = -1; /* T_reducedMaxMIMO_LayersFR2_r16 */ +static int hf_nr_rrc_reducedMIMO_LayersFR2_DL_r16 = -1; /* INTEGER_1_8 */ +static int hf_nr_rrc_reducedMIMO_LayersFR2_UL_r16 = -1; /* INTEGER_1_4 */ +static int hf_nr_rrc_preferredK0_r16 = -1; /* T_preferredK0_r16 */ +static int hf_nr_rrc_preferredK0_SCS_15kHz_r16 = -1; /* T_preferredK0_SCS_15kHz_r16 */ +static int hf_nr_rrc_preferredK0_SCS_30kHz_r16 = -1; /* T_preferredK0_SCS_30kHz_r16 */ +static int hf_nr_rrc_preferredK0_SCS_60kHz_r16 = -1; /* T_preferredK0_SCS_60kHz_r16 */ +static int hf_nr_rrc_preferredK0_SCS_120kHz_r16 = -1; /* T_preferredK0_SCS_120kHz_r16 */ +static int hf_nr_rrc_preferredK2_r16 = -1; /* T_preferredK2_r16 */ +static int hf_nr_rrc_preferredK2_SCS_15kHz_r16 = -1; /* T_preferredK2_SCS_15kHz_r16 */ +static int hf_nr_rrc_preferredK2_SCS_30kHz_r16 = -1; /* T_preferredK2_SCS_30kHz_r16 */ +static int hf_nr_rrc_preferredK2_SCS_60kHz_r16 = -1; /* T_preferredK2_SCS_60kHz_r16 */ +static int hf_nr_rrc_preferredK2_SCS_120kHz_r16 = -1; /* T_preferredK2_SCS_120kHz_r16 */ +static int hf_nr_rrc_preferredRRC_State_r16 = -1; /* T_preferredRRC_State_r16 */ +static int hf_nr_rrc_reducedBW_DL_r16 = -1; /* ReducedAggregatedBandwidth */ +static int hf_nr_rrc_reducedBW_UL_r16 = -1; /* ReducedAggregatedBandwidth */ +static int hf_nr_rrc_reducedCCsDL_r16 = -1; /* INTEGER_0_31 */ +static int hf_nr_rrc_reducedCCsUL_r16 = -1; /* INTEGER_0_31 */ +static int hf_nr_rrc_SL_UE_AssistanceInformationNR_r16_item = -1; /* SL_TrafficPatternInfo_r16 */ +static int hf_nr_rrc_trafficPeriodicity_r16 = -1; /* T_trafficPeriodicity_r16 */ +static int hf_nr_rrc_timingOffset_r16 = -1; /* INTEGER_0_10239 */ +static int hf_nr_rrc_messageSize_r16 = -1; /* BIT_STRING_SIZE_8 */ +static int hf_nr_rrc_criticalExtensions_39 = -1; /* T_criticalExtensions_39 */ static int hf_nr_rrc_ueCapabilityEnquiry_01 = -1; /* UECapabilityEnquiry_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_32 = -1; /* T_criticalExtensionsFuture_32 */ +static int hf_nr_rrc_criticalExtensionsFuture_39 = -1; /* T_criticalExtensionsFuture_39 */ static int hf_nr_rrc_ue_CapabilityRAT_RequestList = -1; /* UE_CapabilityRAT_RequestList */ static int hf_nr_rrc_ue_CapabilityEnquiryExt = -1; /* T_ue_CapabilityEnquiryExt */ static int hf_nr_rrc_capabilityRequestFilterCommon = -1; /* UE_CapabilityRequestFilterCommon */ -static int hf_nr_rrc_nonCriticalExtension_51 = -1; /* T_nonCriticalExtension_33 */ -static int hf_nr_rrc_criticalExtensions_33 = -1; /* T_criticalExtensions_33 */ +static int hf_nr_rrc_nonCriticalExtension_73 = -1; /* UECapabilityEnquiry_v1610_IEs */ +static int hf_nr_rrc_rrc_SegAllowed_r16 = -1; /* T_rrc_SegAllowed_r16 */ +static int hf_nr_rrc_nonCriticalExtension_74 = -1; /* T_nonCriticalExtension_40 */ +static int hf_nr_rrc_criticalExtensions_40 = -1; /* T_criticalExtensions_40 */ static int hf_nr_rrc_ueCapabilityInformation_01 = -1; /* UECapabilityInformation_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_33 = -1; /* T_criticalExtensionsFuture_33 */ +static int hf_nr_rrc_criticalExtensionsFuture_40 = -1; /* T_criticalExtensionsFuture_40 */ static int hf_nr_rrc_ue_CapabilityRAT_ContainerList = -1; /* UE_CapabilityRAT_ContainerList */ -static int hf_nr_rrc_nonCriticalExtension_52 = -1; /* T_nonCriticalExtension_34 */ -static int hf_nr_rrc_criticalExtensions_34 = -1; /* T_criticalExtensions_34 */ +static int hf_nr_rrc_nonCriticalExtension_75 = -1; /* T_nonCriticalExtension_41 */ +static int hf_nr_rrc_criticalExtensions_41 = -1; /* T_criticalExtensions_41 */ +static int hf_nr_rrc_ueInformationRequest_r16_01 = -1; /* UEInformationRequest_r16_IEs */ +static int hf_nr_rrc_criticalExtensionsFuture_41 = -1; /* T_criticalExtensionsFuture_41 */ +static int hf_nr_rrc_idleModeMeasurementReq_r16_01 = -1; /* T_idleModeMeasurementReq_r16_01 */ +static int hf_nr_rrc_logMeasReportReq_r16 = -1; /* T_logMeasReportReq_r16 */ +static int hf_nr_rrc_connEstFailReportReq_r16 = -1; /* T_connEstFailReportReq_r16 */ +static int hf_nr_rrc_ra_ReportReq_r16 = -1; /* T_ra_ReportReq_r16 */ +static int hf_nr_rrc_rlf_ReportReq_r16 = -1; /* T_rlf_ReportReq_r16 */ +static int hf_nr_rrc_mobilityHistoryReportReq_r16 = -1; /* T_mobilityHistoryReportReq_r16 */ +static int hf_nr_rrc_nonCriticalExtension_76 = -1; /* T_nonCriticalExtension_42 */ +static int hf_nr_rrc_criticalExtensions_42 = -1; /* T_criticalExtensions_42 */ +static int hf_nr_rrc_ueInformationResponse_r16_01 = -1; /* UEInformationResponse_r16_IEs */ +static int hf_nr_rrc_criticalExtensionsFuture_42 = -1; /* T_criticalExtensionsFuture_42 */ +static int hf_nr_rrc_logMeasReport_r16 = -1; /* LogMeasReport_r16 */ +static int hf_nr_rrc_connEstFailReport_r16 = -1; /* ConnEstFailReport_r16 */ +static int hf_nr_rrc_ra_ReportList_r16 = -1; /* RA_ReportList_r16 */ +static int hf_nr_rrc_rlf_Report_r16 = -1; /* RLF_Report_r16 */ +static int hf_nr_rrc_mobilityHistoryReport_r16 = -1; /* MobilityHistoryReport_r16 */ +static int hf_nr_rrc_nonCriticalExtension_77 = -1; /* T_nonCriticalExtension_43 */ +static int hf_nr_rrc_absoluteTimeStamp_r16 = -1; /* AbsoluteTimeInfo_r16 */ +static int hf_nr_rrc_logMeasInfoList_r16 = -1; /* LogMeasInfoList_r16 */ +static int hf_nr_rrc_logMeasAvailable_r16 = -1; /* T_logMeasAvailable_r16 */ +static int hf_nr_rrc_logMeasAvailableBT_r16 = -1; /* T_logMeasAvailableBT_r16 */ +static int hf_nr_rrc_logMeasAvailableWLAN_r16 = -1; /* T_logMeasAvailableWLAN_r16 */ +static int hf_nr_rrc_LogMeasInfoList_r16_item = -1; /* LogMeasInfo_r16 */ +static int hf_nr_rrc_relativeTimeStamp_r16 = -1; /* INTEGER_0_7200 */ +static int hf_nr_rrc_servCellIdentity_r16 = -1; /* CGI_Info_Logging_r16 */ +static int hf_nr_rrc_measResultServingCell_r16 = -1; /* MeasResultServingCell_r16 */ +static int hf_nr_rrc_measResultNeighCells_r16 = -1; /* T_measResultNeighCells_r16 */ +static int hf_nr_rrc_measResultNeighCellListNR = -1; /* MeasResultListLogging2NR_r16 */ +static int hf_nr_rrc_measResultNeighCellListEUTRA = -1; /* MeasResultList2EUTRA_r16 */ +static int hf_nr_rrc_anyCellSelectionDetected_r16 = -1; /* T_anyCellSelectionDetected_r16 */ +static int hf_nr_rrc_measResultFailedCell_r16 = -1; /* MeasResultFailedCell_r16 */ +static int hf_nr_rrc_measResultNeighCells_r16_01 = -1; /* T_measResultNeighCells_r16_01 */ +static int hf_nr_rrc_measResultNeighCellListNR_01 = -1; /* MeasResultList2NR_r16 */ +static int hf_nr_rrc_numberOfConnFail_r16 = -1; /* INTEGER_1_8 */ +static int hf_nr_rrc_perRAInfoList_r16 = -1; /* PerRAInfoList_r16 */ +static int hf_nr_rrc_timeSinceFailure_r16 = -1; /* TimeSinceFailure_r16 */ +static int hf_nr_rrc_resultsSSB_Cell = -1; /* MeasQuantityResults */ +static int hf_nr_rrc_resultsSSB = -1; /* T_resultsSSB */ +static int hf_nr_rrc_best_ssb_Index = -1; /* SSB_Index */ +static int hf_nr_rrc_best_ssb_Results = -1; /* MeasQuantityResults */ +static int hf_nr_rrc_numberOfGoodSSB = -1; /* INTEGER_1_maxNrofSSBs_r16 */ +static int hf_nr_rrc_cgi_Info_01 = -1; /* CGI_Info_Logging_r16 */ +static int hf_nr_rrc_measResult_r16 = -1; /* T_measResult_r16 */ +static int hf_nr_rrc_cellResults_r16 = -1; /* T_cellResults_r16 */ +static int hf_nr_rrc_resultsSSB_Cell_r16 = -1; /* MeasQuantityResults */ +static int hf_nr_rrc_rsIndexResults_r16 = -1; /* T_rsIndexResults_r16 */ +static int hf_nr_rrc_resultsSSB_Indexes_r16 = -1; /* ResultsPerSSB_IndexList */ +static int hf_nr_rrc_RA_ReportList_r16_item = -1; /* RA_Report_r16 */ +static int hf_nr_rrc_cellId_r16 = -1; /* CGI_Info_Logging_r16 */ +static int hf_nr_rrc_ra_InformationCommon_r16 = -1; /* RA_InformationCommon_r16 */ +static int hf_nr_rrc_raPurpose_r16 = -1; /* T_raPurpose_r16 */ +static int hf_nr_rrc_absoluteFrequencyPointA_r16 = -1; /* ARFCN_ValueNR */ +static int hf_nr_rrc_locationAndBandwidth_r16 = -1; /* INTEGER_0_37949 */ +static int hf_nr_rrc_subcarrierSpacing_r16 = -1; /* SubcarrierSpacing */ +static int hf_nr_rrc_msg1_FrequencyStart_r16 = -1; /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */ +static int hf_nr_rrc_msg1_FrequencyStartCFRA_r16 = -1; /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */ +static int hf_nr_rrc_msg1_SubcarrierSpacing_r16 = -1; /* SubcarrierSpacing */ +static int hf_nr_rrc_msg1_SubcarrierSpacingCFRA_r16 = -1; /* SubcarrierSpacing */ +static int hf_nr_rrc_msg1_FDM_r16 = -1; /* T_msg1_FDM_r16 */ +static int hf_nr_rrc_msg1_FDMCFRA_r16 = -1; /* T_msg1_FDMCFRA_r16 */ +static int hf_nr_rrc_PerRAInfoList_r16_item = -1; /* PerRAInfo_r16 */ +static int hf_nr_rrc_perRASSBInfoList_r16 = -1; /* PerRASSBInfo_r16 */ +static int hf_nr_rrc_perRACSI_RSInfoList_r16 = -1; /* PerRACSI_RSInfo_r16 */ +static int hf_nr_rrc_ssb_Index_r16 = -1; /* SSB_Index */ +static int hf_nr_rrc_numberOfPreamblesSentOnSSB_r16 = -1; /* INTEGER_1_200 */ +static int hf_nr_rrc_perRAAttemptInfoList_r16 = -1; /* PerRAAttemptInfoList_r16 */ +static int hf_nr_rrc_csi_RS_Index_r16 = -1; /* CSI_RS_Index */ +static int hf_nr_rrc_numberOfPreamblesSentOnCSI_RS_r16 = -1; /* INTEGER_1_200 */ +static int hf_nr_rrc_PerRAAttemptInfoList_r16_item = -1; /* PerRAAttemptInfo_r16 */ +static int hf_nr_rrc_contentionDetected_r16 = -1; /* BOOLEAN */ +static int hf_nr_rrc_dlRSRPAboveThreshold_r16 = -1; /* BOOLEAN */ +static int hf_nr_rrc_nr_RLF_Report_r16 = -1; /* T_nr_RLF_Report_r16 */ +static int hf_nr_rrc_measResultLastServCell_r16 = -1; /* MeasResultRLFNR_r16 */ +static int hf_nr_rrc_measResultNeighCells_r16_02 = -1; /* T_measResultNeighCells_r16_02 */ +static int hf_nr_rrc_measResultListNR_r16 = -1; /* MeasResultList2NR_r16 */ +static int hf_nr_rrc_measResultListEUTRA_r16 = -1; /* MeasResultList2EUTRA_r16 */ +static int hf_nr_rrc_c_RNTI_r16 = -1; /* RNTI_Value */ +static int hf_nr_rrc_previousPCellId_r16 = -1; /* T_previousPCellId_r16 */ +static int hf_nr_rrc_nrPreviousCell_r16 = -1; /* CGI_Info_Logging_r16 */ +static int hf_nr_rrc_eutraPreviousCell_r16 = -1; /* CGI_InfoEUTRALogging */ +static int hf_nr_rrc_failedPCellId_r16 = -1; /* T_failedPCellId_r16 */ +static int hf_nr_rrc_nrFailedPCellId_r16 = -1; /* T_nrFailedPCellId_r16 */ +static int hf_nr_rrc_cellGlobalId_r16 = -1; /* CGI_Info_Logging_r16 */ +static int hf_nr_rrc_pci_arfcn_r16 = -1; /* T_pci_arfcn_r16 */ +static int hf_nr_rrc_physCellId_r16 = -1; /* PhysCellId */ +static int hf_nr_rrc_eutraFailedPCellId_r16 = -1; /* T_eutraFailedPCellId_r16 */ +static int hf_nr_rrc_cellGlobalId_r16_01 = -1; /* CGI_InfoEUTRALogging */ +static int hf_nr_rrc_pci_arfcn_r16_01 = -1; /* T_pci_arfcn_r16_01 */ +static int hf_nr_rrc_physCellId_r16_01 = -1; /* EUTRA_PhysCellId */ +static int hf_nr_rrc_carrierFreq_r16_02 = -1; /* ARFCN_ValueEUTRA */ +static int hf_nr_rrc_reconnectCellId_r16 = -1; /* T_reconnectCellId_r16 */ +static int hf_nr_rrc_nrReconnectCellId_r16 = -1; /* CGI_Info_Logging_r16 */ +static int hf_nr_rrc_eutraReconnectCellId_r16 = -1; /* CGI_InfoEUTRALogging */ +static int hf_nr_rrc_timeUntilReconnection_16 = -1; /* TimeUntilReconnection_16 */ +static int hf_nr_rrc_reestablishmentCellId_r16 = -1; /* CGI_Info_Logging_r16 */ +static int hf_nr_rrc_timeConnFailure_r16 = -1; /* INTEGER_0_1023 */ +static int hf_nr_rrc_connectionFailureType_r16 = -1; /* T_connectionFailureType_r16 */ +static int hf_nr_rrc_rlf_Cause_r16 = -1; /* T_rlf_Cause_r16 */ +static int hf_nr_rrc_noSuitableCellFound_r16 = -1; /* T_noSuitableCellFound_r16 */ +static int hf_nr_rrc_eutra_RLF_Report_r16 = -1; /* T_eutra_RLF_Report_r16 */ +static int hf_nr_rrc_failedPCellId_EUTRA = -1; /* CGI_InfoEUTRALogging */ +static int hf_nr_rrc_measResult_RLF_Report_EUTRA_r16 = -1; /* T_measResult_RLF_Report_EUTRA_r16 */ +static int hf_nr_rrc_MeasResultList2NR_r16_item = -1; /* MeasResult2NR_r16 */ +static int hf_nr_rrc_MeasResultList2EUTRA_r16_item = -1; /* MeasResult2EUTRA_r16 */ +static int hf_nr_rrc_ssbFrequency_r16 = -1; /* ARFCN_ValueNR */ +static int hf_nr_rrc_refFreqCSI_RS_r16 = -1; /* ARFCN_ValueNR */ +static int hf_nr_rrc_measResultList_r16 = -1; /* MeasResultListNR */ +static int hf_nr_rrc_MeasResultListLogging2NR_r16_item = -1; /* MeasResultListLoggingNR_r16 */ +static int hf_nr_rrc_MeasResultListLoggingNR_r16_item = -1; /* MeasResultLoggingNR_r16 */ +static int hf_nr_rrc_numberOfGoodSSB_r16 = -1; /* INTEGER_1_maxNrofSSBs_r16 */ +static int hf_nr_rrc_measResultList_r16_01 = -1; /* MeasResultListEUTRA */ +static int hf_nr_rrc_measResult_r16_01 = -1; /* T_measResult_r16_01 */ +static int hf_nr_rrc_cellResults_r16_01 = -1; /* T_cellResults_r16_01 */ +static int hf_nr_rrc_resultsCSI_RS_Cell_r16 = -1; /* MeasQuantityResults */ +static int hf_nr_rrc_rsIndexResults_r16_01 = -1; /* T_rsIndexResults_r16_01 */ +static int hf_nr_rrc_ssbRLMConfigBitmap_r16 = -1; /* BIT_STRING_SIZE_64 */ +static int hf_nr_rrc_resultsCSI_RS_Indexes_r16 = -1; /* ResultsPerCSI_RS_IndexList */ +static int hf_nr_rrc_csi_rsRLMConfigBitmap_r16 = -1; /* BIT_STRING_SIZE_96 */ +static int hf_nr_rrc_criticalExtensions_43 = -1; /* T_criticalExtensions_43 */ +static int hf_nr_rrc_ulDedicatedMessageSegment_r16_01 = -1; /* ULDedicatedMessageSegment_r16_IEs */ +static int hf_nr_rrc_criticalExtensionsFuture_43 = -1; /* T_criticalExtensionsFuture_43 */ +static int hf_nr_rrc_segmentNumber_r16_01 = -1; /* INTEGER_0_15 */ +static int hf_nr_rrc_rrc_MessageSegmentType_r16_01 = -1; /* T_rrc_MessageSegmentType_r16_01 */ +static int hf_nr_rrc_nonCriticalExtension_78 = -1; /* T_nonCriticalExtension_44 */ +static int hf_nr_rrc_criticalExtensions_44 = -1; /* T_criticalExtensions_44 */ static int hf_nr_rrc_ulInformationTransfer_01 = -1; /* ULInformationTransfer_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_34 = -1; /* T_criticalExtensionsFuture_34 */ -static int hf_nr_rrc_nonCriticalExtension_53 = -1; /* T_nonCriticalExtension_35 */ -static int hf_nr_rrc_criticalExtensions_35 = -1; /* T_criticalExtensions_35 */ -static int hf_nr_rrc_c1_14 = -1; /* T_c1_14 */ +static int hf_nr_rrc_criticalExtensionsFuture_44 = -1; /* T_criticalExtensionsFuture_44 */ +static int hf_nr_rrc_nonCriticalExtension_79 = -1; /* T_nonCriticalExtension_45 */ +static int hf_nr_rrc_criticalExtensions_45 = -1; /* T_criticalExtensions_45 */ +static int hf_nr_rrc_c1_15 = -1; /* T_c1_15 */ +static int hf_nr_rrc_ulInformationTransferIRAT_r16_01 = -1; /* ULInformationTransferIRAT_r16_IEs */ +static int hf_nr_rrc_criticalExtensionsFuture_45 = -1; /* T_criticalExtensionsFuture_45 */ +static int hf_nr_rrc_ul_DCCH_MessageEUTRA_r16 = -1; /* T_ul_DCCH_MessageEUTRA_r16 */ +static int hf_nr_rrc_nonCriticalExtension_80 = -1; /* T_nonCriticalExtension_46 */ +static int hf_nr_rrc_criticalExtensions_46 = -1; /* T_criticalExtensions_46 */ +static int hf_nr_rrc_c1_16 = -1; /* T_c1_16 */ static int hf_nr_rrc_ulInformationTransferMRDC_01 = -1; /* ULInformationTransferMRDC_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_35 = -1; /* T_criticalExtensionsFuture_35 */ +static int hf_nr_rrc_criticalExtensionsFuture_46 = -1; /* T_criticalExtensionsFuture_46 */ static int hf_nr_rrc_ul_DCCH_MessageNR = -1; /* T_ul_DCCH_MessageNR */ static int hf_nr_rrc_ul_DCCH_MessageEUTRA = -1; /* T_ul_DCCH_MessageEUTRA */ -static int hf_nr_rrc_nonCriticalExtension_54 = -1; /* T_nonCriticalExtension_36 */ +static int hf_nr_rrc_nonCriticalExtension_81 = -1; /* T_nonCriticalExtension_47 */ 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 */ @@ -950,16 +1537,39 @@ static int hf_nr_rrc_frequencyBandListSUL = -1; /* MultiFrequencyBandListNR_SI static int hf_nr_rrc_p_Max = -1; /* P_Max */ static int hf_nr_rrc_deriveSSB_IndexFromCell = -1; /* BOOLEAN */ static int hf_nr_rrc_t_ReselectionNR_SF = -1; /* SpeedStateScaleFactors */ +static int hf_nr_rrc_smtc2_LP_r16 = -1; /* SSB_MTC2_LP_r16 */ +static int hf_nr_rrc_ssb_PositionQCL_Common_r16 = -1; /* SSB_PositionQCL_Relation_r16 */ +static int hf_nr_rrc_relaxedMeasurement_r16 = -1; /* T_relaxedMeasurement_r16 */ +static int hf_nr_rrc_lowMobilityEvaluation_r16 = -1; /* T_lowMobilityEvaluation_r16 */ +static int hf_nr_rrc_s_SearchDeltaP_r16 = -1; /* T_s_SearchDeltaP_r16 */ +static int hf_nr_rrc_t_SearchDeltaP_r16 = -1; /* T_t_SearchDeltaP_r16 */ +static int hf_nr_rrc_cellEdgeEvaluation_r16 = -1; /* T_cellEdgeEvaluation_r16 */ +static int hf_nr_rrc_s_SearchThresholdP_r16 = -1; /* ReselectionThreshold */ +static int hf_nr_rrc_s_SearchThresholdQ_r16 = -1; /* ReselectionThresholdQ */ +static int hf_nr_rrc_combineRelaxedMeasCondition_r16 = -1; /* T_combineRelaxedMeasCondition_r16 */ +static int hf_nr_rrc_highPriorityMeasRelax_r16 = -1; /* T_highPriorityMeasRelax_r16 */ static int hf_nr_rrc_intraFreqNeighCellList = -1; /* IntraFreqNeighCellList */ static int hf_nr_rrc_intraFreqBlackCellList = -1; /* IntraFreqBlackCellList */ +static int hf_nr_rrc_intraFreqNeighCellList_v1610 = -1; /* IntraFreqNeighCellList_v1610 */ +static int hf_nr_rrc_intraFreqWhiteCellList_r16 = -1; /* IntraFreqWhiteCellList_r16 */ +static int hf_nr_rrc_intraFreqCAG_CellList_r16 = -1; /* SEQUENCE_SIZE_1_maxPLMN_OF_IntraFreqCAG_CellPerPLMN_r16 */ +static int hf_nr_rrc_intraFreqCAG_CellList_r16_item = -1; /* IntraFreqCAG_CellPerPLMN_r16 */ static int hf_nr_rrc_IntraFreqNeighCellList_item = -1; /* IntraFreqNeighCellInfo */ +static int hf_nr_rrc_IntraFreqNeighCellList_v1610_item = -1; /* IntraFreqNeighCellInfo_v1610 */ 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_ssb_PositionQCL_r16 = -1; /* SSB_PositionQCL_Relation_r16 */ static int hf_nr_rrc_IntraFreqBlackCellList_item = -1; /* PCI_Range */ +static int hf_nr_rrc_IntraFreqWhiteCellList_r16_item = -1; /* PCI_Range */ +static int hf_nr_rrc_plmn_IdentityIndex_r16 = -1; /* INTEGER_1_maxPLMN */ +static int hf_nr_rrc_cag_CellList_r16 = -1; /* SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_PCI_Range */ +static int hf_nr_rrc_cag_CellList_r16_item = -1; /* PCI_Range */ static int hf_nr_rrc_interFreqCarrierFreqList = -1; /* InterFreqCarrierFreqList */ +static int hf_nr_rrc_interFreqCarrierFreqList_v1610 = -1; /* InterFreqCarrierFreqList_v1610 */ static int hf_nr_rrc_InterFreqCarrierFreqList_item = -1; /* InterFreqCarrierFreqInfo */ +static int hf_nr_rrc_InterFreqCarrierFreqList_v1610_item = -1; /* InterFreqCarrierFreqInfo_v1610 */ static int hf_nr_rrc_dl_CarrierFreq = -1; /* ARFCN_ValueNR */ static int hf_nr_rrc_threshX_HighP = -1; /* ReselectionThreshold */ static int hf_nr_rrc_threshX_LowP = -1; /* ReselectionThreshold */ @@ -969,12 +1579,20 @@ 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_v1610 = -1; /* InterFreqNeighCellList_v1610 */ +static int hf_nr_rrc_interFreqWhiteCellList_r16 = -1; /* InterFreqWhiteCellList_r16 */ +static int hf_nr_rrc_interFreqCAG_CellList_r16 = -1; /* SEQUENCE_SIZE_1_maxPLMN_OF_InterFreqCAG_CellList_r16 */ +static int hf_nr_rrc_interFreqCAG_CellList_r16_item = -1; /* InterFreqCAG_CellList_r16 */ static int hf_nr_rrc_InterFreqNeighCellList_item = -1; /* InterFreqNeighCellInfo */ +static int hf_nr_rrc_InterFreqNeighCellList_v1610_item = -1; /* InterFreqNeighCellInfo_v1610 */ static int hf_nr_rrc_InterFreqBlackCellList_item = -1; /* PCI_Range */ +static int hf_nr_rrc_InterFreqWhiteCellList_r16_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_v1610 = -1; /* CarrierFreqListEUTRA_v1610 */ static int hf_nr_rrc_CarrierFreqListEUTRA_item = -1; /* CarrierFreqEUTRA */ +static int hf_nr_rrc_CarrierFreqListEUTRA_v1610_item = -1; /* CarrierFreqEUTRA_v1610 */ 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 */ @@ -986,6 +1604,7 @@ 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_highSpeedEUTRACarrier_r16 = -1; /* T_highSpeedEUTRACarrier_r16 */ 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 */ @@ -1011,6 +1630,87 @@ 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_hrnn_List_r16 = -1; /* HRNN_List_r16 */ +static int hf_nr_rrc_HRNN_List_r16_item = -1; /* HRNN_r16 */ +static int hf_nr_rrc_hrnn_r16 = -1; /* OCTET_STRING_SIZE_1_maxHRNN_Len_r16 */ +static int hf_nr_rrc_measIdleConfigSIB_r16 = -1; /* MeasIdleConfigSIB_r16 */ +static int hf_nr_rrc_segmentNumber_r16_02 = -1; /* INTEGER_0_63 */ +static int hf_nr_rrc_segmentType_r16 = -1; /* T_segmentType_r16 */ +static int hf_nr_rrc_segmentContainer_r16 = -1; /* OCTET_STRING */ +static int hf_nr_rrc_sl_V2X_ConfigCommon_r16 = -1; /* OCTET_STRING */ +static int hf_nr_rrc_sl_Bandwidth_r16 = -1; /* OCTET_STRING */ +static int hf_nr_rrc_tdd_Config_r16 = -1; /* OCTET_STRING */ +static int hf_nr_rrc_sl_V2X_ConfigCommonExt_r16 = -1; /* OCTET_STRING */ +static int hf_nr_rrc_posSIB_TypeAndInfo_r16 = -1; /* T_posSIB_TypeAndInfo_r16 */ +static int hf_nr_rrc_posSIB_TypeAndInfo_r16_item = -1; /* T_posSIB_TypeAndInfo_r16_item */ +static int hf_nr_rrc_posSib1_1_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib1_2_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib1_3_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib1_4_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib1_5_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib1_6_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib1_7_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib1_8_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_1_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_2_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_3_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_4_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_5_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_6_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_7_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_8_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_9_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_10_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_11_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_12_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_13_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_14_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_15_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_16_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_17_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_18_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_19_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_20_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_21_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_22_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib2_23_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib3_1_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib4_1_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib5_1_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib6_1_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib6_2_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_posSib6_3_r16 = -1; /* SIBpos_r16 */ +static int hf_nr_rrc_nonCriticalExtension_82 = -1; /* T_nonCriticalExtension_48 */ +static int hf_nr_rrc_posSchedulingInfoList_r16 = -1; /* SEQUENCE_SIZE_1_maxSI_Message_OF_PosSchedulingInfo_r16 */ +static int hf_nr_rrc_posSchedulingInfoList_r16_item = -1; /* PosSchedulingInfo_r16 */ +static int hf_nr_rrc_posSI_RequestConfig_r16 = -1; /* SI_RequestConfig */ +static int hf_nr_rrc_posSI_RequestConfigSUL_r16 = -1; /* SI_RequestConfig */ +static int hf_nr_rrc_offsetToSI_Used_r16 = -1; /* T_offsetToSI_Used_r16 */ +static int hf_nr_rrc_posSI_Periodicity_r16 = -1; /* T_posSI_Periodicity_r16 */ +static int hf_nr_rrc_posSI_BroadcastStatus_r16 = -1; /* T_posSI_BroadcastStatus_r16 */ +static int hf_nr_rrc_posSIB_MappingInfo_r16 = -1; /* PosSIB_MappingInfo_r16 */ +static int hf_nr_rrc_PosSIB_MappingInfo_r16_item = -1; /* PosSIB_Type_r16 */ +static int hf_nr_rrc_encrypted_r16 = -1; /* T_encrypted_r16 */ +static int hf_nr_rrc_posSibType_r16_01 = -1; /* T_posSibType_r16_01 */ +static int hf_nr_rrc_areaScope_r16 = -1; /* T_areaScope_r16 */ +static int hf_nr_rrc_gnss_id_r16_01 = -1; /* T_gnss_id_r16 */ +static int hf_nr_rrc_sbas_id_r16_01 = -1; /* T_sbas_id_r16 */ +static int hf_nr_rrc_assistanceDataSIB_Element_r16 = -1; /* OCTET_STRING */ +static int hf_nr_rrc_availabilityCombinationsPerCellIndex_r16 = -1; /* AvailabilityCombinationsPerCellIndex_r16 */ +static int hf_nr_rrc_iab_DU_CellIdentity_r16 = -1; /* CellIdentity */ +static int hf_nr_rrc_positionInDCI_AI_r16 = -1; /* INTEGER_0_maxAI_DCI_PayloadSize_r16_1 */ +static int hf_nr_rrc_availabilityCombinations_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombination_r16 */ +static int hf_nr_rrc_availabilityCombinations_r16_item = -1; /* AvailabilityCombination_r16 */ +static int hf_nr_rrc_availabilityCombinationId_r16 = -1; /* AvailabilityCombinationId_r16 */ +static int hf_nr_rrc_resourceAvailability_r16 = -1; /* T_resourceAvailability_r16 */ +static int hf_nr_rrc_resourceAvailability_r16_item = -1; /* INTEGER_0_7 */ +static int hf_nr_rrc_ai_RNTI_r16 = -1; /* AI_RNTI_r16 */ +static int hf_nr_rrc_dci_PayloadSizeAI_r16 = -1; /* INTEGER_1_maxAI_DCI_PayloadSize_r16 */ +static int hf_nr_rrc_availableCombToAddModList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCell_r16 */ +static int hf_nr_rrc_availableCombToAddModList_r16_item = -1; /* AvailabilityCombinationsPerCell_r16 */ +static int hf_nr_rrc_availableCombToReleaseList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCellIndex_r16 */ +static int hf_nr_rrc_availableCombToReleaseList_r16_item = -1; /* AvailabilityCombinationsPerCellIndex_r16 */ +static int hf_nr_rrc_bap_PathId_r16 = -1; /* BIT_STRING_SIZE_10 */ 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 */ @@ -1022,6 +1722,9 @@ static int hf_nr_rrc_recoverySearchSpaceId = -1; /* SearchSpaceId */ static int hf_nr_rrc_ra_Prioritization = -1; /* RA_Prioritization */ static int hf_nr_rrc_beamFailureRecoveryTimer = -1; /* T_beamFailureRecoveryTimer */ static int hf_nr_rrc_msg1_SubcarrierSpacing = -1; /* SubcarrierSpacing */ +static int hf_nr_rrc_ra_PrioritizationTwoStep_r16 = -1; /* RA_Prioritization */ +static int hf_nr_rrc_candidateBeamRSListExt_v1610 = -1; /* T_candidateBeamRSListExt_v1610 */ +static int hf_nr_rrc_setup_13 = -1; /* CandidateBeamRSListExt_r16 */ 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 */ @@ -1029,6 +1732,14 @@ 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_CandidateBeamRSListExt_r16_item = -1; /* PRACH_ResourceDedicatedBFR */ +static int hf_nr_rrc_rsrp_ThresholdBFR_r16 = -1; /* RSRP_Range */ +static int hf_nr_rrc_candidateBeamRSSCellList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16 */ +static int hf_nr_rrc_candidateBeamRSSCellList_r16_item = -1; /* CandidateBeamRS_r16 */ +static int hf_nr_rrc_candidateBeamConfig_r16 = -1; /* T_candidateBeamConfig_r16 */ +static int hf_nr_rrc_ssb_r16 = -1; /* SSB_Index */ +static int hf_nr_rrc_csi_RS_r16 = -1; /* NZP_CSI_RS_ResourceId */ +static int hf_nr_rrc_servingCellId = -1; /* ServCellIndex */ static int hf_nr_rrc_betaOffsetACK_Index1 = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_betaOffsetACK_Index2 = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_betaOffsetACK_Index3 = -1; /* INTEGER_0_31 */ @@ -1036,6 +1747,13 @@ static int hf_nr_rrc_betaOffsetCSI_Part1_Index1 = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_betaOffsetCSI_Part1_Index2 = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_betaOffsetCSI_Part2_Index1 = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_betaOffsetCSI_Part2_Index2 = -1; /* INTEGER_0_31 */ +static int hf_nr_rrc_bh_LogicalChannelIdentity_r16 = -1; /* BH_LogicalChannelIdentity_r16 */ +static int hf_nr_rrc_bh_RLC_ChannelID_r16 = -1; /* BH_RLC_ChannelID_r16 */ +static int hf_nr_rrc_reestablishRLC_r16 = -1; /* T_reestablishRLC_r16 */ +static int hf_nr_rrc_rlc_Config_r16 = -1; /* RLC_Config */ +static int hf_nr_rrc_mac_LogicalChannelConfig_r16 = -1; /* LogicalChannelConfig */ +static int hf_nr_rrc_bh_LogicalChannelIdentity_r16_01 = -1; /* LogicalChannelIdentity */ +static int hf_nr_rrc_bh_LogicalChannelIdentityExt_r16 = -1; /* BH_LogicalChannelIdentity_Ext_r16 */ 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 */ @@ -1047,37 +1765,69 @@ static int hf_nr_rrc_bwp_Common = -1; /* BWP_DownlinkCommon */ static int hf_nr_rrc_bwp_Dedicated = -1; /* BWP_DownlinkDedicated */ static int hf_nr_rrc_genericParameters = -1; /* BWP */ static int hf_nr_rrc_pdcch_ConfigCommon = -1; /* T_pdcch_ConfigCommon */ -static int hf_nr_rrc_setup_03 = -1; /* PDCCH_ConfigCommon */ +static int hf_nr_rrc_setup_14 = -1; /* PDCCH_ConfigCommon */ static int hf_nr_rrc_pdsch_ConfigCommon = -1; /* T_pdsch_ConfigCommon */ -static int hf_nr_rrc_setup_04 = -1; /* PDSCH_ConfigCommon */ +static int hf_nr_rrc_setup_15 = -1; /* PDSCH_ConfigCommon */ static int hf_nr_rrc_pdcch_Config = -1; /* T_pdcch_Config */ -static int hf_nr_rrc_setup_05 = -1; /* PDCCH_Config */ +static int hf_nr_rrc_setup_16 = -1; /* PDCCH_Config */ static int hf_nr_rrc_pdsch_Config = -1; /* T_pdsch_Config */ -static int hf_nr_rrc_setup_06 = -1; /* PDSCH_Config */ +static int hf_nr_rrc_setup_17 = -1; /* PDSCH_Config */ static int hf_nr_rrc_sps_Config = -1; /* T_sps_Config */ -static int hf_nr_rrc_setup_07 = -1; /* SPS_Config */ +static int hf_nr_rrc_setup_18 = -1; /* SPS_Config */ static int hf_nr_rrc_radioLinkMonitoringConfig = -1; /* T_radioLinkMonitoringConfig */ -static int hf_nr_rrc_setup_08 = -1; /* RadioLinkMonitoringConfig */ +static int hf_nr_rrc_setup_19 = -1; /* RadioLinkMonitoringConfig */ +static int hf_nr_rrc_sps_ConfigToAddModList_r16 = -1; /* SPS_ConfigToAddModList_r16 */ +static int hf_nr_rrc_sps_ConfigToReleaseList_r16 = -1; /* SPS_ConfigToReleaseList_r16 */ +static int hf_nr_rrc_sps_ConfigDeactivationStateList_r16 = -1; /* SPS_ConfigDeactivationStateList_r16 */ +static int hf_nr_rrc_beamFailureRecoverySCellConfig_r16 = -1; /* T_beamFailureRecoverySCellConfig_r16 */ +static int hf_nr_rrc_setup_20 = -1; /* BeamFailureRecoverySCellConfig_r16 */ +static int hf_nr_rrc_sl_PDCCH_Config_r16 = -1; /* T_sl_PDCCH_Config_r16 */ +static int hf_nr_rrc_sl_V2X_PDCCH_Config_r16 = -1; /* T_sl_V2X_PDCCH_Config_r16 */ +static int hf_nr_rrc_SPS_ConfigToAddModList_r16_item = -1; /* SPS_Config */ +static int hf_nr_rrc_SPS_ConfigToReleaseList_r16_item = -1; /* SPS_ConfigIndex_r16 */ +static int hf_nr_rrc_SPS_ConfigDeactivationState_r16_item = -1; /* SPS_ConfigIndex_r16 */ +static int hf_nr_rrc_SPS_ConfigDeactivationStateList_r16_item = -1; /* SPS_ConfigDeactivationState_r16 */ static int hf_nr_rrc_bwp_Common_01 = -1; /* BWP_UplinkCommon */ static int hf_nr_rrc_bwp_Dedicated_01 = -1; /* BWP_UplinkDedicated */ static int hf_nr_rrc_rach_ConfigCommon = -1; /* T_rach_ConfigCommon */ -static int hf_nr_rrc_setup_09 = -1; /* RACH_ConfigCommon */ +static int hf_nr_rrc_setup_21 = -1; /* RACH_ConfigCommon */ static int hf_nr_rrc_pusch_ConfigCommon = -1; /* T_pusch_ConfigCommon */ -static int hf_nr_rrc_setup_10 = -1; /* PUSCH_ConfigCommon */ +static int hf_nr_rrc_setup_22 = -1; /* PUSCH_ConfigCommon */ static int hf_nr_rrc_pucch_ConfigCommon = -1; /* T_pucch_ConfigCommon */ -static int hf_nr_rrc_setup_11 = -1; /* PUCCH_ConfigCommon */ +static int hf_nr_rrc_setup_23 = -1; /* PUCCH_ConfigCommon */ +static int hf_nr_rrc_rach_ConfigCommonIAB_r16 = -1; /* T_rach_ConfigCommonIAB_r16 */ +static int hf_nr_rrc_useInterlacePUCCH_PUSCH_r16 = -1; /* T_useInterlacePUCCH_PUSCH_r16 */ +static int hf_nr_rrc_msgA_ConfigCommon_r16 = -1; /* T_msgA_ConfigCommon_r16 */ +static int hf_nr_rrc_setup_24 = -1; /* MsgA_ConfigCommon_r16 */ static int hf_nr_rrc_pucch_Config = -1; /* T_pucch_Config */ -static int hf_nr_rrc_setup_12 = -1; /* PUCCH_Config */ +static int hf_nr_rrc_setup_25 = -1; /* PUCCH_Config */ static int hf_nr_rrc_pusch_Config = -1; /* T_pusch_Config */ -static int hf_nr_rrc_setup_13 = -1; /* PUSCH_Config */ +static int hf_nr_rrc_setup_26 = -1; /* PUSCH_Config */ static int hf_nr_rrc_configuredGrantConfig = -1; /* T_configuredGrantConfig */ -static int hf_nr_rrc_setup_14 = -1; /* ConfiguredGrantConfig */ +static int hf_nr_rrc_setup_27 = -1; /* ConfiguredGrantConfig */ static int hf_nr_rrc_srs_Config = -1; /* T_srs_Config */ -static int hf_nr_rrc_setup_15 = -1; /* SRS_Config */ +static int hf_nr_rrc_setup_28 = -1; /* SRS_Config */ static int hf_nr_rrc_beamFailureRecoveryConfig = -1; /* T_beamFailureRecoveryConfig */ -static int hf_nr_rrc_setup_16 = -1; /* BeamFailureRecoveryConfig */ +static int hf_nr_rrc_setup_29 = -1; /* BeamFailureRecoveryConfig */ +static int hf_nr_rrc_sl_PUCCH_Config_r16 = -1; /* T_sl_PUCCH_Config_r16 */ +static int hf_nr_rrc_cp_ExtensionC2_r16 = -1; /* INTEGER_1_28 */ +static int hf_nr_rrc_cp_ExtensionC3_r16 = -1; /* INTEGER_1_28 */ +static int hf_nr_rrc_useInterlacePUCCH_PUSCH_r16_01 = -1; /* T_useInterlacePUCCH_PUSCH_r16_01 */ +static int hf_nr_rrc_pucch_ConfigurationList_r16 = -1; /* T_pucch_ConfigurationList_r16 */ +static int hf_nr_rrc_setup_30 = -1; /* PUCCH_ConfigurationList_r16 */ +static int hf_nr_rrc_lbt_FailureRecoveryConfig_r16 = -1; /* T_lbt_FailureRecoveryConfig_r16 */ +static int hf_nr_rrc_setup_31 = -1; /* LBT_FailureRecoveryConfig_r16 */ +static int hf_nr_rrc_configuredGrantConfigToAddModList_r16 = -1; /* ConfiguredGrantConfigToAddModList_r16 */ +static int hf_nr_rrc_configuredGrantConfigToReleaseList_r16 = -1; /* ConfiguredGrantConfigToReleaseList_r16 */ +static int hf_nr_rrc_configuredGrantConfigType2DeactivationStateList_r16 = -1; /* ConfiguredGrantConfigType2DeactivationStateList_r16 */ +static int hf_nr_rrc_ConfiguredGrantConfigToAddModList_r16_item = -1; /* ConfiguredGrantConfig */ +static int hf_nr_rrc_ConfiguredGrantConfigToReleaseList_r16_item = -1; /* ConfiguredGrantConfigIndex_r16 */ +static int hf_nr_rrc_ConfiguredGrantConfigType2DeactivationState_r16_item = -1; /* ConfiguredGrantConfigIndex_r16 */ +static int hf_nr_rrc_ConfiguredGrantConfigType2DeactivationStateList_r16_item = -1; /* ConfiguredGrantConfigType2DeactivationState_r16 */ static int hf_nr_rrc_plmn_IdentityList = -1; /* PLMN_IdentityInfoList */ static int hf_nr_rrc_cellReservedForOtherUse = -1; /* T_cellReservedForOtherUse */ +static int hf_nr_rrc_cellReservedForFutureUse_r16 = -1; /* T_cellReservedForFutureUse_r16 */ +static int hf_nr_rrc_npn_IdentityInfoList_r16 = -1; /* NPN_IdentityInfoList_r16 */ 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 */ @@ -1103,9 +1853,23 @@ static int hf_nr_rrc_sCellToAddModList_item = -1; /* SCellConfig */ static int hf_nr_rrc_sCellToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex */ static int hf_nr_rrc_sCellToReleaseList_item = -1; /* SCellIndex */ static int hf_nr_rrc_reportUplinkTxDirectCurrent = -1; /* T_reportUplinkTxDirectCurrent */ +static int hf_nr_rrc_bh_RLC_ChannelToAddModList_r16 = -1; /* SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelConfig_r16 */ +static int hf_nr_rrc_bh_RLC_ChannelToAddModList_r16_item = -1; /* BH_RLC_ChannelConfig_r16 */ +static int hf_nr_rrc_bh_RLC_ChannelToReleaseList_r16 = -1; /* SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelID_r16 */ +static int hf_nr_rrc_bh_RLC_ChannelToReleaseList_r16_item = -1; /* BH_RLC_ChannelID_r16 */ +static int hf_nr_rrc_f1c_TransferPath_r16 = -1; /* T_f1c_TransferPath_r16 */ +static int hf_nr_rrc_simultaneousTCI_UpdateList1_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex */ +static int hf_nr_rrc_simultaneousTCI_UpdateList1_r16_item = -1; /* ServCellIndex */ +static int hf_nr_rrc_simultaneousTCI_UpdateList2_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex */ +static int hf_nr_rrc_simultaneousTCI_UpdateList2_r16_item = -1; /* ServCellIndex */ +static int hf_nr_rrc_simultaneousSpatial_UpdatedList1_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex */ +static int hf_nr_rrc_simultaneousSpatial_UpdatedList1_r16_item = -1; /* ServCellIndex */ +static int hf_nr_rrc_simultaneousSpatial_UpdatedList2_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex */ +static int hf_nr_rrc_simultaneousSpatial_UpdatedList2_r16_item = -1; /* ServCellIndex */ +static int hf_nr_rrc_uplinkTxSwitchingOption_r16 = -1; /* T_uplinkTxSwitchingOption_r16 */ static int hf_nr_rrc_reconfigurationWithSync = -1; /* ReconfigurationWithSync */ static int hf_nr_rrc_rlf_TimersAndConstants = -1; /* T_rlf_TimersAndConstants */ -static int hf_nr_rrc_setup_17 = -1; /* RLF_TimersAndConstants */ +static int hf_nr_rrc_setup_32 = -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 */ @@ -1114,9 +1878,13 @@ static int hf_nr_rrc_t304 = -1; /* T_t304 */ static int hf_nr_rrc_rach_ConfigDedicated = -1; /* T_rach_ConfigDedicated */ static int hf_nr_rrc_uplink = -1; /* RACH_ConfigDedicated */ static int hf_nr_rrc_supplementaryUplink = -1; /* RACH_ConfigDedicated */ +static int hf_nr_rrc_daps_UplinkPowerConfig_r16 = -1; /* DAPS_UplinkPowerConfig_r16 */ +static int hf_nr_rrc_uplinkPowerSharingDAPS_Mode_r16_01 = -1; /* T_uplinkPowerSharingDAPS_Mode_r16_01 */ 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_sCellState_r16 = -1; /* T_sCellState_r16 */ +static int hf_nr_rrc_secondaryDRX_GroupConfig_r16 = -1; /* T_secondaryDRX_GroupConfig_r16 */ 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 */ @@ -1126,9 +1894,15 @@ static int hf_nr_rrc_cgi_info_5GC_item = -1; /* CellAccessRelatedInfo_EUTRA static int hf_nr_rrc_freqBandIndicator = -1; /* FreqBandIndicatorEUTRA */ static int hf_nr_rrc_multiBandInfoList = -1; /* MultiBandInfoListEUTRA */ static int hf_nr_rrc_freqBandIndicatorPriority = -1; /* T_freqBandIndicatorPriority */ +static int hf_nr_rrc_plmn_Identity_eutra_5gc = -1; /* PLMN_Identity */ +static int hf_nr_rrc_cellIdentity_eutra_5gc_01 = -1; /* BIT_STRING_SIZE_28 */ +static int hf_nr_rrc_plmn_Identity_eutra_epc = -1; /* PLMN_Identity */ 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_plmn_Identity_r16 = -1; /* PLMN_Identity */ +static int hf_nr_rrc_cellIdentity_r16 = -1; /* CellIdentity */ +static int hf_nr_rrc_trackingAreaCode_r16 = -1; /* TrackingAreaCode */ static int hf_nr_rrc_codebookType = -1; /* T_codebookType */ static int hf_nr_rrc_type1_01 = -1; /* T_type1_01 */ static int hf_nr_rrc_subType = -1; /* T_subType */ @@ -1189,12 +1963,38 @@ static int hf_nr_rrc_typeII_PortSelectionRI_Restriction = -1; /* BIT_STRING_SIZ static int hf_nr_rrc_phaseAlphabetSize = -1; /* T_phaseAlphabetSize */ static int hf_nr_rrc_subbandAmplitude = -1; /* BOOLEAN */ static int hf_nr_rrc_numberOfBeams = -1; /* T_numberOfBeams */ +static int hf_nr_rrc_codebookType_01 = -1; /* T_codebookType_01 */ +static int hf_nr_rrc_type2_01 = -1; /* T_type2_01 */ +static int hf_nr_rrc_subType_02 = -1; /* T_subType_02 */ +static int hf_nr_rrc_typeII_r16 = -1; /* T_typeII_r16 */ +static int hf_nr_rrc_n1_n2_codebookSubsetRestriction_r16 = -1; /* T_n1_n2_codebookSubsetRestriction_r16 */ +static int hf_nr_rrc_typeII_RI_Restriction_r16 = -1; /* BIT_STRING_SIZE_4 */ +static int hf_nr_rrc_typeII_PortSelection_r16 = -1; /* T_typeII_PortSelection_r16 */ +static int hf_nr_rrc_portSelectionSamplingSize_r16 = -1; /* T_portSelectionSamplingSize_r16 */ +static int hf_nr_rrc_typeII_PortSelectionRI_Restriction_r16 = -1; /* BIT_STRING_SIZE_4 */ +static int hf_nr_rrc_numberOfPMI_SubbandsPerCQI_Subband_r16 = -1; /* INTEGER_1_2 */ +static int hf_nr_rrc_paramCombination_r16 = -1; /* INTEGER_1_8 */ +static int hf_nr_rrc_gnss_TOD_msec_r16 = -1; /* OCTET_STRING */ +static int hf_nr_rrc_locationTimestamp_r16 = -1; /* T_locationTimestamp_r16 */ +static int hf_nr_rrc_locationCoordinate_r16 = -1; /* T_locationCoordinate_r16 */ +static int hf_nr_rrc_locationError_r16 = -1; /* T_locationError_r16 */ +static int hf_nr_rrc_locationSource_r16 = -1; /* T_locationSource_r16 */ +static int hf_nr_rrc_velocityEstimate_r16 = -1; /* T_velocityEstimate_r16 */ +static int hf_nr_rrc_CondReconfigToAddModList_r16_item = -1; /* CondReconfigToAddMod_r16 */ +static int hf_nr_rrc_condReconfigId_r16 = -1; /* CondReconfigId_r16 */ +static int hf_nr_rrc_condExecutionCond_r16 = -1; /* SEQUENCE_SIZE_1_2_OF_MeasId */ +static int hf_nr_rrc_condExecutionCond_r16_item = -1; /* MeasId */ +static int hf_nr_rrc_condRRCReconfig_r16 = -1; /* T_condRRCReconfig_r16 */ +static int hf_nr_rrc_attemptCondReconfig_r16 = -1; /* T_attemptCondReconfig_r16 */ +static int hf_nr_rrc_condReconfigToRemoveList_r16 = -1; /* CondReconfigToRemoveList_r16 */ +static int hf_nr_rrc_condReconfigToAddModList_r16 = -1; /* CondReconfigToAddModList_r16 */ +static int hf_nr_rrc_CondReconfigToRemoveList_r16_item = -1; /* CondReconfigId_r16 */ static int hf_nr_rrc_frequencyHopping = -1; /* T_frequencyHopping */ static int hf_nr_rrc_cg_DMRS_Configuration = -1; /* DMRS_UplinkConfig */ static int hf_nr_rrc_mcs_Table = -1; /* T_mcs_Table */ static int hf_nr_rrc_mcs_TableTransformPrecoder = -1; /* T_mcs_TableTransformPrecoder */ static int hf_nr_rrc_uci_OnPUSCH = -1; /* T_uci_OnPUSCH */ -static int hf_nr_rrc_setup_18 = -1; /* CG_UCI_OnPUSCH */ +static int hf_nr_rrc_setup_33 = -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 */ @@ -1216,9 +2016,41 @@ static int hf_nr_rrc_srs_ResourceIndicator = -1; /* INTEGER_0_15 */ static int hf_nr_rrc_mcsAndTBS = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_frequencyHoppingOffset = -1; /* INTEGER_1_maxNrofPhysicalResourceBlocks_1 */ static int hf_nr_rrc_pathlossReferenceIndex = -1; /* INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1 */ +static int hf_nr_rrc_pusch_RepTypeIndicator_r16 = -1; /* T_pusch_RepTypeIndicator_r16 */ +static int hf_nr_rrc_frequencyHoppingPUSCH_RepTypeB_r16 = -1; /* T_frequencyHoppingPUSCH_RepTypeB_r16 */ +static int hf_nr_rrc_timeReferenceSFN_r16 = -1; /* T_timeReferenceSFN_r16 */ +static int hf_nr_rrc_cg_RetransmissionTimer_r16 = -1; /* INTEGER_1_64 */ +static int hf_nr_rrc_cg_minDFI_Delay_r16 = -1; /* T_cg_minDFI_Delay_r16 */ +static int hf_nr_rrc_cg_nrofPUSCH_InSlot_r16 = -1; /* INTEGER_1_7 */ +static int hf_nr_rrc_cg_nrofSlots_r16 = -1; /* INTEGER_1_40 */ +static int hf_nr_rrc_cg_StartingOffsets_r16 = -1; /* CG_StartingOffsets_r16 */ +static int hf_nr_rrc_cg_UCI_Multiplexing = -1; /* T_cg_UCI_Multiplexing */ +static int hf_nr_rrc_cg_COT_SharingOffset_r16 = -1; /* INTEGER_1_39 */ +static int hf_nr_rrc_betaOffsetCG_UCI_r16 = -1; /* INTEGER_0_31 */ +static int hf_nr_rrc_cg_COT_SharingList_r16 = -1; /* SEQUENCE_SIZE_1_1709_OF_CG_COT_Sharing_r16 */ +static int hf_nr_rrc_cg_COT_SharingList_r16_item = -1; /* CG_COT_Sharing_r16 */ +static int hf_nr_rrc_harq_ProcID_Offset_r16 = -1; /* INTEGER_0_15 */ +static int hf_nr_rrc_harq_ProcID_Offset2_r16 = -1; /* INTEGER_0_15 */ +static int hf_nr_rrc_configuredGrantConfigIndex_r16 = -1; /* ConfiguredGrantConfigIndex_r16 */ +static int hf_nr_rrc_configuredGrantConfigIndexMAC_r16 = -1; /* ConfiguredGrantConfigIndexMAC_r16 */ +static int hf_nr_rrc_periodicityExt_r16 = -1; /* INTEGER_1_5120 */ +static int hf_nr_rrc_startingFromRV0_r16 = -1; /* T_startingFromRV0_r16 */ +static int hf_nr_rrc_phy_PriorityIndex_r16 = -1; /* T_phy_PriorityIndex_r16 */ +static int hf_nr_rrc_autonomousTx_r16 = -1; /* T_autonomousTx_r16 */ 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_noCOT_Sharing_r16 = -1; /* NULL */ +static int hf_nr_rrc_cot_Sharing_r16 = -1; /* T_cot_Sharing_r16 */ +static int hf_nr_rrc_duration_r16 = -1; /* INTEGER_1_39 */ +static int hf_nr_rrc_offset_r16 = -1; /* INTEGER_1_39 */ +static int hf_nr_rrc_channelAccessPriority_r16 = -1; /* INTEGER_1_4 */ +static int hf_nr_rrc_cg_StartingFullBW_InsideCOT_r16 = -1; /* T_cg_StartingFullBW_InsideCOT_r16 */ +static int hf_nr_rrc_cg_StartingFullBW_InsideCOT_r16_item = -1; /* INTEGER_0_6 */ +static int hf_nr_rrc_cg_StartingFullBW_OutsideCOT_r16 = -1; /* T_cg_StartingFullBW_OutsideCOT_r16 */ +static int hf_nr_rrc_cg_StartingFullBW_OutsideCOT_r16_item = -1; /* INTEGER_0_6 */ +static int hf_nr_rrc_cg_StartingPartialBW_InsideCOT_r16 = -1; /* INTEGER_0_6 */ +static int hf_nr_rrc_cg_StartingPartialBW_OutsideCOT_r16 = -1; /* INTEGER_0_6 */ 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 */ @@ -1238,12 +2070,19 @@ static int hf_nr_rrc_tci_StatesPDCCH_ToReleaseList = -1; /* SEQUENCE_SIZE_1_max static int hf_nr_rrc_tci_StatesPDCCH_ToReleaseList_item = -1; /* TCI_StateId */ static int hf_nr_rrc_tci_PresentInDCI = -1; /* T_tci_PresentInDCI */ static int hf_nr_rrc_pdcch_DMRS_ScramblingID = -1; /* INTEGER_0_65535 */ +static int hf_nr_rrc_rb_Offset_r16 = -1; /* INTEGER_0_5 */ +static int hf_nr_rrc_tci_PresentForDCI_Format1_2_r16 = -1; /* INTEGER_1_3 */ +static int hf_nr_rrc_coresetPoolIndex_r16 = -1; /* INTEGER_0_1 */ +static int hf_nr_rrc_controlResourceSetId_v1610 = -1; /* ControlResourceSetId_v1610 */ static int hf_nr_rrc_schedulingCellInfo = -1; /* T_schedulingCellInfo */ static int hf_nr_rrc_own = -1; /* T_own */ static int hf_nr_rrc_cif_Presence = -1; /* BOOLEAN */ static int hf_nr_rrc_other = -1; /* T_other */ static int hf_nr_rrc_schedulingCellId = -1; /* ServCellIndex */ static int hf_nr_rrc_cif_InSchedulingCell = -1; /* INTEGER_1_7 */ +static int hf_nr_rrc_carrierIndicatorSize = -1; /* T_carrierIndicatorSize */ +static int hf_nr_rrc_carrierIndicatorSizeForDCI_Format1_2_r16 = -1; /* INTEGER_0_3 */ +static int hf_nr_rrc_carrierIndicatorSizeForDCI_Format0_2_r16 = -1; /* INTEGER_0_3 */ static int hf_nr_rrc_CSI_AperiodicTriggerStateList_item = -1; /* CSI_AperiodicTriggerState */ static int hf_nr_rrc_associatedReportConfigInfoList = -1; /* SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo */ static int hf_nr_rrc_associatedReportConfigInfoList_item = -1; /* CSI_AssociatedReportConfigInfo */ @@ -1301,9 +2140,10 @@ 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_19 = -1; /* CSI_AperiodicTriggerStateList */ +static int hf_nr_rrc_setup_34 = -1; /* CSI_AperiodicTriggerStateList */ static int hf_nr_rrc_semiPersistentOnPUSCH_TriggerStateList = -1; /* T_semiPersistentOnPUSCH_TriggerStateList */ -static int hf_nr_rrc_setup_20 = -1; /* CSI_SemiPersistentOnPUSCH_TriggerStateList */ +static int hf_nr_rrc_setup_35 = -1; /* CSI_SemiPersistentOnPUSCH_TriggerStateList */ +static int hf_nr_rrc_reportTriggerSizeForDCI_Format0_2_r16 = -1; /* INTEGER_0_6 */ static int hf_nr_rrc_carrier = -1; /* ServCellIndex */ static int hf_nr_rrc_resourcesForChannelMeasurement = -1; /* CSI_ResourceConfigId */ static int hf_nr_rrc_csi_IM_ResourcesForInterference_01 = -1; /* CSI_ResourceConfigId */ @@ -1366,6 +2206,18 @@ static int hf_nr_rrc_non_PMI_PortIndication = -1; /* SEQUENCE_SIZE_1_maxNrofNZP 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_semiPersistentOnPUSCH_v1610 = -1; /* T_semiPersistentOnPUSCH_v1610 */ +static int hf_nr_rrc_reportSlotOffsetListForDCI_Format0_2_r16 = -1; /* T_reportSlotOffsetListForDCI_Format0_2_r16 */ +static int hf_nr_rrc_reportSlotOffsetListForDCI_Format0_2_r16_item = -1; /* INTEGER_0_32 */ +static int hf_nr_rrc_reportSlotOffsetListForDCI_Format0_1_r16 = -1; /* T_reportSlotOffsetListForDCI_Format0_1_r16 */ +static int hf_nr_rrc_reportSlotOffsetListForDCI_Format0_1_r16_item = -1; /* INTEGER_0_32 */ +static int hf_nr_rrc_aperiodic_v1610 = -1; /* T_aperiodic_v1610 */ +static int hf_nr_rrc_reportSlotOffsetListForDCI_Format0_2_r16_01 = -1; /* T_reportSlotOffsetListForDCI_Format0_2_r16_01 */ +static int hf_nr_rrc_reportSlotOffsetListForDCI_Format0_1_r16_01 = -1; /* T_reportSlotOffsetListForDCI_Format0_1_r16_01 */ +static int hf_nr_rrc_reportQuantity_r16 = -1; /* T_reportQuantity_r16 */ +static int hf_nr_rrc_cri_SINR_r16 = -1; /* NULL */ +static int hf_nr_rrc_ssb_Index_SINR_r16 = -1; /* NULL */ +static int hf_nr_rrc_codebookConfig_r16 = -1; /* CodebookConfig_r16 */ 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 */ @@ -1455,7 +2307,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_02 = -1; /* NULL */ +static int hf_nr_rrc_spare_03 = -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 */ @@ -1467,17 +2319,23 @@ static int hf_nr_rrc_maxLength = -1; /* T_maxLength */ static int hf_nr_rrc_scramblingID0 = -1; /* INTEGER_0_65535 */ static int hf_nr_rrc_scramblingID1 = -1; /* INTEGER_0_65535 */ static int hf_nr_rrc_phaseTrackingRS = -1; /* T_phaseTrackingRS */ -static int hf_nr_rrc_setup_21 = -1; /* PTRS_DownlinkConfig */ +static int hf_nr_rrc_setup_36 = -1; /* PTRS_DownlinkConfig */ +static int hf_nr_rrc_dmrs_Downlink_r16 = -1; /* T_dmrs_Downlink_r16 */ static int hf_nr_rrc_dmrs_Type_01 = -1; /* T_dmrs_Type_01 */ static int hf_nr_rrc_dmrs_AdditionalPosition_01 = -1; /* T_dmrs_AdditionalPosition_01 */ static int hf_nr_rrc_phaseTrackingRS_01 = -1; /* T_phaseTrackingRS_01 */ -static int hf_nr_rrc_setup_22 = -1; /* PTRS_UplinkConfig */ +static int hf_nr_rrc_setup_37 = -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_dmrs_Uplink_r16 = -1; /* T_dmrs_Uplink_r16 */ static int hf_nr_rrc_transformPrecodingEnabled = -1; /* T_transformPrecodingEnabled */ static int hf_nr_rrc_nPUSCH_Identity = -1; /* INTEGER_0_1007 */ static int hf_nr_rrc_sequenceGroupHopping = -1; /* T_sequenceGroupHopping */ static int hf_nr_rrc_sequenceHopping = -1; /* T_sequenceHopping */ +static int hf_nr_rrc_dmrs_UplinkTransformPrecoding_r16 = -1; /* T_dmrs_UplinkTransformPrecoding_r16 */ +static int hf_nr_rrc_setup_38 = -1; /* DMRS_UplinkTransformPrecoding_r16 */ +static int hf_nr_rrc_pi2BPSK_ScramblingID0 = -1; /* INTEGER_0_65535 */ +static int hf_nr_rrc_pi2BPSK_ScramblingID1 = -1; /* INTEGER_0_65535 */ 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 */ @@ -1509,16 +2367,15 @@ static int hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT = -1; /* T_sCS12 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_nrofPDCCH_MonitoringOccasionPerSSB_InPO_r16 = -1; /* INTEGER_2_4 */ static int hf_nr_rrc_int_RNTI = -1; /* RNTI_Value */ static int hf_nr_rrc_timeFrequencySet = -1; /* T_timeFrequencySet */ static int hf_nr_rrc_dci_PayloadSize = -1; /* INTEGER_0_maxINT_DCI_PayloadSize */ static int hf_nr_rrc_int_ConfigurationPerServingCell = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell */ static int hf_nr_rrc_int_ConfigurationPerServingCell_item = -1; /* INT_ConfigurationPerServingCell */ -static int hf_nr_rrc_servingCellId = -1; /* ServCellIndex */ static int hf_nr_rrc_positionInDCI = -1; /* INTEGER_0_maxINT_DCI_PayloadSize_1 */ -static int hf_nr_rrc_drx_onDurationTimer = -1; /* T_drx_onDurationTimer */ -static int hf_nr_rrc_subMilliSeconds = -1; /* INTEGER_1_31 */ -static int hf_nr_rrc_milliSeconds = -1; /* T_milliSeconds */ +static int hf_nr_rrc_drx_onDurationTimer_01 = -1; /* T_drx_onDurationTimer_01 */ +static int hf_nr_rrc_milliSeconds_01 = -1; /* T_milliSeconds_01 */ 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 */ @@ -1528,6 +2385,9 @@ static int hf_nr_rrc_drx_LongCycleStartOffset_01 = -1; /* T_drx_LongCycleStartO 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_drx_onDurationTimer_02 = -1; /* T_drx_onDurationTimer_02 */ +static int hf_nr_rrc_milliSeconds_02 = -1; /* T_milliSeconds_02 */ +static int hf_nr_rrc_drx_InactivityTimer_01 = -1; /* T_drx_InactivityTimer_01 */ static int hf_nr_rrc_absoluteFrequencySSB = -1; /* ARFCN_ValueNR */ static int hf_nr_rrc_absoluteFrequencyPointA = -1; /* ARFCN_ValueNR */ static int hf_nr_rrc_scs_SpecificCarrierList = -1; /* SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier */ @@ -1536,10 +2396,38 @@ static int hf_nr_rrc_offsetToPointA = -1; /* INTEGER_0_2199 */ static int hf_nr_rrc_additionalSpectrumEmission = -1; /* AdditionalSpectrumEmission */ static int hf_nr_rrc_frequencyShift7p5khz = -1; /* T_frequencyShift7p5khz */ static int hf_nr_rrc_frequencyShift7p5khz_01 = -1; /* T_frequencyShift7p5khz_01 */ +static int hf_nr_rrc_highSpeedMeasFlag_r16 = -1; /* T_highSpeedMeasFlag_r16 */ +static int hf_nr_rrc_highSpeedDemodFlag_r16 = -1; /* T_highSpeedDemodFlag_r16 */ +static int hf_nr_rrc_symbols_r16 = -1; /* T_symbols_r16 */ +static int hf_nr_rrc_oneSlot = -1; /* BIT_STRING_SIZE_14 */ +static int hf_nr_rrc_twoSlots = -1; /* BIT_STRING_SIZE_28 */ +static int hf_nr_rrc_periodicityAndPattern_r16 = -1; /* T_periodicityAndPattern_r16 */ +static int hf_nr_rrc_n2 = -1; /* BIT_STRING_SIZE_2 */ +static int hf_nr_rrc_n4 = -1; /* BIT_STRING_SIZE_4 */ +static int hf_nr_rrc_n5 = -1; /* BIT_STRING_SIZE_5 */ +static int hf_nr_rrc_n8 = -1; /* BIT_STRING_SIZE_8 */ +static int hf_nr_rrc_n10 = -1; /* BIT_STRING_SIZE_10 */ +static int hf_nr_rrc_n20 = -1; /* BIT_STRING_SIZE_20 */ +static int hf_nr_rrc_n40 = -1; /* BIT_STRING_SIZE_40 */ +static int hf_nr_rrc_lbt_FailureInstanceMaxCount_r16 = -1; /* T_lbt_FailureInstanceMaxCount_r16 */ +static int hf_nr_rrc_lbt_FailureDetectionTimer_r16 = -1; /* T_lbt_FailureDetectionTimer_r16 */ +static int hf_nr_rrc_commonLocationInfo_r16 = -1; /* CommonLocationInfo_r16 */ +static int hf_nr_rrc_bt_LocationInfo_r16 = -1; /* LogMeasResultListBT_r16 */ +static int hf_nr_rrc_wlan_LocationInfo_r16 = -1; /* LogMeasResultListWLAN_r16 */ +static int hf_nr_rrc_sensor_LocationInfo_r16 = -1; /* Sensor_LocationInfo_r16 */ static int hf_nr_rrc_eutra_RSTD = -1; /* EUTRA_RSTD_InfoList */ static int hf_nr_rrc_eutra_FineTimingDetection = -1; /* NULL */ +static int hf_nr_rrc_nr_PRS_Measurement_r16 = -1; /* NR_PRS_MeasurementInfoList_r16 */ 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_NR_PRS_MeasurementInfoList_r16_item = -1; /* NR_PRS_MeasurementInfo_r16 */ +static int hf_nr_rrc_dl_PRS_ARFCN_PointA_r16 = -1; /* ARFCN_ValueNR */ +static int hf_nr_rrc_nr_MeasPRS_RepetitionAndOffset_r16 = -1; /* T_nr_MeasPRS_RepetitionAndOffset_r16 */ +static int hf_nr_rrc_ms20_r16 = -1; /* INTEGER_0_19 */ +static int hf_nr_rrc_ms40_r16 = -1; /* INTEGER_0_39 */ +static int hf_nr_rrc_ms80_r16 = -1; /* INTEGER_0_79 */ +static int hf_nr_rrc_ms160_r16 = -1; /* INTEGER_0_159 */ +static int hf_nr_rrc_nr_MeasPRS_length_r16 = -1; /* T_nr_MeasPRS_length_r16 */ 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 */ @@ -1555,17 +2443,27 @@ 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_allowedCG_List_r16 = -1; /* SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_r16_1_OF_ConfiguredGrantConfigIndexMAC_r16 */ +static int hf_nr_rrc_allowedCG_List_r16_item = -1; /* ConfiguredGrantConfigIndexMAC_r16 */ +static int hf_nr_rrc_allowedPHY_PriorityIndex_r16 = -1; /* T_allowedPHY_PriorityIndex_r16 */ +static int hf_nr_rrc_bitRateMultiplier_r16 = -1; /* T_bitRateMultiplier_r16 */ static int hf_nr_rrc_drx_Config = -1; /* T_drx_Config */ -static int hf_nr_rrc_setup_23 = -1; /* DRX_Config */ +static int hf_nr_rrc_setup_39 = -1; /* DRX_Config */ static int hf_nr_rrc_schedulingRequestConfig = -1; /* SchedulingRequestConfig */ static int hf_nr_rrc_bsr_Config = -1; /* BSR_Config */ static int hf_nr_rrc_tag_Config = -1; /* TAG_Config */ static int hf_nr_rrc_phr_Config = -1; /* T_phr_Config */ -static int hf_nr_rrc_setup_24 = -1; /* PHR_Config */ +static int hf_nr_rrc_setup_40 = -1; /* PHR_Config */ static int hf_nr_rrc_skipUplinkTxDynamic = -1; /* BOOLEAN */ static int hf_nr_rrc_csi_Mask = -1; /* BOOLEAN */ static int hf_nr_rrc_dataInactivityTimer = -1; /* T_dataInactivityTimer */ -static int hf_nr_rrc_setup_25 = -1; /* DataInactivityTimer */ +static int hf_nr_rrc_setup_41 = -1; /* DataInactivityTimer */ +static int hf_nr_rrc_usePreBSR_r16 = -1; /* T_usePreBSR_r16 */ +static int hf_nr_rrc_schedulingRequestID_LBT_SCell_r16 = -1; /* SchedulingRequestId */ +static int hf_nr_rrc_lch_BasedPrioritization_r16 = -1; /* T_lch_BasedPrioritization_r16 */ +static int hf_nr_rrc_schedulingRequestID_BFR_SCell_r16 = -1; /* SchedulingRequestId */ +static int hf_nr_rrc_drx_ConfigSecondaryGroup_r16 = -1; /* T_drx_ConfigSecondaryGroup_r16 */ +static int hf_nr_rrc_setup_42 = -1; /* DRX_ConfigSecondaryGroup */ static int hf_nr_rrc_measObjectToRemoveList = -1; /* MeasObjectToRemoveList */ static int hf_nr_rrc_measObjectToAddModList = -1; /* MeasObjectToAddModList */ static int hf_nr_rrc_reportConfigToRemoveList = -1; /* ReportConfigToRemoveList */ @@ -1578,6 +2476,7 @@ static int hf_nr_rrc_csi_RSRP = -1; /* RSRP_Range */ static int hf_nr_rrc_quantityConfig = -1; /* QuantityConfig */ static int hf_nr_rrc_measGapConfig_01 = -1; /* MeasGapConfig */ static int hf_nr_rrc_measGapSharingConfig = -1; /* MeasGapSharingConfig */ +static int hf_nr_rrc_interFrequencyConfig_NoGap_r16 = -1; /* T_interFrequencyConfig_NoGap_r16 */ 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 */ @@ -1589,14 +2488,73 @@ static int hf_nr_rrc_mgl = -1; /* T_mgl */ static int hf_nr_rrc_mgrp = -1; /* T_mgrp */ static int hf_nr_rrc_mgta = -1; /* T_mgta */ static int hf_nr_rrc_refServCellIndicator = -1; /* T_refServCellIndicator */ +static int hf_nr_rrc_refFR2ServCellAsyncCA_r16 = -1; /* ServCellIndex */ static int hf_nr_rrc_gapSharingFR2 = -1; /* T_gapSharingFR2 */ -static int hf_nr_rrc_setup_26 = -1; /* MeasGapSharingScheme */ +static int hf_nr_rrc_setup_43 = -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_measIdleCarrierListNR_r16 = -1; /* SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16 */ +static int hf_nr_rrc_measIdleCarrierListNR_r16_item = -1; /* MeasIdleCarrierNR_r16 */ +static int hf_nr_rrc_measIdleCarrierListEUTRA_r16 = -1; /* SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16 */ +static int hf_nr_rrc_measIdleCarrierListEUTRA_r16_item = -1; /* MeasIdleCarrierEUTRA_r16 */ +static int hf_nr_rrc_measIdleDuration_r16 = -1; /* T_measIdleDuration_r16 */ +static int hf_nr_rrc_validityAreaList_r16 = -1; /* ValidityAreaList_r16 */ +static int hf_nr_rrc_ValidityAreaList_r16_item = -1; /* ValidityArea_r16 */ +static int hf_nr_rrc_validityCellList_r16 = -1; /* ValidityCellList */ +static int hf_nr_rrc_ValidityCellList_item = -1; /* PCI_Range */ +static int hf_nr_rrc_ssbSubcarrierSpacing_r16 = -1; /* SubcarrierSpacing */ +static int hf_nr_rrc_measCellListNR_r16 = -1; /* CellListNR_r16 */ +static int hf_nr_rrc_reportQuantities_r16 = -1; /* T_reportQuantities_r16 */ +static int hf_nr_rrc_qualityThreshold_r16 = -1; /* T_qualityThreshold_r16 */ +static int hf_nr_rrc_idleRSRP_Threshold_NR_r16 = -1; /* RSRP_Range */ +static int hf_nr_rrc_idleRSRQ_Threshold_NR_r16 = -1; /* RSRQ_Range */ +static int hf_nr_rrc_ssb_MeasConfig_r16 = -1; /* T_ssb_MeasConfig_r16 */ +static int hf_nr_rrc_nrofSS_BlocksToAverage_r16 = -1; /* INTEGER_2_maxNrofSS_BlocksToAverage */ +static int hf_nr_rrc_absThreshSS_BlocksConsolidation_r16 = -1; /* ThresholdNR */ +static int hf_nr_rrc_smtc_r16 = -1; /* SSB_MTC */ +static int hf_nr_rrc_ssb_ToMeasure_r16 = -1; /* SSB_ToMeasure */ +static int hf_nr_rrc_deriveSSB_IndexFromCell_r16 = -1; /* BOOLEAN */ +static int hf_nr_rrc_ss_RSSI_Measurement_r16 = -1; /* SS_RSSI_Measurement */ +static int hf_nr_rrc_beamMeasConfigIdle_r16 = -1; /* BeamMeasConfigIdle_NR_r16 */ +static int hf_nr_rrc_carrierFreqEUTRA_r16 = -1; /* ARFCN_ValueEUTRA */ +static int hf_nr_rrc_allowedMeasBandwidth_r16 = -1; /* EUTRA_AllowedMeasBandwidth */ +static int hf_nr_rrc_measCellListEUTRA_r16 = -1; /* CellListEUTRA_r16 */ +static int hf_nr_rrc_reportQuantitiesEUTRA_r16 = -1; /* T_reportQuantitiesEUTRA_r16 */ +static int hf_nr_rrc_qualityThresholdEUTRA_r16 = -1; /* T_qualityThresholdEUTRA_r16 */ +static int hf_nr_rrc_idleRSRP_Threshold_EUTRA_r16 = -1; /* RSRP_RangeEUTRA */ +static int hf_nr_rrc_idleRSRQ_Threshold_EUTRA_r16 = -1; /* RSRQ_RangeEUTRA_r16 */ +static int hf_nr_rrc_CellListNR_r16_item = -1; /* PCI_Range */ +static int hf_nr_rrc_CellListEUTRA_r16_item = -1; /* EUTRA_PhysCellIdRange */ +static int hf_nr_rrc_reportQuantityRS_Indexes_r16 = -1; /* T_reportQuantityRS_Indexes_r16 */ +static int hf_nr_rrc_maxNrofRS_IndexesToReport_r16 = -1; /* INTEGER_1_maxNrofIndexesToReport */ +static int hf_nr_rrc_includeBeamMeasurements_r16 = -1; /* BOOLEAN */ 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_cli_ResourceConfig_r16 = -1; /* CLI_ResourceConfig_r16 */ +static int hf_nr_rrc_srs_ResourceConfig_r16 = -1; /* T_srs_ResourceConfig_r16 */ +static int hf_nr_rrc_setup_44 = -1; /* SRS_ResourceListConfigCLI_r16 */ +static int hf_nr_rrc_rssi_ResourceConfig_r16 = -1; /* T_rssi_ResourceConfig_r16 */ +static int hf_nr_rrc_setup_45 = -1; /* RSSI_ResourceListConfigCLI_r16 */ +static int hf_nr_rrc_SRS_ResourceListConfigCLI_r16_item = -1; /* SRS_ResourceConfigCLI_r16 */ +static int hf_nr_rrc_RSSI_ResourceListConfigCLI_r16_item = -1; /* RSSI_ResourceConfigCLI_r16 */ +static int hf_nr_rrc_srs_Resource_r16 = -1; /* SRS_Resource */ +static int hf_nr_rrc_srs_SCS_r16 = -1; /* SubcarrierSpacing */ +static int hf_nr_rrc_rssi_ResourceId_r16 = -1; /* RSSI_ResourceId_r16 */ +static int hf_nr_rrc_rssi_SCS_r16 = -1; /* SubcarrierSpacing */ +static int hf_nr_rrc_startPRB_r16 = -1; /* INTEGER_0_2169 */ +static int hf_nr_rrc_nrofPRBs_r16 = -1; /* INTEGER_4_maxNrofPhysicalResourceBlocksPlus1 */ +static int hf_nr_rrc_startPosition_r16 = -1; /* INTEGER_0_13 */ +static int hf_nr_rrc_nrofSymbols_r16 = -1; /* INTEGER_1_14 */ +static int hf_nr_rrc_rssi_PeriodicityAndOffset_r16 = -1; /* RSSI_PeriodicityAndOffset_r16 */ +static int hf_nr_rrc_sl10 = -1; /* INTEGER_0_9 */ +static int hf_nr_rrc_sl20 = -1; /* INTEGER_0_19 */ +static int hf_nr_rrc_sl40 = -1; /* INTEGER_0_39 */ +static int hf_nr_rrc_sl80 = -1; /* INTEGER_0_79 */ +static int hf_nr_rrc_sl160 = -1; /* INTEGER_0_159 */ +static int hf_nr_rrc_sl320 = -1; /* INTEGER_0_319 */ +static int hf_nr_rrc_s1640 = -1; /* INTEGER_0_639 */ 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 */ @@ -1628,11 +2586,19 @@ static int hf_nr_rrc_whiteCellsToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofPCI static int hf_nr_rrc_whiteCellsToAddModList_item = -1; /* PCI_RangeElement */ static int hf_nr_rrc_freqBandIndicatorNR = -1; /* FreqBandIndicatorNR */ static int hf_nr_rrc_measCycleSCell = -1; /* T_measCycleSCell */ +static int hf_nr_rrc_smtc3list_r16 = -1; /* SSB_MTC3List_r16 */ +static int hf_nr_rrc_rmtc_Config_r16 = -1; /* T_rmtc_Config_r16 */ +static int hf_nr_rrc_setup_46 = -1; /* RMTC_Config_r16 */ +static int hf_nr_rrc_t312_r16 = -1; /* T_t312_r16 */ +static int hf_nr_rrc_setup_47 = -1; /* T312_r16 */ +static int hf_nr_rrc_SSB_MTC3List_r16_item = -1; /* SSB_MTC3_r16 */ static int hf_nr_rrc_ssb_ConfigMobility = -1; /* SSB_ConfigMobility */ static int hf_nr_rrc_csi_rs_ResourceConfigMobility = -1; /* T_csi_rs_ResourceConfigMobility */ -static int hf_nr_rrc_setup_27 = -1; /* CSI_RS_ResourceConfigMobility */ +static int hf_nr_rrc_setup_48 = -1; /* CSI_RS_ResourceConfigMobility */ static int hf_nr_rrc_ssb_ToMeasure_01 = -1; /* T_ssb_ToMeasure */ -static int hf_nr_rrc_setup_28 = -1; /* SSB_ToMeasure */ +static int hf_nr_rrc_setup_49 = -1; /* SSB_ToMeasure */ +static int hf_nr_rrc_ssb_PositionQCL_CellsToAddModList_r16 = -1; /* SSB_PositionQCL_CellsToAddModList_r16 */ +static int hf_nr_rrc_ssb_PositionQCL_CellsToRemoveList_r16 = -1; /* PCI_List */ 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 */ @@ -1644,10 +2610,29 @@ static int hf_nr_rrc_thresholdRSRQ = -1; /* RSRQ_Range */ static int hf_nr_rrc_thresholdSINR = -1; /* SINR_Range */ static int hf_nr_rrc_CellsToAddModList_item = -1; /* CellsToAddMod */ static int hf_nr_rrc_cellIndividualOffset_01 = -1; /* Q_OffsetRangeList */ +static int hf_nr_rrc_rmtc_Periodicity_r16 = -1; /* T_rmtc_Periodicity_r16 */ +static int hf_nr_rrc_rmtc_SubframeOffset_r16 = -1; /* INTEGER_0_639 */ +static int hf_nr_rrc_measDurationSymbols_r16 = -1; /* T_measDurationSymbols_r16 */ +static int hf_nr_rrc_rmtc_Frequency_r16 = -1; /* ARFCN_ValueNR */ +static int hf_nr_rrc_ref_SCS_CP_r16 = -1; /* T_ref_SCS_CP_r16 */ +static int hf_nr_rrc_SSB_PositionQCL_CellsToAddModList_r16_item = -1; /* SSB_PositionQCL_CellsToAddMod_r16 */ +static int hf_nr_rrc_tx_PoolMeasToRemoveList_r16 = -1; /* Tx_PoolMeasList_r16 */ +static int hf_nr_rrc_tx_PoolMeasToAddModList_r16 = -1; /* Tx_PoolMeasList_r16 */ +static int hf_nr_rrc_Tx_PoolMeasList_r16_item = -1; /* SL_ResourcePoolID_r16 */ 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_measObjectUTRA_FDD_r16 = -1; /* MeasObjectUTRA_FDD_r16 */ +static int hf_nr_rrc_measObjectNR_SL_r16 = -1; /* MeasObjectNR_SL_r16 */ +static int hf_nr_rrc_measObjectCLI_r16 = -1; /* MeasObjectCLI_r16 */ +static int hf_nr_rrc_utra_FDD_Q_OffsetRange_r16 = -1; /* UTRA_FDD_Q_OffsetRange_r16 */ +static int hf_nr_rrc_cellsToRemoveList_r16 = -1; /* UTRA_FDD_CellIndexList_r16 */ +static int hf_nr_rrc_cellsToAddModList_r16 = -1; /* CellsToAddModListUTRA_FDD_r16 */ +static int hf_nr_rrc_CellsToAddModListUTRA_FDD_r16_item = -1; /* CellsToAddModUTRA_FDD_r16 */ +static int hf_nr_rrc_cellIndexUTRA_FDD_r16 = -1; /* UTRA_FDD_CellIndex_r16 */ +static int hf_nr_rrc_physCellId_r16_02 = -1; /* PhysCellIdUTRA_FDD_r16 */ +static int hf_nr_rrc_UTRA_FDD_CellIndexList_r16_item = -1; /* UTRA_FDD_CellIndex_r16 */ static int hf_nr_rrc_MeasResultCellListSFTD_NR_item = -1; /* MeasResultCellSFTD_NR */ static int hf_nr_rrc_sfn_OffsetResult = -1; /* INTEGER_0_1023 */ static int hf_nr_rrc_frameBoundaryOffsetResult = -1; /* INTEGER_M30720_30719 */ @@ -1658,10 +2643,15 @@ 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_measResultListUTRA_FDD_r16 = -1; /* MeasResultListUTRA_FDD_r16 */ static int hf_nr_rrc_measResultServFreqListEUTRA_SCG = -1; /* MeasResultServFreqListEUTRA_SCG */ static int hf_nr_rrc_measResultServFreqListNR_SCG = -1; /* MeasResultServFreqListNR_SCG */ static int hf_nr_rrc_measResultSFTD_EUTRA = -1; /* MeasResultSFTD_EUTRA */ static int hf_nr_rrc_measResultSFTD_NR = -1; /* MeasResultCellSFTD_NR */ +static int hf_nr_rrc_measResultForRSSI_r16 = -1; /* MeasResultForRSSI_r16 */ +static int hf_nr_rrc_ul_PDCP_DelayValueResultList_r16 = -1; /* UL_PDCP_DelayValueResultList_r16 */ +static int hf_nr_rrc_measResultsSL_r16 = -1; /* MeasResultsSL_r16 */ +static int hf_nr_rrc_measResultCLI_r16 = -1; /* MeasResultCLI_r16 */ 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 */ @@ -1669,7 +2659,6 @@ static int hf_nr_rrc_measResultBestNeighCell = -1; /* MeasResultNR */ static int hf_nr_rrc_MeasResultListNR_item = -1; /* MeasResultNR */ static int hf_nr_rrc_measResult = -1; /* T_measResult */ static int hf_nr_rrc_cellResults = -1; /* T_cellResults */ -static int hf_nr_rrc_resultsSSB_Cell = -1; /* MeasQuantityResults */ static int hf_nr_rrc_resultsCSI_RS_Cell = -1; /* MeasQuantityResults */ static int hf_nr_rrc_rsIndexResults = -1; /* T_rsIndexResults */ static int hf_nr_rrc_resultsSSB_Indexes = -1; /* ResultsPerSSB_IndexList */ @@ -1677,7 +2666,7 @@ static int hf_nr_rrc_resultsCSI_RS_Indexes = -1; /* ResultsPerCSI_RS_IndexList static int hf_nr_rrc_MeasResultListEUTRA_item = -1; /* MeasResultEUTRA */ static int hf_nr_rrc_eutra_PhysCellId_01 = -1; /* PhysCellId */ static int hf_nr_rrc_measResult_01 = -1; /* MeasQuantityResultsEUTRA */ -static int hf_nr_rrc_cgi_Info_01 = -1; /* CGI_InfoEUTRA */ +static int hf_nr_rrc_cgi_Info_02 = -1; /* CGI_InfoEUTRA */ static int hf_nr_rrc_MultiBandInfoListEUTRA_item = -1; /* FreqBandIndicatorEUTRA */ static int hf_nr_rrc_rsrp = -1; /* RSRP_Range */ static int hf_nr_rrc_rsrq = -1; /* RSRQ_Range */ @@ -1691,18 +2680,117 @@ static int hf_nr_rrc_ResultsPerCSI_RS_IndexList_item = -1; /* ResultsPerCSI_RS_ static int hf_nr_rrc_csi_RS_Results = -1; /* MeasQuantityResults */ static int hf_nr_rrc_MeasResultServFreqListEUTRA_SCG_item = -1; /* MeasResult2EUTRA */ static int hf_nr_rrc_MeasResultServFreqListNR_SCG_item = -1; /* MeasResult2NR */ +static int hf_nr_rrc_MeasResultListUTRA_FDD_r16_item = -1; /* MeasResultUTRA_FDD_r16 */ +static int hf_nr_rrc_measResult_r16_02 = -1; /* T_measResult_r16_02 */ +static int hf_nr_rrc_utra_FDD_RSCP_r16 = -1; /* INTEGER_M5_91 */ +static int hf_nr_rrc_utra_FDD_EcN0_r16 = -1; /* INTEGER_0_49 */ +static int hf_nr_rrc_rssi_Result_r16 = -1; /* T_rssi_Result_r16 */ +static int hf_nr_rrc_channelOccupancy_r16 = -1; /* INTEGER_0_100 */ +static int hf_nr_rrc_measResultListSRS_RSRP_r16 = -1; /* MeasResultListSRS_RSRP_r16 */ +static int hf_nr_rrc_measResultListCLI_RSSI_r16 = -1; /* MeasResultListCLI_RSSI_r16 */ +static int hf_nr_rrc_MeasResultListSRS_RSRP_r16_item = -1; /* MeasResultSRS_RSRP_r16 */ +static int hf_nr_rrc_srs_ResourceId_r16 = -1; /* SRS_ResourceId */ +static int hf_nr_rrc_srs_RSRP_Result_r16 = -1; /* SRS_RSRP_Range_r16 */ +static int hf_nr_rrc_MeasResultListCLI_RSSI_r16_item = -1; /* MeasResultCLI_RSSI_r16 */ +static int hf_nr_rrc_cli_RSSI_Result_r16 = -1; /* CLI_RSSI_Range_r16 */ +static int hf_nr_rrc_UL_PDCP_DelayValueResultList_r16_item = -1; /* UL_PDCP_DelayValueResult_r16 */ +static int hf_nr_rrc_drb_Id_r16 = -1; /* DRB_Identity */ +static int hf_nr_rrc_averageDelay_r16 = -1; /* INTEGER_0_10000 */ static int hf_nr_rrc_measResultServingCell_01 = -1; /* MeasResultEUTRA */ static int hf_nr_rrc_measResultBestNeighCell_01 = -1; /* MeasResultEUTRA */ -static int hf_nr_rrc_measResultNeighCellListNR = -1; /* MeasResultListNR */ +static int hf_nr_rrc_measResultNeighCellListNR_02 = -1; /* MeasResultListNR */ +static int hf_nr_rrc_measResultsPerCarrierListIdleEUTRA_r16 = -1; /* SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleEUTRA_r16 */ +static int hf_nr_rrc_measResultsPerCarrierListIdleEUTRA_r16_item = -1; /* MeasResultsPerCarrierIdleEUTRA_r16 */ +static int hf_nr_rrc_measResultsPerCellListIdleEUTRA_r16 = -1; /* SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleEUTRA_r16 */ +static int hf_nr_rrc_measResultsPerCellListIdleEUTRA_r16_item = -1; /* MeasResultsPerCellIdleEUTRA_r16 */ +static int hf_nr_rrc_eutra_PhysCellId_r16 = -1; /* EUTRA_PhysCellId */ +static int hf_nr_rrc_measIdleResultEUTRA_r16 = -1; /* T_measIdleResultEUTRA_r16 */ +static int hf_nr_rrc_rsrp_ResultEUTRA_r16 = -1; /* RSRP_RangeEUTRA */ +static int hf_nr_rrc_rsrq_ResultEUTRA_r16 = -1; /* RSRQ_RangeEUTRA_r16 */ +static int hf_nr_rrc_measResultServingCell_r16_01 = -1; /* T_measResultServingCell_r16 */ +static int hf_nr_rrc_rsrp_Result_r16 = -1; /* RSRP_Range */ +static int hf_nr_rrc_rsrq_Result_r16 = -1; /* RSRQ_Range */ +static int hf_nr_rrc_resultsSSB_Indexes_r16_01 = -1; /* ResultsPerSSB_IndexList_r16 */ +static int hf_nr_rrc_measResultsPerCarrierListIdleNR_r16 = -1; /* SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleNR_r16 */ +static int hf_nr_rrc_measResultsPerCarrierListIdleNR_r16_item = -1; /* MeasResultsPerCarrierIdleNR_r16 */ +static int hf_nr_rrc_measResultsPerCellListIdleNR_r16 = -1; /* SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleNR_r16 */ +static int hf_nr_rrc_measResultsPerCellListIdleNR_r16_item = -1; /* MeasResultsPerCellIdleNR_r16 */ +static int hf_nr_rrc_measIdleResultNR_r16 = -1; /* T_measIdleResultNR_r16 */ +static int hf_nr_rrc_ResultsPerSSB_IndexList_r16_item = -1; /* ResultsPerSSB_IndexIdle_r16 */ +static int hf_nr_rrc_ssb_Results_r16 = -1; /* T_ssb_Results_r16 */ +static int hf_nr_rrc_ssb_RSRP_Result_r16 = -1; /* RSRP_Range */ +static int hf_nr_rrc_ssb_RSRQ_Result_r16 = -1; /* RSRQ_Range */ static int hf_nr_rrc_measResultPerMOList = -1; /* MeasResultList2NR */ static int hf_nr_rrc_MeasResultList2NR_item = -1; /* MeasResult2NR */ +static int hf_nr_rrc_measResultsListSL_r16 = -1; /* T_measResultsListSL_r16 */ +static int hf_nr_rrc_measResultNR_SL_r16 = -1; /* MeasResultNR_SL_r16 */ +static int hf_nr_rrc_measResultListCBR_NR_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSL_PoolToMeasureNR_r16_OF_MeasResultCBR_NR_r16 */ +static int hf_nr_rrc_measResultListCBR_NR_r16_item = -1; /* MeasResultCBR_NR_r16 */ +static int hf_nr_rrc_sl_poolReportIdentity_r16 = -1; /* SL_ResourcePoolID_r16 */ +static int hf_nr_rrc_sl_CBR_ResultsNR_r16 = -1; /* SL_CBR_r16 */ 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_rach_ConfigCommonTwoStepRA_r16 = -1; /* RACH_ConfigCommonTwoStepRA_r16 */ +static int hf_nr_rrc_msgA_PUSCH_Config_r16 = -1; /* MsgA_PUSCH_Config_r16 */ +static int hf_nr_rrc_msgA_PUSCH_ResourceGroupA_r16 = -1; /* MsgA_PUSCH_Resource_r16 */ +static int hf_nr_rrc_msgA_PUSCH_ResourceGroupB_r16 = -1; /* MsgA_PUSCH_Resource_r16 */ +static int hf_nr_rrc_msgA_TransformPrecoder_r16 = -1; /* T_msgA_TransformPrecoder_r16 */ +static int hf_nr_rrc_msgA_DataScramblingIndex_r16 = -1; /* INTEGER_0_1023 */ +static int hf_nr_rrc_msgA_DeltaPreamble_r16 = -1; /* INTEGER_M1_6 */ +static int hf_nr_rrc_msgA_MCS_r16 = -1; /* INTEGER_0_15 */ +static int hf_nr_rrc_nrofSlotsMsgA_PUSCH_r16 = -1; /* INTEGER_1_4 */ +static int hf_nr_rrc_nrofMsgA_PO_PerSlot_r16 = -1; /* T_nrofMsgA_PO_PerSlot_r16 */ +static int hf_nr_rrc_msgA_PUSCH_TimeDomainOffset_r16 = -1; /* INTEGER_1_32 */ +static int hf_nr_rrc_msgA_PUSCH_TimeDomainAllocation_r16 = -1; /* INTEGER_1_maxNrofUL_Allocations */ +static int hf_nr_rrc_startSymbolAndLengthMsgA_PO_r16 = -1; /* INTEGER_0_127 */ +static int hf_nr_rrc_mappingTypeMsgA_PUSCH_r16 = -1; /* T_mappingTypeMsgA_PUSCH_r16 */ +static int hf_nr_rrc_guardPeriodMsgA_PUSCH_r16 = -1; /* INTEGER_0_3 */ +static int hf_nr_rrc_guardBandMsgA_PUSCH_r16 = -1; /* INTEGER_0_1 */ +static int hf_nr_rrc_frequencyStartMsgA_PUSCH_r16 = -1; /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */ +static int hf_nr_rrc_nrofPRBs_PerMsgA_PO_r16 = -1; /* INTEGER_1_32 */ +static int hf_nr_rrc_nrofMsgA_PO_FDM_r16 = -1; /* T_nrofMsgA_PO_FDM_r16 */ +static int hf_nr_rrc_msgA_IntraSlotFrequencyHopping_r16 = -1; /* T_msgA_IntraSlotFrequencyHopping_r16 */ +static int hf_nr_rrc_msgA_HoppingBits_r16 = -1; /* BIT_STRING_SIZE_2 */ +static int hf_nr_rrc_msgA_DMRS_Config_r16 = -1; /* MsgA_DMRS_Config_r16 */ +static int hf_nr_rrc_nrofDMRS_Sequences_r16 = -1; /* INTEGER_1_2 */ +static int hf_nr_rrc_msgA_Alpha_r16 = -1; /* T_msgA_Alpha_r16 */ +static int hf_nr_rrc_interlaceIndexFirstPO_MsgA_PUSCH_r16 = -1; /* INTEGER_1_10 */ +static int hf_nr_rrc_nrofInterlacesPerMsgA_PO_r16 = -1; /* INTEGER_1_10 */ +static int hf_nr_rrc_msgA_DMRS_AdditionalPosition_r16 = -1; /* T_msgA_DMRS_AdditionalPosition_r16 */ +static int hf_nr_rrc_msgA_MaxLength_r16 = -1; /* T_msgA_MaxLength_r16 */ +static int hf_nr_rrc_msgA_PUSCH_DMRS_CDM_Group_r16 = -1; /* INTEGER_0_1 */ +static int hf_nr_rrc_msgA_PUSCH_NrofPorts_r16 = -1; /* INTEGER_0_1 */ +static int hf_nr_rrc_msgA_ScramblingID0_r16 = -1; /* INTEGER_0_65536 */ +static int hf_nr_rrc_msgA_ScramblingID1_r16 = -1; /* INTEGER_0_65536 */ static int hf_nr_rrc_MultiFrequencyBandListNR_item = -1; /* FreqBandIndicatorNR */ static int hf_nr_rrc_MultiFrequencyBandListNR_SIB_item = -1; /* NR_MultiBandInfo */ static int hf_nr_rrc_nr_NS_PmaxList = -1; /* NR_NS_PmaxList */ +static int hf_nr_rrc_requestedTargetBandFilterNR_r16 = -1; /* SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR */ +static int hf_nr_rrc_requestedTargetBandFilterNR_r16_item = -1; /* FreqBandIndicatorNR */ +static int hf_nr_rrc_intraFreq_needForGap_r16 = -1; /* NeedForGapsIntraFreqlist_r16 */ +static int hf_nr_rrc_interFreq_needForGap_r16 = -1; /* NeedForGapsBandlistNR_r16 */ +static int hf_nr_rrc_NeedForGapsIntraFreqlist_r16_item = -1; /* NeedForGapsIntraFreq_r16 */ +static int hf_nr_rrc_NeedForGapsBandlistNR_r16_item = -1; /* NeedForGapsNR_r16 */ +static int hf_nr_rrc_servCellId_r16 = -1; /* ServCellIndex */ +static int hf_nr_rrc_gapIndicationIntra_r16 = -1; /* T_gapIndicationIntra_r16 */ +static int hf_nr_rrc_bandNR_r16 = -1; /* FreqBandIndicatorNR */ +static int hf_nr_rrc_gapIndication_r16 = -1; /* T_gapIndication_r16 */ +static int hf_nr_rrc_pni_npn_r16 = -1; /* T_pni_npn_r16 */ +static int hf_nr_rrc_cag_IdentityList_r16 = -1; /* SEQUENCE_SIZE_1_maxNPN_r16_OF_CAG_IdentityInfo_r16 */ +static int hf_nr_rrc_cag_IdentityList_r16_item = -1; /* CAG_IdentityInfo_r16 */ +static int hf_nr_rrc_snpn_r16 = -1; /* T_snpn_r16 */ +static int hf_nr_rrc_nid_List_r16 = -1; /* SEQUENCE_SIZE_1_maxNPN_r16_OF_NID_r16 */ +static int hf_nr_rrc_nid_List_r16_item = -1; /* NID_r16 */ +static int hf_nr_rrc_cag_Identity_r16 = -1; /* BIT_STRING_SIZE_32 */ +static int hf_nr_rrc_manualCAGselectionAllowed_r16 = -1; /* T_manualCAGselectionAllowed_r16 */ +static int hf_nr_rrc_NPN_IdentityInfoList_r16_item = -1; /* NPN_IdentityInfo_r16 */ +static int hf_nr_rrc_npn_IdentityList_r16 = -1; /* SEQUENCE_SIZE_1_maxNPN_r16_OF_NPN_Identity_r16 */ +static int hf_nr_rrc_npn_IdentityList_r16_item = -1; /* NPN_Identity_r16 */ +static int hf_nr_rrc_ranac_r16 = -1; /* RAN_AreaCode */ +static int hf_nr_rrc_cellReservedForOperatorUse_r16 = -1; /* T_cellReservedForOperatorUse_r16 */ +static int hf_nr_rrc_iab_Support_r16 = -1; /* T_iab_Support_r16 */ static int hf_nr_rrc_NR_NS_PmaxList_item = -1; /* NR_NS_PmaxValue */ static int hf_nr_rrc_additionalPmax = -1; /* P_Max */ static int hf_nr_rrc_nzp_CSI_RS_ResourceId = -1; /* NZP_CSI_RS_ResourceId */ @@ -1717,6 +2805,7 @@ static int hf_nr_rrc_nzp_CSI_RS_Resources_item = -1; /* NZP_CSI_RS_ResourceId * static int hf_nr_rrc_repetition = -1; /* T_repetition */ static int hf_nr_rrc_aperiodicTriggeringOffset = -1; /* INTEGER_0_6 */ static int hf_nr_rrc_trs_Info = -1; /* T_trs_Info */ +static int hf_nr_rrc_aperiodicTriggeringOffset_r16 = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_PCI_List_item = -1; /* PhysCellId */ static int hf_nr_rrc_start = -1; /* PhysCellId */ static int hf_nr_rrc_range = -1; /* T_range */ @@ -1732,13 +2821,27 @@ static int hf_nr_rrc_searchSpacesToAddModList_item = -1; /* SearchSpace */ static int hf_nr_rrc_searchSpacesToReleaseList = -1; /* SEQUENCE_SIZE_1_10_OF_SearchSpaceId */ static int hf_nr_rrc_searchSpacesToReleaseList_item = -1; /* SearchSpaceId */ static int hf_nr_rrc_downlinkPreemption = -1; /* T_downlinkPreemption */ -static int hf_nr_rrc_setup_29 = -1; /* DownlinkPreemption */ +static int hf_nr_rrc_setup_50 = -1; /* DownlinkPreemption */ static int hf_nr_rrc_tpc_PUSCH = -1; /* T_tpc_PUSCH */ -static int hf_nr_rrc_setup_30 = -1; /* PUSCH_TPC_CommandConfig */ +static int hf_nr_rrc_setup_51 = -1; /* PUSCH_TPC_CommandConfig */ static int hf_nr_rrc_tpc_PUCCH = -1; /* T_tpc_PUCCH */ -static int hf_nr_rrc_setup_31 = -1; /* PUCCH_TPC_CommandConfig */ +static int hf_nr_rrc_setup_52 = -1; /* PUCCH_TPC_CommandConfig */ static int hf_nr_rrc_tpc_SRS = -1; /* T_tpc_SRS */ -static int hf_nr_rrc_setup_32 = -1; /* SRS_TPC_CommandConfig */ +static int hf_nr_rrc_setup_53 = -1; /* SRS_TPC_CommandConfig */ +static int hf_nr_rrc_controlResourceSetToAddModList2_r16 = -1; /* SEQUENCE_SIZE_1_2_OF_ControlResourceSet */ +static int hf_nr_rrc_controlResourceSetToAddModList2_r16_item = -1; /* ControlResourceSet */ +static int hf_nr_rrc_controlResourceSetToReleaseList_r16 = -1; /* SEQUENCE_SIZE_1_5_OF_ControlResourceSetId_r16 */ +static int hf_nr_rrc_controlResourceSetToReleaseList_r16_item = -1; /* ControlResourceSetId_r16 */ +static int hf_nr_rrc_searchSpacesToAddModListExt_r16 = -1; /* SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_r16 */ +static int hf_nr_rrc_searchSpacesToAddModListExt_r16_item = -1; /* SearchSpaceExt_r16 */ +static int hf_nr_rrc_searchSpaceSwitchingTimer_r16 = -1; /* INTEGER_1_80 */ +static int hf_nr_rrc_cellGroupsForSwitchingList_r16 = -1; /* SEQUENCE_SIZE_1_4_OF_CellGroupForSwitching_r16 */ +static int hf_nr_rrc_cellGroupsForSwitchingList_r16_item = -1; /* CellGroupForSwitching_r16 */ +static int hf_nr_rrc_uplinkCancellation_r16 = -1; /* T_uplinkCancellation_r16 */ +static int hf_nr_rrc_setup_54 = -1; /* UplinkCancellation_r16 */ +static int hf_nr_rrc_monitoringCapabilityConfig_r16 = -1; /* T_monitoringCapabilityConfig_r16 */ +static int hf_nr_rrc_searchSpaceSwitchingDelay_r16 = -1; /* INTEGER_10_52 */ +static int hf_nr_rrc_CellGroupForSwitching_r16_item = -1; /* ServCellIndex */ static int hf_nr_rrc_controlResourceSetZero = -1; /* ControlResourceSetZero */ static int hf_nr_rrc_commonControlResourceSet = -1; /* ControlResourceSet */ static int hf_nr_rrc_searchSpaceZero = -1; /* SearchSpaceZero */ @@ -1757,8 +2860,12 @@ static int hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZ static int hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01 = -1; /* T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01 */ static int hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01 = -1; /* T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01 */ static int hf_nr_rrc_sCS120KHZoneSixteenthT_01 = -1; /* T_sCS120KHZoneSixteenthT_01 */ +static int hf_nr_rrc_commonSearchSpaceListExt_r16 = -1; /* SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_r16 */ +static int hf_nr_rrc_commonSearchSpaceListExt_r16_item = -1; /* SearchSpaceExt_r16 */ static int hf_nr_rrc_slotFormatIndicator = -1; /* T_slotFormatIndicator */ -static int hf_nr_rrc_setup_33 = -1; /* SlotFormatIndicator */ +static int hf_nr_rrc_setup_55 = -1; /* SlotFormatIndicator */ +static int hf_nr_rrc_availabilityIndicator_r16 = -1; /* T_availabilityIndicator_r16 */ +static int hf_nr_rrc_setup_56 = -1; /* AvailabilityIndicator_r16 */ 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 */ @@ -1792,9 +2899,24 @@ 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_discardTimerExt_r16 = -1; /* T_discardTimerExt_r16 */ +static int hf_nr_rrc_setup_57 = -1; /* DiscardTimerExt_r16 */ +static int hf_nr_rrc_moreThanTwoRLC_DRB_r16 = -1; /* T_moreThanTwoRLC_DRB_r16 */ +static int hf_nr_rrc_splitSecondaryPath = -1; /* LogicalChannelIdentity */ +static int hf_nr_rrc_duplicationState = -1; /* T_duplicationState */ +static int hf_nr_rrc_duplicationState_item = -1; /* BOOLEAN */ +static int hf_nr_rrc_ethernetHeaderCompression_r16 = -1; /* T_ethernetHeaderCompression_r16 */ +static int hf_nr_rrc_setup_58 = -1; /* EthernetHeaderCompression_r16 */ +static int hf_nr_rrc_ehc_Common = -1; /* T_ehc_Common */ +static int hf_nr_rrc_ehc_CID_Length = -1; /* T_ehc_CID_Length */ +static int hf_nr_rrc_ehc_Downlink = -1; /* T_ehc_Downlink */ +static int hf_nr_rrc_drb_ContinueEHC_DL = -1; /* T_drb_ContinueEHC_DL */ +static int hf_nr_rrc_ehc_Uplink = -1; /* T_ehc_Uplink */ +static int hf_nr_rrc_maxCID_EHC_UL = -1; /* INTEGER_1_32767 */ +static int hf_nr_rrc_drb_ContinueEHC_UL = -1; /* T_drb_ContinueEHC_UL */ static int hf_nr_rrc_dataScramblingIdentityPDSCH = -1; /* INTEGER_0_1023 */ static int hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA = -1; /* T_dmrs_DownlinkForPDSCH_MappingTypeA */ -static int hf_nr_rrc_setup_34 = -1; /* DMRS_DownlinkConfig */ +static int hf_nr_rrc_setup_59 = -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 */ @@ -1803,7 +2925,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_35 = -1; /* PDSCH_TimeDomainResourceAllocationList */ +static int hf_nr_rrc_setup_60 = -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 */ @@ -1833,24 +2955,68 @@ 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_36 = -1; /* ZP_CSI_RS_ResourceSet */ +static int hf_nr_rrc_setup_61 = -1; /* ZP_CSI_RS_ResourceSet */ +static int hf_nr_rrc_maxMIMO_Layers_r16 = -1; /* T_maxMIMO_Layers_r16 */ +static int hf_nr_rrc_setup_62 = -1; /* MaxMIMO_LayersDL_r16 */ +static int hf_nr_rrc_minimumSchedulingOffsetK0_r16 = -1; /* T_minimumSchedulingOffsetK0_r16 */ +static int hf_nr_rrc_setup_63 = -1; /* MinSchedulingOffsetK0_Values_r16 */ +static int hf_nr_rrc_antennaPortsFieldPresenceForDCI_Format1_2_r16 = -1; /* T_antennaPortsFieldPresenceForDCI_Format1_2_r16 */ +static int hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToAddModListForDCI_Format1_2_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet */ +static int hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToAddModListForDCI_Format1_2_r16_item = -1; /* ZP_CSI_RS_ResourceSet */ +static int hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToReleaseListForDCI_Format1_2_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId */ +static int hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToReleaseListForDCI_Format1_2_r16_item = -1; /* ZP_CSI_RS_ResourceSetId */ +static int hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA_ForDCI_Format1_2_r16 = -1; /* T_dmrs_DownlinkForPDSCH_MappingTypeA_ForDCI_Format1_2_r16 */ +static int hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeB_ForDCI_Format1_2_r16 = -1; /* T_dmrs_DownlinkForPDSCH_MappingTypeB_ForDCI_Format1_2_r16 */ +static int hf_nr_rrc_dmrs_SequenceInitializationForDCI_Format1_2_r16 = -1; /* T_dmrs_SequenceInitializationForDCI_Format1_2_r16 */ +static int hf_nr_rrc_harq_ProcessNumberSizeForDCI_Format1_2_r16 = -1; /* INTEGER_0_4 */ +static int hf_nr_rrc_mcs_TableForDCI_Format1_2_r16 = -1; /* T_mcs_TableForDCI_Format1_2_r16 */ +static int hf_nr_rrc_numberOfBitsForRV_ForDCI_Format1_2_r16 = -1; /* INTEGER_0_2 */ +static int hf_nr_rrc_pdsch_TimeDomainAllocationListForDCI_Format1_2_r16 = -1; /* T_pdsch_TimeDomainAllocationListForDCI_Format1_2_r16 */ +static int hf_nr_rrc_setup_64 = -1; /* PDSCH_TimeDomainResourceAllocationList_r16 */ +static int hf_nr_rrc_prb_BundlingTypeForDCI_Format1_2_r16 = -1; /* T_prb_BundlingTypeForDCI_Format1_2_r16 */ +static int hf_nr_rrc_staticBundling_r16 = -1; /* T_staticBundling_r16 */ +static int hf_nr_rrc_bundleSize_r16 = -1; /* T_bundleSize_r16 */ +static int hf_nr_rrc_dynamicBundling_r16 = -1; /* T_dynamicBundling_r16 */ +static int hf_nr_rrc_bundleSizeSet1_r16 = -1; /* T_bundleSizeSet1_r16 */ +static int hf_nr_rrc_bundleSizeSet2_r16 = -1; /* T_bundleSizeSet2_r16 */ +static int hf_nr_rrc_priorityIndicatorForDCI_Format1_2_r16 = -1; /* T_priorityIndicatorForDCI_Format1_2_r16 */ +static int hf_nr_rrc_rateMatchPatternGroup1ForDCI_Format1_2_r16 = -1; /* RateMatchPatternGroup */ +static int hf_nr_rrc_rateMatchPatternGroup2ForDCI_Format1_2_r16 = -1; /* RateMatchPatternGroup */ +static int hf_nr_rrc_resourceAllocationType1GranularityForDCI_Format1_2_r16 = -1; /* T_resourceAllocationType1GranularityForDCI_Format1_2_r16 */ +static int hf_nr_rrc_vrb_ToPRB_InterleaverForDCI_Format1_2_r16 = -1; /* T_vrb_ToPRB_InterleaverForDCI_Format1_2_r16 */ +static int hf_nr_rrc_referenceOfSLIVForDCI_Format1_2_r16 = -1; /* T_referenceOfSLIVForDCI_Format1_2_r16 */ +static int hf_nr_rrc_resourceAllocationForDCI_Format1_2_r16 = -1; /* T_resourceAllocationForDCI_Format1_2_r16 */ +static int hf_nr_rrc_priorityIndicatorForDCI_Format1_1_r16 = -1; /* T_priorityIndicatorForDCI_Format1_1_r16 */ +static int hf_nr_rrc_dataScramblingIdentityPDSCH2_r16 = -1; /* INTEGER_0_1023 */ +static int hf_nr_rrc_pdsch_TimeDomainAllocationList_r16 = -1; /* T_pdsch_TimeDomainAllocationList_r16 */ +static int hf_nr_rrc_repetitionSchemeConfig_r16 = -1; /* T_repetitionSchemeConfig_r16 */ +static int hf_nr_rrc_setup_65 = -1; /* RepetitionSchemeConfig_r16 */ 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_MinSchedulingOffsetK0_Values_r16_item = -1; /* INTEGER_0_maxK0_SchedulingOffset_r16 */ static int hf_nr_rrc_pdsch_TimeDomainAllocationList_01 = -1; /* PDSCH_TimeDomainResourceAllocationList */ static int hf_nr_rrc_codeBlockGroupTransmission = -1; /* T_codeBlockGroupTransmission */ -static int hf_nr_rrc_setup_37 = -1; /* PDSCH_CodeBlockGroupTransmission */ +static int hf_nr_rrc_setup_66 = -1; /* PDSCH_CodeBlockGroupTransmission */ static int hf_nr_rrc_xOverhead = -1; /* T_xOverhead */ static int hf_nr_rrc_nrofHARQ_ProcessesForPDSCH = -1; /* T_nrofHARQ_ProcessesForPDSCH */ static int hf_nr_rrc_pucch_Cell = -1; /* ServCellIndex */ static int hf_nr_rrc_maxMIMO_Layers = -1; /* INTEGER_1_8 */ static int hf_nr_rrc_processingType2Enabled = -1; /* BOOLEAN */ +static int hf_nr_rrc_pdsch_CodeBlockGroupTransmissionList_r16 = -1; /* T_pdsch_CodeBlockGroupTransmissionList_r16 */ +static int hf_nr_rrc_setup_67 = -1; /* PDSCH_CodeBlockGroupTransmissionList_r16 */ static int hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock = -1; /* T_maxCodeBlockGroupsPerTransportBlock */ static int hf_nr_rrc_codeBlockGroupFlushIndicator = -1; /* BOOLEAN */ +static int hf_nr_rrc_PDSCH_CodeBlockGroupTransmissionList_r16_item = -1; /* PDSCH_CodeBlockGroupTransmission */ static int hf_nr_rrc_PDSCH_TimeDomainResourceAllocationList_item = -1; /* PDSCH_TimeDomainResourceAllocation */ static int hf_nr_rrc_k0 = -1; /* INTEGER_0_32 */ static int hf_nr_rrc_mappingType = -1; /* T_mappingType */ static int hf_nr_rrc_startSymbolAndLength = -1; /* INTEGER_0_127 */ +static int hf_nr_rrc_PDSCH_TimeDomainResourceAllocationList_r16_item = -1; /* PDSCH_TimeDomainResourceAllocation_r16 */ +static int hf_nr_rrc_k0_r16 = -1; /* INTEGER_0_32 */ +static int hf_nr_rrc_mappingType_r16 = -1; /* T_mappingType_r16 */ +static int hf_nr_rrc_startSymbolAndLength_r16 = -1; /* INTEGER_0_127 */ +static int hf_nr_rrc_repetitionNumber_r16 = -1; /* T_repetitionNumber_r16 */ 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 */ @@ -1867,12 +3033,49 @@ static int hf_nr_rrc_tpc_PUCCH_RNTI = -1; /* RNTI_Value */ static int hf_nr_rrc_tpc_PUSCH_RNTI = -1; /* RNTI_Value */ static int hf_nr_rrc_sp_CSI_RNTI = -1; /* RNTI_Value */ static int hf_nr_rrc_cs_RNTI = -1; /* T_cs_RNTI */ -static int hf_nr_rrc_setup_38 = -1; /* RNTI_Value */ +static int hf_nr_rrc_setup_68 = -1; /* RNTI_Value */ static int hf_nr_rrc_mcs_C_RNTI = -1; /* RNTI_Value */ static int hf_nr_rrc_p_UE_FR1 = -1; /* P_Max */ static int hf_nr_rrc_xScale = -1; /* T_xScale */ static int hf_nr_rrc_pdcch_BlindDetection = -1; /* T_pdcch_BlindDetection */ -static int hf_nr_rrc_setup_39 = -1; /* PDCCH_BlindDetection */ +static int hf_nr_rrc_setup_69 = -1; /* PDCCH_BlindDetection */ +static int hf_nr_rrc_dcp_Config_r16 = -1; /* T_dcp_Config_r16 */ +static int hf_nr_rrc_setup_70 = -1; /* DCP_Config_r16 */ +static int hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH_secondaryPUCCH_group_r16 = -1; /* T_harq_ACK_SpatialBundlingPUCCH_secondaryPUCCH_group_r16 */ +static int hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH_secondaryPUCCH_group_r16 = -1; /* T_harq_ACK_SpatialBundlingPUSCH_secondaryPUCCH_group_r16 */ +static int hf_nr_rrc_pdsch_HARQ_ACK_Codebook_secondaryPUCCH_group_r16 = -1; /* T_pdsch_HARQ_ACK_Codebook_secondaryPUCCH_group_r16 */ +static int hf_nr_rrc_p_NR_FR2_r16 = -1; /* P_Max */ +static int hf_nr_rrc_p_UE_FR2_r16 = -1; /* P_Max */ +static int hf_nr_rrc_nrdc_PCmode_FR1_r16 = -1; /* T_nrdc_PCmode_FR1_r16 */ +static int hf_nr_rrc_nrdc_PCmode_FR2_r16 = -1; /* T_nrdc_PCmode_FR2_r16 */ +static int hf_nr_rrc_pdsch_HARQ_ACK_Codebook_r16 = -1; /* T_pdsch_HARQ_ACK_Codebook_r16 */ +static int hf_nr_rrc_nfi_TotalDAI_Included_r16 = -1; /* T_nfi_TotalDAI_Included_r16 */ +static int hf_nr_rrc_ul_TotalDAI_Included_r16 = -1; /* T_ul_TotalDAI_Included_r16 */ +static int hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedback_r16 = -1; /* T_pdsch_HARQ_ACK_OneShotFeedback_r16 */ +static int hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedbackNDI_r16 = -1; /* T_pdsch_HARQ_ACK_OneShotFeedbackNDI_r16 */ +static int hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedbackCBG_r16 = -1; /* T_pdsch_HARQ_ACK_OneShotFeedbackCBG_r16 */ +static int hf_nr_rrc_downlinkAssignmentIndexForDCI_Format0_2_r16 = -1; /* T_downlinkAssignmentIndexForDCI_Format0_2_r16 */ +static int hf_nr_rrc_downlinkAssignmentIndexForDCI_Format1_2_r16 = -1; /* T_downlinkAssignmentIndexForDCI_Format1_2_r16 */ +static int hf_nr_rrc_pdsch_HARQ_ACK_CodebookList_r16 = -1; /* T_pdsch_HARQ_ACK_CodebookList_r16 */ +static int hf_nr_rrc_setup_71 = -1; /* PDSCH_HARQ_ACK_CodebookList_r16 */ +static int hf_nr_rrc_ackNackFeedbackMode_r16 = -1; /* T_ackNackFeedbackMode_r16 */ +static int hf_nr_rrc_pdcch_BlindDetectionCA_CombIndicator_r16 = -1; /* T_pdcch_BlindDetectionCA_CombIndicator_r16 */ +static int hf_nr_rrc_setup_72 = -1; /* PDCCH_BlindDetectionCA_CombIndicator_r16 */ +static int hf_nr_rrc_pdcch_BlindDetection2_r16 = -1; /* T_pdcch_BlindDetection2_r16 */ +static int hf_nr_rrc_setup_73 = -1; /* PDCCH_BlindDetection2_r16 */ +static int hf_nr_rrc_pdcch_BlindDetection3_r16 = -1; /* T_pdcch_BlindDetection3_r16 */ +static int hf_nr_rrc_setup_74 = -1; /* PDCCH_BlindDetection3_r16 */ +static int hf_nr_rrc_bdFactorR_r16 = -1; /* T_bdFactorR_r16 */ +static int hf_nr_rrc_ps_RNTI_r16 = -1; /* RNTI_Value */ +static int hf_nr_rrc_ps_Offset_r16 = -1; /* INTEGER_1_120 */ +static int hf_nr_rrc_sizeDCI_2_6_r16 = -1; /* INTEGER_1_maxDCI_2_6_Size_r16 */ +static int hf_nr_rrc_ps_PositionDCI_2_6_r16 = -1; /* INTEGER_0_maxDCI_2_6_Size_1_r16 */ +static int hf_nr_rrc_ps_WakeUp_r16 = -1; /* T_ps_WakeUp_r16 */ +static int hf_nr_rrc_ps_TransmitPeriodicL1_RSRP_r16 = -1; /* T_ps_TransmitPeriodicL1_RSRP_r16 */ +static int hf_nr_rrc_ps_TransmitOtherPeriodicCSI_r16 = -1; /* T_ps_TransmitOtherPeriodicCSI_r16 */ +static int hf_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16_item = -1; /* PDSCH_HARQ_ACK_CodebookList_r16_item */ +static int hf_nr_rrc_pdcch_BlindDetectionCA1_r16 = -1; /* INTEGER_1_15 */ +static int hf_nr_rrc_pdcch_BlindDetectionCA2_r16 = -1; /* INTEGER_1_15 */ 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 */ @@ -1882,12 +3085,15 @@ static int hf_nr_rrc_plmn_IdentityList_01 = -1; /* SEQUENCE_SIZE_1_maxPLMN_OF_ 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_iab_Support_r16_01 = -1; /* T_iab_Support_r16_01 */ +static int hf_nr_rrc_PLMN_IdentityList2_r16_item = -1; /* PLMN_Identity */ 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_maxNrofPorts_r16 = -1; /* T_maxNrofPorts_r16 */ 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 */ @@ -1907,7 +3113,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_40 = -1; /* PUCCH_FormatConfig */ +static int hf_nr_rrc_setup_75 = -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 */ @@ -1924,6 +3130,35 @@ static int hf_nr_rrc_spatialRelationInfoToAddModList_item = -1; /* PUCCH_Spatia static int hf_nr_rrc_spatialRelationInfoToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId */ static int hf_nr_rrc_spatialRelationInfoToReleaseList_item = -1; /* PUCCH_SpatialRelationInfoId */ static int hf_nr_rrc_pucch_PowerControl = -1; /* PUCCH_PowerControl */ +static int hf_nr_rrc_resourceToAddModListExt_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceExt_r16 */ +static int hf_nr_rrc_resourceToAddModListExt_r16_item = -1; /* PUCCH_ResourceExt_r16 */ +static int hf_nr_rrc_dl_DataToUL_ACK_r16 = -1; /* T_dl_DataToUL_ACK_r16 */ +static int hf_nr_rrc_setup_76 = -1; /* DL_DataToUL_ACK_r16 */ +static int hf_nr_rrc_ul_AccessConfigListForDCI_Format_1_1_r16 = -1; /* T_ul_AccessConfigListForDCI_Format_1_1_r16 */ +static int hf_nr_rrc_setup_77 = -1; /* UL_AccessConfigListForDCI_Format1_1_r16 */ +static int hf_nr_rrc_subslotLengthForPUCCH_r16 = -1; /* T_subslotLengthForPUCCH_r16 */ +static int hf_nr_rrc_normalCP_r16 = -1; /* T_normalCP_r16 */ +static int hf_nr_rrc_extendedCP_r16 = -1; /* T_extendedCP_r16 */ +static int hf_nr_rrc_dl_DataToUL_ACK_ForDCI_Format1_2_r16 = -1; /* T_dl_DataToUL_ACK_ForDCI_Format1_2_r16 */ +static int hf_nr_rrc_setup_78 = -1; /* DL_DataToUL_ACK_ForDCI_Format1_2_r16 */ +static int hf_nr_rrc_numberOfBitsForPUCCH_ResourceIndicatorForDCI_Format1_2_r16 = -1; /* INTEGER_0_3 */ +static int hf_nr_rrc_dmrs_UplinkTransformPrecodingPUCCH_r16 = -1; /* T_dmrs_UplinkTransformPrecodingPUCCH_r16 */ +static int hf_nr_rrc_spatialRelationInfoToAddModList2_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfo */ +static int hf_nr_rrc_spatialRelationInfoToAddModList2_r16_item = -1; /* PUCCH_SpatialRelationInfo */ +static int hf_nr_rrc_spatialRelationInfoToReleaseList2_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfoId */ +static int hf_nr_rrc_spatialRelationInfoToReleaseList2_r16_item = -1; /* PUCCH_SpatialRelationInfoId */ +static int hf_nr_rrc_spatialRelationInfoToAddModListExt_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoExt_r16 */ +static int hf_nr_rrc_spatialRelationInfoToAddModListExt_r16_item = -1; /* PUCCH_SpatialRelationInfoExt_r16 */ +static int hf_nr_rrc_spatialRelationInfoToReleaseList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoId_r16 */ +static int hf_nr_rrc_spatialRelationInfoToReleaseList_r16_item = -1; /* PUCCH_SpatialRelationInfoId_r16 */ +static int hf_nr_rrc_resourceGroupToAddModList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroup_r16 */ +static int hf_nr_rrc_resourceGroupToAddModList_r16_item = -1; /* PUCCH_ResourceGroup_r16 */ +static int hf_nr_rrc_resourceGroupToReleaseList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroupId_r16 */ +static int hf_nr_rrc_resourceGroupToReleaseList_r16_item = -1; /* PUCCH_ResourceGroupId_r16 */ +static int hf_nr_rrc_sps_PUCCH_AN_List_r16 = -1; /* T_sps_PUCCH_AN_List_r16 */ +static int hf_nr_rrc_setup_79 = -1; /* SPS_PUCCH_AN_List_r16 */ +static int hf_nr_rrc_schedulingRequestResourceToAddModList_v1610 = -1; /* SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_v1610 */ +static int hf_nr_rrc_schedulingRequestResourceToAddModList_v1610_item = -1; /* SchedulingRequestResourceConfig_v1610 */ static int hf_nr_rrc_interslotFrequencyHopping = -1; /* T_interslotFrequencyHopping */ static int hf_nr_rrc_additionalDMRS = -1; /* T_additionalDMRS */ static int hf_nr_rrc_maxCodeRate = -1; /* PUCCH_MaxCodeRate */ @@ -1944,6 +3179,16 @@ static int hf_nr_rrc_format1_01 = -1; /* PUCCH_format1 */ static int hf_nr_rrc_format2_01 = -1; /* PUCCH_format2 */ static int hf_nr_rrc_format3_01 = -1; /* PUCCH_format3 */ static int hf_nr_rrc_format4_01 = -1; /* PUCCH_format4 */ +static int hf_nr_rrc_interlaceAllocation_r16 = -1; /* T_interlaceAllocation_r16 */ +static int hf_nr_rrc_rb_SetIndex = -1; /* INTEGER_0_4 */ +static int hf_nr_rrc_interlace0 = -1; /* T_interlace0 */ +static int hf_nr_rrc_scs15 = -1; /* INTEGER_0_9 */ +static int hf_nr_rrc_scs30 = -1; /* INTEGER_0_4 */ +static int hf_nr_rrc_formatExt_v1610 = -1; /* T_formatExt_v1610 */ +static int hf_nr_rrc_interlace1_v1610 = -1; /* INTEGER_0_9 */ +static int hf_nr_rrc_occ_v1610 = -1; /* T_occ_v1610 */ +static int hf_nr_rrc_occ_Length_v1610 = -1; /* T_occ_Length_v1610 */ +static int hf_nr_rrc_occ_Index_v1610 = -1; /* T_occ_Index_v1610 */ static int hf_nr_rrc_initialCyclicShift = -1; /* INTEGER_0_11 */ static int hf_nr_rrc_nrofSymbols = -1; /* INTEGER_1_2 */ static int hf_nr_rrc_startingSymbolIndex = -1; /* INTEGER_0_13 */ @@ -1953,10 +3198,17 @@ static int hf_nr_rrc_timeDomainOCC = -1; /* INTEGER_0_6 */ static int hf_nr_rrc_nrofPRBs_01 = -1; /* INTEGER_1_16 */ static int hf_nr_rrc_occ_Length = -1; /* T_occ_Length */ static int hf_nr_rrc_occ_Index = -1; /* T_occ_Index */ +static int hf_nr_rrc_pucch_ResourceGroupId_r16 = -1; /* PUCCH_ResourceGroupId_r16 */ +static int hf_nr_rrc_resourcePerGroupList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerGroup_r16_OF_PUCCH_ResourceId */ +static int hf_nr_rrc_resourcePerGroupList_r16_item = -1; /* PUCCH_ResourceId */ +static int hf_nr_rrc_DL_DataToUL_ACK_r16_item = -1; /* INTEGER_M1_15 */ +static int hf_nr_rrc_DL_DataToUL_ACK_ForDCI_Format1_2_r16_item = -1; /* INTEGER_0_15 */ +static int hf_nr_rrc_UL_AccessConfigListForDCI_Format1_1_r16_item = -1; /* INTEGER_0_15 */ static int hf_nr_rrc_pucch_ResourceCommon = -1; /* INTEGER_0_15 */ static int hf_nr_rrc_pucch_GroupHopping = -1; /* T_pucch_GroupHopping */ static int hf_nr_rrc_hoppingId = -1; /* INTEGER_0_1023 */ static int hf_nr_rrc_p0_nominal = -1; /* INTEGER_M202_24 */ +static int hf_nr_rrc_PUCCH_ConfigurationList_r16_item = -1; /* PUCCH_Config */ static int hf_nr_rrc_deltaF_PUCCH_f0 = -1; /* INTEGER_M16_15 */ static int hf_nr_rrc_deltaF_PUCCH_f1 = -1; /* INTEGER_M16_15 */ static int hf_nr_rrc_deltaF_PUCCH_f2 = -1; /* INTEGER_M16_15 */ @@ -1967,23 +3219,31 @@ 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_pathlossReferenceRSs_v1610 = -1; /* T_pathlossReferenceRSs_v1610 */ +static int hf_nr_rrc_setup_80 = -1; /* PathlossReferenceRSs_v1610 */ 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_PathlossReferenceRSs_v1610_item = -1; /* PUCCH_PathlossReferenceRS_r16 */ 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_PathlossReferenceRS_Id_r16 = -1; /* PUCCH_PathlossReferenceRS_Id_v1610 */ +static int hf_nr_rrc_referenceSignal_r16 = -1; /* T_referenceSignal_r16 */ +static int hf_nr_rrc_csi_RS_Index_r16_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_srs = -1; /* PUCCH_SRS */ +static int hf_nr_rrc_closedLoopIndex = -1; /* T_closedLoopIndex */ +static int hf_nr_rrc_pucch_SpatialRelationInfoId_v1610 = -1; /* PUCCH_SpatialRelationInfoId_v1610 */ +static int hf_nr_rrc_pucch_PathlossReferenceRS_Id_v1610 = -1; /* PUCCH_PathlossReferenceRS_Id_v1610 */ static int hf_nr_rrc_resource = -1; /* SRS_ResourceId */ static int hf_nr_rrc_uplinkBWP = -1; /* BWP_Id */ -static int hf_nr_rrc_closedLoopIndex = -1; /* T_closedLoopIndex */ static int hf_nr_rrc_tpc_IndexPCell = -1; /* INTEGER_1_15 */ static int hf_nr_rrc_tpc_IndexPUCCH_SCell = -1; /* INTEGER_1_15 */ static int hf_nr_rrc_dataScramblingIdentityPUSCH = -1; /* INTEGER_0_1023 */ static int hf_nr_rrc_txConfig = -1; /* T_txConfig */ static int hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA = -1; /* T_dmrs_UplinkForPUSCH_MappingTypeA */ -static int hf_nr_rrc_setup_41 = -1; /* DMRS_UplinkConfig */ +static int hf_nr_rrc_setup_81 = -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 */ @@ -1991,7 +3251,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_42 = -1; /* PUSCH_TimeDomainResourceAllocationList */ +static int hf_nr_rrc_setup_82 = -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 */ @@ -2000,11 +3260,65 @@ static int hf_nr_rrc_codebookSubset = -1; /* T_codebookSubset */ static int hf_nr_rrc_maxRank = -1; /* INTEGER_1_4 */ static int hf_nr_rrc_rbg_Size_02 = -1; /* T_rbg_Size_02 */ static int hf_nr_rrc_uci_OnPUSCH_01 = -1; /* T_uci_OnPUSCH_01 */ -static int hf_nr_rrc_setup_43 = -1; /* UCI_OnPUSCH */ +static int hf_nr_rrc_setup_83 = -1; /* UCI_OnPUSCH */ static int hf_nr_rrc_tp_pi2BPSK = -1; /* T_tp_pi2BPSK */ +static int hf_nr_rrc_minimumSchedulingOffsetK2_r16 = -1; /* T_minimumSchedulingOffsetK2_r16 */ +static int hf_nr_rrc_setup_84 = -1; /* MinSchedulingOffsetK2_Values_r16 */ +static int hf_nr_rrc_ul_AccessConfigListForDCI_Format0_1_r16 = -1; /* T_ul_AccessConfigListForDCI_Format0_1_r16 */ +static int hf_nr_rrc_setup_85 = -1; /* UL_AccessConfigListForDCI_Format0_1_r16 */ +static int hf_nr_rrc_harq_ProcessNumberSizeForDCI_Format0_2_r16 = -1; /* INTEGER_0_4 */ +static int hf_nr_rrc_dmrs_SequenceInitializationForDCI_Format0_2_r16 = -1; /* T_dmrs_SequenceInitializationForDCI_Format0_2_r16 */ +static int hf_nr_rrc_numberOfBitsForRV_ForDCI_Format0_2_r16 = -1; /* INTEGER_0_2 */ +static int hf_nr_rrc_antennaPortsFieldPresenceForDCI_Format0_2_r16 = -1; /* T_antennaPortsFieldPresenceForDCI_Format0_2_r16 */ +static int hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA_ForDCI_Format0_2_r16 = -1; /* T_dmrs_UplinkForPUSCH_MappingTypeA_ForDCI_Format0_2_r16 */ +static int hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB_ForDCI_Format0_2_r16 = -1; /* T_dmrs_UplinkForPUSCH_MappingTypeB_ForDCI_Format0_2_r16 */ +static int hf_nr_rrc_frequencyHoppingForDCI_Format0_2_r16 = -1; /* T_frequencyHoppingForDCI_Format0_2_r16 */ +static int hf_nr_rrc_pusch_RepTypeA = -1; /* T_pusch_RepTypeA */ +static int hf_nr_rrc_pusch_RepTypeB = -1; /* T_pusch_RepTypeB */ +static int hf_nr_rrc_frequencyHoppingOffsetListsForDCI_Format0_2_r16 = -1; /* T_frequencyHoppingOffsetListsForDCI_Format0_2_r16 */ +static int hf_nr_rrc_setup_86 = -1; /* FrequencyHoppingOffsetListsForDCI_Format0_2_r16 */ +static int hf_nr_rrc_codebookSubsetForDCI_Format0_2_r16 = -1; /* T_codebookSubsetForDCI_Format0_2_r16 */ +static int hf_nr_rrc_invalidSymbolPatternIndicatorForDCI_Format0_2_r16 = -1; /* T_invalidSymbolPatternIndicatorForDCI_Format0_2_r16 */ +static int hf_nr_rrc_maxRankForDCI_Format0_2_r16 = -1; /* INTEGER_1_4 */ +static int hf_nr_rrc_mcs_TableForDCI_Format0_2_r16 = -1; /* T_mcs_TableForDCI_Format0_2_r16 */ +static int hf_nr_rrc_mcs_TableTransformPrecoderForDCI_Format0_2_r16 = -1; /* T_mcs_TableTransformPrecoderForDCI_Format0_2_r16 */ +static int hf_nr_rrc_priorityIndicatorForDCI_Format0_2_r16 = -1; /* T_priorityIndicatorForDCI_Format0_2_r16 */ +static int hf_nr_rrc_pusch_RepTypeIndicatorForDCI_Format0_2_r16 = -1; /* T_pusch_RepTypeIndicatorForDCI_Format0_2_r16 */ +static int hf_nr_rrc_resourceAllocationForDCI_Format0_2_r16 = -1; /* T_resourceAllocationForDCI_Format0_2_r16 */ +static int hf_nr_rrc_resourceAllocationType1GranularityForDCI_Format0_2_r16 = -1; /* T_resourceAllocationType1GranularityForDCI_Format0_2_r16 */ +static int hf_nr_rrc_uci_OnPUSCH_ListForDCI_Format0_2_r16 = -1; /* T_uci_OnPUSCH_ListForDCI_Format0_2_r16 */ +static int hf_nr_rrc_setup_87 = -1; /* UCI_OnPUSCH_ListForDCI_Format0_2_r16 */ +static int hf_nr_rrc_pusch_TimeDomainAllocationListForDCI_Format0_2_r16 = -1; /* T_pusch_TimeDomainAllocationListForDCI_Format0_2_r16 */ +static int hf_nr_rrc_setup_88 = -1; /* PUSCH_TimeDomainResourceAllocationList_r16 */ +static int hf_nr_rrc_pusch_TimeDomainAllocationListForDCI_Format0_1_r16 = -1; /* T_pusch_TimeDomainAllocationListForDCI_Format0_1_r16 */ +static int hf_nr_rrc_invalidSymbolPatternIndicatorForDCI_Format0_1_r16 = -1; /* T_invalidSymbolPatternIndicatorForDCI_Format0_1_r16 */ +static int hf_nr_rrc_priorityIndicatorForDCI_Format0_1_r16 = -1; /* T_priorityIndicatorForDCI_Format0_1_r16 */ +static int hf_nr_rrc_pusch_RepTypeIndicatorForDCI_Format0_1_r16 = -1; /* T_pusch_RepTypeIndicatorForDCI_Format0_1_r16 */ +static int hf_nr_rrc_frequencyHoppingForDCI_Format0_1_r16 = -1; /* T_frequencyHoppingForDCI_Format0_1_r16 */ +static int hf_nr_rrc_uci_OnPUSCH_ListForDCI_Format0_1_r16 = -1; /* T_uci_OnPUSCH_ListForDCI_Format0_1_r16 */ +static int hf_nr_rrc_setup_89 = -1; /* UCI_OnPUSCH_ListForDCI_Format0_1_r16 */ +static int hf_nr_rrc_invalidSymbolPattern_r16 = -1; /* InvalidSymbolPattern_r16 */ +static int hf_nr_rrc_pusch_PowerControl_v1610 = -1; /* T_pusch_PowerControl_v1610 */ +static int hf_nr_rrc_setup_90 = -1; /* PUSCH_PowerControl_v1610 */ +static int hf_nr_rrc_ul_FullPowerTransmission_r16 = -1; /* T_ul_FullPowerTransmission_r16 */ +static int hf_nr_rrc_pusch_TimeDomainAllocationListForMultiPUSCH_r16 = -1; /* T_pusch_TimeDomainAllocationListForMultiPUSCH_r16 */ +static int hf_nr_rrc_numberOfInvalidSymbolsForDL_UL_Switching_r16 = -1; /* INTEGER_1_4 */ static int hf_nr_rrc_betaOffsets = -1; /* T_betaOffsets */ static int hf_nr_rrc_dynamic_01 = -1; /* SEQUENCE_SIZE_4_OF_BetaOffsets */ static int hf_nr_rrc_scaling = -1; /* T_scaling */ +static int hf_nr_rrc_MinSchedulingOffsetK2_Values_r16_item = -1; /* INTEGER_0_maxK2_SchedulingOffset_r16 */ +static int hf_nr_rrc_betaOffsetsForDCI_Format0_2_r16 = -1; /* T_betaOffsetsForDCI_Format0_2_r16 */ +static int hf_nr_rrc_dynamicForDCI_Format0_2_r16 = -1; /* T_dynamicForDCI_Format0_2_r16 */ +static int hf_nr_rrc_oneBit_r16 = -1; /* SEQUENCE_SIZE_2_OF_BetaOffsets */ +static int hf_nr_rrc_oneBit_r16_item = -1; /* BetaOffsets */ +static int hf_nr_rrc_twoBits_r16 = -1; /* SEQUENCE_SIZE_4_OF_BetaOffsets */ +static int hf_nr_rrc_twoBits_r16_item = -1; /* BetaOffsets */ +static int hf_nr_rrc_semiStaticForDCI_Format0_2_r16 = -1; /* BetaOffsets */ +static int hf_nr_rrc_scalingForDCI_Format0_2_r16 = -1; /* T_scalingForDCI_Format0_2_r16 */ +static int hf_nr_rrc_FrequencyHoppingOffsetListsForDCI_Format0_2_r16_item = -1; /* INTEGER_1_maxNrofPhysicalResourceBlocks_1 */ +static int hf_nr_rrc_UCI_OnPUSCH_ListForDCI_Format0_2_r16_item = -1; /* UCI_OnPUSCH_ForDCI_Format0_2_r16 */ +static int hf_nr_rrc_UCI_OnPUSCH_ListForDCI_Format0_1_r16_item = -1; /* UCI_OnPUSCH */ +static int hf_nr_rrc_UL_AccessConfigListForDCI_Format0_1_r16_item = -1; /* INTEGER_0_63 */ static int hf_nr_rrc_groupHoppingEnabledTransformPrecoding = -1; /* T_groupHoppingEnabledTransformPrecoding */ static int hf_nr_rrc_pusch_TimeDomainAllocationList_01 = -1; /* PUSCH_TimeDomainResourceAllocationList */ static int hf_nr_rrc_msg3_DeltaPreamble = -1; /* INTEGER_M1_6 */ @@ -2029,25 +3343,51 @@ static int hf_nr_rrc_p0 = -1; /* INTEGER_M16_15 */ static int hf_nr_rrc_alpha = -1; /* Alpha */ static int hf_nr_rrc_pusch_PathlossReferenceRS_Id = -1; /* PUSCH_PathlossReferenceRS_Id */ static int hf_nr_rrc_referenceSignal_02 = -1; /* T_referenceSignal_02 */ +static int hf_nr_rrc_pusch_PathlossReferenceRS_Id_r16 = -1; /* PUSCH_PathlossReferenceRS_Id_v1610 */ +static int hf_nr_rrc_referenceSignal_r16_01 = -1; /* T_referenceSignal_r16_01 */ static int hf_nr_rrc_sri_PUSCH_PowerControlId = -1; /* SRI_PUSCH_PowerControlId */ static int hf_nr_rrc_sri_PUSCH_PathlossReferenceRS_Id = -1; /* PUSCH_PathlossReferenceRS_Id */ static int hf_nr_rrc_sri_P0_PUSCH_AlphaSetId = -1; /* P0_PUSCH_AlphaSetId */ static int hf_nr_rrc_sri_PUSCH_ClosedLoopIndex = -1; /* T_sri_PUSCH_ClosedLoopIndex */ +static int hf_nr_rrc_pathlossReferenceRSToAddModList2_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_r16 */ +static int hf_nr_rrc_pathlossReferenceRSToAddModList2_r16_item = -1; /* PUSCH_PathlossReferenceRS_r16 */ +static int hf_nr_rrc_pathlossReferenceRSToReleaseList2_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_Id_v1610 */ +static int hf_nr_rrc_pathlossReferenceRSToReleaseList2_r16_item = -1; /* PUSCH_PathlossReferenceRS_Id_v1610 */ +static int hf_nr_rrc_p0_PUSCH_SetList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16 */ +static int hf_nr_rrc_p0_PUSCH_SetList_r16_item = -1; /* P0_PUSCH_Set_r16 */ +static int hf_nr_rrc_olpc_ParameterSet = -1; /* T_olpc_ParameterSet */ +static int hf_nr_rrc_olpc_ParameterSetForDCI_Format0_1_r16 = -1; /* INTEGER_1_2 */ +static int hf_nr_rrc_olpc_ParameterSetForDCI_Format0_2_r16 = -1; /* INTEGER_1_2 */ +static int hf_nr_rrc_p0_PUSCH_SetId_r16 = -1; /* P0_PUSCH_SetId_r16 */ +static int hf_nr_rrc_p0_List_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofP0_PUSCH_Set_r16_OF_P0_PUSCH_r16 */ +static int hf_nr_rrc_p0_List_r16_item = -1; /* P0_PUSCH_r16 */ static int hf_nr_rrc_codeBlockGroupTransmission_01 = -1; /* T_codeBlockGroupTransmission_01 */ -static int hf_nr_rrc_setup_44 = -1; /* PUSCH_CodeBlockGroupTransmission */ +static int hf_nr_rrc_setup_91 = -1; /* PUSCH_CodeBlockGroupTransmission */ static int hf_nr_rrc_rateMatching = -1; /* T_rateMatching */ static int hf_nr_rrc_xOverhead_01 = -1; /* T_xOverhead_01 */ static int hf_nr_rrc_maxMIMO_Layers_01 = -1; /* INTEGER_1_4 */ +static int hf_nr_rrc_maxMIMO_LayersForDCI_Format0_2_r16 = -1; /* T_maxMIMO_LayersForDCI_Format0_2_r16 */ +static int hf_nr_rrc_setup_92 = -1; /* MaxMIMO_LayersForDCI_Format0_2_r16 */ static int hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock_01 = -1; /* T_maxCodeBlockGroupsPerTransportBlock_01 */ static int hf_nr_rrc_PUSCH_TimeDomainResourceAllocationList_item = -1; /* PUSCH_TimeDomainResourceAllocation */ static int hf_nr_rrc_k2 = -1; /* INTEGER_0_32 */ static int hf_nr_rrc_mappingType_01 = -1; /* T_mappingType_01 */ +static int hf_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16_item = -1; /* PUSCH_TimeDomainResourceAllocation_r16 */ +static int hf_nr_rrc_k2_r16 = -1; /* INTEGER_0_32 */ +static int hf_nr_rrc_puschAllocationList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofMultiplePUSCHs_r16_OF_PUSCH_Allocation_r16 */ +static int hf_nr_rrc_puschAllocationList_r16_item = -1; /* PUSCH_Allocation_r16 */ +static int hf_nr_rrc_mappingType_r16_01 = -1; /* T_mappingType_r16_01 */ +static int hf_nr_rrc_startSymbol_r16 = -1; /* INTEGER_0_13 */ +static int hf_nr_rrc_length_r16 = -1; /* INTEGER_1_14 */ +static int hf_nr_rrc_numberOfRepetitions_r16 = -1; /* T_numberOfRepetitions_r16 */ static int hf_nr_rrc_tpc_Index = -1; /* INTEGER_1_15 */ static int hf_nr_rrc_tpc_IndexSUL = -1; /* INTEGER_1_15 */ static int hf_nr_rrc_targetCell = -1; /* ServCellIndex */ static int hf_nr_rrc_quantityConfigNR_List = -1; /* SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR */ static int hf_nr_rrc_quantityConfigNR_List_item = -1; /* QuantityConfigNR */ static int hf_nr_rrc_quantityConfigEUTRA = -1; /* FilterConfig */ +static int hf_nr_rrc_quantityConfigUTRA_FDD_r16 = -1; /* QuantityConfigUTRA_FDD_r16 */ +static int hf_nr_rrc_quantityConfigCLI_r16 = -1; /* FilterConfigCLI_r16 */ 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 */ @@ -2055,6 +3395,10 @@ static int hf_nr_rrc_csi_RS_FilterConfig = -1; /* FilterConfig */ static int hf_nr_rrc_filterCoefficientRSRP = -1; /* FilterCoefficient */ static int hf_nr_rrc_filterCoefficientRSRQ = -1; /* FilterCoefficient */ static int hf_nr_rrc_filterCoefficientRS_SINR = -1; /* FilterCoefficient */ +static int hf_nr_rrc_filterCoefficientSRS_RSRP_r16 = -1; /* FilterCoefficient */ +static int hf_nr_rrc_filterCoefficientCLI_RSSI_r16 = -1; /* FilterCoefficient */ +static int hf_nr_rrc_filterCoefficientRSCP_r16 = -1; /* FilterCoefficient */ +static int hf_nr_rrc_filterCoefficientEcNO_r16 = -1; /* FilterCoefficient */ static int hf_nr_rrc_rach_ConfigGeneric = -1; /* RACH_ConfigGeneric */ static int hf_nr_rrc_totalNumberOfRA_Preambles = -1; /* INTEGER_1_63 */ static int hf_nr_rrc_ssb_perRACH_OccasionAndCB_PreamblesPerSSB = -1; /* T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB */ @@ -2077,7 +3421,36 @@ static int hf_nr_rrc_l839 = -1; /* INTEGER_0_837 */ static int hf_nr_rrc_l139 = -1; /* INTEGER_0_137 */ static int hf_nr_rrc_restrictedSetConfig = -1; /* T_restrictedSetConfig */ static int hf_nr_rrc_msg3_transformPrecoder = -1; /* T_msg3_transformPrecoder */ +static int hf_nr_rrc_ra_PrioritizationForAccessIdentity = -1; /* T_ra_PrioritizationForAccessIdentity */ +static int hf_nr_rrc_ra_Prioritization_r16 = -1; /* RA_Prioritization */ +static int hf_nr_rrc_ra_PrioritizationForAI_r16 = -1; /* BIT_STRING_SIZE_2 */ +static int hf_nr_rrc_prach_RootSequenceIndex_r16 = -1; /* T_prach_RootSequenceIndex_r16 */ +static int hf_nr_rrc_l571 = -1; /* INTEGER_0_569 */ +static int hf_nr_rrc_l1151 = -1; /* INTEGER_0_1149 */ +static int hf_nr_rrc_rach_ConfigGenericTwoStepRA_r16 = -1; /* RACH_ConfigGenericTwoStepRA_r16 */ +static int hf_nr_rrc_msgA_TotalNumberOfRA_Preambles_r16 = -1; /* INTEGER_1_63 */ +static int hf_nr_rrc_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16 = -1; /* T_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16 */ +static int hf_nr_rrc_oneEighth_01 = -1; /* T_oneEighth_01 */ +static int hf_nr_rrc_oneFourth_01 = -1; /* T_oneFourth_01 */ +static int hf_nr_rrc_oneHalf_01 = -1; /* T_oneHalf_01 */ +static int hf_nr_rrc_one_02 = -1; /* T_one_01 */ +static int hf_nr_rrc_two_02 = -1; /* T_two_02 */ +static int hf_nr_rrc_msgA_CB_PreamblesPerSSB_PerSharedRO_r16 = -1; /* INTEGER_1_60 */ +static int hf_nr_rrc_msgA_SSB_SharedRO_MaskIndex_r16 = -1; /* INTEGER_1_15 */ +static int hf_nr_rrc_groupB_ConfiguredTwoStepRA_r16 = -1; /* GroupB_ConfiguredTwoStepRA_r16 */ +static int hf_nr_rrc_msgA_PRACH_RootSequenceIndex_r16 = -1; /* T_msgA_PRACH_RootSequenceIndex_r16 */ +static int hf_nr_rrc_msgA_TransMax_r16 = -1; /* T_msgA_TransMax_r16 */ +static int hf_nr_rrc_msgA_RSRP_Threshold_r16 = -1; /* RSRP_Range */ +static int hf_nr_rrc_msgA_RSRP_ThresholdSSB_r16 = -1; /* RSRP_Range */ +static int hf_nr_rrc_msgA_SubcarrierSpacing_r16 = -1; /* SubcarrierSpacing */ +static int hf_nr_rrc_msgA_RestrictedSetConfig_r16 = -1; /* T_msgA_RestrictedSetConfig_r16 */ +static int hf_nr_rrc_ra_PrioritizationForAccessIdentityTwoStep_r16 = -1; /* T_ra_PrioritizationForAccessIdentityTwoStep_r16 */ +static int hf_nr_rrc_ra_ContentionResolutionTimer_r16 = -1; /* T_ra_ContentionResolutionTimer_r16 */ +static int hf_nr_rrc_ra_MsgA_SizeGroupA = -1; /* T_ra_MsgA_SizeGroupA */ +static int hf_nr_rrc_messagePowerOffsetGroupB_01 = -1; /* T_messagePowerOffsetGroupB_01 */ +static int hf_nr_rrc_numberofRA_PreamblesGroupA = -1; /* INTEGER_1_64 */ static int hf_nr_rrc_cfra = -1; /* CFRA */ +static int hf_nr_rrc_cfra_TwoStep_r16 = -1; /* CFRA_TwoStep_r16 */ static int hf_nr_rrc_occasions = -1; /* T_occasions */ static int hf_nr_rrc_ssb_perRACH_Occasion_01 = -1; /* T_ssb_perRACH_Occasion_01 */ static int hf_nr_rrc_resources = -1; /* T_resources */ @@ -2088,6 +3461,12 @@ 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_occasionsTwoStepRA_r16 = -1; /* T_occasionsTwoStepRA_r16 */ +static int hf_nr_rrc_ssb_PerRACH_OccasionTwoStepRA_r16 = -1; /* T_ssb_PerRACH_OccasionTwoStepRA_r16 */ +static int hf_nr_rrc_msgA_CFRA_PUSCH_r16 = -1; /* MsgA_PUSCH_Resource_r16 */ +static int hf_nr_rrc_msgA_TransMax_r16_01 = -1; /* T_msgA_TransMax_r16_01 */ +static int hf_nr_rrc_resourcesTwoStep_r16 = -1; /* T_resourcesTwoStep_r16 */ +static int hf_nr_rrc_msgA_PUSCH_resource_Index_r16 = -1; /* INTEGER_0_3071 */ 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 */ @@ -2098,6 +3477,19 @@ 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_prach_ConfigurationPeriodScaling_IAB_r16 = -1; /* T_prach_ConfigurationPeriodScaling_IAB_r16 */ +static int hf_nr_rrc_prach_ConfigurationFrameOffset_IAB_r16 = -1; /* INTEGER_0_63 */ +static int hf_nr_rrc_prach_ConfigurationSOffset_IAB_r16 = -1; /* INTEGER_0_39 */ +static int hf_nr_rrc_ra_ResponseWindow_v1610 = -1; /* T_ra_ResponseWindow_v1610 */ +static int hf_nr_rrc_prach_ConfigurationIndex_v1610 = -1; /* INTEGER_256_262 */ +static int hf_nr_rrc_msgA_PRACH_ConfigurationIndex_r16 = -1; /* INTEGER_0_262 */ +static int hf_nr_rrc_msgA_RO_FDM_r16 = -1; /* T_msgA_RO_FDM_r16 */ +static int hf_nr_rrc_msgA_RO_FrequencyStart_r16 = -1; /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */ +static int hf_nr_rrc_msgA_ZeroCorrelationZoneConfig_r16 = -1; /* INTEGER_0_15 */ +static int hf_nr_rrc_msgA_PreamblePowerRampingStep_r16 = -1; /* T_msgA_PreamblePowerRampingStep_r16 */ +static int hf_nr_rrc_msgA_PreambleReceivedTargetPower_r16 = -1; /* INTEGER_M202_M60 */ +static int hf_nr_rrc_msgB_ResponseWindow_r16 = -1; /* T_msgB_ResponseWindow_r16 */ +static int hf_nr_rrc_preambleTransMax_r16 = -1; /* T_preambleTransMax_r16 */ 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 */ @@ -2116,6 +3508,7 @@ static int hf_nr_rrc_eps_BearerIdentity = -1; /* INTEGER_0_15 */ static int hf_nr_rrc_sdap_Config = -1; /* SDAP_Config */ static int hf_nr_rrc_reestablishPDCP_01 = -1; /* T_reestablishPDCP_01 */ static int hf_nr_rrc_recoverPDCP = -1; /* T_recoverPDCP */ +static int hf_nr_rrc_daps_Config_r16 = -1; /* T_daps_Config_r16 */ static int hf_nr_rrc_DRB_ToReleaseList_item = -1; /* DRB_Identity */ static int hf_nr_rrc_keyToUse = -1; /* T_keyToUse */ static int hf_nr_rrc_failureDetectionResourcesToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS */ @@ -2132,68 +3525,97 @@ static int hf_nr_rrc_patternType = -1; /* T_patternType */ static int hf_nr_rrc_bitmaps = -1; /* T_bitmaps */ static int hf_nr_rrc_resourceBlocks = -1; /* BIT_STRING_SIZE_275 */ static int hf_nr_rrc_symbolsInResourceBlock = -1; /* T_symbolsInResourceBlock */ -static int hf_nr_rrc_oneSlot = -1; /* BIT_STRING_SIZE_14 */ -static int hf_nr_rrc_twoSlots = -1; /* BIT_STRING_SIZE_28 */ static int hf_nr_rrc_periodicityAndPattern = -1; /* T_periodicityAndPattern */ -static int hf_nr_rrc_n2 = -1; /* BIT_STRING_SIZE_2 */ -static int hf_nr_rrc_n4 = -1; /* BIT_STRING_SIZE_4 */ -static int hf_nr_rrc_n5 = -1; /* BIT_STRING_SIZE_5 */ -static int hf_nr_rrc_n8 = -1; /* BIT_STRING_SIZE_8 */ -static int hf_nr_rrc_n10 = -1; /* BIT_STRING_SIZE_10 */ -static int hf_nr_rrc_n20 = -1; /* BIT_STRING_SIZE_20 */ -static int hf_nr_rrc_n40 = -1; /* BIT_STRING_SIZE_40 */ static int hf_nr_rrc_controlResourceSet = -1; /* ControlResourceSetId */ static int hf_nr_rrc_dummy_04 = -1; /* T_dummy_01 */ +static int hf_nr_rrc_controlResourceSet_r16 = -1; /* ControlResourceSetId_r16 */ static int hf_nr_rrc_carrierFreqDL = -1; /* INTEGER_0_16383 */ static int hf_nr_rrc_carrierBandwidthDL = -1; /* T_carrierBandwidthDL */ static int hf_nr_rrc_mbsfn_SubframeConfigList = -1; /* EUTRA_MBSFN_SubframeConfigList */ static int hf_nr_rrc_nrofCRS_Ports = -1; /* T_nrofCRS_Ports */ static int hf_nr_rrc_v_Shift = -1; /* T_v_Shift */ -static int hf_nr_rrc_reportType = -1; /* T_reportType */ -static int hf_nr_rrc_periodical = -1; /* PeriodicalReportConfigInterRAT */ -static int hf_nr_rrc_eventTriggered = -1; /* EventTriggerConfigInterRAT */ +static int hf_nr_rrc_LTE_CRS_PatternList_r16_item = -1; /* RateMatchPatternLTE_CRS */ +static int hf_nr_rrc_time_r16 = -1; /* ReferenceTime_r16 */ +static int hf_nr_rrc_uncertainty_r16 = -1; /* INTEGER_0_32767 */ +static int hf_nr_rrc_timeInfoType_r16 = -1; /* T_timeInfoType_r16 */ +static int hf_nr_rrc_referenceSFN_r16 = -1; /* INTEGER_0_1023 */ +static int hf_nr_rrc_refDays_r16 = -1; /* INTEGER_0_72999 */ +static int hf_nr_rrc_refSeconds_r16 = -1; /* INTEGER_0_86399 */ +static int hf_nr_rrc_refMilliSeconds_r16 = -1; /* INTEGER_0_999 */ +static int hf_nr_rrc_refTenNanoSeconds_r16 = -1; /* INTEGER_0_99999 */ +static int hf_nr_rrc_fdm_TDM_r16 = -1; /* T_fdm_TDM_r16 */ +static int hf_nr_rrc_setup_93 = -1; /* FDM_TDM_r16 */ +static int hf_nr_rrc_slotBased_r16 = -1; /* T_slotBased_r16 */ +static int hf_nr_rrc_setup_94 = -1; /* SlotBased_r16 */ +static int hf_nr_rrc_repetitionScheme_r16 = -1; /* T_repetitionScheme_r16 */ +static int hf_nr_rrc_startingSymbolOffsetK_r16 = -1; /* INTEGER_0_7 */ +static int hf_nr_rrc_tciMapping_r16 = -1; /* T_tciMapping_r16 */ +static int hf_nr_rrc_sequenceOffsetforRV_r16 = -1; /* INTEGER_1_3 */ +static int hf_nr_rrc_reportType_01 = -1; /* T_reportType_01 */ +static int hf_nr_rrc_periodical_01 = -1; /* PeriodicalReportConfigInterRAT */ +static int hf_nr_rrc_eventTriggered_01 = -1; /* EventTriggerConfigInterRAT */ static int hf_nr_rrc_reportCGI = -1; /* ReportCGI_EUTRA */ static int hf_nr_rrc_reportSFTD = -1; /* ReportSFTD_EUTRA */ static int hf_nr_rrc_cellForWhichToReportCGI_01 = -1; /* EUTRA_PhysCellId */ +static int hf_nr_rrc_useAutonomousGaps_r16 = -1; /* T_useAutonomousGaps_r16 */ static int hf_nr_rrc_reportSFTD_Meas = -1; /* BOOLEAN */ static int hf_nr_rrc_reportRSRP = -1; /* BOOLEAN */ static int hf_nr_rrc_eventId = -1; /* T_eventId */ static int hf_nr_rrc_eventB1 = -1; /* T_eventB1 */ static int hf_nr_rrc_b1_ThresholdEUTRA = -1; /* MeasTriggerQuantityEUTRA */ static int hf_nr_rrc_reportOnLeave = -1; /* BOOLEAN */ -static int hf_nr_rrc_hysteresis = -1; /* Hysteresis */ -static int hf_nr_rrc_timeToTrigger = -1; /* TimeToTrigger */ static int hf_nr_rrc_eventB2 = -1; /* T_eventB2 */ static int hf_nr_rrc_b2_Threshold1 = -1; /* MeasTriggerQuantity */ static int hf_nr_rrc_b2_Threshold2EUTRA = -1; /* MeasTriggerQuantityEUTRA */ +static int hf_nr_rrc_eventB1_UTRA_FDD_r16 = -1; /* T_eventB1_UTRA_FDD_r16 */ +static int hf_nr_rrc_b1_ThresholdUTRA_FDD_r16 = -1; /* MeasTriggerQuantityUTRA_FDD_r16 */ +static int hf_nr_rrc_reportOnLeave_r16 = -1; /* BOOLEAN */ +static int hf_nr_rrc_hysteresis_r16 = -1; /* Hysteresis */ +static int hf_nr_rrc_timeToTrigger_r16 = -1; /* TimeToTrigger */ +static int hf_nr_rrc_eventB2_UTRA_FDD_r16 = -1; /* T_eventB2_UTRA_FDD_r16 */ +static int hf_nr_rrc_b2_Threshold1_r16 = -1; /* MeasTriggerQuantity */ +static int hf_nr_rrc_b2_Threshold2UTRA_FDD_r16 = -1; /* MeasTriggerQuantityUTRA_FDD_r16 */ 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_reportQuantityUTRA_FDD_r16 = -1; /* MeasReportQuantityUTRA_FDD_r16 */ 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_utra_FDD_RSCP_r16_01 = -1; /* MeasTriggerQuantityUTRA_FDD_RSCP_r16 */ +static int hf_nr_rrc_utra_FDD_EcN0_r16_01 = -1; /* MeasTriggerQuantityUTRA_FDD_EcN0_r16 */ +static int hf_nr_rrc_cpich_RSCP = -1; /* BOOLEAN */ +static int hf_nr_rrc_cpich_EcN0 = -1; /* BOOLEAN */ +static int hf_nr_rrc_reportType_02 = -1; /* T_reportType_02 */ +static int hf_nr_rrc_periodical_02 = -1; /* PeriodicalReportConfig */ +static int hf_nr_rrc_eventTriggered_02 = -1; /* EventTriggerConfig */ static int hf_nr_rrc_reportCGI_01 = -1; /* ReportCGI */ static int hf_nr_rrc_reportSFTD_01 = -1; /* ReportSFTD_NR */ +static int hf_nr_rrc_condTriggerConfig_r16 = -1; /* CondTriggerConfig_r16 */ +static int hf_nr_rrc_cli_Periodical_r16 = -1; /* CLI_PeriodicalReportConfig_r16 */ +static int hf_nr_rrc_cli_EventTriggered_r16 = -1; /* CLI_EventTriggerConfig_r16 */ +static int hf_nr_rrc_useAutonomousGaps_r16_01 = -1; /* T_useAutonomousGaps_r16_01 */ static int hf_nr_rrc_reportSFTD_NeighMeas = -1; /* T_reportSFTD_NeighMeas */ static int hf_nr_rrc_drx_SFTD_NeighMeas = -1; /* T_drx_SFTD_NeighMeas */ static int hf_nr_rrc_cellsForWhichToReportSFTD = -1; /* SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId */ static int hf_nr_rrc_cellsForWhichToReportSFTD_item = -1; /* PhysCellId */ +static int hf_nr_rrc_condEventId = -1; /* T_condEventId */ +static int hf_nr_rrc_condEventA3 = -1; /* T_condEventA3 */ +static int hf_nr_rrc_a3_Offset = -1; /* MeasTriggerQuantityOffset */ +static int hf_nr_rrc_condEventA5 = -1; /* T_condEventA5 */ +static int hf_nr_rrc_a5_Threshold1 = -1; /* MeasTriggerQuantity */ +static int hf_nr_rrc_a5_Threshold2 = -1; /* MeasTriggerQuantity */ +static int hf_nr_rrc_rsType_r16 = -1; /* NR_RS_Type */ static int hf_nr_rrc_eventId_01 = -1; /* T_eventId_01 */ static int hf_nr_rrc_eventA1 = -1; /* T_eventA1 */ static int hf_nr_rrc_a1_Threshold = -1; /* MeasTriggerQuantity */ static int hf_nr_rrc_eventA2 = -1; /* T_eventA2 */ static int hf_nr_rrc_a2_Threshold = -1; /* MeasTriggerQuantity */ static int hf_nr_rrc_eventA3 = -1; /* T_eventA3 */ -static int hf_nr_rrc_a3_Offset = -1; /* MeasTriggerQuantityOffset */ static int hf_nr_rrc_useWhiteCellList = -1; /* BOOLEAN */ static int hf_nr_rrc_eventA4 = -1; /* T_eventA4 */ static int hf_nr_rrc_a4_Threshold = -1; /* MeasTriggerQuantity */ static int hf_nr_rrc_eventA5 = -1; /* T_eventA5 */ -static int hf_nr_rrc_a5_Threshold1 = -1; /* MeasTriggerQuantity */ -static int hf_nr_rrc_a5_Threshold2 = -1; /* MeasTriggerQuantity */ static int hf_nr_rrc_eventA6 = -1; /* T_eventA6 */ static int hf_nr_rrc_a6_Offset = -1; /* MeasTriggerQuantityOffset */ static int hf_nr_rrc_reportAmount_02 = -1; /* T_reportAmount_02 */ @@ -2202,21 +3624,59 @@ static int hf_nr_rrc_reportQuantityRS_Indexes = -1; /* MeasReportQuantity */ static int hf_nr_rrc_maxNrofRS_IndexesToReport = -1; /* INTEGER_1_maxNrofIndexesToReport */ static int hf_nr_rrc_includeBeamMeasurements = -1; /* BOOLEAN */ static int hf_nr_rrc_reportAddNeighMeas = -1; /* T_reportAddNeighMeas */ +static int hf_nr_rrc_measRSSI_ReportConfig_r16 = -1; /* MeasRSSI_ReportConfig_r16 */ +static int hf_nr_rrc_useT312_r16 = -1; /* BOOLEAN */ +static int hf_nr_rrc_includeCommonLocationInfo_r16 = -1; /* T_includeCommonLocationInfo_r16 */ +static int hf_nr_rrc_includeBT_Meas_r16 = -1; /* T_includeBT_Meas_r16 */ +static int hf_nr_rrc_includeWLAN_Meas_r16 = -1; /* T_includeWLAN_Meas_r16 */ +static int hf_nr_rrc_includeSensor_Meas_r16 = -1; /* T_includeSensor_Meas_r16 */ static int hf_nr_rrc_reportAmount_03 = -1; /* T_reportAmount_03 */ +static int hf_nr_rrc_includeCommonLocationInfo_r16_01 = -1; /* T_includeCommonLocationInfo_r16_01 */ +static int hf_nr_rrc_includeBT_Meas_r16_01 = -1; /* T_includeBT_Meas_r16_01 */ +static int hf_nr_rrc_includeWLAN_Meas_r16_01 = -1; /* T_includeWLAN_Meas_r16_01 */ +static int hf_nr_rrc_includeSensor_Meas_r16_01 = -1; /* T_includeSensor_Meas_r16_01 */ +static int hf_nr_rrc_ul_DelayValueConfig_r16 = -1; /* T_ul_DelayValueConfig_r16 */ +static int hf_nr_rrc_setup_95 = -1; /* UL_DelayValueConfig_r16 */ +static int hf_nr_rrc_reportAddNeighMeas_r16 = -1; /* T_reportAddNeighMeas_r16 */ 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_channelOccupancyThreshold_r16 = -1; /* RSSI_Range_r16 */ +static int hf_nr_rrc_eventId_r16 = -1; /* T_eventId_r16 */ +static int hf_nr_rrc_eventI1_r16 = -1; /* T_eventI1_r16 */ +static int hf_nr_rrc_i1_Threshold_r16 = -1; /* MeasTriggerQuantityCLI_r16 */ +static int hf_nr_rrc_reportInterval_r16 = -1; /* ReportInterval */ +static int hf_nr_rrc_reportAmount_r16 = -1; /* T_reportAmount_r16 */ +static int hf_nr_rrc_maxReportCLI_r16 = -1; /* INTEGER_1_maxCLI_Report_r16 */ +static int hf_nr_rrc_reportAmount_r16_01 = -1; /* T_reportAmount_r16_01 */ +static int hf_nr_rrc_reportQuantityCLI_r16 = -1; /* MeasReportQuantityCLI_r16 */ +static int hf_nr_rrc_srs_RSRP_r16 = -1; /* SRS_RSRP_Range_r16 */ +static int hf_nr_rrc_cli_RSSI_r16 = -1; /* CLI_RSSI_Range_r16 */ +static int hf_nr_rrc_reportType_r16 = -1; /* T_reportType_r16 */ +static int hf_nr_rrc_periodical_r16 = -1; /* PeriodicalReportConfigNR_SL_r16 */ +static int hf_nr_rrc_eventTriggered_r16 = -1; /* EventTriggerConfigNR_SL_r16 */ +static int hf_nr_rrc_eventId_r16_01 = -1; /* T_eventId_r16_01 */ +static int hf_nr_rrc_eventC1 = -1; /* T_eventC1 */ +static int hf_nr_rrc_c1_Threshold_r16 = -1; /* SL_CBR_r16 */ +static int hf_nr_rrc_eventC2_r16 = -1; /* T_eventC2_r16 */ +static int hf_nr_rrc_c2_Threshold_r16 = -1; /* SL_CBR_r16 */ +static int hf_nr_rrc_reportAmount_r16_02 = -1; /* T_reportAmount_r16_02 */ +static int hf_nr_rrc_reportQuantity_r16_01 = -1; /* MeasReportQuantity_r16 */ +static int hf_nr_rrc_reportAmount_r16_03 = -1; /* T_reportAmount_r16_03 */ +static int hf_nr_rrc_cbr_r16 = -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_reportConfigNR_SL_r16 = -1; /* ReportConfigNR_SL_r16 */ static int hf_nr_rrc_servedRadioBearer = -1; /* T_servedRadioBearer */ static int hf_nr_rrc_reestablishRLC = -1; /* T_reestablishRLC */ static int hf_nr_rrc_rlc_Config = -1; /* RLC_Config */ static int hf_nr_rrc_mac_LogicalChannelConfig = -1; /* LogicalChannelConfig */ +static int hf_nr_rrc_rlc_Config_v1610 = -1; /* RLC_Config_v1610 */ static int hf_nr_rrc_am = -1; /* T_am */ static int hf_nr_rrc_ul_AM_RLC = -1; /* UL_AM_RLC */ static int hf_nr_rrc_dl_AM_RLC = -1; /* DL_AM_RLC */ @@ -2233,6 +3693,8 @@ static int hf_nr_rrc_maxRetxThreshold = -1; /* T_maxRetxThreshold */ static int hf_nr_rrc_t_Reassembly = -1; /* T_Reassembly */ static int hf_nr_rrc_t_StatusProhibit = -1; /* T_StatusProhibit */ static int hf_nr_rrc_sn_FieldLength_01 = -1; /* SN_FieldLengthUM */ +static int hf_nr_rrc_dl_AM_RLC_v1610 = -1; /* DL_AM_RLC_v1610 */ +static int hf_nr_rrc_t_StatusProhibit_v1610 = -1; /* T_StatusProhibit_v1610 */ 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 */ @@ -2253,15 +3715,10 @@ static int hf_nr_rrc_sl2 = -1; /* INTEGER_0_1 */ static int hf_nr_rrc_sl4 = -1; /* INTEGER_0_3 */ static int hf_nr_rrc_sl5 = -1; /* INTEGER_0_4 */ static int hf_nr_rrc_sl8 = -1; /* INTEGER_0_7 */ -static int hf_nr_rrc_sl10 = -1; /* INTEGER_0_9 */ static int hf_nr_rrc_sl16 = -1; /* INTEGER_0_15 */ -static int hf_nr_rrc_sl20 = -1; /* INTEGER_0_19 */ -static int hf_nr_rrc_sl40 = -1; /* INTEGER_0_39 */ -static int hf_nr_rrc_sl80 = -1; /* INTEGER_0_79 */ -static int hf_nr_rrc_sl160 = -1; /* INTEGER_0_159 */ -static int hf_nr_rrc_sl320 = -1; /* INTEGER_0_319 */ static int hf_nr_rrc_sl640 = -1; /* INTEGER_0_639 */ static int hf_nr_rrc_resource_01 = -1; /* PUCCH_ResourceId */ +static int hf_nr_rrc_phy_PriorityIndex_r16_01 = -1; /* T_phy_PriorityIndex_r16_01 */ static int hf_nr_rrc_offsetToCarrier = -1; /* INTEGER_0_2199 */ static int hf_nr_rrc_carrierBandwidth = -1; /* INTEGER_1_maxNrofPhysicalResourceBlocks */ static int hf_nr_rrc_txDirectCurrentLocation = -1; /* INTEGER_0_4095 */ @@ -2302,8 +3759,35 @@ 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_dci_Formats_MT_r16 = -1; /* T_dci_Formats_MT_r16 */ +static int hf_nr_rrc_dci_FormatsSL_r16 = -1; /* T_dci_FormatsSL_r16 */ +static int hf_nr_rrc_dci_FormatsExt_r16 = -1; /* T_dci_FormatsExt_r16 */ +static int hf_nr_rrc_controlResourceSetId_r16 = -1; /* ControlResourceSetId_r16 */ +static int hf_nr_rrc_searchSpaceType_r16 = -1; /* T_searchSpaceType_r16 */ +static int hf_nr_rrc_common_r16 = -1; /* T_common_r16 */ +static int hf_nr_rrc_dci_Format2_4_r16 = -1; /* T_dci_Format2_4_r16 */ +static int hf_nr_rrc_nrofCandidates_CI_r16 = -1; /* T_nrofCandidates_CI_r16 */ +static int hf_nr_rrc_aggregationLevel1_r16 = -1; /* T_aggregationLevel1_r16 */ +static int hf_nr_rrc_aggregationLevel2_r16 = -1; /* T_aggregationLevel2_r16 */ +static int hf_nr_rrc_aggregationLevel4_r16 = -1; /* T_aggregationLevel4_r16 */ +static int hf_nr_rrc_aggregationLevel8_r16 = -1; /* T_aggregationLevel8_r16 */ +static int hf_nr_rrc_aggregationLevel16_r16 = -1; /* T_aggregationLevel16_r16 */ +static int hf_nr_rrc_dci_Format2_5_r16 = -1; /* T_dci_Format2_5_r16 */ +static int hf_nr_rrc_nrofCandidates_IAB_r16 = -1; /* T_nrofCandidates_IAB_r16 */ +static int hf_nr_rrc_aggregationLevel1_r16_01 = -1; /* T_aggregationLevel1_r16_01 */ +static int hf_nr_rrc_aggregationLevel2_r16_01 = -1; /* T_aggregationLevel2_r16_01 */ +static int hf_nr_rrc_aggregationLevel4_r16_01 = -1; /* T_aggregationLevel4_r16_01 */ +static int hf_nr_rrc_aggregationLevel8_r16_01 = -1; /* T_aggregationLevel8_r16_01 */ +static int hf_nr_rrc_aggregationLevel16_r16_01 = -1; /* T_aggregationLevel16_r16_01 */ +static int hf_nr_rrc_dci_Format2_6_r16 = -1; /* T_dci_Format2_6_r16 */ +static int hf_nr_rrc_searchSpaceGroupIdList_r16 = -1; /* T_searchSpaceGroupIdList_r16 */ +static int hf_nr_rrc_searchSpaceGroupIdList_r16_item = -1; /* INTEGER_0_1 */ +static int hf_nr_rrc_freqMonitorLocations_r16 = -1; /* BIT_STRING_SIZE_5 */ static int hf_nr_rrc_cipheringAlgorithm = -1; /* CipheringAlgorithm */ static int hf_nr_rrc_integrityProtAlgorithm = -1; /* IntegrityProtAlgorithm */ +static int hf_nr_rrc_period = -1; /* T_period */ +static int hf_nr_rrc_sensor_MeasurementInformation_r16 = -1; /* T_sensor_MeasurementInformation_r16 */ +static int hf_nr_rrc_sensor_MotionInformation_r16 = -1; /* T_sensor_MotionInformation_r16 */ static int hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated = -1; /* TDD_UL_DL_ConfigDedicated */ static int hf_nr_rrc_initialDownlinkBWP_01 = -1; /* BWP_DownlinkDedicated */ static int hf_nr_rrc_downlinkBWP_ToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id */ @@ -2316,11 +3800,11 @@ static int hf_nr_rrc_defaultDownlinkBWP_Id = -1; /* BWP_Id */ static int hf_nr_rrc_uplinkConfig = -1; /* UplinkConfig */ static int hf_nr_rrc_supplementaryUplink_01 = -1; /* UplinkConfig */ static int hf_nr_rrc_pdcch_ServingCellConfig = -1; /* T_pdcch_ServingCellConfig */ -static int hf_nr_rrc_setup_45 = -1; /* PDCCH_ServingCellConfig */ +static int hf_nr_rrc_setup_96 = -1; /* PDCCH_ServingCellConfig */ static int hf_nr_rrc_pdsch_ServingCellConfig = -1; /* T_pdsch_ServingCellConfig */ -static int hf_nr_rrc_setup_46 = -1; /* PDSCH_ServingCellConfig */ +static int hf_nr_rrc_setup_97 = -1; /* PDSCH_ServingCellConfig */ static int hf_nr_rrc_csi_MeasConfig = -1; /* T_csi_MeasConfig */ -static int hf_nr_rrc_setup_47 = -1; /* CSI_MeasConfig */ +static int hf_nr_rrc_setup_98 = -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 */ @@ -2328,9 +3812,32 @@ static int hf_nr_rrc_dummy_05 = -1; /* T_dummy_02 */ static int hf_nr_rrc_pathlossReferenceLinking = -1; /* T_pathlossReferenceLinking */ static int hf_nr_rrc_servingCellMO = -1; /* MeasObjectId */ static int hf_nr_rrc_lte_CRS_ToMatchAround = -1; /* T_lte_CRS_ToMatchAround */ -static int hf_nr_rrc_setup_48 = -1; /* RateMatchPatternLTE_CRS */ +static int hf_nr_rrc_setup_99 = -1; /* RateMatchPatternLTE_CRS */ static int hf_nr_rrc_downlinkChannelBW_PerSCS_List = -1; /* SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier */ static int hf_nr_rrc_downlinkChannelBW_PerSCS_List_item = -1; /* SCS_SpecificCarrier */ +static int hf_nr_rrc_supplementaryUplinkRelease = -1; /* T_supplementaryUplinkRelease */ +static int hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated_iab_mt_r16 = -1; /* TDD_UL_DL_ConfigDedicated_IAB_MT_r16 */ +static int hf_nr_rrc_dormantBWP_Config_r16 = -1; /* T_dormantBWP_Config_r16 */ +static int hf_nr_rrc_setup_100 = -1; /* DormantBWP_Config_r16 */ +static int hf_nr_rrc_ca_SlotOffset_r16 = -1; /* T_ca_SlotOffset_r16 */ +static int hf_nr_rrc_refSCS15kHz = -1; /* INTEGER_M2_2 */ +static int hf_nr_rrc_refSCS30KHz = -1; /* INTEGER_M5_5 */ +static int hf_nr_rrc_refSCS60KHz = -1; /* INTEGER_M10_10 */ +static int hf_nr_rrc_refSCS120KHz = -1; /* INTEGER_M20_20 */ +static int hf_nr_rrc_channelAccessConfig_r16 = -1; /* T_channelAccessConfig_r16 */ +static int hf_nr_rrc_setup_101 = -1; /* ChannelAccessConfig_r16 */ +static int hf_nr_rrc_intraCellGuardBandsUL_r16 = -1; /* IntraCellGuardBands_r16 */ +static int hf_nr_rrc_intraCellGuardBandsDL_r16 = -1; /* IntraCellGuardBands_r16 */ +static int hf_nr_rrc_csi_RS_ValidationWith_DCI_r16 = -1; /* T_csi_RS_ValidationWith_DCI_r16 */ +static int hf_nr_rrc_lte_CRS_PatternList1_r16 = -1; /* T_lte_CRS_PatternList1_r16 */ +static int hf_nr_rrc_setup_102 = -1; /* LTE_CRS_PatternList_r16 */ +static int hf_nr_rrc_lte_CRS_PatternList2_r16 = -1; /* T_lte_CRS_PatternList2_r16 */ +static int hf_nr_rrc_crs_RateMatch_PerCORESETPoolIndex_r16 = -1; /* T_crs_RateMatch_PerCORESETPoolIndex_r16 */ +static int hf_nr_rrc_enableTwoDefaultTCIStates_r16 = -1; /* T_enableTwoDefaultTCIStates_r16 */ +static int hf_nr_rrc_enableDefaultTCIStatePerCoresetPoolIndex_r16 = -1; /* T_enableDefaultTCIStatePerCoresetPoolIndex_r16 */ +static int hf_nr_rrc_enableBeamSwitchTiming_r16 = -1; /* T_enableBeamSwitchTiming_r16 */ +static int hf_nr_rrc_cbg_TxDiffTBsProcessingType1_r16 = -1; /* T_cbg_TxDiffTBsProcessingType1_r16 */ +static int hf_nr_rrc_cbg_TxDiffTBsProcessingType2_r16 = -1; /* T_cbg_TxDiffTBsProcessingType2_r16 */ static int hf_nr_rrc_initialUplinkBWP = -1; /* BWP_UplinkDedicated */ static int hf_nr_rrc_uplinkBWP_ToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id */ static int hf_nr_rrc_uplinkBWP_ToReleaseList_item = -1; /* BWP_Id */ @@ -2338,12 +3845,36 @@ 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_49 = -1; /* PUSCH_ServingCellConfig */ +static int hf_nr_rrc_setup_103 = -1; /* PUSCH_ServingCellConfig */ static int hf_nr_rrc_carrierSwitching = -1; /* T_carrierSwitching */ -static int hf_nr_rrc_setup_50 = -1; /* SRS_CarrierSwitching */ +static int hf_nr_rrc_setup_104 = -1; /* SRS_CarrierSwitching */ static int hf_nr_rrc_powerBoostPi2BPSK = -1; /* BOOLEAN */ static int hf_nr_rrc_uplinkChannelBW_PerSCS_List = -1; /* SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier */ static int hf_nr_rrc_uplinkChannelBW_PerSCS_List_item = -1; /* SCS_SpecificCarrier */ +static int hf_nr_rrc_enablePLRS_UpdateForPUSCH_SRS_r16 = -1; /* T_enablePLRS_UpdateForPUSCH_SRS_r16 */ +static int hf_nr_rrc_enableDefaultBeamPL_ForPUSCH0_r16 = -1; /* T_enableDefaultBeamPL_ForPUSCH0_r16 */ +static int hf_nr_rrc_enableDefaultBeamPL_ForPUCCH_r16 = -1; /* T_enableDefaultBeamPL_ForPUCCH_r16 */ +static int hf_nr_rrc_enableDefaultBeamPL_ForSRS_r16 = -1; /* T_enableDefaultBeamPL_ForSRS_r16 */ +static int hf_nr_rrc_uplinkTxSwitching_r16 = -1; /* T_uplinkTxSwitching_r16 */ +static int hf_nr_rrc_setup_105 = -1; /* UplinkTxSwitching_r16 */ +static int hf_nr_rrc_maxEnergyDetectionThreshold_r16 = -1; /* INTEGER_M85_M52 */ +static int hf_nr_rrc_energyDetectionThresholdOffset_r16 = -1; /* INTEGER_M20_M13 */ +static int hf_nr_rrc_ul_toDL_COT_SharingED_Threshold_r16 = -1; /* INTEGER_M85_M52 */ +static int hf_nr_rrc_absenceOfAnyOtherTechnology_r16 = -1; /* T_absenceOfAnyOtherTechnology_r16 */ +static int hf_nr_rrc_IntraCellGuardBands_r16_item = -1; /* GuardBand_r16 */ +static int hf_nr_rrc_startCRB_r16 = -1; /* INTEGER_0_274 */ +static int hf_nr_rrc_nrofCRBs_r16 = -1; /* INTEGER_0_15 */ +static int hf_nr_rrc_dormantBWP_Id_r16 = -1; /* BWP_Id */ +static int hf_nr_rrc_withinActiveTimeConfig_r16 = -1; /* T_withinActiveTimeConfig_r16 */ +static int hf_nr_rrc_setup_106 = -1; /* WithinActiveTimeConfig_r16 */ +static int hf_nr_rrc_outsideActiveTimeConfig_r16 = -1; /* T_outsideActiveTimeConfig_r16 */ +static int hf_nr_rrc_setup_107 = -1; /* OutsideActiveTimeConfig_r16 */ +static int hf_nr_rrc_firstWithinActiveTimeBWP_Id_r16 = -1; /* BWP_Id */ +static int hf_nr_rrc_dormancyGroupWithinActiveTime_r16 = -1; /* DormancyGroupID_r16 */ +static int hf_nr_rrc_firstOutsideActiveTimeBWP_Id_r16 = -1; /* BWP_Id */ +static int hf_nr_rrc_dormancyGroupOutsideActiveTime_r16 = -1; /* DormancyGroupID_r16 */ +static int hf_nr_rrc_uplinkTxSwitchingPeriodLocation_r16 = -1; /* BOOLEAN */ +static int hf_nr_rrc_uplinkTxSwitchingCarrier_r16 = -1; /* T_uplinkTxSwitchingCarrier_r16 */ static int hf_nr_rrc_downlinkConfigCommon = -1; /* DownlinkConfigCommon */ static int hf_nr_rrc_uplinkConfigCommon = -1; /* UplinkConfigCommon */ static int hf_nr_rrc_supplementaryUplinkConfig = -1; /* UplinkConfigCommon */ @@ -2357,6 +3888,11 @@ static int hf_nr_rrc_dmrs_TypeA_Position_01 = -1; /* T_dmrs_TypeA_Position_01 * static int hf_nr_rrc_lte_CRS_ToMatchAround_01 = -1; /* T_lte_CRS_ToMatchAround_01 */ static int hf_nr_rrc_tdd_UL_DL_ConfigurationCommon = -1; /* TDD_UL_DL_ConfigCommon */ static int hf_nr_rrc_ss_PBCH_BlockPower = -1; /* INTEGER_M60_50 */ +static int hf_nr_rrc_channelAccessMode_r16 = -1; /* T_channelAccessMode_r16 */ +static int hf_nr_rrc_dynamic_02 = -1; /* NULL */ +static int hf_nr_rrc_semiStatic_01 = -1; /* SemiStaticChannelAccessConfig */ +static int hf_nr_rrc_discoveryBurstWindowLength_r16 = -1; /* T_discoveryBurstWindowLength_r16 */ +static int hf_nr_rrc_highSpeedConfig_r16 = -1; /* HighSpeedConfig_r16 */ 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 */ @@ -2365,6 +3901,16 @@ 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_channelAccessMode_r16_01 = -1; /* T_channelAccessMode_r16_01 */ +static int hf_nr_rrc_discoveryBurstWindowLength_r16_01 = -1; /* T_discoveryBurstWindowLength_r16_01 */ +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_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 */ @@ -2378,18 +3924,11 @@ static int hf_nr_rrc_SIB_Mapping_item = -1; /* SIB_TypeInfo */ static int hf_nr_rrc_type = -1; /* T_type */ static int hf_nr_rrc_valueTag = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_areaScope = -1; /* T_areaScope */ -static int hf_nr_rrc_rach_OccasionsSI = -1; /* T_rach_OccasionsSI */ -static int hf_nr_rrc_rach_ConfigSI = -1; /* RACH_ConfigGeneric */ -static int hf_nr_rrc_ssb_perRACH_Occasion_02 = -1; /* T_ssb_perRACH_Occasion_02 */ -static int hf_nr_rrc_si_RequestPeriod = -1; /* T_si_RequestPeriod */ -static int hf_nr_rrc_si_RequestResources = -1; /* SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources */ -static int hf_nr_rrc_si_RequestResources_item = -1; /* SI_RequestResources */ -static int hf_nr_rrc_ra_PreambleStartIndex = -1; /* INTEGER_0_63 */ -static int hf_nr_rrc_ra_AssociationPeriodIndex = -1; /* INTEGER_0_15 */ static int hf_nr_rrc_subcarrierSpacing2 = -1; /* SubcarrierSpacing */ static int hf_nr_rrc_slotFormatCombinations = -1; /* SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination */ static int hf_nr_rrc_slotFormatCombinations_item = -1; /* SlotFormatCombination */ static int hf_nr_rrc_positionInDCI_01 = -1; /* INTEGER_0_maxSFI_DCI_PayloadSize_1 */ +static int hf_nr_rrc_enableConfiguredUL_r16 = -1; /* T_enableConfiguredUL_r16 */ static int hf_nr_rrc_slotFormatCombinationId = -1; /* SlotFormatCombinationId */ static int hf_nr_rrc_slotFormats = -1; /* T_slotFormats */ static int hf_nr_rrc_slotFormats_item = -1; /* INTEGER_0_255 */ @@ -2399,6 +3938,22 @@ 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_availableRB_SetsToAddModList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_AvailableRB_SetsPerCell_r16 */ +static int hf_nr_rrc_availableRB_SetsToAddModList_r16_item = -1; /* AvailableRB_SetsPerCell_r16 */ +static int hf_nr_rrc_availableRB_SetsToRelease_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex */ +static int hf_nr_rrc_availableRB_SetsToRelease_r16_item = -1; /* ServCellIndex */ +static int hf_nr_rrc_searchSpaceSwitchTriggerToAddModList_r16 = -1; /* SEQUENCE_SIZE_1_4_OF_SearchSpaceSwitchTrigger_r16 */ +static int hf_nr_rrc_searchSpaceSwitchTriggerToAddModList_r16_item = -1; /* SearchSpaceSwitchTrigger_r16 */ +static int hf_nr_rrc_searchSpaceSwitchTriggerToReleaseList_r16 = -1; /* SEQUENCE_SIZE_1_4_OF_ServCellIndex */ +static int hf_nr_rrc_searchSpaceSwitchTriggerToReleaseList_r16_item = -1; /* ServCellIndex */ +static int hf_nr_rrc_co_DurationsPerCellToAddModList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r16 */ +static int hf_nr_rrc_co_DurationsPerCellToAddModList_r16_item = -1; /* CO_DurationsPerCell_r16 */ +static int hf_nr_rrc_co_DurationsPerCellToReleaseList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex */ +static int hf_nr_rrc_co_DurationsPerCellToReleaseList_r16_item = -1; /* ServCellIndex */ +static int hf_nr_rrc_servingCellId_r16 = -1; /* ServCellIndex */ +static int hf_nr_rrc_positionInDCI_r16 = -1; /* INTEGER_0_maxSFI_DCI_PayloadSize_1 */ +static int hf_nr_rrc_co_DurationList_r16 = -1; /* SEQUENCE_SIZE_1_64_OF_CO_Duration_r16 */ +static int hf_nr_rrc_co_DurationList_r16_item = -1; /* CO_Duration_r16 */ 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 */ @@ -2407,6 +3962,12 @@ 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_sps_ConfigIndex_r16 = -1; /* SPS_ConfigIndex_r16 */ +static int hf_nr_rrc_harq_CodebookID_r16 = -1; /* INTEGER_1_2 */ +static int hf_nr_rrc_pdsch_AggregationFactor_r16 = -1; /* T_pdsch_AggregationFactor_r16 */ +static int hf_nr_rrc_sps_PUCCH_AN_ResourceID_r16 = -1; /* PUCCH_ResourceId */ +static int hf_nr_rrc_maxPayloadSize_r16 = -1; /* INTEGER_4_256 */ +static int hf_nr_rrc_SPS_PUCCH_AN_List_r16_item = -1; /* SPS_PUCCH_AN_r16 */ 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 */ @@ -2428,6 +3989,20 @@ static int hf_nr_rrc_srs_ResourceToReleaseList_item = -1; /* SRS_ResourceId */ static int hf_nr_rrc_srs_ResourceToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource */ static int hf_nr_rrc_srs_ResourceToAddModList_item = -1; /* SRS_Resource */ static int hf_nr_rrc_tpc_Accumulation_01 = -1; /* T_tpc_Accumulation_01 */ +static int hf_nr_rrc_srs_RequestForDCI_Format1_2_r16 = -1; /* INTEGER_1_2 */ +static int hf_nr_rrc_srs_RequestForDCI_Format0_2_r16 = -1; /* INTEGER_1_2 */ +static int hf_nr_rrc_srs_ResourceSetToAddModListForDCI_Format0_2_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet */ +static int hf_nr_rrc_srs_ResourceSetToAddModListForDCI_Format0_2_r16_item = -1; /* SRS_ResourceSet */ +static int hf_nr_rrc_srs_ResourceSetToReleaseListForDCI_Format0_2_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId */ +static int hf_nr_rrc_srs_ResourceSetToReleaseListForDCI_Format0_2_r16_item = -1; /* SRS_ResourceSetId */ +static int hf_nr_rrc_srs_PosResourceSetToReleaseList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16 */ +static int hf_nr_rrc_srs_PosResourceSetToReleaseList_r16_item = -1; /* SRS_PosResourceSetId_r16 */ +static int hf_nr_rrc_srs_PosResourceSetToAddModList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16 */ +static int hf_nr_rrc_srs_PosResourceSetToAddModList_r16_item = -1; /* SRS_PosResourceSet_r16 */ +static int hf_nr_rrc_srs_PosResourceToReleaseList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16 */ +static int hf_nr_rrc_srs_PosResourceToReleaseList_r16_item = -1; /* SRS_PosResourceId_r16 */ +static int hf_nr_rrc_srs_PosResourceToAddModList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16 */ +static int hf_nr_rrc_srs_PosResourceToAddModList_r16_item = -1; /* SRS_PosResource_r16 */ static int hf_nr_rrc_srs_ResourceSetId = -1; /* SRS_ResourceSetId */ static int hf_nr_rrc_srs_ResourceIdList = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId */ static int hf_nr_rrc_srs_ResourceIdList_item = -1; /* SRS_ResourceId */ @@ -2442,8 +4017,28 @@ static int hf_nr_rrc_associatedCSI_RS = -1; /* NZP_CSI_RS_ResourceId */ static int hf_nr_rrc_periodic_01 = -1; /* T_periodic_01 */ static int hf_nr_rrc_usage = -1; /* T_usage */ static int hf_nr_rrc_p0_01 = -1; /* INTEGER_M202_24 */ -static int hf_nr_rrc_pathlossReferenceRS = -1; /* T_pathlossReferenceRS */ +static int hf_nr_rrc_pathlossReferenceRS = -1; /* PathlossReferenceRS_Config */ static int hf_nr_rrc_srs_PowerControlAdjustmentStates = -1; /* T_srs_PowerControlAdjustmentStates */ +static int hf_nr_rrc_pathlossReferenceRSList_r16 = -1; /* T_pathlossReferenceRSList_r16 */ +static int hf_nr_rrc_setup_108 = -1; /* PathlossReferenceRSList_r16 */ +static int hf_nr_rrc_PathlossReferenceRSList_r16_item = -1; /* PathlossReferenceRS_r16 */ +static int hf_nr_rrc_srs_PathlossReferenceRS_Id_r16 = -1; /* SRS_PathlossReferenceRS_Id_r16 */ +static int hf_nr_rrc_pathlossReferenceRS_r16 = -1; /* PathlossReferenceRS_Config */ +static int hf_nr_rrc_srs_PosResourceSetId_r16 = -1; /* SRS_PosResourceSetId_r16 */ +static int hf_nr_rrc_srs_PosResourceIdList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_PosResourceId_r16 */ +static int hf_nr_rrc_srs_PosResourceIdList_r16_item = -1; /* SRS_PosResourceId_r16 */ +static int hf_nr_rrc_resourceType_r16 = -1; /* T_resourceType_r16 */ +static int hf_nr_rrc_aperiodic_r16 = -1; /* T_aperiodic_r16 */ +static int hf_nr_rrc_aperiodicSRS_ResourceTriggerList_r16 = -1; /* T_aperiodicSRS_ResourceTriggerList_r16 */ +static int hf_nr_rrc_aperiodicSRS_ResourceTriggerList_r16_item = -1; /* INTEGER_1_maxNrofSRS_TriggerStates_1 */ +static int hf_nr_rrc_semi_persistent_r16 = -1; /* T_semi_persistent_r16 */ +static int hf_nr_rrc_periodic_r16 = -1; /* T_periodic_r16 */ +static int hf_nr_rrc_alpha_r16 = -1; /* Alpha */ +static int hf_nr_rrc_p0_r16 = -1; /* INTEGER_M202_24 */ +static int hf_nr_rrc_pathlossReferenceRS_Pos_r16 = -1; /* T_pathlossReferenceRS_Pos_r16 */ +static int hf_nr_rrc_ssb_IndexServing_r16 = -1; /* SSB_Index */ +static int hf_nr_rrc_ssb_Ncell_r16 = -1; /* SSB_InfoNcell_r16 */ +static int hf_nr_rrc_dl_PRS_r16 = -1; /* DL_PRS_Info_r16 */ static int hf_nr_rrc_srs_ResourceId = -1; /* SRS_ResourceId */ static int hf_nr_rrc_nrofSRS_Ports = -1; /* T_nrofSRS_Ports */ static int hf_nr_rrc_ptrs_PortIndex = -1; /* T_ptrs_PortIndex */ @@ -2473,11 +4068,64 @@ static int hf_nr_rrc_periodic_02 = -1; /* T_periodic_02 */ static int hf_nr_rrc_periodicityAndOffset_p = -1; /* SRS_PeriodicityAndOffset */ static int hf_nr_rrc_sequenceId = -1; /* INTEGER_0_1023 */ static int hf_nr_rrc_spatialRelationInfo = -1; /* SRS_SpatialRelationInfo */ +static int hf_nr_rrc_resourceMapping_r16 = -1; /* T_resourceMapping_r16 */ +static int hf_nr_rrc_nrofSymbols_r16_01 = -1; /* T_nrofSymbols_r16 */ +static int hf_nr_rrc_repetitionFactor_r16 = -1; /* T_repetitionFactor_r16 */ +static int hf_nr_rrc_srs_PosResourceId_r16 = -1; /* SRS_PosResourceId_r16 */ +static int hf_nr_rrc_transmissionComb_r16 = -1; /* T_transmissionComb_r16 */ +static int hf_nr_rrc_n2_r16 = -1; /* T_n2_r16 */ +static int hf_nr_rrc_combOffset_n2_r16 = -1; /* INTEGER_0_1 */ +static int hf_nr_rrc_cyclicShift_n2_r16 = -1; /* INTEGER_0_7 */ +static int hf_nr_rrc_n4_r16 = -1; /* T_n4_r16 */ +static int hf_nr_rrc_combOffset_n4_16 = -1; /* INTEGER_0_3 */ +static int hf_nr_rrc_cyclicShift_n4_r16 = -1; /* INTEGER_0_11 */ +static int hf_nr_rrc_n8_r16 = -1; /* T_n8_r16 */ +static int hf_nr_rrc_combOffset_n8_r16 = -1; /* INTEGER_0_7 */ +static int hf_nr_rrc_cyclicShift_n8_r16 = -1; /* INTEGER_0_5 */ +static int hf_nr_rrc_resourceMapping_r16_01 = -1; /* T_resourceMapping_r16_01 */ +static int hf_nr_rrc_nrofSymbols_r16_02 = -1; /* T_nrofSymbols_r16_01 */ +static int hf_nr_rrc_freqDomainShift_r16 = -1; /* INTEGER_0_268 */ +static int hf_nr_rrc_freqHopping_r16 = -1; /* T_freqHopping_r16 */ +static int hf_nr_rrc_c_SRS_r16 = -1; /* INTEGER_0_63 */ +static int hf_nr_rrc_groupOrSequenceHopping_r16 = -1; /* T_groupOrSequenceHopping_r16 */ +static int hf_nr_rrc_resourceType_r16_01 = -1; /* T_resourceType_r16_01 */ +static int hf_nr_rrc_aperiodic_r16_01 = -1; /* T_aperiodic_r16_01 */ +static int hf_nr_rrc_slotOffset_r16 = -1; /* INTEGER_1_32 */ +static int hf_nr_rrc_semi_persistent_r16_01 = -1; /* T_semi_persistent_r16_01 */ +static int hf_nr_rrc_periodicityAndOffset_sp_r16 = -1; /* SRS_PeriodicityAndOffset_r16 */ +static int hf_nr_rrc_periodic_r16_01 = -1; /* T_periodic_r16_01 */ +static int hf_nr_rrc_periodicityAndOffset_p_r16 = -1; /* SRS_PeriodicityAndOffset_r16 */ +static int hf_nr_rrc_sequenceId_r16 = -1; /* INTEGER_0_65535 */ +static int hf_nr_rrc_spatialRelationInfoPos_r16 = -1; /* SRS_SpatialRelationInfoPos_r16 */ 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_srs_01 = -1; /* T_srs */ static int hf_nr_rrc_resourceId = -1; /* SRS_ResourceId */ +static int hf_nr_rrc_servingRS_r16 = -1; /* T_servingRS_r16 */ +static int hf_nr_rrc_referenceSignal_r16_02 = -1; /* T_referenceSignal_r16_02 */ +static int hf_nr_rrc_csi_RS_IndexServing_r16 = -1; /* NZP_CSI_RS_ResourceId */ +static int hf_nr_rrc_srs_SpatialRelation_r16 = -1; /* T_srs_SpatialRelation_r16 */ +static int hf_nr_rrc_resourceSelection_r16 = -1; /* T_resourceSelection_r16 */ +static int hf_nr_rrc_uplinkBWP_r16 = -1; /* BWP_Id */ +static int hf_nr_rrc_ssb_Freq_r16 = -1; /* ARFCN_ValueNR */ +static int hf_nr_rrc_halfFrameIndex_r16 = -1; /* T_halfFrameIndex_r16 */ +static int hf_nr_rrc_ssb_Periodicity_r16 = -1; /* T_ssb_Periodicity_r16 */ +static int hf_nr_rrc_sfn0_Offset_r16 = -1; /* T_sfn0_Offset_r16 */ +static int hf_nr_rrc_sfn_Offset_r16 = -1; /* INTEGER_0_1023 */ +static int hf_nr_rrc_integerSubframeOffset_r16 = -1; /* INTEGER_0_9 */ +static int hf_nr_rrc_sfn_SSB_Offset_r16 = -1; /* INTEGER_0_15 */ +static int hf_nr_rrc_ss_PBCH_BlockPower_r16 = -1; /* INTEGER_M60_50 */ +static int hf_nr_rrc_physicalCellId_r16 = -1; /* PhysCellId */ +static int hf_nr_rrc_ssb_IndexNcell_r16 = -1; /* SSB_Index */ +static int hf_nr_rrc_ssb_Configuration_r16 = -1; /* SSB_Configuration_r16 */ +static int hf_nr_rrc_dl_PRS_ID_r16 = -1; /* INTEGER_0_255 */ +static int hf_nr_rrc_dl_PRS_ResourceSetId_r16 = -1; /* INTEGER_0_7 */ +static int hf_nr_rrc_dl_PRS_ResourceId_r16 = -1; /* INTEGER_0_63 */ 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_sl5120 = -1; /* INTEGER_0_5119 */ +static int hf_nr_rrc_sl10240 = -1; /* INTEGER_0_10239 */ +static int hf_nr_rrc_sl40960 = -1; /* INTEGER_0_40959 */ +static int hf_nr_rrc_sl81920 = -1; /* INTEGER_0_81919 */ static int hf_nr_rrc_startingBitOfFormat2_3 = -1; /* INTEGER_1_31 */ static int hf_nr_rrc_fieldTypeFormat2_3 = -1; /* INTEGER_0_1 */ static int hf_nr_rrc_startingBitOfFormat2_3SUL = -1; /* INTEGER_1_31 */ @@ -2492,6 +4140,21 @@ 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_periodicity_03 = -1; /* T_periodicity_03 */ +static int hf_nr_rrc_periodicityAndOffset_r16 = -1; /* T_periodicityAndOffset_r16 */ +static int hf_nr_rrc_sf5_r16 = -1; /* INTEGER_0_4 */ +static int hf_nr_rrc_sf10_r16 = -1; /* INTEGER_0_9 */ +static int hf_nr_rrc_sf20_r16 = -1; /* INTEGER_0_19 */ +static int hf_nr_rrc_sf40_r16 = -1; /* INTEGER_0_39 */ +static int hf_nr_rrc_sf80_r16 = -1; /* INTEGER_0_79 */ +static int hf_nr_rrc_sf160_r16 = -1; /* INTEGER_0_159 */ +static int hf_nr_rrc_sf320_r16 = -1; /* INTEGER_0_319 */ +static int hf_nr_rrc_sf640_r16 = -1; /* INTEGER_0_639 */ +static int hf_nr_rrc_sf1280_r16 = -1; /* INTEGER_0_1279 */ +static int hf_nr_rrc_duration_r16_01 = -1; /* T_duration_r16 */ +static int hf_nr_rrc_pci_List_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId */ +static int hf_nr_rrc_pci_List_r16_item = -1; /* PhysCellId */ +static int hf_nr_rrc_ssb_ToMeasure_r16_01 = -1; /* T_ssb_ToMeasure_r16 */ static int hf_nr_rrc_measurementSlots = -1; /* BIT_STRING_SIZE_1_80 */ static int hf_nr_rrc_endSymbol = -1; /* INTEGER_0_3 */ static int hf_nr_rrc_tag_ToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id */ @@ -2519,6 +4182,10 @@ static int hf_nr_rrc_slotSpecificConfigurationsToAddModList = -1; /* SEQUENCE_S static int hf_nr_rrc_slotSpecificConfigurationsToAddModList_item = -1; /* TDD_UL_DL_SlotConfig */ static int hf_nr_rrc_slotSpecificConfigurationsToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex */ static int hf_nr_rrc_slotSpecificConfigurationsToReleaseList_item = -1; /* TDD_UL_DL_SlotIndex */ +static int hf_nr_rrc_slotSpecificConfigurationsToAddModList_IAB_MT_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_IAB_MT_r16 */ +static int hf_nr_rrc_slotSpecificConfigurationsToAddModList_IAB_MT_r16_item = -1; /* TDD_UL_DL_SlotConfig_IAB_MT_r16 */ +static int hf_nr_rrc_slotSpecificConfigurationsToReleaseList_IAB_MT_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex */ +static int hf_nr_rrc_slotSpecificConfigurationsToReleaseList_IAB_MT_r16_item = -1; /* TDD_UL_DL_SlotIndex */ static int hf_nr_rrc_slotIndex = -1; /* TDD_UL_DL_SlotIndex */ static int hf_nr_rrc_symbols = -1; /* T_symbols */ static int hf_nr_rrc_allDownlink = -1; /* NULL */ @@ -2526,6 +4193,14 @@ 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_slotIndex_r16 = -1; /* TDD_UL_DL_SlotIndex */ +static int hf_nr_rrc_symbols_IAB_MT_r16 = -1; /* T_symbols_IAB_MT_r16 */ +static int hf_nr_rrc_allDownlink_r16 = -1; /* NULL */ +static int hf_nr_rrc_allUplink_r16 = -1; /* NULL */ +static int hf_nr_rrc_explicit_r16 = -1; /* T_explicit_r16 */ +static int hf_nr_rrc_nrofDownlinkSymbols_r16 = -1; /* INTEGER_1_maxNrofSymbols_1 */ +static int hf_nr_rrc_nrofUplinkSymbols_r16 = -1; /* INTEGER_1_maxNrofSymbols_1 */ +static int hf_nr_rrc_explicit_IAB_MT_r16 = -1; /* T_explicit_IAB_MT_r16 */ 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 */ @@ -2546,6 +4221,21 @@ static int hf_nr_rrc_n310_01 = -1; /* T_n310_01 */ static int hf_nr_rrc_t311_01 = -1; /* T_t311_01 */ static int hf_nr_rrc_n311_01 = -1; /* T_n311_01 */ static int hf_nr_rrc_t319 = -1; /* T_t319 */ +static int hf_nr_rrc_delay_DRBlist = -1; /* SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity */ +static int hf_nr_rrc_delay_DRBlist_item = -1; /* DRB_Identity */ +static int hf_nr_rrc_ci_RNTI_r16 = -1; /* RNTI_Value */ +static int hf_nr_rrc_dci_PayloadSizeForCI_r16 = -1; /* INTEGER_0_maxCI_DCI_PayloadSize_r16 */ +static int hf_nr_rrc_ci_ConfigurationPerServingCell_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_CI_ConfigurationPerServingCell_r16 */ +static int hf_nr_rrc_ci_ConfigurationPerServingCell_r16_item = -1; /* CI_ConfigurationPerServingCell_r16 */ +static int hf_nr_rrc_positionInDCI_r16_01 = -1; /* INTEGER_0_maxCI_DCI_PayloadSize_r16_1 */ +static int hf_nr_rrc_positionInDCI_ForSUL_r16 = -1; /* INTEGER_0_maxCI_DCI_PayloadSize_r16_1 */ +static int hf_nr_rrc_ci_PayloadSize_r16 = -1; /* T_ci_PayloadSize_r16 */ +static int hf_nr_rrc_timeFrequencyRegion_r16 = -1; /* T_timeFrequencyRegion_r16 */ +static int hf_nr_rrc_timeDurationForCI_r16 = -1; /* T_timeDurationForCI_r16 */ +static int hf_nr_rrc_timeGranularityForCI_r16 = -1; /* T_timeGranularityForCI_r16 */ +static int hf_nr_rrc_frequencyRegionForCI_r16 = -1; /* INTEGER_0_37949 */ +static int hf_nr_rrc_deltaOffset_r16 = -1; /* INTEGER_0_2 */ +static int hf_nr_rrc_uplinkCancellationPriority_v1610 = -1; /* T_uplinkCancellationPriority_v1610 */ static int hf_nr_rrc_frequencyInfoUL = -1; /* FrequencyInfoUL */ static int hf_nr_rrc_initialUplinkBWP_01 = -1; /* BWP_UplinkCommon */ static int hf_nr_rrc_dummy_06 = -1; /* TimeAlignmentTimer */ @@ -2569,6 +4259,8 @@ static int hf_nr_rrc_BandCombinationList_v1560_item = -1; /* BandCombination_v1 static int hf_nr_rrc_BandCombinationList_v1570_item = -1; /* BandCombination_v1570 */ static int hf_nr_rrc_BandCombinationList_v1580_item = -1; /* BandCombination_v1580 */ static int hf_nr_rrc_BandCombinationList_v1590_item = -1; /* BandCombination_v1590 */ +static int hf_nr_rrc_BandCombinationList_v1610_item = -1; /* BandCombination_v1610 */ +static int hf_nr_rrc_BandCombinationList_UplinkTxSwitch_r16_item = -1; /* BandCombination_UplinkTxSwitch_r16 */ static int hf_nr_rrc_bandList = -1; /* SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters */ static int hf_nr_rrc_bandList_item = -1; /* BandParameters */ static int hf_nr_rrc_featureSetCombination = -1; /* FeatureSetCombinationId */ @@ -2581,6 +4273,11 @@ static int hf_nr_rrc_bandList_v1540 = -1; /* SEQUENCE_SIZE_1_maxSimultan static int hf_nr_rrc_bandList_v1540_item = -1; /* BandParameters_v1540 */ static int hf_nr_rrc_ca_ParametersNR_v1540 = -1; /* CA_ParametersNR_v1540 */ static int hf_nr_rrc_ca_ParametersNR_v1550 = -1; /* CA_ParametersNR_v1550 */ +static int hf_nr_rrc_bandList_v1610 = -1; /* SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1610 */ +static int hf_nr_rrc_bandList_v1610_item = -1; /* BandParameters_v1610 */ +static int hf_nr_rrc_ca_ParametersNR_v1610 = -1; /* CA_ParametersNR_v1610 */ +static int hf_nr_rrc_ca_ParametersNRDC_v1610 = -1; /* CA_ParametersNRDC_v1610 */ +static int hf_nr_rrc_powerClass_v1610 = -1; /* T_powerClass_v1610 */ static int hf_nr_rrc_ne_DC_BC = -1; /* T_ne_DC_BC */ static int hf_nr_rrc_ca_ParametersNRDC = -1; /* CA_ParametersNRDC */ static int hf_nr_rrc_ca_ParametersEUTRA_v1560 = -1; /* CA_ParametersEUTRA_v1560 */ @@ -2589,6 +4286,20 @@ static int hf_nr_rrc_ca_ParametersEUTRA_v1570 = -1; /* CA_ParametersEUTRA_v1570 static int hf_nr_rrc_mrdc_Parameters_v1580 = -1; /* MRDC_Parameters_v1580 */ static int hf_nr_rrc_supportedBandwidthCombinationSetIntraENDC = -1; /* BIT_STRING_SIZE_1_32 */ static int hf_nr_rrc_mrdc_Parameters_v1590 = -1; /* MRDC_Parameters_v1590 */ +static int hf_nr_rrc_bandCombination_r16 = -1; /* BandCombination */ +static int hf_nr_rrc_bandCombination_v1540 = -1; /* BandCombination_v1540 */ +static int hf_nr_rrc_bandCombination_v1560 = -1; /* BandCombination_v1560 */ +static int hf_nr_rrc_bandCombination_v1570 = -1; /* BandCombination_v1570 */ +static int hf_nr_rrc_bandCombination_v1580 = -1; /* BandCombination_v1580 */ +static int hf_nr_rrc_bandCombination_v1590 = -1; /* BandCombination_v1590 */ +static int hf_nr_rrc_bandCombination_v1610 = -1; /* BandCombination_v1610 */ +static int hf_nr_rrc_supportedBandPairListNR_r16 = -1; /* SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_r16 */ +static int hf_nr_rrc_supportedBandPairListNR_r16_item = -1; /* ULTxSwitchingBandPair_r16 */ +static int hf_nr_rrc_uplinkTxSwitching_OptionSupport_r16 = -1; /* T_uplinkTxSwitching_OptionSupport_r16 */ +static int hf_nr_rrc_bandIndexUL1_r16 = -1; /* INTEGER_1_maxSimultaneousBands */ +static int hf_nr_rrc_bandIndexUL2_r16 = -1; /* INTEGER_1_maxSimultaneousBands */ +static int hf_nr_rrc_uplinkTxSwitchingPeriod_r16 = -1; /* T_uplinkTxSwitchingPeriod_r16 */ +static int hf_nr_rrc_uplinkTxSwitching_DL_Interruption_r16 = -1; /* BIT_STRING_SIZE_1_maxSimultaneousBands */ 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 */ @@ -2608,6 +4319,32 @@ static int hf_nr_rrc_srs_TxSwitch = -1; /* T_srs_TxSwitch */ static int hf_nr_rrc_supportedSRS_TxPortSwitch = -1; /* T_supportedSRS_TxPortSwitch */ static int hf_nr_rrc_txSwitchImpactToRx = -1; /* INTEGER_1_32 */ static int hf_nr_rrc_txSwitchWithAnotherBand = -1; /* INTEGER_1_32 */ +static int hf_nr_rrc_srs_TxSwitch_v1610 = -1; /* T_srs_TxSwitch_v1610 */ +static int hf_nr_rrc_supportedSRS_TxPortSwitch_v1610 = -1; /* T_supportedSRS_TxPortSwitch_v1610 */ +static int hf_nr_rrc_intraFreqDAPS_Parameters_r16 = -1; /* T_intraFreqDAPS_Parameters_r16 */ +static int hf_nr_rrc_intraFreqDiffSCS_DAPS_r16 = -1; /* T_intraFreqDiffSCS_DAPS_r16 */ +static int hf_nr_rrc_intraFreqDAPS_r16 = -1; /* T_intraFreqDAPS_r16 */ +static int hf_nr_rrc_intraFreqAsyncDAPS_r16 = -1; /* T_intraFreqAsyncDAPS_r16 */ +static int hf_nr_rrc_intraFreqMultiUL_TransmissionDAPS_r16 = -1; /* T_intraFreqMultiUL_TransmissionDAPS_r16 */ +static int hf_nr_rrc_intraFreqTwoTAGs_DAPS_r16 = -1; /* T_intraFreqTwoTAGs_DAPS_r16 */ +static int hf_nr_rrc_intraFreqSemiStaticPowerSharingDAPS_Mode1_r16 = -1; /* T_intraFreqSemiStaticPowerSharingDAPS_Mode1_r16 */ +static int hf_nr_rrc_intraFreqSemiStaticPowerSharingDAPS_Mode2_r16 = -1; /* T_intraFreqSemiStaticPowerSharingDAPS_Mode2_r16 */ +static int hf_nr_rrc_intraFreqDynamicPowersharingDAPS_r16 = -1; /* T_intraFreqDynamicPowersharingDAPS_r16 */ +static int hf_nr_rrc_supportedBandCombinationListSidelink_r16 = -1; /* SupportedBandCombinationListSidelink_r16 */ +static int hf_nr_rrc_supportedBandCombinationListSidelinkEUTRA_r16 = -1; /* SupportedBandCombinationListSidelinkEUTRA_r16 */ +static int hf_nr_rrc_supportedBandCombinationListSidelinkEUTRA_NR_r16 = -1; /* SupportedBandCombinationListSidelinkEUTRA_NR_r16 */ +static int hf_nr_rrc_SupportedBandCombinationListSidelink_r16_item = -1; /* BandCombinationParametersSidelink_r16 */ +static int hf_nr_rrc_BandCombinationParametersSidelink_r16_item = -1; /* BandParametersSidelink_r16 */ +static int hf_nr_rrc_freqBandSidelink_r16 = -1; /* FreqBandIndicatorNR */ +static int hf_nr_rrc_bandCombinationListEUTRA1_r16 = -1; /* T_bandCombinationListEUTRA1_r16 */ +static int hf_nr_rrc_bandCombinationListEUTRA2_r16 = -1; /* T_bandCombinationListEUTRA2_r16 */ +static int hf_nr_rrc_SupportedBandCombinationListSidelinkEUTRA_NR_r16_item = -1; /* BandCombinationParametersSidelinkEUTRA_NR_r16 */ +static int hf_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_r16_item = -1; /* BandParametersSidelinkEUTRA_NR_r16 */ +static int hf_nr_rrc_eutra_03 = -1; /* T_eutra_02 */ +static int hf_nr_rrc_bandParametersSidelinkEUTRA1_r16 = -1; /* T_bandParametersSidelinkEUTRA1_r16 */ +static int hf_nr_rrc_bandParametersSidelinkEUTRA2_r16 = -1; /* T_bandParametersSidelinkEUTRA2_r16 */ +static int hf_nr_rrc_nr_03 = -1; /* T_nr_02 */ +static int hf_nr_rrc_bandParametersSidelinkNR_r16 = -1; /* BandParametersSidelink_r16 */ 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 */ @@ -2632,11 +4369,43 @@ static int hf_nr_rrc_simultaneousCSI_ReportsAllCC = -1; /* INTEGER_5_32 */ static int hf_nr_rrc_dualPA_Architecture = -1; /* T_dualPA_Architecture */ static int hf_nr_rrc_dummy_08 = -1; /* T_dummy_04 */ static int hf_nr_rrc_diffNumerologyWithinPUCCH_GroupLargerSCS = -1; /* T_diffNumerologyWithinPUCCH_GroupLargerSCS */ +static int hf_nr_rrc_parallelTxMsgA_SRS_PUCCH_PUSCH_r16 = -1; /* T_parallelTxMsgA_SRS_PUCCH_PUSCH_r16 */ +static int hf_nr_rrc_msgA_SUL_r16 = -1; /* T_msgA_SUL_r16 */ +static int hf_nr_rrc_jointSearchSpaceGroupSwitchingAcrossCells_r16 = -1; /* T_jointSearchSpaceGroupSwitchingAcrossCells_r16 */ +static int hf_nr_rrc_half_DuplexTDD_CA_SameSCS_r16 = -1; /* T_half_DuplexTDD_CA_SameSCS_r16 */ +static int hf_nr_rrc_scellDormancyWithinActiveTime_r16 = -1; /* T_scellDormancyWithinActiveTime_r16 */ +static int hf_nr_rrc_scellDormancyOutsideActiveTime_r16 = -1; /* T_scellDormancyOutsideActiveTime_r16 */ +static int hf_nr_rrc_crossCarrierA_CSI_trigDiffSCS_r16 = -1; /* T_crossCarrierA_CSI_trigDiffSCS_r16 */ +static int hf_nr_rrc_defaultQCL_CrossCarrierA_CSI_Trig_r16 = -1; /* T_defaultQCL_CrossCarrierA_CSI_Trig_r16 */ +static int hf_nr_rrc_interCA_NonAlignedFrame_r16 = -1; /* T_interCA_NonAlignedFrame_r16 */ +static int hf_nr_rrc_simul_SRS_Trans_InterBandCA_r16 = -1; /* INTEGER_1_2 */ +static int hf_nr_rrc_daps_Parameters_r16 = -1; /* T_daps_Parameters_r16 */ +static int hf_nr_rrc_asyncDAPS_r16 = -1; /* T_asyncDAPS_r16 */ +static int hf_nr_rrc_interFreqDAPS_r16 = -1; /* T_interFreqDAPS_r16 */ +static int hf_nr_rrc_interFreqDiffSCS_DAPS_r16 = -1; /* T_interFreqDiffSCS_DAPS_r16 */ +static int hf_nr_rrc_multiUL_TransmissionDAPS_r16 = -1; /* T_multiUL_TransmissionDAPS_r16 */ +static int hf_nr_rrc_semiStaticPowerSharingDAPS_Mode1_r16 = -1; /* T_semiStaticPowerSharingDAPS_Mode1_r16 */ +static int hf_nr_rrc_semiStaticPowerSharingDAPS_Mode2_r16 = -1; /* T_semiStaticPowerSharingDAPS_Mode2_r16 */ +static int hf_nr_rrc_dynamicPowersharingDAPS_r16 = -1; /* T_dynamicPowersharingDAPS_r16 */ +static int hf_nr_rrc_ul_TransCancellationDAPS_r16 = -1; /* T_ul_TransCancellationDAPS_r16 */ +static int hf_nr_rrc_codebookParametersPerBC_r16 = -1; /* CodebookParameters_v1610 */ static int hf_nr_rrc_ca_ParametersNR_ForDC = -1; /* CA_ParametersNR */ static int hf_nr_rrc_ca_ParametersNR_ForDC_v1540 = -1; /* CA_ParametersNR_v1540 */ static int hf_nr_rrc_ca_ParametersNR_ForDC_v1550 = -1; /* CA_ParametersNR_v1550 */ static int hf_nr_rrc_ca_ParametersNR_ForDC_v1560 = -1; /* CA_ParametersNR_v1560 */ static int hf_nr_rrc_featureSetCombinationDC = -1; /* FeatureSetCombinationId */ +static int hf_nr_rrc_intraFR_NR_DC_PwrSharingMode1_r16 = -1; /* T_intraFR_NR_DC_PwrSharingMode1_r16 */ +static int hf_nr_rrc_intraFR_NR_DC_PwrSharingMode2_r16 = -1; /* T_intraFR_NR_DC_PwrSharingMode2_r16 */ +static int hf_nr_rrc_intraFR_NR_DC_DynamicPwrSharing_r16 = -1; /* T_intraFR_NR_DC_DynamicPwrSharing_r16 */ +static int hf_nr_rrc_fr1fdd_FR1TDD_CA_SpCellOnFR1FDD = -1; /* T_fr1fdd_FR1TDD_CA_SpCellOnFR1FDD */ +static int hf_nr_rrc_fr1fdd_FR1TDD_CA_SpCellOnFR1TDD = -1; /* T_fr1fdd_FR1TDD_CA_SpCellOnFR1TDD */ +static int hf_nr_rrc_fr1fdd_FR2TDD_CA_SpCellOnFR1FDD = -1; /* T_fr1fdd_FR2TDD_CA_SpCellOnFR1FDD */ +static int hf_nr_rrc_fr1fdd_FR2TDD_CA_SpCellOnFR2TDD = -1; /* T_fr1fdd_FR2TDD_CA_SpCellOnFR2TDD */ +static int hf_nr_rrc_fr1tdd_FR2TDD_CA_SpCellOnFR1TDD = -1; /* T_fr1tdd_FR2TDD_CA_SpCellOnFR1TDD */ +static int hf_nr_rrc_fr1tdd_FR2TDD_CA_SpCellOnFR2TDD = -1; /* T_fr1tdd_FR2TDD_CA_SpCellOnFR2TDD */ +static int hf_nr_rrc_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1FDD = -1; /* T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1FDD */ +static int hf_nr_rrc_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1TDD = -1; /* T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1TDD */ +static int hf_nr_rrc_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR2TDD = -1; /* T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR2TDD */ static int hf_nr_rrc_type1_02 = -1; /* T_type1_02 */ static int hf_nr_rrc_singlePanel = -1; /* T_singlePanel */ static int hf_nr_rrc_supportedCSI_RS_ResourceList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource */ @@ -2646,21 +4415,31 @@ static int hf_nr_rrc_maxNumberCSI_RS_PerResourceSet = -1; /* INTEGER_1_8 */ static int hf_nr_rrc_multiPanel = -1; /* T_multiPanel */ static int hf_nr_rrc_modes_01 = -1; /* T_modes_01 */ static int hf_nr_rrc_nrofPanels = -1; /* T_nrofPanels */ -static int hf_nr_rrc_type2_01 = -1; /* T_type2_01 */ +static int hf_nr_rrc_type2_02 = -1; /* T_type2_02 */ static int hf_nr_rrc_parameterLx = -1; /* INTEGER_2_4 */ static int hf_nr_rrc_amplitudeScalingType = -1; /* T_amplitudeScalingType */ static int hf_nr_rrc_amplitudeSubsetRestriction = -1; /* T_amplitudeSubsetRestriction */ static int hf_nr_rrc_type2_PortSelection = -1; /* T_type2_PortSelection */ static int hf_nr_rrc_amplitudeScalingType_01 = -1; /* T_amplitudeScalingType_01 */ +static int hf_nr_rrc_supportedCSI_RS_ResourceListAlt_r16 = -1; /* T_supportedCSI_RS_ResourceListAlt_r16 */ +static int hf_nr_rrc_type1_SinglePanel_r16 = -1; /* T_type1_SinglePanel_r16 */ +static int hf_nr_rrc_type1_SinglePanel_r16_item = -1; /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */ +static int hf_nr_rrc_type1_MultiPanel_r16 = -1; /* T_type1_MultiPanel_r16 */ +static int hf_nr_rrc_type1_MultiPanel_r16_item = -1; /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */ +static int hf_nr_rrc_type2_r16 = -1; /* T_type2_r16 */ +static int hf_nr_rrc_type2_r16_item = -1; /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */ +static int hf_nr_rrc_type2_PortSelection_r16 = -1; /* T_type2_PortSelection_r16 */ +static int hf_nr_rrc_type2_PortSelection_r16_item = -1; /* INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 */ +static int hf_nr_rrc_CodebookVariantsList_r16_item = -1; /* SupportedCSI_RS_Resource */ static int hf_nr_rrc_maxNumberTxPortsPerResource = -1; /* T_maxNumberTxPortsPerResource */ static int hf_nr_rrc_maxNumberResourcesPerBand = -1; /* INTEGER_1_64 */ static int hf_nr_rrc_totalNumberTxPortsPerBand = -1; /* INTEGER_2_256 */ static int hf_nr_rrc_FeatureSetCombination_item = -1; /* FeatureSetsPerBand */ static int hf_nr_rrc_FeatureSetsPerBand_item = -1; /* FeatureSet */ -static int hf_nr_rrc_eutra_03 = -1; /* T_eutra_02 */ +static int hf_nr_rrc_eutra_04 = -1; /* T_eutra_03 */ static int hf_nr_rrc_downlinkSetEUTRA = -1; /* FeatureSetEUTRA_DownlinkId */ static int hf_nr_rrc_uplinkSetEUTRA = -1; /* FeatureSetEUTRA_UplinkId */ -static int hf_nr_rrc_nr_03 = -1; /* T_nr_02 */ +static int hf_nr_rrc_nr_04 = -1; /* T_nr_03 */ 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 */ @@ -2710,6 +4489,17 @@ static int hf_nr_rrc_scs_60kHz_03 = -1; /* ProcessingParameters */ static int hf_nr_rrc_pdsch_ProcessingType2_Limited = -1; /* T_pdsch_ProcessingType2_Limited */ static int hf_nr_rrc_differentTB_PerSlot_SCS_30kHz = -1; /* T_differentTB_PerSlot_SCS_30kHz */ static int hf_nr_rrc_dl_MCS_TableAlt_DynamicIndication = -1; /* T_dl_MCS_TableAlt_DynamicIndication */ +static int hf_nr_rrc_supportedSRS_Resources = -1; /* SRS_Resources */ +static int hf_nr_rrc_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot = -1; /* T_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot */ +static int hf_nr_rrc_scs_15kHz_03 = -1; /* T_scs_15kHz_02 */ +static int hf_nr_rrc_scs_30kHz_03 = -1; /* T_scs_30kHz_02 */ +static int hf_nr_rrc_scs_60kHz_04 = -1; /* T_scs_60kHz_03 */ +static int hf_nr_rrc_scs_120kHz_03 = -1; /* T_scs_120kHz_03 */ +static int hf_nr_rrc_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot = -1; /* T_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot */ +static int hf_nr_rrc_scs_15kHz_04 = -1; /* T_scs_15kHz_03 */ +static int hf_nr_rrc_scs_30kHz_04 = -1; /* T_scs_30kHz_03 */ +static int hf_nr_rrc_scs_60kHz_05 = -1; /* T_scs_60kHz_04 */ +static int hf_nr_rrc_scs_120kHz_04 = -1; /* T_scs_120kHz_04 */ static int hf_nr_rrc_maxNumberNZP_CSI_RS_PerCC = -1; /* INTEGER_1_32 */ static int hf_nr_rrc_maxNumberPortsAcrossNZP_CSI_RS_PerCC = -1; /* T_maxNumberPortsAcrossNZP_CSI_RS_PerCC */ static int hf_nr_rrc_maxNumberCS_IM_PerCC = -1; /* T_maxNumberCS_IM_PerCC */ @@ -2746,6 +4536,12 @@ static int hf_nr_rrc_featureSetsUplink_v1540 = -1; /* SEQUENCE_SIZE_1_maxUplink static int hf_nr_rrc_featureSetsUplink_v1540_item = -1; /* FeatureSetUplink_v1540 */ static int hf_nr_rrc_featureSetsUplinkPerCC_v1540 = -1; /* SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540 */ static int hf_nr_rrc_featureSetsUplinkPerCC_v1540_item = -1; /* FeatureSetUplinkPerCC_v1540 */ +static int hf_nr_rrc_featureSetsDownlink_v15a0 = -1; /* SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v15a0 */ +static int hf_nr_rrc_featureSetsDownlink_v15a0_item = -1; /* FeatureSetDownlink_v15a0 */ +static int hf_nr_rrc_featureSetsDownlink_v1610 = -1; /* SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1610 */ +static int hf_nr_rrc_featureSetsDownlink_v1610_item = -1; /* FeatureSetDownlink_v1610 */ +static int hf_nr_rrc_featureSetsUplink_v1610 = -1; /* SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1610 */ +static int hf_nr_rrc_featureSetsUplink_v1610_item = -1; /* FeatureSetUplink_v1610 */ 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 */ @@ -2753,21 +4549,49 @@ static int hf_nr_rrc_crossCarrierScheduling_OtherSCS_01 = -1; /* T_crossCarrier static int hf_nr_rrc_intraBandFreqSeparationUL = -1; /* FreqSeparationClass */ static int hf_nr_rrc_searchSpaceSharingCA_UL = -1; /* T_searchSpaceSharingCA_UL */ static int hf_nr_rrc_dummy1_02 = -1; /* DummyI */ -static int hf_nr_rrc_supportedSRS_Resources = -1; /* SRS_Resources */ static int hf_nr_rrc_twoPUCCH_Group = -1; /* T_twoPUCCH_Group */ static int hf_nr_rrc_dynamicSwitchSUL = -1; /* T_dynamicSwitchSUL */ static int hf_nr_rrc_simultaneousTxSUL_NonSUL = -1; /* T_simultaneousTxSUL_NonSUL */ static int hf_nr_rrc_pusch_ProcessingType1_DifferentTB_PerSlot = -1; /* T_pusch_ProcessingType1_DifferentTB_PerSlot */ -static int hf_nr_rrc_scs_15kHz_03 = -1; /* T_scs_15kHz_02 */ -static int hf_nr_rrc_scs_30kHz_03 = -1; /* T_scs_30kHz_02 */ -static int hf_nr_rrc_scs_60kHz_04 = -1; /* T_scs_60kHz_03 */ -static int hf_nr_rrc_scs_120kHz_03 = -1; /* T_scs_120kHz_03 */ +static int hf_nr_rrc_scs_15kHz_05 = -1; /* T_scs_15kHz_04 */ +static int hf_nr_rrc_scs_30kHz_05 = -1; /* T_scs_30kHz_04 */ +static int hf_nr_rrc_scs_60kHz_06 = -1; /* T_scs_60kHz_05 */ +static int hf_nr_rrc_scs_120kHz_05 = -1; /* T_scs_120kHz_05 */ static int hf_nr_rrc_dummy2_02 = -1; /* DummyF */ static int hf_nr_rrc_zeroSlotOffsetAperiodicSRS = -1; /* T_zeroSlotOffsetAperiodicSRS */ static int hf_nr_rrc_pa_PhaseDiscontinuityImpacts = -1; /* T_pa_PhaseDiscontinuityImpacts */ static int hf_nr_rrc_pusch_SeparationWithGap = -1; /* T_pusch_SeparationWithGap */ static int hf_nr_rrc_pusch_ProcessingType2 = -1; /* T_pusch_ProcessingType2 */ static int hf_nr_rrc_ul_MCS_TableAlt_DynamicIndication = -1; /* T_ul_MCS_TableAlt_DynamicIndication */ +static int hf_nr_rrc_pusch_RepetitionTypeB_r16 = -1; /* T_pusch_RepetitionTypeB_r16 */ +static int hf_nr_rrc_maxNumberPUSCH_Tx_r16 = -1; /* T_maxNumberPUSCH_Tx_r16 */ +static int hf_nr_rrc_hoppingScheme_r16 = -1; /* T_hoppingScheme_r16 */ +static int hf_nr_rrc_ul_CancellationSelfCarrier_r16 = -1; /* T_ul_CancellationSelfCarrier_r16 */ +static int hf_nr_rrc_ul_CancellationCrossCarrier_r16 = -1; /* T_ul_CancellationCrossCarrier_r16 */ +static int hf_nr_rrc_ul_FullPwrMode2_MaxSRS_ResInSet = -1; /* T_ul_FullPwrMode2_MaxSRS_ResInSet */ +static int hf_nr_rrc_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot = -1; /* T_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot */ +static int hf_nr_rrc_scs_15kHz_06 = -1; /* T_scs_15kHz_05 */ +static int hf_nr_rrc_scs_30kHz_06 = -1; /* T_scs_30kHz_05 */ +static int hf_nr_rrc_scs_60kHz_07 = -1; /* T_scs_60kHz_06 */ +static int hf_nr_rrc_scs_120kHz_06 = -1; /* T_scs_120kHz_06 */ +static int hf_nr_rrc_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot = -1; /* T_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot */ +static int hf_nr_rrc_scs_15kHz_07 = -1; /* T_scs_15kHz_06 */ +static int hf_nr_rrc_scs_30kHz_07 = -1; /* T_scs_30kHz_06 */ +static int hf_nr_rrc_scs_60kHz_08 = -1; /* T_scs_60kHz_07 */ +static int hf_nr_rrc_scs_120kHz_07 = -1; /* T_scs_120kHz_07 */ +static int hf_nr_rrc_supportedSRS_PosResources_r16 = -1; /* SRS_AllPosResources_r16 */ +static int hf_nr_rrc_srs_PosResources_r16 = -1; /* SRS_PosResources_r16 */ +static int hf_nr_rrc_srs_PosResourceAP_r16 = -1; /* SRS_PosResourceAP_r16 */ +static int hf_nr_rrc_srs_PosResourceSP_r16 = -1; /* SRS_PosResourceSP_r16 */ +static int hf_nr_rrc_maxNumberSRS_PosResourceSetPerBWP_r16 = -1; /* T_maxNumberSRS_PosResourceSetPerBWP_r16 */ +static int hf_nr_rrc_maxNumberSRS_PosResourcesPerBWP_r16 = -1; /* T_maxNumberSRS_PosResourcesPerBWP_r16 */ +static int hf_nr_rrc_maxNumberSRS_ResourcesPerBWP_PerSlot_r16 = -1; /* T_maxNumberSRS_ResourcesPerBWP_PerSlot_r16 */ +static int hf_nr_rrc_maxNumberPeriodicSRS_PosResourcesPerBWP_r16 = -1; /* T_maxNumberPeriodicSRS_PosResourcesPerBWP_r16 */ +static int hf_nr_rrc_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16 = -1; /* T_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16 */ +static int hf_nr_rrc_maxNumberAP_SRS_PosResourcesPerBWP_r16 = -1; /* T_maxNumberAP_SRS_PosResourcesPerBWP_r16 */ +static int hf_nr_rrc_maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16 = -1; /* T_maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16 */ +static int hf_nr_rrc_maxNumberSP_SRS_PosResourcesPerBWP_r16 = -1; /* T_maxNumberSP_SRS_PosResourcesPerBWP_r16 */ +static int hf_nr_rrc_maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16 = -1; /* T_maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16 */ 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 */ @@ -2796,12 +4620,16 @@ 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_measurementEnhancement_r16 = -1; /* T_measurementEnhancement_r16 */ +static int hf_nr_rrc_demodulationEnhancement_r16 = -1; /* T_demodulationEnhancement_r16 */ static int hf_nr_rrc_ims_ParametersCommon = -1; /* IMS_ParametersCommon */ static int hf_nr_rrc_ims_ParametersFRX_Diff = -1; /* IMS_ParametersFRX_Diff */ static int hf_nr_rrc_voiceOverEUTRA_5GC = -1; /* T_voiceOverEUTRA_5GC */ static int hf_nr_rrc_voiceOverSCG_BearerEUTRA_5GC = -1; /* T_voiceOverSCG_BearerEUTRA_5GC */ +static int hf_nr_rrc_voiceFallbackIndicationEPS_r16 = -1; /* T_voiceFallbackIndicationEPS_r16 */ static int hf_nr_rrc_voiceOverNR = -1; /* T_voiceOverNR */ -static int hf_nr_rrc_eutra_04 = -1; /* EUTRA_Parameters */ +static int hf_nr_rrc_eutra_05 = -1; /* EUTRA_Parameters */ +static int hf_nr_rrc_utra_FDD_r16 = -1; /* UTRA_FDD_Parameters_r16 */ 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 */ @@ -2811,20 +4639,44 @@ static int hf_nr_rrc_modifiedMPR_BehaviorEUTRA = -1; /* BIT_STRING_SIZE_32 */ static int hf_nr_rrc_multiNS_Pmax_EUTRA = -1; /* T_multiNS_Pmax_EUTRA */ static int hf_nr_rrc_rs_SINR_MeasEUTRA = -1; /* T_rs_SINR_MeasEUTRA */ static int hf_nr_rrc_ne_DC = -1; /* T_ne_DC */ +static int hf_nr_rrc_nr_HO_ToEN_DC_r16 = -1; /* T_nr_HO_ToEN_DC_r16 */ static int hf_nr_rrc_rsrqMeasWidebandEUTRA = -1; /* T_rsrqMeasWidebandEUTRA */ +static int hf_nr_rrc_supportedBandListUTRA_FDD_r16 = -1; /* SEQUENCE_SIZE_1_maxBandsUTRA_FDD_r16_OF_SupportedBandUTRA_FDD_r16 */ +static int hf_nr_rrc_supportedBandListUTRA_FDD_r16_item = -1; /* SupportedBandUTRA_FDD_r16 */ 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_mac_ParametersFRX_Diff_r16 = -1; /* MAC_ParametersFRX_Diff_r16 */ static int hf_nr_rrc_lcp_Restriction = -1; /* T_lcp_Restriction */ static int hf_nr_rrc_dummy_09 = -1; /* T_dummy_05 */ static int hf_nr_rrc_lch_ToSCellRestriction = -1; /* T_lch_ToSCellRestriction */ static int hf_nr_rrc_recommendedBitRate = -1; /* T_recommendedBitRate */ static int hf_nr_rrc_recommendedBitRateQuery = -1; /* T_recommendedBitRateQuery */ +static int hf_nr_rrc_recommendedBitRateMultiplier_r16 = -1; /* T_recommendedBitRateMultiplier_r16 */ +static int hf_nr_rrc_secondaryDRX_Group = -1; /* T_secondaryDRX_Group */ +static int hf_nr_rrc_preEmptiveBSR_r16 = -1; /* T_preEmptiveBSR_r16 */ +static int hf_nr_rrc_autonomousTransmission_r16 = -1; /* T_autonomousTransmission_r16 */ +static int hf_nr_rrc_lch_PriorityBasedPrioritization_r16 = -1; /* T_lch_PriorityBasedPrioritization_r16 */ +static int hf_nr_rrc_lch_ToConfiguredGrantMapping_r16 = -1; /* T_lch_ToConfiguredGrantMapping_r16 */ +static int hf_nr_rrc_lch_ToGrantPriorityRestriction_r16 = -1; /* T_lch_ToGrantPriorityRestriction_r16 */ +static int hf_nr_rrc_singlePHR_P_r16 = -1; /* T_singlePHR_P_r16 */ +static int hf_nr_rrc_ul_LBT_FailureDetectionRecovery_r16 = -1; /* T_ul_LBT_FailureDetectionRecovery_r16 */ +static int hf_nr_rrc_directMCG_SCellActivation_r16 = -1; /* T_directMCG_SCellActivation_r16 */ +static int hf_nr_rrc_directMCG_SCellActivationResume_r16 = -1; /* T_directMCG_SCellActivationResume_r16 */ +static int hf_nr_rrc_directSCG_SCellActivation_r16 = -1; /* T_directSCG_SCellActivation_r16 */ +static int hf_nr_rrc_directSCG_SCellActivationResume_r16 = -1; /* T_directSCG_SCellActivationResume_r16 */ +static int hf_nr_rrc_drx_Adaptation_r16 = -1; /* T_drx_Adaptation_r16 */ +static int hf_nr_rrc_licensedBand_r16 = -1; /* MinTimeGap_r16 */ +static int hf_nr_rrc_unlicensedBand_r16 = -1; /* MinTimeGap_r16 */ 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_scs_15kHz_r16 = -1; /* T_scs_15kHz_r16 */ +static int hf_nr_rrc_scs_30kHz_r16 = -1; /* T_scs_30kHz_r16 */ +static int hf_nr_rrc_scs_60kHz_r16 = -1; /* T_scs_60kHz_r16 */ +static int hf_nr_rrc_scs_120kHz_r16 = -1; /* T_scs_120kHz_r16 */ 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 */ @@ -2840,6 +4692,25 @@ static int hf_nr_rrc_periodicEUTRA_MeasAndReport = -1; /* T_periodicEUTRA_MeasA static int hf_nr_rrc_handoverFR1_FR2 = -1; /* T_handoverFR1_FR2 */ static int hf_nr_rrc_maxNumberCSI_RS_RRM_RS_SINR = -1; /* T_maxNumberCSI_RS_RRM_RS_SINR */ static int hf_nr_rrc_nr_CGI_Reporting_ENDC = -1; /* T_nr_CGI_Reporting_ENDC */ +static int hf_nr_rrc_eutra_CGI_Reporting_NEDC = -1; /* T_eutra_CGI_Reporting_NEDC */ +static int hf_nr_rrc_eutra_CGI_Reporting_NRDC = -1; /* T_eutra_CGI_Reporting_NRDC */ +static int hf_nr_rrc_nr_CGI_Reporting_NEDC = -1; /* T_nr_CGI_Reporting_NEDC */ +static int hf_nr_rrc_nr_CGI_Reporting_NRDC = -1; /* T_nr_CGI_Reporting_NRDC */ +static int hf_nr_rrc_reportAddNeighMeasForPeriodic_r16 = -1; /* T_reportAddNeighMeasForPeriodic_r16 */ +static int hf_nr_rrc_condHandoverParametersCommon_r16 = -1; /* T_condHandoverParametersCommon_r16 */ +static int hf_nr_rrc_condHandoverFDD_TDD_r16 = -1; /* T_condHandoverFDD_TDD_r16 */ +static int hf_nr_rrc_condHandoverFR1_FR2_r16 = -1; /* T_condHandoverFR1_FR2_r16 */ +static int hf_nr_rrc_nr_NeedForGap_Reporting_r16 = -1; /* T_nr_NeedForGap_Reporting_r16 */ +static int hf_nr_rrc_supportedGapPattern_NRonly_r16 = -1; /* BIT_STRING_SIZE_10 */ +static int hf_nr_rrc_supportedGapPattern_NRonly_NEDC_r16 = -1; /* T_supportedGapPattern_NRonly_NEDC_r16 */ +static int hf_nr_rrc_maxNumberCLI_RSSI_r16 = -1; /* T_maxNumberCLI_RSSI_r16 */ +static int hf_nr_rrc_maxNumberCLI_SRS_RSRP_r16 = -1; /* T_maxNumberCLI_SRS_RSRP_r16 */ +static int hf_nr_rrc_maxNumberPerSlotCLI_SRS_RSRP_r16 = -1; /* T_maxNumberPerSlotCLI_SRS_RSRP_r16 */ +static int hf_nr_rrc_mfbi_IAB_r16 = -1; /* T_mfbi_IAB_r16 */ +static int hf_nr_rrc_multipleNS_And_Pmax_IAB_r16 = -1; /* T_multipleNS_And_Pmax_IAB_r16 */ +static int hf_nr_rrc_nr_CGI_Reporting_NPN_r16 = -1; /* T_nr_CGI_Reporting_NPN_r16 */ +static int hf_nr_rrc_idleInactiveEUTRA_MeasReport_r16 = -1; /* T_idleInactiveEUTRA_MeasReport_r16 */ +static int hf_nr_rrc_idleInactive_ValidityArea_r16 = -1; /* T_idleInactive_ValidityArea_r16 */ 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 */ @@ -2847,6 +4718,20 @@ static int hf_nr_rrc_handoverLTE_EPC = -1; /* T_handoverLTE_EPC */ static int hf_nr_rrc_handoverLTE_5GC = -1; /* T_handoverLTE_5GC */ static int hf_nr_rrc_sftd_MeasNR_Neigh = -1; /* T_sftd_MeasNR_Neigh */ static int hf_nr_rrc_sftd_MeasNR_Neigh_DRX = -1; /* T_sftd_MeasNR_Neigh_DRX */ +static int hf_nr_rrc_condHandoverParametersXDD_Diff_r16 = -1; /* T_condHandoverParametersXDD_Diff_r16 */ +static int hf_nr_rrc_condHandover_r16 = -1; /* T_condHandover_r16 */ +static int hf_nr_rrc_condHandoverFailure_r16 = -1; /* T_condHandoverFailure_r16 */ +static int hf_nr_rrc_condHandoverTwoTriggerEvents_r16 = -1; /* T_condHandoverTwoTriggerEvents_r16 */ +static int hf_nr_rrc_pcellT312_r16 = -1; /* T_pcellT312_r16 */ +static int hf_nr_rrc_handoverIntraF_IAB_r16 = -1; /* T_handoverIntraF_IAB_r16 */ +static int hf_nr_rrc_eutra_AutonomousGaps_r16 = -1; /* T_eutra_AutonomousGaps_r16 */ +static int hf_nr_rrc_eutra_AutonomousGapsNEDC_r16 = -1; /* T_eutra_AutonomousGapsNEDC_r16 */ +static int hf_nr_rrc_eutra_AutonomousGapsNRDC_r16 = -1; /* T_eutra_AutonomousGapsNRDC_r16 */ +static int hf_nr_rrc_nr_AutonomousGaps_r16 = -1; /* T_nr_AutonomousGaps_r16 */ +static int hf_nr_rrc_nr_AutonomousGaps_ENDC_r16 = -1; /* T_nr_AutonomousGaps_ENDC_r16 */ +static int hf_nr_rrc_nr_AutonomousGapsNEDC_r16 = -1; /* T_nr_AutonomousGapsNEDC_r16 */ +static int hf_nr_rrc_nr_AutonomousGapsNRDC_r16 = -1; /* T_nr_AutonomousGapsNRDC_r16 */ +static int hf_nr_rrc_handoverUTRA_FDD_r16 = -1; /* T_handoverUTRA_FDD_r16 */ 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 */ @@ -2857,15 +4742,44 @@ static int hf_nr_rrc_handoverLTE_EPC_01 = -1; /* T_handoverLTE_EPC_01 */ static int hf_nr_rrc_handoverLTE_5GC_01 = -1; /* T_handoverLTE_5GC_01 */ static int hf_nr_rrc_maxNumberResource_CSI_RS_RLM = -1; /* T_maxNumberResource_CSI_RS_RLM */ static int hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology = -1; /* T_simultaneousRxDataSSB_DiffNumerology */ +static int hf_nr_rrc_nr_AutonomousGaps_r16_01 = -1; /* T_nr_AutonomousGaps_r16_01 */ +static int hf_nr_rrc_nr_AutonomousGaps_ENDC_r16_01 = -1; /* T_nr_AutonomousGaps_ENDC_r16_01 */ +static int hf_nr_rrc_handoverUTRA_FDD_r16_01 = -1; /* T_handoverUTRA_FDD_r16_01 */ +static int hf_nr_rrc_cli_RSSI_Meas_r16 = -1; /* T_cli_RSSI_Meas_r16 */ +static int hf_nr_rrc_cli_SRS_RSRP_Meas_r16 = -1; /* T_cli_SRS_RSRP_Meas_r16 */ +static int hf_nr_rrc_condHandoverParametersFRX_Diff_r16 = -1; /* T_condHandoverParametersFRX_Diff_r16 */ +static int hf_nr_rrc_condHandover_r16_01 = -1; /* T_condHandover_r16_01 */ +static int hf_nr_rrc_condHandoverFailure_r16_01 = -1; /* T_condHandoverFailure_r16_01 */ +static int hf_nr_rrc_condHandoverTwoTriggerEvents_r16_01 = -1; /* T_condHandoverTwoTriggerEvents_r16_01 */ +static int hf_nr_rrc_pcellT312_r16_01 = -1; /* T_pcellT312_r16_01 */ +static int hf_nr_rrc_interFrequencyMeas_Nogap_r16 = -1; /* T_interFrequencyMeas_Nogap_r16 */ +static int hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology_Inter_r16 = -1; /* T_simultaneousRxDataSSB_DiffNumerology_Inter_r16 */ +static int hf_nr_rrc_handoverIntraF_IAB_r16_01 = -1; /* T_handoverIntraF_IAB_r16_01 */ +static int hf_nr_rrc_idleInactiveNR_MeasReport_r16 = -1; /* T_idleInactiveNR_MeasReport_r16 */ static int hf_nr_rrc_measAndMobParametersMRDC_Common = -1; /* MeasAndMobParametersMRDC_Common */ static int hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff = -1; /* MeasAndMobParametersMRDC_XDD_Diff */ static int hf_nr_rrc_measAndMobParametersMRDC_FRX_Diff = -1; /* MeasAndMobParametersMRDC_FRX_Diff */ static int hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff_v1560 = -1; /* MeasAndMobParametersMRDC_XDD_Diff_v1560 */ +static int hf_nr_rrc_measAndMobParametersMRDC_Common_v1610 = -1; /* MeasAndMobParametersMRDC_Common_v1610 */ +static int hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff_v1610 = -1; /* MeasAndMobParametersMRDC_XDD_Diff_v1610 */ +static int hf_nr_rrc_measAndMobParametersMRDC_FRX_Diff_v1610 = -1; /* MeasAndMobParametersMRDC_FRX_Diff_v1610 */ +static int hf_nr_rrc_interNR_MeasEUTRA_IAB_r16 = -1; /* T_interNR_MeasEUTRA_IAB_r16 */ static int hf_nr_rrc_independentGapConfig_01 = -1; /* T_independentGapConfig_01 */ +static int hf_nr_rrc_condPSCellChangeParametersCommon_r16 = -1; /* T_condPSCellChangeParametersCommon_r16 */ +static int hf_nr_rrc_condPSCellChangeFDD_TDD_r16 = -1; /* T_condPSCellChangeFDD_TDD_r16 */ +static int hf_nr_rrc_condPSCellChangeFR1_FR2_r16 = -1; /* T_condPSCellChangeFR1_FR2_r16 */ static int hf_nr_rrc_sftd_MeasPSCell = -1; /* T_sftd_MeasPSCell */ static int hf_nr_rrc_sftd_MeasNR_Cell = -1; /* T_sftd_MeasNR_Cell */ static int hf_nr_rrc_sftd_MeasPSCell_NEDC = -1; /* T_sftd_MeasPSCell_NEDC */ +static int hf_nr_rrc_condPSCellChangeParametersXDD_Diff_r16 = -1; /* T_condPSCellChangeParametersXDD_Diff_r16 */ +static int hf_nr_rrc_condPSCellChange_r16 = -1; /* T_condPSCellChange_r16 */ +static int hf_nr_rrc_condPSCellChangeTwoTriggerEvents_r16 = -1; /* T_condPSCellChangeTwoTriggerEvents_r16 */ +static int hf_nr_rrc_pscellT312_r16 = -1; /* T_pscellT312_r16 */ static int hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology_01 = -1; /* T_simultaneousRxDataSSB_DiffNumerology_01 */ +static int hf_nr_rrc_condPSCellChangeParametersFRX_Diff_r16 = -1; /* T_condPSCellChangeParametersFRX_Diff_r16 */ +static int hf_nr_rrc_condPSCellChange_r16_01 = -1; /* T_condPSCellChange_r16_01 */ +static int hf_nr_rrc_condPSCellChangeTwoTriggerEvents_r16_01 = -1; /* T_condPSCellChangeTwoTriggerEvents_r16_01 */ +static int hf_nr_rrc_pscellT312_r16_01 = -1; /* T_pscellT312_r16_01 */ static int hf_nr_rrc_tci_StatePDSCH = -1; /* T_tci_StatePDSCH */ static int hf_nr_rrc_maxNumberConfiguredTCIstatesPerCC = -1; /* T_maxNumberConfiguredTCIstatesPerCC */ static int hf_nr_rrc_maxNumberActiveTCI_PerBWP = -1; /* T_maxNumberActiveTCI_PerBWP */ @@ -2879,10 +4793,10 @@ static int hf_nr_rrc_sp_BeamReportPUSCH = -1; /* T_sp_BeamReportPUSCH */ static int hf_nr_rrc_dummy1_03 = -1; /* DummyG */ static int hf_nr_rrc_maxNumberRxBeam = -1; /* INTEGER_2_8 */ static int hf_nr_rrc_maxNumberRxTxBeamSwitchDL = -1; /* T_maxNumberRxTxBeamSwitchDL */ -static int hf_nr_rrc_scs_15kHz_04 = -1; /* T_scs_15kHz_03 */ -static int hf_nr_rrc_scs_30kHz_04 = -1; /* T_scs_30kHz_03 */ -static int hf_nr_rrc_scs_60kHz_05 = -1; /* T_scs_60kHz_04 */ -static int hf_nr_rrc_scs_120kHz_04 = -1; /* T_scs_120kHz_04 */ +static int hf_nr_rrc_scs_15kHz_08 = -1; /* T_scs_15kHz_07 */ +static int hf_nr_rrc_scs_30kHz_08 = -1; /* T_scs_30kHz_07 */ +static int hf_nr_rrc_scs_60kHz_09 = -1; /* T_scs_60kHz_08 */ +static int hf_nr_rrc_scs_120kHz_08 = -1; /* T_scs_120kHz_08 */ 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 */ @@ -2897,27 +4811,27 @@ static int hf_nr_rrc_twoPortsPTRS_UL = -1; /* T_twoPortsPTRS_UL */ static int hf_nr_rrc_dummy5_01 = -1; /* SRS_Resources */ static int hf_nr_rrc_dummy3_01 = -1; /* INTEGER_1_4 */ static int hf_nr_rrc_beamReportTiming = -1; /* T_beamReportTiming */ -static int hf_nr_rrc_scs_15kHz_05 = -1; /* T_scs_15kHz_04 */ -static int hf_nr_rrc_scs_30kHz_05 = -1; /* T_scs_30kHz_04 */ -static int hf_nr_rrc_scs_60kHz_06 = -1; /* T_scs_60kHz_05 */ -static int hf_nr_rrc_scs_120kHz_05 = -1; /* T_scs_120kHz_05 */ +static int hf_nr_rrc_scs_15kHz_09 = -1; /* T_scs_15kHz_08 */ +static int hf_nr_rrc_scs_30kHz_09 = -1; /* T_scs_30kHz_08 */ +static int hf_nr_rrc_scs_60kHz_10 = -1; /* T_scs_60kHz_09 */ +static int hf_nr_rrc_scs_120kHz_09 = -1; /* T_scs_120kHz_09 */ static int hf_nr_rrc_ptrs_DensityRecommendationSetDL = -1; /* T_ptrs_DensityRecommendationSetDL */ -static int hf_nr_rrc_scs_15kHz_06 = -1; /* PTRS_DensityRecommendationDL */ -static int hf_nr_rrc_scs_30kHz_06 = -1; /* PTRS_DensityRecommendationDL */ -static int hf_nr_rrc_scs_60kHz_07 = -1; /* PTRS_DensityRecommendationDL */ -static int hf_nr_rrc_scs_120kHz_06 = -1; /* PTRS_DensityRecommendationDL */ +static int hf_nr_rrc_scs_15kHz_10 = -1; /* PTRS_DensityRecommendationDL */ +static int hf_nr_rrc_scs_30kHz_10 = -1; /* PTRS_DensityRecommendationDL */ +static int hf_nr_rrc_scs_60kHz_11 = -1; /* PTRS_DensityRecommendationDL */ +static int hf_nr_rrc_scs_120kHz_10 = -1; /* PTRS_DensityRecommendationDL */ static int hf_nr_rrc_ptrs_DensityRecommendationSetUL = -1; /* T_ptrs_DensityRecommendationSetUL */ -static int hf_nr_rrc_scs_15kHz_07 = -1; /* PTRS_DensityRecommendationUL */ -static int hf_nr_rrc_scs_30kHz_07 = -1; /* PTRS_DensityRecommendationUL */ -static int hf_nr_rrc_scs_60kHz_08 = -1; /* PTRS_DensityRecommendationUL */ -static int hf_nr_rrc_scs_120kHz_07 = -1; /* PTRS_DensityRecommendationUL */ +static int hf_nr_rrc_scs_15kHz_11 = -1; /* PTRS_DensityRecommendationUL */ +static int hf_nr_rrc_scs_30kHz_11 = -1; /* PTRS_DensityRecommendationUL */ +static int hf_nr_rrc_scs_60kHz_12 = -1; /* PTRS_DensityRecommendationUL */ +static int hf_nr_rrc_scs_120kHz_11 = -1; /* PTRS_DensityRecommendationUL */ static int hf_nr_rrc_dummy4_01 = -1; /* DummyH */ static int hf_nr_rrc_aperiodicTRS = -1; /* T_aperiodicTRS */ static int hf_nr_rrc_dummy6_01 = -1; /* T_dummy6 */ static int hf_nr_rrc_beamManagementSSB_CSI_RS = -1; /* BeamManagementSSB_CSI_RS */ static int hf_nr_rrc_beamSwitchTiming = -1; /* T_beamSwitchTiming */ -static int hf_nr_rrc_scs_60kHz_09 = -1; /* T_scs_60kHz_06 */ -static int hf_nr_rrc_scs_120kHz_08 = -1; /* T_scs_120kHz_06 */ +static int hf_nr_rrc_scs_60kHz_13 = -1; /* T_scs_60kHz_10 */ +static int hf_nr_rrc_scs_120kHz_12 = -1; /* T_scs_120kHz_10 */ static int hf_nr_rrc_codebookParameters = -1; /* CodebookParameters */ static int hf_nr_rrc_csi_RS_IM_ReceptionForFeedback = -1; /* CSI_RS_IM_ReceptionForFeedback */ static int hf_nr_rrc_csi_RS_ProcFrameworkForSRS = -1; /* CSI_RS_ProcFrameworkForSRS */ @@ -2926,6 +4840,8 @@ static int hf_nr_rrc_csi_RS_ForTracking = -1; /* CSI_RS_ForTracking */ static int hf_nr_rrc_srs_AssocCSI_RS = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource */ static int hf_nr_rrc_srs_AssocCSI_RS_item = -1; /* SupportedCSI_RS_Resource */ static int hf_nr_rrc_spatialRelations = -1; /* SpatialRelations */ +static int hf_nr_rrc_defaultQCL_TwoTCI_r16 = -1; /* T_defaultQCL_TwoTCI_r16 */ +static int hf_nr_rrc_codebookParametersPerBand_r16 = -1; /* CodebookParameters_v1610 */ 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 */ @@ -2983,6 +4899,14 @@ static int hf_nr_rrc_asyncIntraBandENDC = -1; /* T_asyncIntraBandENDC */ static int hf_nr_rrc_dualPA_Architecture_01 = -1; /* T_dualPA_Architecture_01 */ static int hf_nr_rrc_intraBandENDC_Support = -1; /* T_intraBandENDC_Support */ static int hf_nr_rrc_ul_TimingAlignmentEUTRA_NR = -1; /* T_ul_TimingAlignmentEUTRA_NR */ +static int hf_nr_rrc_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16 = -1; /* T_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16 */ +static int hf_nr_rrc_eutra_TDD_Config0_r16 = -1; /* T_eutra_TDD_Config0_r16 */ +static int hf_nr_rrc_eutra_TDD_Config1_r16 = -1; /* T_eutra_TDD_Config1_r16 */ +static int hf_nr_rrc_eutra_TDD_Config2_r16 = -1; /* T_eutra_TDD_Config2_r16 */ +static int hf_nr_rrc_eutra_TDD_Config3_r16 = -1; /* T_eutra_TDD_Config3_r16 */ +static int hf_nr_rrc_eutra_TDD_Config4_r16 = -1; /* T_eutra_TDD_Config4_r16 */ +static int hf_nr_rrc_eutra_TDD_Config5_r16 = -1; /* T_eutra_TDD_Config5_r16 */ +static int hf_nr_rrc_eutra_TDD_Config6_r16 = -1; /* T_eutra_TDD_Config6_r16 */ static int hf_nr_rrc_dynamicPowerSharingNEDC = -1; /* T_dynamicPowerSharingNEDC */ static int hf_nr_rrc_interBandContiguousMRDC = -1; /* T_interBandContiguousMRDC */ static int hf_nr_rrc_measAndMobParametersNRDC = -1; /* MeasAndMobParametersMRDC */ @@ -2993,6 +4917,11 @@ static int hf_nr_rrc_fr1_Add_UE_NRDC_Capabilities = -1; /* UE_MRDC_CapabilityAd static int hf_nr_rrc_fr2_Add_UE_NRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddFRX_Mode */ static int hf_nr_rrc_dummy_10 = -1; /* T_dummy_06 */ static int hf_nr_rrc_sfn_SyncNRDC = -1; /* T_sfn_SyncNRDC */ +static int hf_nr_rrc_measAndMobParametersNRDC_v1610 = -1; /* MeasAndMobParametersMRDC_v1610 */ +static int hf_nr_rrc_olpc_SRS_PosBasedOnPRS_Serving_r16 = -1; /* T_olpc_SRS_PosBasedOnPRS_Serving_r16 */ +static int hf_nr_rrc_olpc_SRS_PosBasedOnSSB_Neigh_r16 = -1; /* T_olpc_SRS_PosBasedOnSSB_Neigh_r16 */ +static int hf_nr_rrc_olpc_SRS_PosBasedOnPRS_Neigh_r16 = -1; /* T_olpc_SRS_PosBasedOnPRS_Neigh_r16 */ +static int hf_nr_rrc_maxNumberPathLossEstimatePerServing_r16 = -1; /* T_maxNumberPathLossEstimatePerServing_r16 */ 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 */ @@ -3002,8 +4931,17 @@ static int hf_nr_rrc_outOfOrderDelivery_01 = -1; /* T_outOfOrderDelivery_01 */ static int hf_nr_rrc_shortSN = -1; /* T_shortSN */ static int hf_nr_rrc_pdcp_DuplicationSRB = -1; /* T_pdcp_DuplicationSRB */ static int hf_nr_rrc_pdcp_DuplicationMCG_OrSCG_DRB = -1; /* T_pdcp_DuplicationMCG_OrSCG_DRB */ +static int hf_nr_rrc_drb_IAB_r16 = -1; /* T_drb_IAB_r16 */ +static int hf_nr_rrc_non_DRB_IAB_r16 = -1; /* T_non_DRB_IAB_r16 */ +static int hf_nr_rrc_extendedDiscardTimer_r16 = -1; /* T_extendedDiscardTimer_r16 */ +static int hf_nr_rrc_continueEHC_Context_r16 = -1; /* T_continueEHC_Context_r16 */ +static int hf_nr_rrc_ehc_r16 = -1; /* T_ehc_r16 */ +static int hf_nr_rrc_maxNumberEHC_Contexts_r16 = -1; /* T_maxNumberEHC_Contexts_r16 */ +static int hf_nr_rrc_jointEHC_ROHC_Config_r16 = -1; /* T_jointEHC_ROHC_Config_r16 */ +static int hf_nr_rrc_pdcp_DuplicationMoreThanTwoRLC_r16 = -1; /* T_pdcp_DuplicationMoreThanTwoRLC_r16 */ 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_scg_DRB_NR_IAB_r16 = -1; /* T_scg_DRB_NR_IAB_r16 */ static int hf_nr_rrc_phy_ParametersCommon = -1; /* Phy_ParametersCommon */ static int hf_nr_rrc_phy_ParametersXDD_Diff = -1; /* Phy_ParametersXDD_Diff */ static int hf_nr_rrc_phy_ParametersFRX_Diff = -1; /* Phy_ParametersFRX_Diff */ @@ -3047,6 +4985,32 @@ static int hf_nr_rrc_dummy_11 = -1; /* T_dummy_07 */ static int hf_nr_rrc_maxNumberSearchSpaces = -1; /* T_maxNumberSearchSpaces */ static int hf_nr_rrc_rateMatchingCtrlResrcSetDynamic = -1; /* T_rateMatchingCtrlResrcSetDynamic */ static int hf_nr_rrc_maxLayersMIMO_Indication = -1; /* T_maxLayersMIMO_Indication */ +static int hf_nr_rrc_spCellPlacement = -1; /* CarrierAggregationVariant */ +static int hf_nr_rrc_twoStepRACH_r16 = -1; /* T_twoStepRACH_r16 */ +static int hf_nr_rrc_dci_Format1_2And0_2_r16 = -1; /* T_dci_Format1_2And0_2_r16 */ +static int hf_nr_rrc_monitoringDCI_SameSearchSpace_r16 = -1; /* T_monitoringDCI_SameSearchSpace_r16 */ +static int hf_nr_rrc_type2_CG_ReleaseDCI_0_1_r16 = -1; /* T_type2_CG_ReleaseDCI_0_1_r16 */ +static int hf_nr_rrc_type2_CG_ReleaseDCI_0_2_r16 = -1; /* T_type2_CG_ReleaseDCI_0_2_r16 */ +static int hf_nr_rrc_sps_ReleaseDCI_1_1_r16 = -1; /* T_sps_ReleaseDCI_1_1_r16 */ +static int hf_nr_rrc_sps_ReleaseDCI_1_2_r16 = -1; /* T_sps_ReleaseDCI_1_2_r16 */ +static int hf_nr_rrc_csi_TriggerStateNon_ActiveBWP_r16 = -1; /* T_csi_TriggerStateNon_ActiveBWP_r16 */ +static int hf_nr_rrc_seperateSMTC_InterIAB_Support_r16 = -1; /* T_seperateSMTC_InterIAB_Support_r16 */ +static int hf_nr_rrc_seperateRACH_IAB_Support_r16 = -1; /* T_seperateRACH_IAB_Support_r16 */ +static int hf_nr_rrc_ul_flexibleDL_SlotFormatSemiStatic_IAB_r16 = -1; /* T_ul_flexibleDL_SlotFormatSemiStatic_IAB_r16 */ +static int hf_nr_rrc_ul_flexibleDL_SlotFormatDynamics_IAB_r16 = -1; /* T_ul_flexibleDL_SlotFormatDynamics_IAB_r16 */ +static int hf_nr_rrc_dft_S_OFDM_WaveformUL_IAB_r16 = -1; /* T_dft_S_OFDM_WaveformUL_IAB_r16 */ +static int hf_nr_rrc_dci_25_AI_RNTI_Support_IAB_r16 = -1; /* T_dci_25_AI_RNTI_Support_IAB_r16 */ +static int hf_nr_rrc_t_DeltaReceptionSupport_IAB_r16 = -1; /* T_t_DeltaReceptionSupport_IAB_r16 */ +static int hf_nr_rrc_guardSymbolReportReception_IAB_r16 = -1; /* T_guardSymbolReportReception_IAB_r16 */ +static int hf_nr_rrc_harqACK_CB_SpatialBundlingPUCCH_Group_r16 = -1; /* T_harqACK_CB_SpatialBundlingPUCCH_Group_r16 */ +static int hf_nr_rrc_crossSlotScheduling_r16 = -1; /* T_crossSlotScheduling_r16 */ +static int hf_nr_rrc_licensedBand_r16_01 = -1; /* T_licensedBand_r16 */ +static int hf_nr_rrc_unlicensedBand_r16_01 = -1; /* T_unlicensedBand_r16 */ +static int hf_nr_rrc_maxNumberSRS_PosPathLossEstimateAllServingCells_r16 = -1; /* T_maxNumberSRS_PosPathLossEstimateAllServingCells_r16 */ +static int hf_nr_rrc_maxNumberSRS_PosSpatialRelationsAllServingCells_r16 = -1; /* T_maxNumberSRS_PosSpatialRelationsAllServingCells_r16 */ +static int hf_nr_rrc_extendedCG_Periodicities_r16 = -1; /* T_extendedCG_Periodicities_r16 */ +static int hf_nr_rrc_extendedSPS_Periodicities_r16 = -1; /* T_extendedSPS_Periodicities_r16 */ +static int hf_nr_rrc_codebookVariantsList_r16 = -1; /* CodebookVariantsList_r16 */ 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 */ @@ -3109,8 +5073,17 @@ static int hf_nr_rrc_pdcch_BlindDetectionNRDC = -1; /* T_pdcch_BlindDetectionNR static int hf_nr_rrc_pdcch_BlindDetectionMCG_UE = -1; /* INTEGER_1_15 */ static int hf_nr_rrc_pdcch_BlindDetectionSCG_UE = -1; /* INTEGER_1_15 */ static int hf_nr_rrc_mux_HARQ_ACK_PUSCH_DiffSymbol = -1; /* T_mux_HARQ_ACK_PUSCH_DiffSymbol */ +static int hf_nr_rrc_type1_HARQ_ACK_Codebook_r16 = -1; /* T_type1_HARQ_ACK_Codebook_r16 */ +static int hf_nr_rrc_enhancedPowerControl_r16 = -1; /* T_enhancedPowerControl_r16 */ +static int hf_nr_rrc_simultaneousTCI_ActMultipleCC_r16 = -1; /* T_simultaneousTCI_ActMultipleCC_r16 */ +static int hf_nr_rrc_simultaneousSpatialRelationMultipleCC_r16 = -1; /* T_simultaneousSpatialRelationMultipleCC_r16 */ +static int hf_nr_rrc_defaultSpatialRelationPathlossRS_r16 = -1; /* T_defaultSpatialRelationPathlossRS_r16 */ +static int hf_nr_rrc_spatialRelationUpdateAP_SRS_r16 = -1; /* T_spatialRelationUpdateAP_SRS_r16 */ +static int hf_nr_rrc_cli_RSSI_FDM_DL_r16 = -1; /* T_cli_RSSI_FDM_DL_r16 */ +static int hf_nr_rrc_cli_SRS_RSRP_FDM_DL_r16 = -1; /* T_cli_SRS_RSRP_FDM_DL_r16 */ +static int hf_nr_rrc_maxLayersMIMO_Adaptation_r16 = -1; /* T_maxLayersMIMO_Adaptation_r16 */ static int hf_nr_rrc_pdcch_MonitoringSingleOccasion = -1; /* T_pdcch_MonitoringSingleOccasion */ -static int hf_nr_rrc_scs_60kHz_10 = -1; /* T_scs_60kHz_07 */ +static int hf_nr_rrc_scs_60kHz_14 = -1; /* T_scs_60kHz_11 */ static int hf_nr_rrc_pdsch_256QAM_FR1 = -1; /* T_pdsch_256QAM_FR1 */ static int hf_nr_rrc_pdsch_RE_MappingFR1_PerSymbol = -1; /* T_pdsch_RE_MappingFR1_PerSymbol */ static int hf_nr_rrc_pdsch_RE_MappingFR1_PerSlot = -1; /* T_pdsch_RE_MappingFR1_PerSlot */ @@ -3122,6 +5095,14 @@ static int hf_nr_rrc_naics_Capability_List = -1; /* SEQUENCE_SIZE_1_maxNrofNAIC 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_powSav_ParametersCommon_r16 = -1; /* PowSav_ParametersCommon_r16 */ +static int hf_nr_rrc_powSav_ParametersFRX_Diff_r16 = -1; /* PowSav_ParametersFRX_Diff_r16 */ +static int hf_nr_rrc_drx_Preference_r16_01 = -1; /* T_drx_Preference_r16 */ +static int hf_nr_rrc_maxCC_Preference_r16_01 = -1; /* T_maxCC_Preference_r16 */ +static int hf_nr_rrc_releasePreference_r16_01 = -1; /* T_releasePreference_r16 */ +static int hf_nr_rrc_minSchedulingOffsetPreference_r16_01 = -1; /* T_minSchedulingOffsetPreference_r16 */ +static int hf_nr_rrc_maxBW_Preference_r16_01 = -1; /* T_maxBW_Preference_r16 */ +static int hf_nr_rrc_maxMIMO_LayerPreference_r16_01 = -1; /* T_maxMIMO_LayerPreference_r16 */ static int hf_nr_rrc_fallback = -1; /* T_fallback */ static int hf_nr_rrc_differentTB_PerSlot = -1; /* T_differentTB_PerSlot */ static int hf_nr_rrc_upto1 = -1; /* NumberOfCarriers */ @@ -3136,6 +5117,9 @@ static int hf_nr_rrc_supportedBandCombinationList_v1540 = -1; /* BandCombinatio static int hf_nr_rrc_srs_SwitchingTimeRequested = -1; /* T_srs_SwitchingTimeRequested */ static int hf_nr_rrc_supportedBandCombinationList_v1550 = -1; /* BandCombinationList_v1550 */ static int hf_nr_rrc_supportedBandCombinationList_v1560 = -1; /* BandCombinationList_v1560 */ +static int hf_nr_rrc_supportedBandCombinationList_v1610 = -1; /* BandCombinationList_v1610 */ +static int hf_nr_rrc_supportedBandCombinationListSidelink_r16_01 = -1; /* BandCombinationListSidelink_r16 */ +static int hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_r16 = -1; /* BandCombinationList_UplinkTxSwitch_r16 */ 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 */ @@ -3150,12 +5134,12 @@ static int hf_nr_rrc_ue_PowerClass = -1; /* T_ue_PowerClass */ static int hf_nr_rrc_rateMatchingLTE_CRS = -1; /* T_rateMatchingLTE_CRS */ static int hf_nr_rrc_channelBWs_DL = -1; /* T_channelBWs_DL */ static int hf_nr_rrc_fr1 = -1; /* T_fr1 */ -static int hf_nr_rrc_scs_15kHz_08 = -1; /* BIT_STRING_SIZE_10 */ -static int hf_nr_rrc_scs_30kHz_08 = -1; /* BIT_STRING_SIZE_10 */ -static int hf_nr_rrc_scs_60kHz_11 = -1; /* BIT_STRING_SIZE_10 */ +static int hf_nr_rrc_scs_15kHz_12 = -1; /* BIT_STRING_SIZE_10 */ +static int hf_nr_rrc_scs_30kHz_12 = -1; /* BIT_STRING_SIZE_10 */ +static int hf_nr_rrc_scs_60kHz_15 = -1; /* BIT_STRING_SIZE_10 */ static int hf_nr_rrc_fr2 = -1; /* T_fr2 */ -static int hf_nr_rrc_scs_60kHz_12 = -1; /* BIT_STRING_SIZE_3 */ -static int hf_nr_rrc_scs_120kHz_09 = -1; /* BIT_STRING_SIZE_3 */ +static int hf_nr_rrc_scs_60kHz_16 = -1; /* BIT_STRING_SIZE_3 */ +static int hf_nr_rrc_scs_120kHz_13 = -1; /* BIT_STRING_SIZE_3 */ static int hf_nr_rrc_channelBWs_UL = -1; /* T_channelBWs_UL */ static int hf_nr_rrc_fr1_01 = -1; /* T_fr1_01 */ static int hf_nr_rrc_fr2_01 = -1; /* T_fr2_01 */ @@ -3165,30 +5149,106 @@ static int hf_nr_rrc_powerBoosting_pi2BPSK = -1; /* T_powerBoosting_pi2BPSK */ static int hf_nr_rrc_maxUplinkDutyCycle_FR2 = -1; /* T_maxUplinkDutyCycle_FR2 */ static int hf_nr_rrc_channelBWs_DL_v1590 = -1; /* T_channelBWs_DL_v1590 */ static int hf_nr_rrc_fr1_02 = -1; /* T_fr1_02 */ -static int hf_nr_rrc_scs_15kHz_09 = -1; /* BIT_STRING_SIZE_16 */ -static int hf_nr_rrc_scs_30kHz_09 = -1; /* BIT_STRING_SIZE_16 */ -static int hf_nr_rrc_scs_60kHz_13 = -1; /* BIT_STRING_SIZE_16 */ +static int hf_nr_rrc_scs_15kHz_13 = -1; /* BIT_STRING_SIZE_16 */ +static int hf_nr_rrc_scs_30kHz_13 = -1; /* BIT_STRING_SIZE_16 */ +static int hf_nr_rrc_scs_60kHz_17 = -1; /* BIT_STRING_SIZE_16 */ static int hf_nr_rrc_fr2_02 = -1; /* T_fr2_02 */ -static int hf_nr_rrc_scs_60kHz_14 = -1; /* BIT_STRING_SIZE_8 */ -static int hf_nr_rrc_scs_120kHz_10 = -1; /* BIT_STRING_SIZE_8 */ +static int hf_nr_rrc_scs_60kHz_18 = -1; /* BIT_STRING_SIZE_8 */ +static int hf_nr_rrc_scs_120kHz_14 = -1; /* BIT_STRING_SIZE_8 */ static int hf_nr_rrc_channelBWs_UL_v1590 = -1; /* T_channelBWs_UL_v1590 */ static int hf_nr_rrc_fr1_03 = -1; /* T_fr1_03 */ static int hf_nr_rrc_fr2_03 = -1; /* T_fr2_03 */ +static int hf_nr_rrc_asymmetricBandwidthCombinationSet = -1; /* BIT_STRING_SIZE_1_32 */ +static int hf_nr_rrc_unlicensedParametersPerBand_r16 = -1; /* UnlicensedParametersPerBand_r16 */ +static int hf_nr_rrc_cancelOverlappingPUSCH_r16 = -1; /* T_cancelOverlappingPUSCH_r16 */ +static int hf_nr_rrc_multipleRateMatchingEUTRA_CRS_r16 = -1; /* T_multipleRateMatchingEUTRA_CRS_r16 */ +static int hf_nr_rrc_maxNumberPatterns_r16 = -1; /* INTEGER_2_6 */ +static int hf_nr_rrc_maxNumberNon_OverlapPatterns_r16 = -1; /* INTEGER_1_3 */ +static int hf_nr_rrc_overlapRateMatchingEUTRA_CRS_r16 = -1; /* T_overlapRateMatchingEUTRA_CRS_r16 */ +static int hf_nr_rrc_pdsch_MappingTypeB_Alt_r16 = -1; /* T_pdsch_MappingTypeB_Alt_r16 */ +static int hf_nr_rrc_oneShotPeriodicTRS_r16 = -1; /* T_oneShotPeriodicTRS_r16 */ +static int hf_nr_rrc_olpc_SRS_Pos_r16 = -1; /* OLPC_SRS_Pos_r16 */ +static int hf_nr_rrc_spatialRelationsSRS_Pos_r16 = -1; /* SpatialRelationsSRS_Pos_r16 */ +static int hf_nr_rrc_simul_SRS_Trans_IntraBandCA_r16 = -1; /* INTEGER_1_2 */ +static int hf_nr_rrc_channelBW_DL_IAB_r16 = -1; /* T_channelBW_DL_IAB_r16 */ +static int hf_nr_rrc_fr1_100mhz = -1; /* T_fr1_100mhz */ +static int hf_nr_rrc_scs_15kHz_14 = -1; /* T_scs_15kHz_09 */ +static int hf_nr_rrc_scs_30kHz_14 = -1; /* T_scs_30kHz_09 */ +static int hf_nr_rrc_scs_60kHz_19 = -1; /* T_scs_60kHz_12 */ +static int hf_nr_rrc_fr2_200mhz = -1; /* T_fr2_200mhz */ +static int hf_nr_rrc_scs_60kHz_20 = -1; /* T_scs_60kHz_13 */ +static int hf_nr_rrc_scs_120kHz_15 = -1; /* T_scs_120kHz_11 */ +static int hf_nr_rrc_channelBW_UL_IAB_r16 = -1; /* T_channelBW_UL_IAB_r16 */ +static int hf_nr_rrc_fr1_100mhz_01 = -1; /* T_fr1_100mhz_01 */ +static int hf_nr_rrc_scs_15kHz_15 = -1; /* T_scs_15kHz_10 */ +static int hf_nr_rrc_scs_30kHz_15 = -1; /* T_scs_30kHz_10 */ +static int hf_nr_rrc_scs_60kHz_21 = -1; /* T_scs_60kHz_14 */ +static int hf_nr_rrc_fr2_200mhz_01 = -1; /* T_fr2_200mhz_01 */ +static int hf_nr_rrc_scs_60kHz_22 = -1; /* T_scs_60kHz_15 */ +static int hf_nr_rrc_scs_120kHz_16 = -1; /* T_scs_120kHz_12 */ +static int hf_nr_rrc_rasterShift7dot5_IAB_r16 = -1; /* T_rasterShift7dot5_IAB_r16 */ +static int hf_nr_rrc_ue_PowerClass_v1610 = -1; /* T_ue_PowerClass_v1610 */ static int hf_nr_rrc_srs_SwitchingTimeRequested_01 = -1; /* T_srs_SwitchingTimeRequested_01 */ static int hf_nr_rrc_supportedBandCombinationListNEDC_Only = -1; /* BandCombinationList */ static int hf_nr_rrc_supportedBandCombinationList_v1570 = -1; /* BandCombinationList_v1570 */ static int hf_nr_rrc_supportedBandCombinationList_v1580 = -1; /* BandCombinationList_v1580 */ static int hf_nr_rrc_supportedBandCombinationList_v1590 = -1; /* BandCombinationList_v1590 */ +static int hf_nr_rrc_supportedBandCombinationListNEDC_Only_v15a0 = -1; /* T_supportedBandCombinationListNEDC_Only_v15a0 */ +static int hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1610 = -1; /* BandCombinationList_v1610 */ 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_extendedT_PollRetransmit_r16 = -1; /* T_extendedT_PollRetransmit_r16 */ +static int hf_nr_rrc_extendedT_StatusProhibit_r16 = -1; /* T_extendedT_StatusProhibit_r16 */ static int hf_nr_rrc_as_ReflectiveQoS = -1; /* T_as_ReflectiveQoS */ +static int hf_nr_rrc_sdap_QOS_IAB_r16 = -1; /* T_sdap_QOS_IAB_r16 */ +static int hf_nr_rrc_sdapHeaderIAB_r16 = -1; /* T_sdapHeaderIAB_r16 */ +static int hf_nr_rrc_sidelinkParametersNR_r16 = -1; /* SidelinkParametersNR_r16 */ +static int hf_nr_rrc_sidelinkParametersEUTRA_r16 = -1; /* SidelinkParametersEUTRA_r16 */ +static int hf_nr_rrc_rlc_ParametersSidelink_r16 = -1; /* RLC_ParametersSidelink_r16 */ +static int hf_nr_rrc_mac_ParametersSidelink_r16 = -1; /* MAC_ParametersSidelink_r16 */ +static int hf_nr_rrc_fdd_Add_UE_Sidelink_Capabilities_r16 = -1; /* UE_SidelinkCapabilityAddXDD_Mode_r16 */ +static int hf_nr_rrc_tdd_Add_UE_Sidelink_Capabilities_r16 = -1; /* UE_SidelinkCapabilityAddXDD_Mode_r16 */ +static int hf_nr_rrc_sl_ParametersEUTRA1_r16 = -1; /* T_sl_ParametersEUTRA1_r16 */ +static int hf_nr_rrc_sl_ParametersEUTRA2_r16 = -1; /* T_sl_ParametersEUTRA2_r16 */ +static int hf_nr_rrc_sl_ParametersEUTRA3_r16 = -1; /* T_sl_ParametersEUTRA3_r16 */ +static int hf_nr_rrc_supportedBandListSidelinkEUTRA_r16 = -1; /* SEQUENCE_SIZE_1_maxBandsEUTRA_OF_BandSidelinkEUTRA_r16 */ +static int hf_nr_rrc_supportedBandListSidelinkEUTRA_r16_item = -1; /* BandSidelinkEUTRA_r16 */ +static int hf_nr_rrc_am_WithLongSN_Sidelink_r16 = -1; /* T_am_WithLongSN_Sidelink_r16 */ +static int hf_nr_rrc_um_WithLongSN_Sidelink_r16 = -1; /* T_um_WithLongSN_Sidelink_r16 */ +static int hf_nr_rrc_mac_ParametersSidelinkCommon_r16 = -1; /* MAC_ParametersSidelinkCommon_r16 */ +static int hf_nr_rrc_mac_ParametersSidelinkXDD_Diff_r16 = -1; /* MAC_ParametersSidelinkXDD_Diff_r16 */ +static int hf_nr_rrc_lcp_RestrictionSidelink_r16 = -1; /* T_lcp_RestrictionSidelink_r16 */ +static int hf_nr_rrc_multipleConfiguredGrantsSidelink_r16 = -1; /* T_multipleConfiguredGrantsSidelink_r16 */ +static int hf_nr_rrc_multipleSR_ConfigurationsSidelink_r16 = -1; /* T_multipleSR_ConfigurationsSidelink_r16 */ +static int hf_nr_rrc_logicalChannelSR_DelayTimerSidelink_r16 = -1; /* T_logicalChannelSR_DelayTimerSidelink_r16 */ +static int hf_nr_rrc_freqBandSidelinkEUTRA_r16 = -1; /* FreqBandIndicatorEUTRA */ +static int hf_nr_rrc_gnb_ScheduledMode3SidelinkEUTRA_r16 = -1; /* T_gnb_ScheduledMode3SidelinkEUTRA_r16 */ +static int hf_nr_rrc_gnb_ScheduledMode3DelaySidelinkEUTRA_r16 = -1; /* T_gnb_ScheduledMode3DelaySidelinkEUTRA_r16 */ +static int hf_nr_rrc_gnb_ScheduledMode4SidelinkEUTRA_r16 = -1; /* T_gnb_ScheduledMode4SidelinkEUTRA_r16 */ +static int hf_nr_rrc_rach_Report_r16 = -1; /* T_rach_Report_r16 */ +static int hf_nr_rrc_spatialRelation_SRS_PosBasedOnSSB_Serving_r16 = -1; /* T_spatialRelation_SRS_PosBasedOnSSB_Serving_r16 */ +static int hf_nr_rrc_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16 = -1; /* T_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16 */ +static int hf_nr_rrc_spatialRelation_SRS_PosBasedOnPRS_Serving_r16 = -1; /* T_spatialRelation_SRS_PosBasedOnPRS_Serving_r16 */ +static int hf_nr_rrc_spatialRelation_SRS_PosBasedOnSRS_r16 = -1; /* T_spatialRelation_SRS_PosBasedOnSRS_r16 */ +static int hf_nr_rrc_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16 = -1; /* T_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16 */ +static int hf_nr_rrc_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16 = -1; /* T_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16 */ static int hf_nr_rrc_switchingTimeDL = -1; /* T_switchingTimeDL */ static int hf_nr_rrc_switchingTimeUL = -1; /* T_switchingTimeUL */ static int hf_nr_rrc_switchingTimeDL_01 = -1; /* T_switchingTimeDL_01 */ static int hf_nr_rrc_switchingTimeUL_01 = -1; /* T_switchingTimeUL_01 */ static int hf_nr_rrc_fr1_04 = -1; /* T_fr1_04 */ static int hf_nr_rrc_fr2_04 = -1; /* T_fr2_04 */ +static int hf_nr_rrc_barometerMeasReport_r16 = -1; /* T_barometerMeasReport_r16 */ +static int hf_nr_rrc_immMeasBT_r16 = -1; /* T_immMeasBT_r16 */ +static int hf_nr_rrc_immMeasWLAN_r16 = -1; /* T_immMeasWLAN_r16 */ +static int hf_nr_rrc_loggedMeasBT_r16 = -1; /* T_loggedMeasBT_r16 */ +static int hf_nr_rrc_loggedMeasurements_r16 = -1; /* T_loggedMeasurements_r16 */ +static int hf_nr_rrc_loggedMeasWLAN_r16 = -1; /* T_loggedMeasWLAN_r16 */ +static int hf_nr_rrc_orientationMeasReport_r16 = -1; /* T_orientationMeasReport_r16 */ +static int hf_nr_rrc_speedMeasReport_r16 = -1; /* T_speedMeasReport_r16 */ +static int hf_nr_rrc_gnss_Location_r16 = -1; /* T_gnss_Location_r16 */ +static int hf_nr_rrc_ulPDCP_Delay_r16 = -1; /* T_ulPDCP_Delay_r16 */ 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 */ @@ -3198,10 +5258,16 @@ static int hf_nr_rrc_mrdc_Request = -1; /* T_mrdc_Request */ static int hf_nr_rrc_omitEN_DC = -1; /* T_omitEN_DC */ static int hf_nr_rrc_includeNR_DC = -1; /* T_includeNR_DC */ static int hf_nr_rrc_includeNE_DC = -1; /* T_includeNE_DC */ +static int hf_nr_rrc_codebookTypeRequest_r16 = -1; /* T_codebookTypeRequest_r16 */ +static int hf_nr_rrc_type1_SinglePanel_r16_01 = -1; /* T_type1_SinglePanel_r16_01 */ +static int hf_nr_rrc_type1_MultiPanel_r16_01 = -1; /* T_type1_MultiPanel_r16_01 */ +static int hf_nr_rrc_type2_r16_01 = -1; /* T_type2_r16_01 */ +static int hf_nr_rrc_type2_PortSelection_r16_01 = -1; /* T_type2_PortSelection_r16_01 */ +static int hf_nr_rrc_uplinkTxSwitchRequest_r16 = -1; /* T_uplinkTxSwitchRequest_r16 */ static int hf_nr_rrc_frequencyBandListFilter = -1; /* FreqBandList */ -static int hf_nr_rrc_nonCriticalExtension_55 = -1; /* UE_CapabilityRequestFilterNR_v1540 */ +static int hf_nr_rrc_nonCriticalExtension_83 = -1; /* UE_CapabilityRequestFilterNR_v1540 */ static int hf_nr_rrc_srs_SwitchingTimeRequest = -1; /* T_srs_SwitchingTimeRequest */ -static int hf_nr_rrc_nonCriticalExtension_56 = -1; /* T_nonCriticalExtension_37 */ +static int hf_nr_rrc_nonCriticalExtension_84 = -1; /* T_nonCriticalExtension_49 */ 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 */ @@ -3213,17 +5279,22 @@ static int hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAd 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_57 = -1; /* UE_MRDC_Capability_v1560 */ +static int hf_nr_rrc_nonCriticalExtension_85 = -1; /* UE_MRDC_Capability_v1560 */ static int hf_nr_rrc_receivedFilters = -1; /* T_receivedFilters */ static int hf_nr_rrc_measAndMobParametersMRDC_v1560 = -1; /* MeasAndMobParametersMRDC_v1560 */ static int hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities_v1560 = -1; /* UE_MRDC_CapabilityAddXDD_Mode_v1560 */ static int hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities_v1560 = -1; /* UE_MRDC_CapabilityAddXDD_Mode_v1560 */ -static int hf_nr_rrc_nonCriticalExtension_58 = -1; /* T_nonCriticalExtension_38 */ +static int hf_nr_rrc_nonCriticalExtension_86 = -1; /* UE_MRDC_Capability_v1610 */ +static int hf_nr_rrc_measAndMobParametersMRDC_v1610 = -1; /* MeasAndMobParametersMRDC_v1610 */ +static int hf_nr_rrc_generalParametersMRDC_v1610 = -1; /* GeneralParametersMRDC_v1610 */ +static int hf_nr_rrc_pdcp_ParametersMRDC_v1610 = -1; /* PDCP_ParametersMRDC_v1610 */ +static int hf_nr_rrc_nonCriticalExtension_87 = -1; /* T_nonCriticalExtension_50 */ static int hf_nr_rrc_generalParametersMRDC_XDD_Diff = -1; /* GeneralParametersMRDC_XDD_Diff */ static int hf_nr_rrc_splitSRB_WithOneUL_Path = -1; /* T_splitSRB_WithOneUL_Path */ static int hf_nr_rrc_splitDRB_withUL_Both_MCG_SCG = -1; /* T_splitDRB_withUL_Both_MCG_SCG */ static int hf_nr_rrc_srb3 = -1; /* T_srb3 */ static int hf_nr_rrc_v2x_EUTRA = -1; /* T_v2x_EUTRA */ +static int hf_nr_rrc_f1c_OverEUTRA_r16 = -1; /* T_f1c_OverEUTRA_r16 */ 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 */ @@ -3236,28 +5307,89 @@ static int hf_nr_rrc_tdd_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddXDD static int hf_nr_rrc_fr1_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddFRX_Mode */ static int hf_nr_rrc_fr2_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddFRX_Mode */ static int hf_nr_rrc_featureSets = -1; /* FeatureSets */ -static int hf_nr_rrc_nonCriticalExtension_59 = -1; /* UE_NR_Capability_v1530 */ +static int hf_nr_rrc_nonCriticalExtension_88 = -1; /* UE_NR_Capability_v1530 */ static int hf_nr_rrc_fdd_Add_UE_NR_Capabilities_v1530 = -1; /* UE_NR_CapabilityAddXDD_Mode_v1530 */ static int hf_nr_rrc_tdd_Add_UE_NR_Capabilities_v1530 = -1; /* UE_NR_CapabilityAddXDD_Mode_v1530 */ static int hf_nr_rrc_dummy_13 = -1; /* T_dummy_09 */ static int hf_nr_rrc_interRAT_Parameters = -1; /* InterRAT_Parameters */ static int hf_nr_rrc_inactiveState = -1; /* T_inactiveState */ static int hf_nr_rrc_delayBudgetReporting = -1; /* T_delayBudgetReporting */ -static int hf_nr_rrc_nonCriticalExtension_60 = -1; /* UE_NR_Capability_v1540 */ +static int hf_nr_rrc_nonCriticalExtension_89 = -1; /* UE_NR_Capability_v1540 */ static int hf_nr_rrc_sdap_Parameters = -1; /* SDAP_Parameters */ static int hf_nr_rrc_overheatingInd = -1; /* T_overheatingInd */ static int hf_nr_rrc_ims_Parameters = -1; /* IMS_Parameters */ static int hf_nr_rrc_fr1_Add_UE_NR_Capabilities_v1540 = -1; /* UE_NR_CapabilityAddFRX_Mode_v1540 */ static int hf_nr_rrc_fr2_Add_UE_NR_Capabilities_v1540 = -1; /* UE_NR_CapabilityAddFRX_Mode_v1540 */ static int hf_nr_rrc_fr1_fr2_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddFRX_Mode */ -static int hf_nr_rrc_nonCriticalExtension_61 = -1; /* UE_NR_Capability_v1550 */ +static int hf_nr_rrc_nonCriticalExtension_90 = -1; /* UE_NR_Capability_v1550 */ static int hf_nr_rrc_reducedCP_Latency = -1; /* T_reducedCP_Latency */ -static int hf_nr_rrc_nonCriticalExtension_62 = -1; /* UE_NR_Capability_v1560 */ +static int hf_nr_rrc_nonCriticalExtension_91 = -1; /* UE_NR_Capability_v1560 */ static int hf_nr_rrc_nrdc_Parameters = -1; /* NRDC_Parameters */ static int hf_nr_rrc_receivedFilters_01 = -1; /* T_receivedFilters_01 */ -static int hf_nr_rrc_nonCriticalExtension_63 = -1; /* UE_NR_Capability_v1570 */ +static int hf_nr_rrc_nonCriticalExtension_92 = -1; /* UE_NR_Capability_v1570 */ static int hf_nr_rrc_nrdc_Parameters_v1570 = -1; /* NRDC_Parameters_v1570 */ -static int hf_nr_rrc_nonCriticalExtension_64 = -1; /* T_nonCriticalExtension_39 */ +static int hf_nr_rrc_nonCriticalExtension_93 = -1; /* UE_NR_Capability_v1610 */ +static int hf_nr_rrc_inDeviceCoexInd_r16 = -1; /* T_inDeviceCoexInd_r16 */ +static int hf_nr_rrc_dl_DedicatedMessageSegmentation_r16 = -1; /* T_dl_DedicatedMessageSegmentation_r16 */ +static int hf_nr_rrc_nrdc_Parameters_v1610 = -1; /* NRDC_Parameters_v1610 */ +static int hf_nr_rrc_powSav_Parameters_r16 = -1; /* PowSav_Parameters_r16 */ +static int hf_nr_rrc_fr1_Add_UE_NR_Capabilities_v1610 = -1; /* UE_NR_CapabilityAddFRX_Mode_v1610 */ +static int hf_nr_rrc_fr2_Add_UE_NR_Capabilities_v1610 = -1; /* UE_NR_CapabilityAddFRX_Mode_v1610 */ +static int hf_nr_rrc_bh_RLF_Indication_r16 = -1; /* T_bh_RLF_Indication_r16 */ +static int hf_nr_rrc_directSN_AdditionFirstRRC_IAB_r16 = -1; /* T_directSN_AdditionFirstRRC_IAB_r16 */ +static int hf_nr_rrc_bap_Parameters_r16 = -1; /* BAP_Parameters_r16 */ +static int hf_nr_rrc_referenceTimeProvision_r16 = -1; /* T_referenceTimeProvision_r16 */ +static int hf_nr_rrc_sidelinkParameters_r16 = -1; /* SidelinkParameters_r16 */ +static int hf_nr_rrc_highSpeedParameters_r16 = -1; /* HighSpeedParameters_r16 */ +static int hf_nr_rrc_mac_Parameters_v1610 = -1; /* MAC_Parameters_v1610 */ +static int hf_nr_rrc_mcgRLF_RecoveryViaSCG_r16 = -1; /* T_mcgRLF_RecoveryViaSCG_r16 */ +static int hf_nr_rrc_resumeWithStoredMCG_SCells_r16 = -1; /* T_resumeWithStoredMCG_SCells_r16 */ +static int hf_nr_rrc_resumeWithStoredSCG_r16 = -1; /* T_resumeWithStoredSCG_r16 */ +static int hf_nr_rrc_resumeWithSCG_Config_r16 = -1; /* T_resumeWithSCG_Config_r16 */ +static int hf_nr_rrc_ue_BasedPerfMeas_Parameters_r16 = -1; /* UE_BasedPerfMeas_Parameters_r16 */ +static int hf_nr_rrc_son_Parameters_r16 = -1; /* SON_Parameters_r16 */ +static int hf_nr_rrc_onDemandSIB_Connected_r16 = -1; /* T_onDemandSIB_Connected_r16 */ +static int hf_nr_rrc_nonCriticalExtension_94 = -1; /* T_nonCriticalExtension_51 */ +static int hf_nr_rrc_flowControlBH_RLC_ChannelBased_r16 = -1; /* T_flowControlBH_RLC_ChannelBased_r16 */ +static int hf_nr_rrc_flowControlRouting_ID_Based_r16 = -1; /* T_flowControlRouting_ID_Based_r16 */ +static int hf_nr_rrc_ssb_BFD_CBD_dynamicChannelAccess_r16 = -1; /* T_ssb_BFD_CBD_dynamicChannelAccess_r16 */ +static int hf_nr_rrc_ssb_BFD_CBD_semi_staticChannelAccess_r16 = -1; /* T_ssb_BFD_CBD_semi_staticChannelAccess_r16 */ +static int hf_nr_rrc_csi_RS_BFD_CBD_r16 = -1; /* T_csi_RS_BFD_CBD_r16 */ +static int hf_nr_rrc_rssi_ChannelOccupancyReporting_r16 = -1; /* T_rssi_ChannelOccupancyReporting_r16 */ +static int hf_nr_rrc_srs_StartAnyOFDM_Symbol_r16 = -1; /* T_srs_StartAnyOFDM_Symbol_r16 */ +static int hf_nr_rrc_searchSpaceFreqMonitorLocation_r16 = -1; /* INTEGER_1_5 */ +static int hf_nr_rrc_coreset_RB_Offset_r16 = -1; /* T_coreset_RB_Offset_r16 */ +static int hf_nr_rrc_cgi_Acquisition_r16 = -1; /* T_cgi_Acquisition_r16 */ +static int hf_nr_rrc_configuredUL_Tx_r16 = -1; /* T_configuredUL_Tx_r16 */ +static int hf_nr_rrc_typeB_PDSCH_length_r16 = -1; /* T_typeB_PDSCH_length_r16 */ +static int hf_nr_rrc_searchSpaceSetGroupSwitchingwithDCI_r16 = -1; /* T_searchSpaceSetGroupSwitchingwithDCI_r16 */ +static int hf_nr_rrc_searchSpaceSetGroupSwitchingwithoutDCI_r16 = -1; /* T_searchSpaceSetGroupSwitchingwithoutDCI_r16 */ +static int hf_nr_rrc_searchSpaceSetGroupSwitchingcapability2_r16 = -1; /* T_searchSpaceSetGroupSwitchingcapability2_r16 */ +static int hf_nr_rrc_non_numericalPDSCH_HARQ_timing_r16 = -1; /* T_non_numericalPDSCH_HARQ_timing_r16 */ +static int hf_nr_rrc_enhancedDynamicHARQ_codebook_r16 = -1; /* T_enhancedDynamicHARQ_codebook_r16 */ +static int hf_nr_rrc_oneShotHARQ_feedback_r16 = -1; /* T_oneShotHARQ_feedback_r16 */ +static int hf_nr_rrc_multiPUSCH_UL_grant_r16 = -1; /* T_multiPUSCH_UL_grant_r16 */ +static int hf_nr_rrc_csi_RS_RLM_r16 = -1; /* T_csi_RS_RLM_r16 */ +static int hf_nr_rrc_vcsi_RS_RRM_r16 = -1; /* T_vcsi_RS_RRM_r16 */ +static int hf_nr_rrc_pusch_PRB_interlace_r16 = -1; /* T_pusch_PRB_interlace_r16 */ +static int hf_nr_rrc_pucch_F0_F1_PRB_Interlace_r16 = -1; /* T_pucch_F0_F1_PRB_Interlace_r16 */ +static int hf_nr_rrc_occ_PRB_PF2_PF3_r16 = -1; /* T_occ_PRB_PF2_PF3_r16 */ +static int hf_nr_rrc_extCP_rangeCG_PUSCH_r16 = -1; /* T_extCP_rangeCG_PUSCH_r16 */ +static int hf_nr_rrc_configuredGrantWithReTx_r16 = -1; /* T_configuredGrantWithReTx_r16 */ +static int hf_nr_rrc_mux_CG_UCI_HARQ_ACK_r16 = -1; /* T_mux_CG_UCI_HARQ_ACK_r16 */ +static int hf_nr_rrc_cg_resourceConfig_r16 = -1; /* T_cg_resourceConfig_r16 */ +static int hf_nr_rrc_areaConfig_r16 = -1; /* AreaConfig_r16 */ +static int hf_nr_rrc_interFreqTargetList_r16 = -1; /* SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16 */ +static int hf_nr_rrc_interFreqTargetList_r16_item = -1; /* InterFreqTargetInfo_r16 */ +static int hf_nr_rrc_cellGlobalIdList_r16 = -1; /* CellGlobalIdList_r16 */ +static int hf_nr_rrc_trackingAreaCodeList_r16 = -1; /* TrackingAreaCodeList_r16 */ +static int hf_nr_rrc_trackingAreaIdentityList_r16 = -1; /* TrackingAreaIdentityList_r16 */ +static int hf_nr_rrc_cellList_01 = -1; /* SEQUENCE_SIZE_1_32_OF_PhysCellId */ +static int hf_nr_rrc_cellList_item = -1; /* PhysCellId */ +static int hf_nr_rrc_CellGlobalIdList_r16_item = -1; /* CGI_Info_Logging_r16 */ +static int hf_nr_rrc_TrackingAreaCodeList_r16_item = -1; /* TrackingAreaCode */ +static int hf_nr_rrc_TrackingAreaIdentityList_r16_item = -1; /* TrackingAreaIdentity_r16 */ +static int hf_nr_rrc_BT_NameList_r16_item = -1; /* BT_Name_r16 */ 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 */ @@ -3275,16 +5407,481 @@ static int hf_nr_rrc_additionalPmax_01 = -1; /* INTEGER_M30_33 */ static int hf_nr_rrc_additionalSpectrumEmission_01 = -1; /* INTEGER_1_288 */ static int hf_nr_rrc_start_01 = -1; /* EUTRA_PhysCellId */ static int hf_nr_rrc_range_01 = -1; /* T_range_01 */ +static int hf_nr_rrc_iPv4_Address_r16 = -1; /* BIT_STRING_SIZE_32 */ +static int hf_nr_rrc_iPv6_Address_r16 = -1; /* BIT_STRING_SIZE_128 */ +static int hf_nr_rrc_iPv6_Prefix_r16 = -1; /* BIT_STRING_SIZE_64 */ +static int hf_nr_rrc_LogMeasResultListBT_r16_item = -1; /* LogMeasResultBT_r16 */ +static int hf_nr_rrc_bt_Addr_r16 = -1; /* BIT_STRING_SIZE_48 */ +static int hf_nr_rrc_rssi_BT_r16 = -1; /* INTEGER_M128_127 */ +static int hf_nr_rrc_LogMeasResultListWLAN_r16_item = -1; /* LogMeasResultWLAN_r16 */ +static int hf_nr_rrc_wlan_Identifiers_r16 = -1; /* WLAN_Identifiers_r16 */ +static int hf_nr_rrc_rssiWLAN_r16 = -1; /* WLAN_RSSI_Range_r16 */ +static int hf_nr_rrc_rtt_WLAN_r16 = -1; /* WLAN_RTT_r16 */ +static int hf_nr_rrc_ssid_r16 = -1; /* T_ssid_r16 */ +static int hf_nr_rrc_bssid_r16 = -1; /* OCTET_STRING_SIZE_6 */ +static int hf_nr_rrc_hessid_r16 = -1; /* OCTET_STRING_SIZE_6 */ +static int hf_nr_rrc_rttValue_r16 = -1; /* INTEGER_0_16777215 */ +static int hf_nr_rrc_rttUnits_r16 = -1; /* T_rttUnits_r16 */ +static int hf_nr_rrc_rttAccuracy_r16 = -1; /* INTEGER_0_255 */ static int hf_nr_rrc_delayBudgetReportingConfig = -1; /* T_delayBudgetReportingConfig */ -static int hf_nr_rrc_setup_51 = -1; /* T_setup */ +static int hf_nr_rrc_setup_109 = -1; /* T_setup */ static int hf_nr_rrc_delayBudgetReportingProhibitTimer = -1; /* T_delayBudgetReportingProhibitTimer */ static int hf_nr_rrc_overheatingAssistanceConfig = -1; /* T_overheatingAssistanceConfig */ -static int hf_nr_rrc_setup_52 = -1; /* OverheatingAssistanceConfig */ +static int hf_nr_rrc_setup_110 = -1; /* OverheatingAssistanceConfig */ +static int hf_nr_rrc_CandidateServingFreqListNR_r16_item = -1; /* ARFCN_ValueNR */ +static int hf_nr_rrc_idc_AssistanceConfig_r16 = -1; /* T_idc_AssistanceConfig_r16 */ +static int hf_nr_rrc_setup_111 = -1; /* IDC_AssistanceConfig_r16 */ +static int hf_nr_rrc_drx_PreferenceConfig_r16 = -1; /* T_drx_PreferenceConfig_r16 */ +static int hf_nr_rrc_setup_112 = -1; /* DRX_PreferenceConfig_r16 */ +static int hf_nr_rrc_maxBW_PreferenceConfig_r16 = -1; /* T_maxBW_PreferenceConfig_r16 */ +static int hf_nr_rrc_setup_113 = -1; /* MaxBW_PreferenceConfig_r16 */ +static int hf_nr_rrc_maxCC_PreferenceConfig_r16 = -1; /* T_maxCC_PreferenceConfig_r16 */ +static int hf_nr_rrc_setup_114 = -1; /* MaxCC_PreferenceConfig_r16 */ +static int hf_nr_rrc_maxMIMO_LayerPreferenceConfig_r16 = -1; /* T_maxMIMO_LayerPreferenceConfig_r16 */ +static int hf_nr_rrc_setup_115 = -1; /* MaxMIMO_LayerPreferenceConfig_r16 */ +static int hf_nr_rrc_minSchedulingOffsetPreferenceConfig_r16 = -1; /* T_minSchedulingOffsetPreferenceConfig_r16 */ +static int hf_nr_rrc_setup_116 = -1; /* MinSchedulingOffsetPreferenceConfig_r16 */ +static int hf_nr_rrc_releasePreferenceConfig_r16 = -1; /* T_releasePreferenceConfig_r16 */ +static int hf_nr_rrc_setup_117 = -1; /* ReleasePreferenceConfig_r16 */ +static int hf_nr_rrc_referenceTimePreferenceReporting_r16 = -1; /* T_referenceTimePreferenceReporting_r16 */ +static int hf_nr_rrc_btNameList_r16 = -1; /* T_btNameList_r16 */ +static int hf_nr_rrc_wlanNameList_r16 = -1; /* T_wlanNameList_r16 */ +static int hf_nr_rrc_sensorNameList_r16 = -1; /* T_sensorNameList_r16 */ +static int hf_nr_rrc_obtainCommonLocation_r16 = -1; /* T_obtainCommonLocation_r16 */ +static int hf_nr_rrc_sl_AssistanceConfigNR_r16 = -1; /* T_sl_AssistanceConfigNR_r16 */ static int hf_nr_rrc_overheatingIndicationProhibitTimer = -1; /* T_overheatingIndicationProhibitTimer */ +static int hf_nr_rrc_candidateServingFreqListNR_r16 = -1; /* CandidateServingFreqListNR_r16 */ +static int hf_nr_rrc_drx_PreferenceProhibitTimer_r16 = -1; /* T_drx_PreferenceProhibitTimer_r16 */ +static int hf_nr_rrc_maxBW_PreferenceProhibitTimer_r16 = -1; /* T_maxBW_PreferenceProhibitTimer_r16 */ +static int hf_nr_rrc_maxCC_PreferenceProhibitTimer_r16 = -1; /* T_maxCC_PreferenceProhibitTimer_r16 */ +static int hf_nr_rrc_maxMIMO_LayerPreferenceProhibitTimer_r16 = -1; /* T_maxMIMO_LayerPreferenceProhibitTimer_r16 */ +static int hf_nr_rrc_minSchedulingOffsetPreferenceProhibitTimer_r16 = -1; /* T_minSchedulingOffsetPreferenceProhibitTimer_r16 */ +static int hf_nr_rrc_releasePreferenceProhibitTimer_r16 = -1; /* T_releasePreferenceProhibitTimer_r16 */ +static int hf_nr_rrc_connectedReporting = -1; /* T_connectedReporting */ +static int hf_nr_rrc_measUncomBarPre_r16 = -1; /* T_measUncomBarPre_r16 */ +static int hf_nr_rrc_measUeSpeed = -1; /* T_measUeSpeed */ +static int hf_nr_rrc_measUeOrientation = -1; /* T_measUeOrientation */ +static int hf_nr_rrc_traceId_r16 = -1; /* OCTET_STRING_SIZE_3 */ +static int hf_nr_rrc_logMeasAvailable_r16_01 = -1; /* T_logMeasAvailable_r16_01 */ +static int hf_nr_rrc_logMeasAvailableBT_r16_01 = -1; /* T_logMeasAvailableBT_r16_01 */ +static int hf_nr_rrc_logMeasAvailableWLAN_r16_01 = -1; /* T_logMeasAvailableWLAN_r16_01 */ +static int hf_nr_rrc_connEstFailInfoAvailable_r16 = -1; /* T_connEstFailInfoAvailable_r16 */ +static int hf_nr_rrc_rlf_InfoAvailable_r16 = -1; /* T_rlf_InfoAvailable_r16 */ +static int hf_nr_rrc_VisitedCellInfoList_r16_item = -1; /* VisitedCellInfo_r16 */ +static int hf_nr_rrc_visitedCellId_r16 = -1; /* T_visitedCellId_r16 */ +static int hf_nr_rrc_nr_CellId_r16 = -1; /* T_nr_CellId_r16 */ +static int hf_nr_rrc_pci_arfcn_r16_02 = -1; /* T_pci_arfcn_r16_02 */ +static int hf_nr_rrc_eutra_CellId_r16 = -1; /* T_eutra_CellId_r16 */ +static int hf_nr_rrc_cellGlobalId_r16_02 = -1; /* CGI_InfoEUTRA */ +static int hf_nr_rrc_pci_arfcn_r16_03 = -1; /* T_pci_arfcn_r16_03 */ +static int hf_nr_rrc_timeSpent_r16 = -1; /* INTEGER_0_4095 */ +static int hf_nr_rrc_WLAN_NameList_r16_item = -1; /* WLAN_Name_r16 */ +static int hf_nr_rrc_sl_BWP_Id = -1; /* BWP_Id */ +static int hf_nr_rrc_sl_BWP_Generic_r16 = -1; /* SL_BWP_Generic_r16 */ +static int hf_nr_rrc_sl_BWP_PoolConfig_r16 = -1; /* SL_BWP_PoolConfig_r16 */ +static int hf_nr_rrc_sl_BWP_r16 = -1; /* BWP */ +static int hf_nr_rrc_sl_LengthSymbols_r16 = -1; /* T_sl_LengthSymbols_r16 */ +static int hf_nr_rrc_sl_StartSymbol_r16 = -1; /* T_sl_StartSymbol_r16 */ +static int hf_nr_rrc_sl_PSBCH_Config_r16 = -1; /* T_sl_PSBCH_Config_r16 */ +static int hf_nr_rrc_setup_118 = -1; /* SL_PSBCH_Config_r16 */ +static int hf_nr_rrc_sl_TxDirectCurrentLocation_r16 = -1; /* INTEGER_0_3301 */ +static int hf_nr_rrc_sl_RxPool_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16 */ +static int hf_nr_rrc_sl_RxPool_r16_item = -1; /* SL_ResourcePool_r16 */ +static int hf_nr_rrc_sl_TxPoolSelectedNormal_r16 = -1; /* SL_TxPoolDedicated_r16 */ +static int hf_nr_rrc_sl_TxPoolScheduling_r16 = -1; /* SL_TxPoolDedicated_r16 */ +static int hf_nr_rrc_sl_TxPoolExceptional_r16 = -1; /* SL_ResourcePoolConfig_r16 */ +static int hf_nr_rrc_sl_PoolToReleaseList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolID_r16 */ +static int hf_nr_rrc_sl_PoolToReleaseList_r16_item = -1; /* SL_ResourcePoolID_r16 */ +static int hf_nr_rrc_sl_PoolToAddModList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolConfig_r16 */ +static int hf_nr_rrc_sl_PoolToAddModList_r16_item = -1; /* SL_ResourcePoolConfig_r16 */ +static int hf_nr_rrc_sl_ResourcePoolID_r16 = -1; /* SL_ResourcePoolID_r16 */ +static int hf_nr_rrc_sl_ResourcePool_r16 = -1; /* SL_ResourcePool_r16 */ +static int hf_nr_rrc_SL_CBR_PriorityTxConfigList_r16_item = -1; /* SL_PriorityTxConfigIndex_r16 */ +static int hf_nr_rrc_sl_PriorityThreshold_r16 = -1; /* INTEGER_1_8 */ +static int hf_nr_rrc_sl_DefaultTxConfigIndex_r16 = -1; /* INTEGER_0_maxCBR_Level_1_r16 */ +static int hf_nr_rrc_sl_CBR_ConfigIndex_r16 = -1; /* INTEGER_0_maxCBR_Config_1_r16 */ +static int hf_nr_rrc_sl_Tx_ConfigIndexList_r16 = -1; /* SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_TxConfigIndex_r16 */ +static int hf_nr_rrc_sl_Tx_ConfigIndexList_r16_item = -1; /* SL_TxConfigIndex_r16 */ +static int hf_nr_rrc_sl_CBR_RangeConfigList_r16 = -1; /* SEQUENCE_SIZE_1_maxCBR_Config_r16_OF_SL_CBR_LevelsConfig_r16 */ +static int hf_nr_rrc_sl_CBR_RangeConfigList_r16_item = -1; /* SL_CBR_LevelsConfig_r16 */ +static int hf_nr_rrc_sl_CBR_PSSCH_TxConfigList_r16 = -1; /* SEQUENCE_SIZE_1_maxTxConfig_r16_OF_SL_CBR_PSSCH_TxConfig_r16 */ +static int hf_nr_rrc_sl_CBR_PSSCH_TxConfigList_r16_item = -1; /* SL_CBR_PSSCH_TxConfig_r16 */ +static int hf_nr_rrc_SL_CBR_LevelsConfig_r16_item = -1; /* SL_CBR_r16 */ +static int hf_nr_rrc_sl_CR_Limit_r16 = -1; /* INTEGER_0_10000 */ +static int hf_nr_rrc_sl_TxParameters_r16 = -1; /* SL_PSSCH_TxParameters_r16 */ +static int hf_nr_rrc_sl_PHY_MAC_RLC_Config_r16 = -1; /* SL_PHY_MAC_RLC_Config_r16 */ +static int hf_nr_rrc_sl_RadioBearerToReleaseList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Uu_ConfigIndex_r16 */ +static int hf_nr_rrc_sl_RadioBearerToReleaseList_r16_item = -1; /* SLRB_Uu_ConfigIndex_r16 */ +static int hf_nr_rrc_sl_RadioBearerToAddModList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RadioBearerConfig_r16 */ +static int hf_nr_rrc_sl_RadioBearerToAddModList_r16_item = -1; /* SL_RadioBearerConfig_r16 */ +static int hf_nr_rrc_sl_MeasConfigInfoToReleaseList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16 */ +static int hf_nr_rrc_sl_MeasConfigInfoToReleaseList_r16_item = -1; /* SL_DestinationIndex_r16 */ +static int hf_nr_rrc_sl_MeasConfigInfoToAddModList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_MeasConfigInfo_r16 */ +static int hf_nr_rrc_sl_MeasConfigInfoToAddModList_r16_item = -1; /* SL_MeasConfigInfo_r16 */ +static int hf_nr_rrc_t400_r16 = -1; /* T_t400_r16 */ +static int hf_nr_rrc_sl_ScheduledConfig_r16 = -1; /* T_sl_ScheduledConfig_r16 */ +static int hf_nr_rrc_setup_119 = -1; /* SL_ScheduledConfig_r16 */ +static int hf_nr_rrc_sl_UE_SelectedConfig_r16 = -1; /* T_sl_UE_SelectedConfig_r16 */ +static int hf_nr_rrc_setup_120 = -1; /* SL_UE_SelectedConfig_r16 */ +static int hf_nr_rrc_sl_FreqInfoToReleaseList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_Freq_Id_r16 */ +static int hf_nr_rrc_sl_FreqInfoToReleaseList_r16_item = -1; /* SL_Freq_Id_r16 */ +static int hf_nr_rrc_sl_FreqInfoToAddModList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_FreqConfig_r16 */ +static int hf_nr_rrc_sl_FreqInfoToAddModList_r16_item = -1; /* SL_FreqConfig_r16 */ +static int hf_nr_rrc_sl_RLC_BearerToReleaseList_r16 = -1; /* SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfigIndex_r16 */ +static int hf_nr_rrc_sl_RLC_BearerToReleaseList_r16_item = -1; /* SL_RLC_BearerConfigIndex_r16 */ +static int hf_nr_rrc_sl_RLC_BearerToAddModList_r16 = -1; /* SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfig_r16 */ +static int hf_nr_rrc_sl_RLC_BearerToAddModList_r16_item = -1; /* SL_RLC_BearerConfig_r16 */ +static int hf_nr_rrc_sl_MaxNumConsecutiveDTX_r16 = -1; /* T_sl_MaxNumConsecutiveDTX_r16 */ +static int hf_nr_rrc_sl_CSI_Acquisition_r16 = -1; /* T_sl_CSI_Acquisition_r16 */ +static int hf_nr_rrc_sl_CSI_SchedulingRequestId_r16 = -1; /* T_sl_CSI_SchedulingRequestId_r16 */ +static int hf_nr_rrc_setup_121 = -1; /* SchedulingRequestId */ +static int hf_nr_rrc_sl_SSB_PriorityNR_r16 = -1; /* INTEGER_1_8 */ +static int hf_nr_rrc_networkControlledSyncTx_r16 = -1; /* T_networkControlledSyncTx_r16 */ +static int hf_nr_rrc_sl_ConfigIndexCG_r16 = -1; /* SL_ConfigIndexCG_r16 */ +static int hf_nr_rrc_sl_PeriodCG_r16 = -1; /* SL_PeriodCG_r16 */ +static int hf_nr_rrc_sl_NrOfHARQ_Processes_r16 = -1; /* INTEGER_1_16 */ +static int hf_nr_rrc_sl_HARQ_ProcID_offset_r16 = -1; /* INTEGER_1_16 */ +static int hf_nr_rrc_sl_CG_MaxTransNumList_r16 = -1; /* SL_CG_MaxTransNumList_r16 */ +static int hf_nr_rrc_rrc_ConfiguredSidelinkGrant = -1; /* T_rrc_ConfiguredSidelinkGrant */ +static int hf_nr_rrc_sl_TimeResourceCG_Type1_r16 = -1; /* INTEGER_0_496 */ +static int hf_nr_rrc_sl_StartSubchannelCG_Type1_r16 = -1; /* INTEGER_0_26 */ +static int hf_nr_rrc_sl_FreqResourceCG_Type1_r16 = -1; /* INTEGER_0_6929 */ +static int hf_nr_rrc_sl_TimeOffsetCG_Type1_r16 = -1; /* INTEGER_0_7999 */ +static int hf_nr_rrc_sl_N1PUCCH_AN_r16 = -1; /* PUCCH_ResourceId */ +static int hf_nr_rrc_sl_PSFCH_ToPUCCH_CG_Type1_r16 = -1; /* INTEGER_0_15 */ +static int hf_nr_rrc_SL_CG_MaxTransNumList_r16_item = -1; /* SL_CG_MaxTransNum_r16 */ +static int hf_nr_rrc_sl_Priority_r16 = -1; /* INTEGER_1_8 */ +static int hf_nr_rrc_sl_MaxTransNum_r16 = -1; /* INTEGER_1_32 */ +static int hf_nr_rrc_sl_PeriodCG1_r16 = -1; /* T_sl_PeriodCG1_r16 */ +static int hf_nr_rrc_sl_PeriodCG2_r16 = -1; /* INTEGER_1_99 */ +static int hf_nr_rrc_sl_Freq_Id_r16 = -1; /* SL_Freq_Id_r16 */ +static int hf_nr_rrc_sl_SCS_SpecificCarrierList_r16 = -1; /* SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier */ +static int hf_nr_rrc_sl_SCS_SpecificCarrierList_r16_item = -1; /* SCS_SpecificCarrier */ +static int hf_nr_rrc_sl_AbsoluteFrequencyPointA_r16 = -1; /* ARFCN_ValueNR */ +static int hf_nr_rrc_sl_AbsoluteFrequencySSB_r16 = -1; /* ARFCN_ValueNR */ +static int hf_nr_rrc_frequencyShift7p5khzSL_r16 = -1; /* T_frequencyShift7p5khzSL_r16 */ +static int hf_nr_rrc_valueN_r16 = -1; /* INTEGER_M1_1 */ +static int hf_nr_rrc_sl_BWP_ToReleaseList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_BWP_Id */ +static int hf_nr_rrc_sl_BWP_ToReleaseList_r16_item = -1; /* BWP_Id */ +static int hf_nr_rrc_sl_BWP_ToAddModList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_SL_BWP_Config_r16 */ +static int hf_nr_rrc_sl_BWP_ToAddModList_r16_item = -1; /* SL_BWP_Config_r16 */ +static int hf_nr_rrc_sl_SyncConfigList_r16 = -1; /* SL_SyncConfigList_r16 */ +static int hf_nr_rrc_sl_SyncPriority_r16 = -1; /* T_sl_SyncPriority_r16 */ +static int hf_nr_rrc_sl_PrioritisedBitRate_r16 = -1; /* T_sl_PrioritisedBitRate_r16 */ +static int hf_nr_rrc_sl_BucketSizeDuration_r16 = -1; /* T_sl_BucketSizeDuration_r16 */ +static int hf_nr_rrc_sl_ConfiguredGrantType1Allowed_r16 = -1; /* T_sl_ConfiguredGrantType1Allowed_r16 */ +static int hf_nr_rrc_sl_HARQ_FeedbackEnabled_r16 = -1; /* T_sl_HARQ_FeedbackEnabled_r16 */ +static int hf_nr_rrc_sl_AllowedCG_List_r16 = -1; /* SEQUENCE_SIZE_0_maxNrofCG_SL_r16_1_OF_SL_ConfigIndexCG_r16 */ +static int hf_nr_rrc_sl_AllowedCG_List_r16_item = -1; /* SL_ConfigIndexCG_r16 */ +static int hf_nr_rrc_sl_AllowedSCS_List_r16 = -1; /* SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing */ +static int hf_nr_rrc_sl_AllowedSCS_List_r16_item = -1; /* SubcarrierSpacing */ +static int hf_nr_rrc_sl_MaxPUSCH_Duration_r16 = -1; /* T_sl_MaxPUSCH_Duration_r16 */ +static int hf_nr_rrc_sl_LogicalChannelGroup_r16 = -1; /* INTEGER_0_maxLCG_ID */ +static int hf_nr_rrc_sl_SchedulingRequestId_r16 = -1; /* SchedulingRequestId */ +static int hf_nr_rrc_sl_LogicalChannelSR_DelayTimerApplied_r16 = -1; /* BOOLEAN */ +static int hf_nr_rrc_sl_DestinationIndex_r16 = -1; /* SL_DestinationIndex_r16 */ +static int hf_nr_rrc_sl_MeasConfig_r16 = -1; /* SL_MeasConfig_r16 */ +static int hf_nr_rrc_sl_MeasObjectToRemoveList_r16 = -1; /* SL_MeasObjectToRemoveList_r16 */ +static int hf_nr_rrc_sl_MeasObjectToAddModList_r16 = -1; /* SL_MeasObjectList_r16 */ +static int hf_nr_rrc_sl_ReportConfigToRemoveList_r16 = -1; /* SL_ReportConfigToRemoveList_r16 */ +static int hf_nr_rrc_sl_ReportConfigToAddModList_r16 = -1; /* SL_ReportConfigList_r16 */ +static int hf_nr_rrc_sl_MeasIdToRemoveList_r16 = -1; /* SL_MeasIdToRemoveList_r16 */ +static int hf_nr_rrc_sl_MeasIdToAddModList_r16 = -1; /* SL_MeasIdList_r16 */ +static int hf_nr_rrc_sl_QuantityConfig_r16 = -1; /* SL_QuantityConfig_r16 */ +static int hf_nr_rrc_SL_MeasObjectToRemoveList_r16_item = -1; /* SL_MeasObjectId_r16 */ +static int hf_nr_rrc_SL_ReportConfigToRemoveList_r16_item = -1; /* SL_ReportConfigId_r16 */ +static int hf_nr_rrc_SL_MeasIdToRemoveList_r16_item = -1; /* SL_MeasId_r16 */ +static int hf_nr_rrc_SL_MeasIdList_r16_item = -1; /* SL_MeasIdInfo_r16 */ +static int hf_nr_rrc_sl_MeasId_r16 = -1; /* SL_MeasId_r16 */ +static int hf_nr_rrc_sl_MeasObjectId_r16 = -1; /* SL_MeasObjectId_r16 */ +static int hf_nr_rrc_sl_ReportConfigId_r16 = -1; /* SL_ReportConfigId_r16 */ +static int hf_nr_rrc_SL_MeasObjectList_r16_item = -1; /* SL_MeasObjectInfo_r16 */ +static int hf_nr_rrc_sl_MeasObject_r16 = -1; /* SL_MeasObject_r16 */ +static int hf_nr_rrc_frequencyInfoSL_r16 = -1; /* ARFCN_ValueNR */ +static int hf_nr_rrc_sl_DiscardTimer_r16 = -1; /* T_sl_DiscardTimer_r16 */ +static int hf_nr_rrc_sl_PDCP_SN_Size_r16 = -1; /* T_sl_PDCP_SN_Size_r16 */ +static int hf_nr_rrc_sl_OutOfOrderDelivery = -1; /* T_sl_OutOfOrderDelivery */ +static int hf_nr_rrc_dl_P0_PSBCH_r16 = -1; /* INTEGER_M16_15 */ +static int hf_nr_rrc_dl_Alpha_PSBCH_r16 = -1; /* T_dl_Alpha_PSBCH_r16 */ +static int hf_nr_rrc_SL_PSSCH_TxConfigList_r16_item = -1; /* SL_PSSCH_TxConfig_r16 */ +static int hf_nr_rrc_sl_TypeTxSync_r16 = -1; /* SL_TypeTxSync_r16 */ +static int hf_nr_rrc_sl_ThresUE_Speed_r16 = -1; /* T_sl_ThresUE_Speed_r16 */ +static int hf_nr_rrc_sl_ParametersAboveThres_r16 = -1; /* SL_PSSCH_TxParameters_r16 */ +static int hf_nr_rrc_sl_ParametersBelowThres_r16 = -1; /* SL_PSSCH_TxParameters_r16 */ +static int hf_nr_rrc_sl_MinMCS_PSSCH_r16 = -1; /* INTEGER_0_27 */ +static int hf_nr_rrc_sl_MaxMCS_PSSCH_r16 = -1; /* INTEGER_0_31 */ +static int hf_nr_rrc_sl_MinSubChannelNumPSSCH_r16 = -1; /* INTEGER_1_27 */ +static int hf_nr_rrc_sl_MaxSubchannelNumPSSCH_r16 = -1; /* INTEGER_1_27 */ +static int hf_nr_rrc_sl_MaxTxTransNumPSSCH_r16 = -1; /* INTEGER_1_32 */ +static int hf_nr_rrc_sl_MaxTxPower_r16 = -1; /* SL_TxPower_r16 */ +static int hf_nr_rrc_sl_PQI_r16 = -1; /* SL_PQI_r16 */ +static int hf_nr_rrc_sl_GFBR_r16 = -1; /* INTEGER_0_4000000000 */ +static int hf_nr_rrc_sl_MFBR_r16 = -1; /* INTEGER_0_4000000000 */ +static int hf_nr_rrc_sl_Range_r16 = -1; /* INTEGER_1_1000 */ +static int hf_nr_rrc_sl_StandardizedPQI_r16 = -1; /* INTEGER_0_255 */ +static int hf_nr_rrc_sl_Non_StandardizedPQI_r16 = -1; /* T_sl_Non_StandardizedPQI_r16 */ +static int hf_nr_rrc_sl_ResourceType_r16 = -1; /* T_sl_ResourceType_r16 */ +static int hf_nr_rrc_sl_PriorityLevel_r16 = -1; /* INTEGER_1_8 */ +static int hf_nr_rrc_sl_PacketDelayBudget_r16 = -1; /* INTEGER_0_1023 */ +static int hf_nr_rrc_sl_PacketErrorRate_r16 = -1; /* INTEGER_0_9 */ +static int hf_nr_rrc_sl_AveragingWindow_r16 = -1; /* INTEGER_0_4095 */ +static int hf_nr_rrc_sl_MaxDataBurstVolume_r16 = -1; /* INTEGER_0_4095 */ +static int hf_nr_rrc_sl_FilterCoefficientDMRS_r16 = -1; /* FilterCoefficient */ +static int hf_nr_rrc_slrb_Uu_ConfigIndex_r16 = -1; /* SLRB_Uu_ConfigIndex_r16 */ +static int hf_nr_rrc_sl_SDAP_Config_r16 = -1; /* SL_SDAP_Config_r16 */ +static int hf_nr_rrc_sl_PDCP_Config_r16 = -1; /* SL_PDCP_Config_r16 */ +static int hf_nr_rrc_sl_TransRange_r16 = -1; /* T_sl_TransRange_r16 */ +static int hf_nr_rrc_SL_ReportConfigList_r16_item = -1; /* SL_ReportConfigInfo_r16 */ +static int hf_nr_rrc_sl_ReportConfig_r16 = -1; /* SL_ReportConfig_r16 */ +static int hf_nr_rrc_sl_ReportType_r16 = -1; /* T_sl_ReportType_r16 */ +static int hf_nr_rrc_sl_Periodical_r16 = -1; /* SL_PeriodicalReportConfig_r16 */ +static int hf_nr_rrc_sl_EventTriggered_r16 = -1; /* SL_EventTriggerConfig_r16 */ +static int hf_nr_rrc_sl_ReportInterval_r16 = -1; /* ReportInterval */ +static int hf_nr_rrc_sl_ReportAmount_r16 = -1; /* T_sl_ReportAmount_r16 */ +static int hf_nr_rrc_sl_ReportQuantity_r16 = -1; /* SL_MeasReportQuantity_r16 */ +static int hf_nr_rrc_sl_RS_Type_r16 = -1; /* SL_RS_Type_r16 */ +static int hf_nr_rrc_sl_EventId_r16 = -1; /* T_sl_EventId_r16 */ +static int hf_nr_rrc_eventS1_r16 = -1; /* T_eventS1_r16 */ +static int hf_nr_rrc_s1_Threshold_r16 = -1; /* SL_MeasTriggerQuantity_r16 */ +static int hf_nr_rrc_sl_ReportOnLeave_r16 = -1; /* BOOLEAN */ +static int hf_nr_rrc_sl_Hysteresis_r16 = -1; /* Hysteresis */ +static int hf_nr_rrc_sl_TimeToTrigger_r16 = -1; /* TimeToTrigger */ +static int hf_nr_rrc_eventS2_r16 = -1; /* T_eventS2_r16 */ +static int hf_nr_rrc_s2_Threshold_r16 = -1; /* SL_MeasTriggerQuantity_r16 */ +static int hf_nr_rrc_sl_ReportAmount_r16_01 = -1; /* T_sl_ReportAmount_r16_01 */ +static int hf_nr_rrc_sl_RSRP_r16 = -1; /* RSRP_Range */ +static int hf_nr_rrc_sl_PSCCH_Config_r16 = -1; /* T_sl_PSCCH_Config_r16 */ +static int hf_nr_rrc_setup_122 = -1; /* SL_PSCCH_Config_r16 */ +static int hf_nr_rrc_sl_PSSCH_Config_r16 = -1; /* T_sl_PSSCH_Config_r16 */ +static int hf_nr_rrc_setup_123 = -1; /* SL_PSSCH_Config_r16 */ +static int hf_nr_rrc_sl_PSFCH_Config_r16 = -1; /* T_sl_PSFCH_Config_r16 */ +static int hf_nr_rrc_setup_124 = -1; /* SL_PSFCH_Config_r16 */ +static int hf_nr_rrc_sl_SyncAllowed_r16 = -1; /* SL_SyncAllowed_r16 */ +static int hf_nr_rrc_sl_SubchannelSize_r16 = -1; /* T_sl_SubchannelSize_r16 */ +static int hf_nr_rrc_sl_TimeResource_r16 = -1; /* INTEGER_10_160 */ +static int hf_nr_rrc_sl_StartRB_Subchannel_r16 = -1; /* INTEGER_0_265 */ +static int hf_nr_rrc_sl_NumSubchannel_r16 = -1; /* INTEGER_1_27 */ +static int hf_nr_rrc_sl_Additional_MCS_Table_r16 = -1; /* T_sl_Additional_MCS_Table_r16 */ +static int hf_nr_rrc_sl_ThreshS_RSSI_CBR_r16 = -1; /* INTEGER_0_45 */ +static int hf_nr_rrc_sl_TimeWindowSizeCBR_r16 = -1; /* T_sl_TimeWindowSizeCBR_r16 */ +static int hf_nr_rrc_sl_TimeWindowSizeCR_r16 = -1; /* T_sl_TimeWindowSizeCR_r16 */ +static int hf_nr_rrc_sl_PTRS_Config_r16 = -1; /* SL_PTRS_Config_r16 */ +static int hf_nr_rrc_sl_UE_SelectedConfigRP_r16 = -1; /* SL_UE_SelectedConfigRP_r16 */ +static int hf_nr_rrc_sl_RxParametersNcell_r16 = -1; /* T_sl_RxParametersNcell_r16 */ +static int hf_nr_rrc_sl_TDD_Configuration_r16 = -1; /* TDD_UL_DL_ConfigCommon */ +static int hf_nr_rrc_sl_SyncConfigIndex_r16 = -1; /* INTEGER_0_15 */ +static int hf_nr_rrc_sl_ZoneConfigMCR_List_r16 = -1; /* SEQUENCE_SIZE_16_OF_SL_ZoneConfigMCR_r16 */ +static int hf_nr_rrc_sl_ZoneConfigMCR_List_r16_item = -1; /* SL_ZoneConfigMCR_r16 */ +static int hf_nr_rrc_sl_FilterCoefficient_r16 = -1; /* FilterCoefficient */ +static int hf_nr_rrc_sl_RB_Number_r16 = -1; /* INTEGER_10_275 */ +static int hf_nr_rrc_sl_PreemptionEnable_r16 = -1; /* T_sl_PreemptionEnable_r16 */ +static int hf_nr_rrc_sl_PriorityThreshold_UL_URLLC_r16 = -1; /* INTEGER_1_9 */ +static int hf_nr_rrc_sl_PriorityThreshold_r16_01 = -1; /* INTEGER_1_9 */ +static int hf_nr_rrc_sl_X_Overhead_r16 = -1; /* T_sl_X_Overhead_r16 */ +static int hf_nr_rrc_sl_PowerControl_r16 = -1; /* SL_PowerControl_r16 */ +static int hf_nr_rrc_sl_TxPercentageList_r16 = -1; /* SL_TxPercentageList_r16 */ +static int hf_nr_rrc_sl_MinMaxMCS_List_r16 = -1; /* SL_MinMaxMCS_List_r16 */ +static int hf_nr_rrc_sl_ZoneConfigMCR_Index_r16 = -1; /* INTEGER_0_15 */ +static int hf_nr_rrc_sl_TransRange_r16_01 = -1; /* T_sl_TransRange_r16_01 */ +static int hf_nr_rrc_sl_ZoneConfig_r16 = -1; /* SL_ZoneConfig_r16 */ +static int hf_nr_rrc_gnss_Sync_r16 = -1; /* T_gnss_Sync_r16 */ +static int hf_nr_rrc_gnbEnb_Sync_r16 = -1; /* T_gnbEnb_Sync_r16 */ +static int hf_nr_rrc_ue_Sync_r16 = -1; /* T_ue_Sync_r16 */ +static int hf_nr_rrc_sl_TimeResourcePSCCH_r16 = -1; /* T_sl_TimeResourcePSCCH_r16 */ +static int hf_nr_rrc_sl_FreqResourcePSCCH_r16 = -1; /* T_sl_FreqResourcePSCCH_r16 */ +static int hf_nr_rrc_sl_DMRS_ScrambleID_r16 = -1; /* INTEGER_0_65535 */ +static int hf_nr_rrc_sl_NumReservedBits_r16 = -1; /* INTEGER_2_4 */ +static int hf_nr_rrc_sl_PSSCH_DMRS_TimePatternList_r16 = -1; /* T_sl_PSSCH_DMRS_TimePatternList_r16 */ +static int hf_nr_rrc_sl_PSSCH_DMRS_TimePatternList_r16_item = -1; /* INTEGER_2_4 */ +static int hf_nr_rrc_sl_BetaOffsets2ndSCI_r16 = -1; /* SEQUENCE_SIZE_4_OF_SL_BetaOffsets_r16 */ +static int hf_nr_rrc_sl_BetaOffsets2ndSCI_r16_item = -1; /* SL_BetaOffsets_r16 */ +static int hf_nr_rrc_sl_Scaling_r16 = -1; /* T_sl_Scaling_r16 */ +static int hf_nr_rrc_sl_PSFCH_Period_r16 = -1; /* T_sl_PSFCH_Period_r16 */ +static int hf_nr_rrc_sl_PSFCH_RB_Set_r16 = -1; /* BIT_STRING_SIZE_10_275 */ +static int hf_nr_rrc_sl_NumMuxCS_Pair_r16 = -1; /* T_sl_NumMuxCS_Pair_r16 */ +static int hf_nr_rrc_sl_MinTimeGapPSFCH_r16 = -1; /* T_sl_MinTimeGapPSFCH_r16 */ +static int hf_nr_rrc_sl_PSFCH_HopID_r16 = -1; /* INTEGER_0_1023 */ +static int hf_nr_rrc_sl_PSFCH_CandidateResourceType_r16 = -1; /* T_sl_PSFCH_CandidateResourceType_r16 */ +static int hf_nr_rrc_sl_PTRS_FreqDensity_r16 = -1; /* T_sl_PTRS_FreqDensity_r16 */ +static int hf_nr_rrc_sl_PTRS_FreqDensity_r16_item = -1; /* INTEGER_1_276 */ +static int hf_nr_rrc_sl_PTRS_TimeDensity_r16 = -1; /* T_sl_PTRS_TimeDensity_r16 */ +static int hf_nr_rrc_sl_PTRS_TimeDensity_r16_item = -1; /* INTEGER_0_29 */ +static int hf_nr_rrc_sl_PTRS_RE_Offset_r16 = -1; /* T_sl_PTRS_RE_Offset_r16 */ +static int hf_nr_rrc_sl_CBR_PriorityTxConfigList_r16 = -1; /* SL_CBR_PriorityTxConfigList_r16 */ +static int hf_nr_rrc_sl_ThresPSSCH_RSRP_List_r16 = -1; /* SL_ThresPSSCH_RSRP_List_r16 */ +static int hf_nr_rrc_sl_MultiReserveResource_r16 = -1; /* T_sl_MultiReserveResource_r16 */ +static int hf_nr_rrc_sl_MaxNumPerReserve_r16 = -1; /* T_sl_MaxNumPerReserve_r16 */ +static int hf_nr_rrc_sl_SensingWindow_r16 = -1; /* T_sl_SensingWindow_r16 */ +static int hf_nr_rrc_sl_SelectionWindowList_r16 = -1; /* SL_SelectionWindowList_r16 */ +static int hf_nr_rrc_sl_ResourceReservePeriodList_r16 = -1; /* SEQUENCE_SIZE_1_16_OF_SL_ResourceReservePeriod_r16 */ +static int hf_nr_rrc_sl_ResourceReservePeriodList_r16_item = -1; /* SL_ResourceReservePeriod_r16 */ +static int hf_nr_rrc_sl_RS_ForSensing_r16 = -1; /* T_sl_RS_ForSensing_r16 */ +static int hf_nr_rrc_sl_ResourceReservePeriod1_r16 = -1; /* T_sl_ResourceReservePeriod1_r16 */ +static int hf_nr_rrc_sl_ResourceReservePeriod2_r16 = -1; /* INTEGER_1_99 */ +static int hf_nr_rrc_SL_SelectionWindowList_r16_item = -1; /* SL_SelectionWindowConfig_r16 */ +static int hf_nr_rrc_sl_SelectionWindow_r16 = -1; /* T_sl_SelectionWindow_r16 */ +static int hf_nr_rrc_SL_TxPercentageList_r16_item = -1; /* SL_TxPercentageConfig_r16 */ +static int hf_nr_rrc_sl_TxPercentage_r16 = -1; /* T_sl_TxPercentage_r16 */ +static int hf_nr_rrc_SL_MinMaxMCS_List_r16_item = -1; /* SL_MinMaxMCS_Config_r16 */ +static int hf_nr_rrc_sl_MCS_Table_r16 = -1; /* T_sl_MCS_Table_r16 */ +static int hf_nr_rrc_sl_MaxTransPower_r16 = -1; /* INTEGER_M30_33 */ +static int hf_nr_rrc_sl_Alpha_PSSCH_PSCCH_r16 = -1; /* T_sl_Alpha_PSSCH_PSCCH_r16 */ +static int hf_nr_rrc_dl_Alpha_PSSCH_PSCCH_r16 = -1; /* T_dl_Alpha_PSSCH_PSCCH_r16 */ +static int hf_nr_rrc_sl_P0_PSSCH_PSCCH_r16 = -1; /* INTEGER_M16_15 */ +static int hf_nr_rrc_dl_P0_PSSCH_PSCCH_r16 = -1; /* INTEGER_M16_15 */ +static int hf_nr_rrc_dl_Alpha_PSFCH_r16 = -1; /* T_dl_Alpha_PSFCH_r16 */ +static int hf_nr_rrc_dl_P0_PSFCH_r16 = -1; /* INTEGER_M16_15 */ +static int hf_nr_rrc_sl_RLC_BearerConfigIndex_r16 = -1; /* SL_RLC_BearerConfigIndex_r16 */ +static int hf_nr_rrc_sl_ServedRadioBearer_r16 = -1; /* SLRB_Uu_ConfigIndex_r16 */ +static int hf_nr_rrc_sl_RLC_Config_r16 = -1; /* SL_RLC_Config_r16 */ +static int hf_nr_rrc_sl_MAC_LogicalChannelConfig_r16 = -1; /* SL_LogicalChannelConfig_r16 */ +static int hf_nr_rrc_sl_AM_RLC_r16 = -1; /* T_sl_AM_RLC_r16 */ +static int hf_nr_rrc_sl_SN_FieldLengthAM_r16 = -1; /* SN_FieldLengthAM */ +static int hf_nr_rrc_sl_T_PollRetransmit_r16 = -1; /* T_PollRetransmit */ +static int hf_nr_rrc_sl_PollPDU_r16 = -1; /* PollPDU */ +static int hf_nr_rrc_sl_PollByte_r16 = -1; /* PollByte */ +static int hf_nr_rrc_sl_MaxRetxThreshold_r16 = -1; /* T_sl_MaxRetxThreshold_r16 */ +static int hf_nr_rrc_sl_UM_RLC_r16 = -1; /* T_sl_UM_RLC_r16 */ +static int hf_nr_rrc_sl_SN_FieldLengthUM_r16 = -1; /* SN_FieldLengthUM */ +static int hf_nr_rrc_sl_RNTI_r16 = -1; /* RNTI_Value */ +static int hf_nr_rrc_mac_MainConfigSL_r16 = -1; /* MAC_MainConfigSL_r16 */ +static int hf_nr_rrc_sl_Timing_Config_r16 = -1; /* SL_TimingConfig_r16 */ +static int hf_nr_rrc_sl_CS_RNTI_r16 = -1; /* RNTI_Value */ +static int hf_nr_rrc_sl_PSFCH_ToPUCCH_r16 = -1; /* T_sl_PSFCH_ToPUCCH_r16 */ +static int hf_nr_rrc_sl_PSFCH_ToPUCCH_r16_item = -1; /* INTEGER_0_15 */ +static int hf_nr_rrc_sl_ConfiguredGrantConfigList_r16 = -1; /* SL_ConfiguredGrantConfigList_r16 */ +static int hf_nr_rrc_sl_BSR_Config_r16 = -1; /* BSR_Config */ +static int hf_nr_rrc_ul_PrioritizationThres_r16 = -1; /* INTEGER_1_16 */ +static int hf_nr_rrc_sl_PrioritizationThres_r16 = -1; /* INTEGER_1_8 */ +static int hf_nr_rrc_sl_DCI_ToSL_Trans_r16 = -1; /* T_sl_DCI_ToSL_Trans_r16 */ +static int hf_nr_rrc_sl_ConfiguredGrantConfigToReleaseList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfigIndexCG_r16 */ +static int hf_nr_rrc_sl_ConfiguredGrantConfigToReleaseList_r16_item = -1; /* SL_ConfigIndexCG_r16 */ +static int hf_nr_rrc_sl_ConfiguredGrantConfigToAddModList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfiguredGrantConfig_r16 */ +static int hf_nr_rrc_sl_ConfiguredGrantConfigToAddModList_r16_item = -1; /* SL_ConfiguredGrantConfig_r16 */ +static int hf_nr_rrc_sl_SDAP_Header_r16 = -1; /* T_sl_SDAP_Header_r16 */ +static int hf_nr_rrc_sl_DefaultRB_r16 = -1; /* BOOLEAN */ +static int hf_nr_rrc_sl_MappedQoS_Flows_r16 = -1; /* T_sl_MappedQoS_Flows_r16 */ +static int hf_nr_rrc_sl_MappedQoS_FlowsList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16 */ +static int hf_nr_rrc_sl_MappedQoS_FlowsList_r16_item = -1; /* SL_QoS_Profile_r16 */ +static int hf_nr_rrc_sl_MappedQoS_FlowsListDedicated_r16 = -1; /* SL_MappedQoS_FlowsListDedicated_r16 */ +static int hf_nr_rrc_sl_CastType_r16_01 = -1; /* T_sl_CastType_r16_01 */ +static int hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16 */ +static int hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16_item = -1; /* SL_QoS_FlowIdentity_r16 */ +static int hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_16 = -1; /* SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16 */ +static int hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_16_item = -1; /* SL_QoS_FlowIdentity_r16 */ +static int hf_nr_rrc_SL_SyncConfigList_r16_item = -1; /* SL_SyncConfig_r16 */ +static int hf_nr_rrc_sl_SyncRefMinHyst_r16 = -1; /* T_sl_SyncRefMinHyst_r16 */ +static int hf_nr_rrc_sl_SyncRefDiffHyst_r16 = -1; /* T_sl_SyncRefDiffHyst_r16 */ +static int hf_nr_rrc_sl_filterCoefficient_r16 = -1; /* FilterCoefficient */ +static int hf_nr_rrc_sl_SSB_TimeAllocation1_r16 = -1; /* SL_SSB_TimeAllocation_r16 */ +static int hf_nr_rrc_sl_SSB_TimeAllocation2_r16 = -1; /* SL_SSB_TimeAllocation_r16 */ +static int hf_nr_rrc_sl_SSB_TimeAllocation3_r16 = -1; /* SL_SSB_TimeAllocation_r16 */ +static int hf_nr_rrc_sl_SSID_r16 = -1; /* INTEGER_0_671 */ +static int hf_nr_rrc_txParameters_r16 = -1; /* T_txParameters_r16 */ +static int hf_nr_rrc_syncTxThreshIC_r16 = -1; /* SL_RSRP_Range_r16 */ +static int hf_nr_rrc_syncTxThreshOoC_r16 = -1; /* SL_RSRP_Range_r16 */ +static int hf_nr_rrc_syncInfoReserved_r16 = -1; /* BIT_STRING_SIZE_2 */ +static int hf_nr_rrc_gnss_Sync_r16_01 = -1; /* T_gnss_Sync_r16_01 */ +static int hf_nr_rrc_sl_NumSSB_WithinPeriod_r16 = -1; /* T_sl_NumSSB_WithinPeriod_r16 */ +static int hf_nr_rrc_sl_TimeOffsetSSB_r16 = -1; /* INTEGER_0_1279 */ +static int hf_nr_rrc_sl_TimeInterval_r16 = -1; /* INTEGER_0_639 */ +static int hf_nr_rrc_SL_ThresPSSCH_RSRP_List_r16_item = -1; /* SL_ThresPSSCH_RSRP_r16 */ +static int hf_nr_rrc_minusinfinity_r16 = -1; /* NULL */ +static int hf_nr_rrc_txPower_r16 = -1; /* INTEGER_M30_33 */ +static int hf_nr_rrc_sl_PSSCH_TxConfigList_r16 = -1; /* SL_PSSCH_TxConfigList_r16 */ +static int hf_nr_rrc_sl_ProbResourceKeep_r16 = -1; /* T_sl_ProbResourceKeep_r16 */ +static int hf_nr_rrc_sl_ReselectAfter_r16 = -1; /* T_sl_ReselectAfter_r16 */ +static int hf_nr_rrc_sl_CBR_CommonTxConfigList_r16 = -1; /* SL_CBR_CommonTxConfigList_r16 */ +static int hf_nr_rrc_sl_ZoneLength_r16 = -1; /* T_sl_ZoneLength_r16 */ +static int hf_nr_rrc_message_08 = -1; /* SBCCH_SL_BCH_MessageType */ +static int hf_nr_rrc_c1_17 = -1; /* T_c1_17 */ +static int hf_nr_rrc_masterInformationBlockSidelink = -1; /* MasterInformationBlockSidelink */ +static int hf_nr_rrc_messageClassExtension_08 = -1; /* T_messageClassExtension_08 */ +static int hf_nr_rrc_message_09 = -1; /* SCCH_MessageType */ +static int hf_nr_rrc_c1_18 = -1; /* T_c1_18 */ +static int hf_nr_rrc_measurementReportSidelink = -1; /* MeasurementReportSidelink */ +static int hf_nr_rrc_rrcReconfigurationSidelink = -1; /* RRCReconfigurationSidelink */ +static int hf_nr_rrc_rrcReconfigurationCompleteSidelink = -1; /* RRCReconfigurationCompleteSidelink */ +static int hf_nr_rrc_rrcReconfigurationFailureSidelink = -1; /* RRCReconfigurationFailureSidelink */ +static int hf_nr_rrc_ueCapabilityEnquirySidelink = -1; /* UECapabilityEnquirySidelink */ +static int hf_nr_rrc_ueCapabilityInformationSidelink = -1; /* UECapabilityInformationSidelink */ +static int hf_nr_rrc_messageClassExtension_09 = -1; /* T_messageClassExtension_09 */ +static int hf_nr_rrc_sl_TDD_Config_r16 = -1; /* BIT_STRING_SIZE_12 */ +static int hf_nr_rrc_inCoverage_r16 = -1; /* BOOLEAN */ +static int hf_nr_rrc_directFrameNumber_r16 = -1; /* BIT_STRING_SIZE_10 */ +static int hf_nr_rrc_slotIndex_r16_01 = -1; /* BIT_STRING_SIZE_7 */ +static int hf_nr_rrc_reservedBits_r16 = -1; /* BIT_STRING_SIZE_2 */ +static int hf_nr_rrc_criticalExtensions_47 = -1; /* T_criticalExtensions_47 */ +static int hf_nr_rrc_measurementReportSidelink_r16 = -1; /* MeasurementReportSidelink_IEs_r16 */ +static int hf_nr_rrc_criticalExtensionsFuture_47 = -1; /* T_criticalExtensionsFuture_47 */ +static int hf_nr_rrc_sl_measResults_r16 = -1; /* SL_MeasResults_r16 */ +static int hf_nr_rrc_nonCriticalExtension_95 = -1; /* T_nonCriticalExtension_52 */ +static int hf_nr_rrc_sl_MeasResult_r16 = -1; /* SL_MeasResult_r16 */ +static int hf_nr_rrc_sl_ResultDMRS_r16 = -1; /* SL_MeasQuantityResult_r16 */ +static int hf_nr_rrc_rrc_TransactionIdentifier_r16 = -1; /* RRC_TransactionIdentifier */ +static int hf_nr_rrc_criticalExtensions_48 = -1; /* T_criticalExtensions_48 */ +static int hf_nr_rrc_rrcReconfigurationSidelink_r16 = -1; /* RRCReconfigurationSidelink_IEs_r16 */ +static int hf_nr_rrc_criticalExtensionsFuture_48 = -1; /* T_criticalExtensionsFuture_48 */ +static int hf_nr_rrc_slrb_ConfigToAddModList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Config_r16 */ +static int hf_nr_rrc_slrb_ConfigToAddModList_r16_item = -1; /* SLRB_Config_r16 */ +static int hf_nr_rrc_slrb_ConfigToReleaseList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_PC5_ConfigIndex_r16 */ +static int hf_nr_rrc_slrb_ConfigToReleaseList_r16_item = -1; /* SLRB_PC5_ConfigIndex_r16 */ +static int hf_nr_rrc_sl_MeasConfig_r16_01 = -1; /* T_sl_MeasConfig_r16 */ +static int hf_nr_rrc_setup_125 = -1; /* SL_MeasConfig_r16 */ +static int hf_nr_rrc_sl_CSI_RS_Config_r16 = -1; /* T_sl_CSI_RS_Config_r16 */ +static int hf_nr_rrc_setup_126 = -1; /* SL_CSI_RS_Config_r16 */ +static int hf_nr_rrc_sl_ResetConfig_r16 = -1; /* T_sl_ResetConfig_r16 */ +static int hf_nr_rrc_sl_LatencyBoundCSI_Report_r16 = -1; /* INTEGER_3_160 */ +static int hf_nr_rrc_nonCriticalExtension_96 = -1; /* T_nonCriticalExtension_53 */ +static int hf_nr_rrc_slrb_PC5_ConfigIndex_r16 = -1; /* SLRB_PC5_ConfigIndex_r16 */ +static int hf_nr_rrc_sl_SDAP_ConfigPC5_r16 = -1; /* SL_SDAP_ConfigPC5_r16 */ +static int hf_nr_rrc_sl_PDCP_ConfigPC5_r16 = -1; /* SL_PDCP_ConfigPC5_r16 */ +static int hf_nr_rrc_sl_RLC_ConfigPC5_r16 = -1; /* SL_RLC_ConfigPC5_r16 */ +static int hf_nr_rrc_sl_MAC_LogicalChannelConfigPC5_r16 = -1; /* SL_LogicalChannelConfigPC5_r16 */ +static int hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16_01 = -1; /* SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PFI_r16 */ +static int hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16_item_01 = -1; /* SL_PFI_r16 */ +static int hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_r16 = -1; /* SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PFI_r16 */ +static int hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_r16_item = -1; /* SL_PFI_r16 */ +static int hf_nr_rrc_sl_PDCP_SN_Size_r16_01 = -1; /* T_sl_PDCP_SN_Size_r16_01 */ +static int hf_nr_rrc_sl_OutOfOrderDelivery_01 = -1; /* T_sl_OutOfOrderDelivery_01 */ +static int hf_nr_rrc_sl_AM_RLC_r16_01 = -1; /* T_sl_AM_RLC_r16_01 */ +static int hf_nr_rrc_sl_UM_Bi_Directional_RLC_r16 = -1; /* T_sl_UM_Bi_Directional_RLC_r16 */ +static int hf_nr_rrc_sl_UM_Uni_Directional_RLC_r16 = -1; /* T_sl_UM_Uni_Directional_RLC_r16 */ +static int hf_nr_rrc_sl_LogicalChannelIdentity_r16 = -1; /* LogicalChannelIdentity */ +static int hf_nr_rrc_sl_CSI_RS_FreqAllocation_r16 = -1; /* T_sl_CSI_RS_FreqAllocation_r16 */ +static int hf_nr_rrc_sl_OneAntennaPort_r16 = -1; /* BIT_STRING_SIZE_12 */ +static int hf_nr_rrc_sl_TwoAntennaPort_r16 = -1; /* BIT_STRING_SIZE_6 */ +static int hf_nr_rrc_sl_CSI_RS_FirstSymbol_r16 = -1; /* INTEGER_3_12 */ +static int hf_nr_rrc_criticalExtensions_49 = -1; /* T_criticalExtensions_49 */ +static int hf_nr_rrc_rrcReconfigurationCompleteSidelink_r16 = -1; /* RRCReconfigurationCompleteSidelink_IEs_r16 */ +static int hf_nr_rrc_criticalExtensionsFuture_49 = -1; /* T_criticalExtensionsFuture_49 */ +static int hf_nr_rrc_nonCriticalExtension_97 = -1; /* T_nonCriticalExtension_54 */ +static int hf_nr_rrc_criticalExtensions_50 = -1; /* T_criticalExtensions_50 */ +static int hf_nr_rrc_rrcReconfigurationFailureSidelink_r16 = -1; /* RRCReconfigurationFailureSidelink_IEs_r16 */ +static int hf_nr_rrc_criticalExtensionsFuture_50 = -1; /* T_criticalExtensionsFuture_50 */ +static int hf_nr_rrc_nonCriticalExtension_98 = -1; /* T_nonCriticalExtension_55 */ +static int hf_nr_rrc_criticalExtensions_51 = -1; /* T_criticalExtensions_51 */ +static int hf_nr_rrc_ueCapabilityEnquirySidelink_r16 = -1; /* UECapabilityEnquirySidelink_IEs_r16 */ +static int hf_nr_rrc_criticalExtensionsFuture_51 = -1; /* T_criticalExtensionsFuture_51 */ +static int hf_nr_rrc_ueCapabilityRequestFilterSidelink_r16 = -1; /* UE_CapabilityRequestFilterSidelink_r16 */ +static int hf_nr_rrc_ue_CapabilityInformationSidelink_r16 = -1; /* OCTET_STRING */ +static int hf_nr_rrc_nonCriticalExtension_99 = -1; /* T_nonCriticalExtension_56 */ +static int hf_nr_rrc_criticalExtensions_52 = -1; /* T_criticalExtensions_52 */ +static int hf_nr_rrc_ueCapabilityInformationSidelink_r16 = -1; /* UECapabilityInformationSidelink_IEs_r16 */ +static int hf_nr_rrc_criticalExtensionsFuture_52 = -1; /* T_criticalExtensionsFuture_52 */ +static int hf_nr_rrc_accessStratumReleaseSidelink_r16 = -1; /* AccessStratumReleaseSidelink_r16 */ +static int hf_nr_rrc_pdcp_ParametersSidelink_r16 = -1; /* PDCP_ParametersSidelink_r16 */ +static int hf_nr_rrc_rlc_ParametersSidelink_r16_01 = -1; /* PC5_RLC_ParametersSidelink_r16 */ +static int hf_nr_rrc_nonCriticalExtension_100 = -1; /* T_nonCriticalExtension_57 */ +static int hf_nr_rrc_outOfOrderDeliverySidelink_r16 = -1; /* T_outOfOrderDeliverySidelink_r16 */ +static int hf_nr_rrc_am_WithLongSN_Sidelink_r16_01 = -1; /* T_am_WithLongSN_Sidelink_r16_01 */ +static int hf_nr_rrc_um_WithLongSN_Sidelink_r16_01 = -1; /* T_um_WithLongSN_Sidelink_r16_01 */ +static int hf_nr_rrc_frequencyBandListFilterSidelink_r16 = -1; /* FreqBandList */ +static int hf_nr_rrc_nonCriticalExtension_101 = -1; /* T_nonCriticalExtension_58 */ static int dummy_hf_nr_rrc_eag_field = -1; /* never registered */ /*--- End of included file: packet-nr-rrc-hf.c ---*/ -#line 64 "./asn1/nr-rrc/packet-nr-rrc-template.c" +#line 66 "./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; @@ -3317,6 +5914,7 @@ 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; +static int hf_nr_rrc_absolute_time = -1; /* Initialize the subtree pointers */ static gint ett_nr_rrc = -1; @@ -3337,6 +5935,8 @@ 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_ConfigRestrictInfoDAPS_r16 = -1; +static gint ett_nr_rrc_T_powerCoordination_r16 = -1; static gint ett_nr_rrc_ReestablishmentInfo = -1; static gint ett_nr_rrc_ReestabNCellInfoList = -1; static gint ett_nr_rrc_ReestabNCellInfo = -1; @@ -3355,6 +5955,7 @@ static gint ett_nr_rrc_T_requestedCellInfoEUTRA = -1; static gint ett_nr_rrc_CG_Config_v1590_IEs = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueNR = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueEUTRA = -1; +static gint ett_nr_rrc_CG_Config_v1610_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_02 = -1; static gint ett_nr_rrc_PH_TypeListSCG = -1; static gint ett_nr_rrc_PH_InfoSCG = -1; @@ -3381,6 +5982,9 @@ static gint ett_nr_rrc_T_scgFailureInfoEUTRA = -1; static gint ett_nr_rrc_T_measResultReportCGI_EUTRA = -1; static gint ett_nr_rrc_CG_ConfigInfo_v1570_IEs = -1; static gint ett_nr_rrc_CG_ConfigInfo_v1590_IEs = -1; +static gint ett_nr_rrc_CG_ConfigInfo_v1610_IEs = -1; +static gint ett_nr_rrc_T_scgFailureInfo_r16 = -1; +static gint ett_nr_rrc_T_scgFailureInfoEUTRA_r16 = -1; static gint ett_nr_rrc_T_nonCriticalExtension_03 = -1; static gint ett_nr_rrc_SFTD_FrequencyList_NR = -1; static gint ett_nr_rrc_SFTD_FrequencyList_EUTRA = -1; @@ -3388,6 +5992,7 @@ static gint ett_nr_rrc_ConfigRestrictInfoSCG = -1; static gint ett_nr_rrc_T_powerCoordination_FR1 = -1; static gint ett_nr_rrc_T_servCellIndexRangeSCG = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN = -1; +static gint ett_nr_rrc_T_powerCoordination_FR2_r16 = -1; static gint ett_nr_rrc_SelectedBandEntriesMN = -1; static gint ett_nr_rrc_PH_TypeListMCG = -1; static gint ett_nr_rrc_PH_InfoMCG = -1; @@ -3398,6 +6003,8 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryI 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_DRX_Info2 = -1; +static gint ett_nr_rrc_T_drx_onDurationTimer = -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; @@ -3415,6 +6022,8 @@ static gint ett_nr_rrc_T_c1_04 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_04 = -1; static gint ett_nr_rrc_MeasurementTimingConfiguration_IEs = -1; static gint ett_nr_rrc_MeasurementTimingConfiguration_v1550_IEs = -1; +static gint ett_nr_rrc_MeasurementTimingConfiguration_v1610_IEs = -1; +static gint ett_nr_rrc_T_csi_RS_Config_r16 = -1; static gint ett_nr_rrc_T_nonCriticalExtension_04 = -1; static gint ett_nr_rrc_MeasTimingList = -1; static gint ett_nr_rrc_MeasTiming = -1; @@ -3463,6 +6072,8 @@ static gint ett_nr_rrc_UL_DCCH_Message = -1; static gint ett_nr_rrc_UL_DCCH_MessageType = -1; static gint ett_nr_rrc_T_c1_13 = -1; static gint ett_nr_rrc_T_messageClassExtension_07 = -1; +static gint ett_nr_rrc_T_c2 = -1; +static gint ett_nr_rrc_T_messageClassExtensionFuture_r16 = -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; @@ -3477,85 +6088,165 @@ 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_DedicatedSIBRequest_r16 = -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_DedicatedSIBRequest_r16_IEs = -1; +static gint ett_nr_rrc_T_onDemandSIB_RequestList_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandSIB_r16_OF_SIB_ReqInfo_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandPosSIB_r16_OF_PosSIB_ReqInfo_r16 = -1; static gint ett_nr_rrc_T_nonCriticalExtension_09 = -1; -static gint ett_nr_rrc_FailureInformation = -1; +static gint ett_nr_rrc_PosSIB_ReqInfo_r16 = -1; +static gint ett_nr_rrc_DLDedicatedMessageSegment_r16 = -1; static gint ett_nr_rrc_T_criticalExtensions_10 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_10 = -1; -static gint ett_nr_rrc_FailureInformation_IEs = -1; +static gint ett_nr_rrc_DLDedicatedMessageSegment_r16_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_10 = -1; -static gint ett_nr_rrc_FailureInfoRLC_Bearer = -1; -static gint ett_nr_rrc_LocationMeasurementIndication = -1; +static gint ett_nr_rrc_DLInformationTransfer = -1; static gint ett_nr_rrc_T_criticalExtensions_11 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_11 = -1; -static gint ett_nr_rrc_LocationMeasurementIndication_IEs = -1; -static gint ett_nr_rrc_T_measurementIndication = -1; +static gint ett_nr_rrc_DLInformationTransfer_IEs = -1; +static gint ett_nr_rrc_DLInformationTransfer_v1610_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_11 = -1; -static gint ett_nr_rrc_MeasurementReport = -1; +static gint ett_nr_rrc_DLInformationTransferMRDC_r16 = -1; static gint ett_nr_rrc_T_criticalExtensions_12 = -1; +static gint ett_nr_rrc_T_c1_14 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_12 = -1; -static gint ett_nr_rrc_MeasurementReport_IEs = -1; +static gint ett_nr_rrc_DLInformationTransferMRDC_r16_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_12 = -1; -static gint ett_nr_rrc_MIB = -1; -static gint ett_nr_rrc_MobilityFromNRCommand = -1; +static gint ett_nr_rrc_FailureInformation = -1; static gint ett_nr_rrc_T_criticalExtensions_13 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_13 = -1; -static gint ett_nr_rrc_MobilityFromNRCommand_IEs = -1; +static gint ett_nr_rrc_FailureInformation_IEs = -1; +static gint ett_nr_rrc_FailureInfoRLC_Bearer = -1; +static gint ett_nr_rrc_FailureInformation_v1610_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_13 = -1; -static gint ett_nr_rrc_Paging = -1; +static gint ett_nr_rrc_FailureInfoDAPS_r16 = -1; +static gint ett_nr_rrc_IABOtherInformation_r16 = -1; +static gint ett_nr_rrc_T_criticalExtensions_14 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_14 = -1; +static gint ett_nr_rrc_IABOtherInformation_r16_IEs = -1; +static gint ett_nr_rrc_T_ip_InfoType = -1; +static gint ett_nr_rrc_T_iab_IP_Request_r16 = -1; +static gint ett_nr_rrc_T_iab_IPv6_AddressReq_r16 = -1; +static gint ett_nr_rrc_T_iab_IP_Report_r16 = -1; +static gint ett_nr_rrc_T_iab_IPv6_Report_r16 = -1; static gint ett_nr_rrc_T_nonCriticalExtension_14 = -1; +static gint ett_nr_rrc_IAB_IPAddressNumReq_r16 = -1; +static gint ett_nr_rrc_IAB_IPAddressPrefixReq_r16 = -1; +static gint ett_nr_rrc_IAB_IP_AddressAndTraffic_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16 = -1; +static gint ett_nr_rrc_IAB_IP_PrefixAndTraffic_r16 = -1; +static gint ett_nr_rrc_LocationMeasurementIndication = -1; +static gint ett_nr_rrc_T_criticalExtensions_15 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_15 = -1; +static gint ett_nr_rrc_LocationMeasurementIndication_IEs = -1; +static gint ett_nr_rrc_T_measurementIndication = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_15 = -1; +static gint ett_nr_rrc_LoggedMeasurementConfiguration_r16 = -1; +static gint ett_nr_rrc_T_criticalExtensions_16 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_16 = -1; +static gint ett_nr_rrc_LoggedMeasurementConfiguration_r16_IEs = -1; +static gint ett_nr_rrc_T_bt_NameList_r16 = -1; +static gint ett_nr_rrc_T_wlan_NameList_r16 = -1; +static gint ett_nr_rrc_T_sensor_NameList_r16 = -1; +static gint ett_nr_rrc_T_reportType = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_16 = -1; +static gint ett_nr_rrc_LoggedPeriodicalReportConfig_r16 = -1; +static gint ett_nr_rrc_LoggedEventTriggerConfig_r16 = -1; +static gint ett_nr_rrc_EventType_r16 = -1; +static gint ett_nr_rrc_T_eventL1 = -1; +static gint ett_nr_rrc_MCGFailureInformation_r16 = -1; +static gint ett_nr_rrc_T_criticalExtensions_17 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_17 = -1; +static gint ett_nr_rrc_MCGFailureInformation_r16_IEs = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_17 = -1; +static gint ett_nr_rrc_FailureReportMCG_r16 = -1; +static gint ett_nr_rrc_MeasResultList2UTRA = -1; +static gint ett_nr_rrc_MeasResult2UTRA_FDD_r16 = -1; +static gint ett_nr_rrc_MeasResultList2EUTRA = -1; +static gint ett_nr_rrc_MeasurementReport = -1; +static gint ett_nr_rrc_T_criticalExtensions_18 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_18 = -1; +static gint ett_nr_rrc_MeasurementReport_IEs = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_18 = -1; +static gint ett_nr_rrc_MIB = -1; +static gint ett_nr_rrc_MobilityFromNRCommand = -1; +static gint ett_nr_rrc_T_criticalExtensions_19 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_19 = -1; +static gint ett_nr_rrc_MobilityFromNRCommand_IEs = -1; +static gint ett_nr_rrc_MobilityFromNRCommand_v1610_IEs = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_19 = -1; +static gint ett_nr_rrc_Paging = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_20 = -1; static gint ett_nr_rrc_PagingRecordList = -1; static gint ett_nr_rrc_PagingRecord = -1; static gint ett_nr_rrc_PagingUE_Identity = -1; static gint ett_nr_rrc_RRCReestablishment = -1; -static gint ett_nr_rrc_T_criticalExtensions_14 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_14 = -1; +static gint ett_nr_rrc_T_criticalExtensions_20 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_20 = -1; static gint ett_nr_rrc_RRCReestablishment_IEs = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_15 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_21 = -1; static gint ett_nr_rrc_RRCReestablishmentComplete = -1; -static gint ett_nr_rrc_T_criticalExtensions_15 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_15 = -1; +static gint ett_nr_rrc_T_criticalExtensions_21 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_21 = -1; static gint ett_nr_rrc_RRCReestablishmentComplete_IEs = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_16 = -1; +static gint ett_nr_rrc_RRCReestablishmentComplete_v1610_IEs = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_22 = -1; static gint ett_nr_rrc_RRCReestablishmentRequest = -1; static gint ett_nr_rrc_RRCReestablishmentRequest_IEs = -1; static gint ett_nr_rrc_ReestabUE_Identity = -1; static gint ett_nr_rrc_RRCReconfiguration = -1; -static gint ett_nr_rrc_T_criticalExtensions_16 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_16 = -1; +static gint ett_nr_rrc_T_criticalExtensions_22 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_22 = -1; static gint ett_nr_rrc_RRCReconfiguration_IEs = -1; static gint ett_nr_rrc_RRCReconfiguration_v1530_IEs = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message = -1; static gint ett_nr_rrc_RRCReconfiguration_v1540_IEs = -1; static gint ett_nr_rrc_RRCReconfiguration_v1560_IEs = -1; static gint ett_nr_rrc_T_mrdc_SecondaryCellGroupConfig = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_17 = -1; +static gint ett_nr_rrc_RRCReconfiguration_v1610_IEs = -1; +static gint ett_nr_rrc_T_bap_Config_r16 = -1; +static gint ett_nr_rrc_T_t316_r16 = -1; +static gint ett_nr_rrc_T_needForGapsConfigNR_r16 = -1; +static gint ett_nr_rrc_T_onDemandSIB_Request_r16 = -1; +static gint ett_nr_rrc_T_sl_ConfigDedicatedNR_r16 = -1; +static gint ett_nr_rrc_T_sl_ConfigDedicatedEUTRA_Info_r16 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_23 = -1; static gint ett_nr_rrc_MRDC_SecondaryCellGroupConfig = -1; static gint ett_nr_rrc_T_mrdc_SecondaryCellGroup = -1; +static gint ett_nr_rrc_BAP_Config_r16 = -1; static gint ett_nr_rrc_MasterKeyUpdate = -1; +static gint ett_nr_rrc_OnDemandSIB_Request_r16 = -1; +static gint ett_nr_rrc_IAB_IP_AddressConfigurationList_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressConfiguration_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressIndex_r16 = -1; +static gint ett_nr_rrc_IAB_IP_AddressConfiguration_r16 = -1; +static gint ett_nr_rrc_SL_ConfigDedicatedEUTRA_Info_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_8_OF_SL_TimeOffsetEUTRA_r16 = -1; static gint ett_nr_rrc_RRCReconfigurationComplete = -1; -static gint ett_nr_rrc_T_criticalExtensions_17 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_17 = -1; +static gint ett_nr_rrc_T_criticalExtensions_23 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_23 = -1; static gint ett_nr_rrc_RRCReconfigurationComplete_IEs = -1; static gint ett_nr_rrc_RRCReconfigurationComplete_v1530_IEs = -1; static gint ett_nr_rrc_RRCReconfigurationComplete_v1560_IEs = -1; static gint ett_nr_rrc_T_scg_Response = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_18 = -1; +static gint ett_nr_rrc_RRCReconfigurationComplete_v1610_IEs = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_24 = -1; static gint ett_nr_rrc_RRCReject = -1; -static gint ett_nr_rrc_T_criticalExtensions_18 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_18 = -1; +static gint ett_nr_rrc_T_criticalExtensions_24 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_24 = -1; static gint ett_nr_rrc_RRCReject_IEs = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_19 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_25 = -1; static gint ett_nr_rrc_RRCRelease = -1; -static gint ett_nr_rrc_T_criticalExtensions_19 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_19 = -1; +static gint ett_nr_rrc_T_criticalExtensions_25 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_25 = -1; static gint ett_nr_rrc_RRCRelease_IEs = -1; static gint ett_nr_rrc_T_deprioritisationReq = -1; static gint ett_nr_rrc_RRCRelease_v1540_IEs = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_20 = -1; +static gint ett_nr_rrc_RRCRelease_v1610_IEs = -1; +static gint ett_nr_rrc_T_measIdleConfig_r16 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_26 = -1; static gint ett_nr_rrc_RedirectedCarrierInfo = -1; static gint ett_nr_rrc_RedirectedCarrierInfo_EUTRA = -1; static gint ett_nr_rrc_CarrierInfoNR = -1; @@ -3575,141 +6266,270 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig = -1; static gint ett_nr_rrc_RAN_AreaConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_RAN_AreaCode = -1; static gint ett_nr_rrc_RRCResume = -1; -static gint ett_nr_rrc_T_criticalExtensions_20 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_20 = -1; +static gint ett_nr_rrc_T_criticalExtensions_26 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_26 = -1; static gint ett_nr_rrc_RRCResume_IEs = -1; static gint ett_nr_rrc_RRCResume_v1560_IEs = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_21 = -1; +static gint ett_nr_rrc_RRCResume_v1610_IEs = -1; +static gint ett_nr_rrc_T_mrdc_SecondaryCellGroup_r16 = -1; +static gint ett_nr_rrc_T_needForGapsConfigNR_r16_01 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_27 = -1; static gint ett_nr_rrc_RRCResumeComplete = -1; -static gint ett_nr_rrc_T_criticalExtensions_21 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_21 = -1; +static gint ett_nr_rrc_T_criticalExtensions_27 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_27 = -1; static gint ett_nr_rrc_RRCResumeComplete_IEs = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_22 = -1; +static gint ett_nr_rrc_RRCResumeComplete_v1610_IEs = -1; +static gint ett_nr_rrc_T_scg_Response_r16 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_28 = -1; static gint ett_nr_rrc_RRCResumeRequest = -1; static gint ett_nr_rrc_RRCResumeRequest_IEs = -1; static gint ett_nr_rrc_RRCResumeRequest1 = -1; static gint ett_nr_rrc_RRCResumeRequest1_IEs = -1; static gint ett_nr_rrc_RRCSetup = -1; -static gint ett_nr_rrc_T_criticalExtensions_22 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_22 = -1; +static gint ett_nr_rrc_T_criticalExtensions_28 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_28 = -1; static gint ett_nr_rrc_RRCSetup_IEs = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_23 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_29 = -1; static gint ett_nr_rrc_RRCSetupComplete = -1; -static gint ett_nr_rrc_T_criticalExtensions_23 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_23 = -1; +static gint ett_nr_rrc_T_criticalExtensions_29 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_29 = -1; static gint ett_nr_rrc_RRCSetupComplete_IEs = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI = -1; static gint ett_nr_rrc_T_ng_5G_S_TMSI_Value = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_24 = -1; +static gint ett_nr_rrc_RRCSetupComplete_v1610_IEs = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_30 = -1; static gint ett_nr_rrc_RegisteredAMF = -1; static gint ett_nr_rrc_RRCSetupRequest = -1; static gint ett_nr_rrc_RRCSetupRequest_IEs = -1; static gint ett_nr_rrc_InitialUE_Identity = -1; static gint ett_nr_rrc_RRCSystemInfoRequest = -1; -static gint ett_nr_rrc_T_criticalExtensions_24 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_24 = -1; +static gint ett_nr_rrc_T_criticalExtensions_30 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_r16 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_30 = -1; static gint ett_nr_rrc_RRCSystemInfoRequest_IEs = -1; +static gint ett_nr_rrc_RRC_PosSystemInfoRequest_r16_IEs = -1; static gint ett_nr_rrc_SCGFailureInformation = -1; -static gint ett_nr_rrc_T_criticalExtensions_25 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_25 = -1; +static gint ett_nr_rrc_T_criticalExtensions_31 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_31 = -1; static gint ett_nr_rrc_SCGFailureInformation_IEs = -1; static gint ett_nr_rrc_SCGFailureInformation_v1590_IEs = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_25 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_31 = -1; static gint ett_nr_rrc_FailureReportSCG = -1; static gint ett_nr_rrc_MeasResultFreqList = -1; static gint ett_nr_rrc_SCGFailureInformationEUTRA = -1; -static gint ett_nr_rrc_T_criticalExtensions_26 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_26 = -1; +static gint ett_nr_rrc_T_criticalExtensions_32 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_32 = -1; static gint ett_nr_rrc_SCGFailureInformationEUTRA_IEs = -1; static gint ett_nr_rrc_SCGFailureInformationEUTRA_v1590_IEs = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_26 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_32 = -1; static gint ett_nr_rrc_FailureReportSCG_EUTRA = -1; static gint ett_nr_rrc_MeasResultFreqListFailMRDC = -1; static gint ett_nr_rrc_SecurityModeCommand = -1; -static gint ett_nr_rrc_T_criticalExtensions_27 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_27 = -1; +static gint ett_nr_rrc_T_criticalExtensions_33 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_33 = -1; static gint ett_nr_rrc_SecurityModeCommand_IEs = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_27 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_33 = -1; static gint ett_nr_rrc_SecurityConfigSMC = -1; static gint ett_nr_rrc_SecurityModeComplete = -1; -static gint ett_nr_rrc_T_criticalExtensions_28 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_28 = -1; +static gint ett_nr_rrc_T_criticalExtensions_34 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_34 = -1; static gint ett_nr_rrc_SecurityModeComplete_IEs = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_28 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_34 = -1; static gint ett_nr_rrc_SecurityModeFailure = -1; -static gint ett_nr_rrc_T_criticalExtensions_29 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_29 = -1; +static gint ett_nr_rrc_T_criticalExtensions_35 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_35 = -1; static gint ett_nr_rrc_SecurityModeFailure_IEs = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_29 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_35 = -1; static gint ett_nr_rrc_SIB1 = -1; static gint ett_nr_rrc_T_cellSelectionInfo = -1; static gint ett_nr_rrc_T_uac_BarringInfo = -1; static gint ett_nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_30 = -1; +static gint ett_nr_rrc_SIB1_v1610_IEs = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_36 = -1; +static gint ett_nr_rrc_SidelinkUEInformationNR_r16 = -1; +static gint ett_nr_rrc_T_criticalExtensions_36 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_36 = -1; +static gint ett_nr_rrc_SidelinkUEInformationNR_r16_IEs = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_37 = -1; +static gint ett_nr_rrc_SL_InterestedFreqList_r16 = -1; +static gint ett_nr_rrc_SL_TxResourceReqList_r16 = -1; +static gint ett_nr_rrc_SL_TxResourceReq_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RLC_ModeIndication_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16 = -1; +static gint ett_nr_rrc_SL_TxInterestedFreqList_r16 = -1; +static gint ett_nr_rrc_SL_QoS_Info_r16 = -1; +static gint ett_nr_rrc_SL_RLC_ModeIndication_r16 = -1; +static gint ett_nr_rrc_T_sl_Mode_r16 = -1; +static gint ett_nr_rrc_SL_FailureList_r16 = -1; +static gint ett_nr_rrc_SL_Failure_r16 = -1; static gint ett_nr_rrc_SystemInformation = -1; -static gint ett_nr_rrc_T_criticalExtensions_30 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_30 = -1; +static gint ett_nr_rrc_T_criticalExtensions_37 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_r16_01 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_37 = -1; static gint ett_nr_rrc_SystemInformation_IEs = -1; static gint ett_nr_rrc_T_sib_TypeAndInfo = -1; static gint ett_nr_rrc_T_sib_TypeAndInfo_item = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_31 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_38 = -1; static gint ett_nr_rrc_UEAssistanceInformation = -1; -static gint ett_nr_rrc_T_criticalExtensions_31 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_31 = -1; +static gint ett_nr_rrc_T_criticalExtensions_38 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_38 = -1; static gint ett_nr_rrc_UEAssistanceInformation_IEs = -1; static gint ett_nr_rrc_DelayBudgetReport = -1; static gint ett_nr_rrc_UEAssistanceInformation_v1540_IEs = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_32 = -1; static gint ett_nr_rrc_OverheatingAssistance = -1; -static gint ett_nr_rrc_T_reducedMaxCCs = -1; -static gint ett_nr_rrc_T_reducedMaxBW_FR1 = -1; -static gint ett_nr_rrc_T_reducedMaxBW_FR2 = -1; static gint ett_nr_rrc_T_reducedMaxMIMO_LayersFR1 = -1; static gint ett_nr_rrc_T_reducedMaxMIMO_LayersFR2 = -1; +static gint ett_nr_rrc_UEAssistanceInformation_v1610_IEs = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_39 = -1; +static gint ett_nr_rrc_IDC_Assistance_r16 = -1; +static gint ett_nr_rrc_AffectedCarrierFreqList_r16 = -1; +static gint ett_nr_rrc_AffectedCarrierFreq_r16 = -1; +static gint ett_nr_rrc_AffectedCarrierFreqCombList_r16 = -1; +static gint ett_nr_rrc_AffectedCarrierFreqComb_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_2_maxNrofServingCells_OF_ARFCN_ValueNR = -1; +static gint ett_nr_rrc_VictimSystemType_r16 = -1; +static gint ett_nr_rrc_DRX_Preference_r16 = -1; +static gint ett_nr_rrc_MaxBW_Preference_r16 = -1; +static gint ett_nr_rrc_MaxCC_Preference_r16 = -1; +static gint ett_nr_rrc_MaxMIMO_LayerPreference_r16 = -1; +static gint ett_nr_rrc_T_reducedMaxMIMO_LayersFR1_r16 = -1; +static gint ett_nr_rrc_T_reducedMaxMIMO_LayersFR2_r16 = -1; +static gint ett_nr_rrc_MinSchedulingOffsetPreference_r16 = -1; +static gint ett_nr_rrc_T_preferredK0_r16 = -1; +static gint ett_nr_rrc_T_preferredK2_r16 = -1; +static gint ett_nr_rrc_ReleasePreference_r16 = -1; +static gint ett_nr_rrc_ReducedMaxBW_FRx_r16 = -1; +static gint ett_nr_rrc_ReducedMaxCCs_r16 = -1; +static gint ett_nr_rrc_SL_UE_AssistanceInformationNR_r16 = -1; +static gint ett_nr_rrc_SL_TrafficPatternInfo_r16 = -1; static gint ett_nr_rrc_UECapabilityEnquiry = -1; -static gint ett_nr_rrc_T_criticalExtensions_32 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_32 = -1; +static gint ett_nr_rrc_T_criticalExtensions_39 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_39 = -1; static gint ett_nr_rrc_UECapabilityEnquiry_IEs = -1; static gint ett_nr_rrc_UECapabilityEnquiry_v1560_IEs = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_33 = -1; +static gint ett_nr_rrc_UECapabilityEnquiry_v1610_IEs = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_40 = -1; static gint ett_nr_rrc_UECapabilityInformation = -1; -static gint ett_nr_rrc_T_criticalExtensions_33 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_33 = -1; +static gint ett_nr_rrc_T_criticalExtensions_40 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_40 = -1; static gint ett_nr_rrc_UECapabilityInformation_IEs = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_34 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_41 = -1; +static gint ett_nr_rrc_UEInformationRequest_r16 = -1; +static gint ett_nr_rrc_T_criticalExtensions_41 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_41 = -1; +static gint ett_nr_rrc_UEInformationRequest_r16_IEs = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_42 = -1; +static gint ett_nr_rrc_UEInformationResponse_r16 = -1; +static gint ett_nr_rrc_T_criticalExtensions_42 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_42 = -1; +static gint ett_nr_rrc_UEInformationResponse_r16_IEs = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_43 = -1; +static gint ett_nr_rrc_LogMeasReport_r16 = -1; +static gint ett_nr_rrc_LogMeasInfoList_r16 = -1; +static gint ett_nr_rrc_LogMeasInfo_r16 = -1; +static gint ett_nr_rrc_T_measResultNeighCells_r16 = -1; +static gint ett_nr_rrc_ConnEstFailReport_r16 = -1; +static gint ett_nr_rrc_T_measResultNeighCells_r16_01 = -1; +static gint ett_nr_rrc_MeasResultServingCell_r16 = -1; +static gint ett_nr_rrc_T_resultsSSB = -1; +static gint ett_nr_rrc_MeasResultFailedCell_r16 = -1; +static gint ett_nr_rrc_T_measResult_r16 = -1; +static gint ett_nr_rrc_T_cellResults_r16 = -1; +static gint ett_nr_rrc_T_rsIndexResults_r16 = -1; +static gint ett_nr_rrc_RA_ReportList_r16 = -1; +static gint ett_nr_rrc_RA_Report_r16 = -1; +static gint ett_nr_rrc_RA_InformationCommon_r16 = -1; +static gint ett_nr_rrc_PerRAInfoList_r16 = -1; +static gint ett_nr_rrc_PerRAInfo_r16 = -1; +static gint ett_nr_rrc_PerRASSBInfo_r16 = -1; +static gint ett_nr_rrc_PerRACSI_RSInfo_r16 = -1; +static gint ett_nr_rrc_PerRAAttemptInfoList_r16 = -1; +static gint ett_nr_rrc_PerRAAttemptInfo_r16 = -1; +static gint ett_nr_rrc_RLF_Report_r16 = -1; +static gint ett_nr_rrc_T_nr_RLF_Report_r16 = -1; +static gint ett_nr_rrc_T_measResultNeighCells_r16_02 = -1; +static gint ett_nr_rrc_T_previousPCellId_r16 = -1; +static gint ett_nr_rrc_T_failedPCellId_r16 = -1; +static gint ett_nr_rrc_T_nrFailedPCellId_r16 = -1; +static gint ett_nr_rrc_T_pci_arfcn_r16 = -1; +static gint ett_nr_rrc_T_eutraFailedPCellId_r16 = -1; +static gint ett_nr_rrc_T_pci_arfcn_r16_01 = -1; +static gint ett_nr_rrc_T_reconnectCellId_r16 = -1; +static gint ett_nr_rrc_T_eutra_RLF_Report_r16 = -1; +static gint ett_nr_rrc_MeasResultList2NR_r16 = -1; +static gint ett_nr_rrc_MeasResultList2EUTRA_r16 = -1; +static gint ett_nr_rrc_MeasResult2NR_r16 = -1; +static gint ett_nr_rrc_MeasResultListLogging2NR_r16 = -1; +static gint ett_nr_rrc_MeasResultListLoggingNR_r16 = -1; +static gint ett_nr_rrc_MeasResultLoggingNR_r16 = -1; +static gint ett_nr_rrc_MeasResult2EUTRA_r16 = -1; +static gint ett_nr_rrc_MeasResultRLFNR_r16 = -1; +static gint ett_nr_rrc_T_measResult_r16_01 = -1; +static gint ett_nr_rrc_T_cellResults_r16_01 = -1; +static gint ett_nr_rrc_T_rsIndexResults_r16_01 = -1; +static gint ett_nr_rrc_ULDedicatedMessageSegment_r16 = -1; +static gint ett_nr_rrc_T_criticalExtensions_43 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_43 = -1; +static gint ett_nr_rrc_ULDedicatedMessageSegment_r16_IEs = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_44 = -1; static gint ett_nr_rrc_ULInformationTransfer = -1; -static gint ett_nr_rrc_T_criticalExtensions_34 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_34 = -1; +static gint ett_nr_rrc_T_criticalExtensions_44 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_44 = -1; static gint ett_nr_rrc_ULInformationTransfer_IEs = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_35 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_45 = -1; +static gint ett_nr_rrc_ULInformationTransferIRAT_r16 = -1; +static gint ett_nr_rrc_T_criticalExtensions_45 = -1; +static gint ett_nr_rrc_T_c1_15 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_45 = -1; +static gint ett_nr_rrc_ULInformationTransferIRAT_r16_IEs = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_46 = -1; static gint ett_nr_rrc_ULInformationTransferMRDC = -1; -static gint ett_nr_rrc_T_criticalExtensions_35 = -1; -static gint ett_nr_rrc_T_c1_14 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_35 = -1; +static gint ett_nr_rrc_T_criticalExtensions_46 = -1; +static gint ett_nr_rrc_T_c1_16 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_46 = -1; static gint ett_nr_rrc_ULInformationTransferMRDC_IEs = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_36 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_47 = -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_T_relaxedMeasurement_r16 = -1; +static gint ett_nr_rrc_T_lowMobilityEvaluation_r16 = -1; +static gint ett_nr_rrc_T_cellEdgeEvaluation_r16 = -1; static gint ett_nr_rrc_SIB3 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_IntraFreqCAG_CellPerPLMN_r16 = -1; static gint ett_nr_rrc_IntraFreqNeighCellList = -1; +static gint ett_nr_rrc_IntraFreqNeighCellList_v1610 = -1; static gint ett_nr_rrc_IntraFreqNeighCellInfo = -1; +static gint ett_nr_rrc_IntraFreqNeighCellInfo_v1610 = -1; static gint ett_nr_rrc_IntraFreqBlackCellList = -1; +static gint ett_nr_rrc_IntraFreqWhiteCellList_r16 = -1; +static gint ett_nr_rrc_IntraFreqCAG_CellPerPLMN_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_PCI_Range = -1; static gint ett_nr_rrc_SIB4 = -1; static gint ett_nr_rrc_InterFreqCarrierFreqList = -1; +static gint ett_nr_rrc_InterFreqCarrierFreqList_v1610 = -1; static gint ett_nr_rrc_InterFreqCarrierFreqInfo = -1; static gint ett_nr_rrc_T_threshX_Q = -1; +static gint ett_nr_rrc_InterFreqCarrierFreqInfo_v1610 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_InterFreqCAG_CellList_r16 = -1; static gint ett_nr_rrc_InterFreqNeighCellList = -1; +static gint ett_nr_rrc_InterFreqNeighCellList_v1610 = -1; static gint ett_nr_rrc_InterFreqNeighCellInfo = -1; +static gint ett_nr_rrc_InterFreqNeighCellInfo_v1610 = -1; static gint ett_nr_rrc_InterFreqBlackCellList = -1; +static gint ett_nr_rrc_InterFreqWhiteCellList_r16 = -1; +static gint ett_nr_rrc_InterFreqCAG_CellList_r16 = -1; static gint ett_nr_rrc_SIB5 = -1; static gint ett_nr_rrc_CarrierFreqListEUTRA = -1; +static gint ett_nr_rrc_CarrierFreqListEUTRA_v1610 = -1; static gint ett_nr_rrc_CarrierFreqEUTRA = -1; static gint ett_nr_rrc_T_threshX_Q_01 = -1; +static gint ett_nr_rrc_CarrierFreqEUTRA_v1610 = -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; @@ -3718,13 +6538,48 @@ 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_SIB10_r16 = -1; +static gint ett_nr_rrc_HRNN_List_r16 = -1; +static gint ett_nr_rrc_HRNN_r16 = -1; +static gint ett_nr_rrc_SIB11_r16 = -1; +static gint ett_nr_rrc_SIB12_r16 = -1; +static gint ett_nr_rrc_SIB13_r16 = -1; +static gint ett_nr_rrc_SIB14_r16 = -1; +static gint ett_nr_rrc_PosSystemInformation_r16_IEs = -1; +static gint ett_nr_rrc_T_posSIB_TypeAndInfo_r16 = -1; +static gint ett_nr_rrc_T_posSIB_TypeAndInfo_r16_item = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_48 = -1; +static gint ett_nr_rrc_PosSI_SchedulingInfo_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_PosSchedulingInfo_r16 = -1; +static gint ett_nr_rrc_PosSchedulingInfo_r16 = -1; +static gint ett_nr_rrc_PosSIB_MappingInfo_r16 = -1; +static gint ett_nr_rrc_PosSIB_Type_r16 = -1; +static gint ett_nr_rrc_GNSS_ID_r16 = -1; +static gint ett_nr_rrc_SBAS_ID_r16 = -1; +static gint ett_nr_rrc_SIBpos_r16 = -1; +static gint ett_nr_rrc_AvailabilityCombinationsPerCell_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombination_r16 = -1; +static gint ett_nr_rrc_AvailabilityCombination_r16 = -1; +static gint ett_nr_rrc_T_resourceAvailability_r16 = -1; +static gint ett_nr_rrc_AvailabilityIndicator_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCell_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCellIndex_r16 = -1; +static gint ett_nr_rrc_BAP_Routing_ID_r16 = -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_T_candidateBeamRSListExt_v1610 = -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_CandidateBeamRSListExt_r16 = -1; +static gint ett_nr_rrc_BeamFailureRecoverySCellConfig_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16 = -1; +static gint ett_nr_rrc_CandidateBeamRS_r16 = -1; +static gint ett_nr_rrc_T_candidateBeamConfig_r16 = -1; static gint ett_nr_rrc_BetaOffsets = -1; +static gint ett_nr_rrc_BH_RLC_ChannelConfig_r16 = -1; +static gint ett_nr_rrc_BH_LogicalChannelIdentity_r16 = -1; static gint ett_nr_rrc_BSR_Config = -1; static gint ett_nr_rrc_BWP = -1; static gint ett_nr_rrc_BWP_Downlink = -1; @@ -3736,17 +6591,33 @@ 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_T_beamFailureRecoverySCellConfig_r16 = -1; +static gint ett_nr_rrc_T_sl_PDCCH_Config_r16 = -1; +static gint ett_nr_rrc_T_sl_V2X_PDCCH_Config_r16 = -1; +static gint ett_nr_rrc_SPS_ConfigToAddModList_r16 = -1; +static gint ett_nr_rrc_SPS_ConfigToReleaseList_r16 = -1; +static gint ett_nr_rrc_SPS_ConfigDeactivationState_r16 = -1; +static gint ett_nr_rrc_SPS_ConfigDeactivationStateList_r16 = -1; static gint ett_nr_rrc_BWP_Uplink = -1; static gint ett_nr_rrc_BWP_UplinkCommon = -1; static gint ett_nr_rrc_T_rach_ConfigCommon = -1; static gint ett_nr_rrc_T_pusch_ConfigCommon = -1; static gint ett_nr_rrc_T_pucch_ConfigCommon = -1; +static gint ett_nr_rrc_T_rach_ConfigCommonIAB_r16 = -1; +static gint ett_nr_rrc_T_msgA_ConfigCommon_r16 = -1; static gint ett_nr_rrc_BWP_UplinkDedicated = -1; static gint ett_nr_rrc_T_pucch_Config = -1; static gint ett_nr_rrc_T_pusch_Config = -1; static gint ett_nr_rrc_T_configuredGrantConfig = -1; static gint ett_nr_rrc_T_srs_Config = -1; static gint ett_nr_rrc_T_beamFailureRecoveryConfig = -1; +static gint ett_nr_rrc_T_sl_PUCCH_Config_r16 = -1; +static gint ett_nr_rrc_T_pucch_ConfigurationList_r16 = -1; +static gint ett_nr_rrc_T_lbt_FailureRecoveryConfig_r16 = -1; +static gint ett_nr_rrc_ConfiguredGrantConfigToAddModList_r16 = -1; +static gint ett_nr_rrc_ConfiguredGrantConfigToReleaseList_r16 = -1; +static gint ett_nr_rrc_ConfiguredGrantConfigType2DeactivationState_r16 = -1; +static gint ett_nr_rrc_ConfiguredGrantConfigType2DeactivationStateList_r16 = -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; @@ -3759,17 +6630,23 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelConfig_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelID_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex = -1; static gint ett_nr_rrc_SpCellConfig = -1; static gint ett_nr_rrc_T_rlf_TimersAndConstants = -1; static gint ett_nr_rrc_ReconfigurationWithSync = -1; static gint ett_nr_rrc_T_rach_ConfigDedicated = -1; +static gint ett_nr_rrc_DAPS_UplinkPowerConfig_r16 = -1; static gint ett_nr_rrc_SCellConfig = -1; static gint ett_nr_rrc_CGI_InfoEUTRA = -1; static gint ett_nr_rrc_T_cgi_info_EPC = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC = -1; +static gint ett_nr_rrc_CGI_InfoEUTRALogging = -1; static gint ett_nr_rrc_CGI_InfoNR = -1; static gint ett_nr_rrc_T_noSIB1 = -1; +static gint ett_nr_rrc_CGI_Info_Logging_r16 = -1; static gint ett_nr_rrc_CodebookConfig = -1; static gint ett_nr_rrc_T_codebookType = -1; static gint ett_nr_rrc_T_type1_01 = -1; @@ -3786,11 +6663,30 @@ static gint ett_nr_rrc_T_subType_01 = -1; static gint ett_nr_rrc_T_typeII = -1; static gint ett_nr_rrc_T_n1_n2_codebookSubsetRestriction = -1; static gint ett_nr_rrc_T_typeII_PortSelection = -1; +static gint ett_nr_rrc_CodebookConfig_r16 = -1; +static gint ett_nr_rrc_T_codebookType_01 = -1; +static gint ett_nr_rrc_T_type2_01 = -1; +static gint ett_nr_rrc_T_subType_02 = -1; +static gint ett_nr_rrc_T_typeII_r16 = -1; +static gint ett_nr_rrc_T_n1_n2_codebookSubsetRestriction_r16 = -1; +static gint ett_nr_rrc_T_typeII_PortSelection_r16 = -1; +static gint ett_nr_rrc_CommonLocationInfo_r16 = -1; +static gint ett_nr_rrc_CondReconfigToAddModList_r16 = -1; +static gint ett_nr_rrc_CondReconfigToAddMod_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_MeasId = -1; +static gint ett_nr_rrc_ConditionalReconfiguration_r16 = -1; +static gint ett_nr_rrc_CondReconfigToRemoveList_r16 = -1; static gint ett_nr_rrc_ConfiguredGrantConfig = -1; static gint ett_nr_rrc_T_uci_OnPUSCH = -1; static gint ett_nr_rrc_T_rrc_ConfiguredUplinkGrant = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_1709_OF_CG_COT_Sharing_r16 = -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_CG_COT_Sharing_r16 = -1; +static gint ett_nr_rrc_T_cot_Sharing_r16 = -1; +static gint ett_nr_rrc_CG_StartingOffsets_r16 = -1; +static gint ett_nr_rrc_T_cg_StartingFullBW_InsideCOT_r16 = -1; +static gint ett_nr_rrc_T_cg_StartingFullBW_OutsideCOT_r16 = -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; @@ -3800,6 +6696,7 @@ static gint ett_nr_rrc_CrossCarrierSchedulingConfig = -1; static gint ett_nr_rrc_T_schedulingCellInfo = -1; static gint ett_nr_rrc_T_own = -1; static gint ett_nr_rrc_T_other = -1; +static gint ett_nr_rrc_T_carrierIndicatorSize = -1; static gint ett_nr_rrc_CSI_AperiodicTriggerStateList = -1; static gint ett_nr_rrc_CSI_AperiodicTriggerState = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo = -1; @@ -3848,6 +6745,13 @@ 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_T_semiPersistentOnPUSCH_v1610 = -1; +static gint ett_nr_rrc_T_reportSlotOffsetListForDCI_Format0_2_r16 = -1; +static gint ett_nr_rrc_T_reportSlotOffsetListForDCI_Format0_1_r16 = -1; +static gint ett_nr_rrc_T_aperiodic_v1610 = -1; +static gint ett_nr_rrc_T_reportSlotOffsetListForDCI_Format0_2_r16_01 = -1; +static gint ett_nr_rrc_T_reportSlotOffsetListForDCI_Format0_1_r16_01 = -1; +static gint ett_nr_rrc_T_reportQuantity_r16 = -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; @@ -3894,6 +6798,8 @@ static gint ett_nr_rrc_DMRS_UplinkConfig = -1; static gint ett_nr_rrc_T_phaseTrackingRS_01 = -1; static gint ett_nr_rrc_T_transformPrecodingDisabled = -1; static gint ett_nr_rrc_T_transformPrecodingEnabled = -1; +static gint ett_nr_rrc_T_dmrs_UplinkTransformPrecoding_r16 = -1; +static gint ett_nr_rrc_DMRS_UplinkTransformPrecoding_r16 = -1; static gint ett_nr_rrc_DownlinkConfigCommon = -1; static gint ett_nr_rrc_DownlinkConfigCommonSIB = -1; static gint ett_nr_rrc_BCCH_Config = -1; @@ -3912,25 +6818,38 @@ static gint ett_nr_rrc_DownlinkPreemption = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell = -1; static gint ett_nr_rrc_INT_ConfigurationPerServingCell = -1; static gint ett_nr_rrc_DRX_Config = -1; -static gint ett_nr_rrc_T_drx_onDurationTimer = -1; +static gint ett_nr_rrc_T_drx_onDurationTimer_01 = -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_DRX_ConfigSecondaryGroup = -1; +static gint ett_nr_rrc_T_drx_onDurationTimer_02 = -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_HighSpeedConfig_r16 = -1; +static gint ett_nr_rrc_InvalidSymbolPattern_r16 = -1; +static gint ett_nr_rrc_T_symbols_r16 = -1; +static gint ett_nr_rrc_T_periodicityAndPattern_r16 = -1; +static gint ett_nr_rrc_LBT_FailureRecoveryConfig_r16 = -1; +static gint ett_nr_rrc_LocationInfo_r16 = -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_NR_PRS_MeasurementInfoList_r16 = -1; +static gint ett_nr_rrc_NR_PRS_MeasurementInfo_r16 = -1; +static gint ett_nr_rrc_T_nr_MeasPRS_RepetitionAndOffset_r16 = -1; static gint ett_nr_rrc_LogicalChannelConfig = -1; static gint ett_nr_rrc_T_ul_SpecificParameters = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_r16_1_OF_ConfiguredGrantConfigIndexMAC_r16 = -1; static gint ett_nr_rrc_MAC_CellGroupConfig = -1; static gint ett_nr_rrc_T_drx_Config = -1; static gint ett_nr_rrc_T_phr_Config = -1; static gint ett_nr_rrc_T_dataInactivityTimer = -1; +static gint ett_nr_rrc_T_drx_ConfigSecondaryGroup_r16 = -1; static gint ett_nr_rrc_MeasConfig = -1; static gint ett_nr_rrc_T_s_MeasureConfig = -1; static gint ett_nr_rrc_MeasObjectToRemoveList = -1; @@ -3945,8 +6864,32 @@ 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_MeasIdleConfigSIB_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16 = -1; +static gint ett_nr_rrc_MeasIdleConfigDedicated_r16 = -1; +static gint ett_nr_rrc_ValidityAreaList_r16 = -1; +static gint ett_nr_rrc_ValidityArea_r16 = -1; +static gint ett_nr_rrc_ValidityCellList = -1; +static gint ett_nr_rrc_MeasIdleCarrierNR_r16 = -1; +static gint ett_nr_rrc_T_qualityThreshold_r16 = -1; +static gint ett_nr_rrc_T_ssb_MeasConfig_r16 = -1; +static gint ett_nr_rrc_MeasIdleCarrierEUTRA_r16 = -1; +static gint ett_nr_rrc_T_qualityThresholdEUTRA_r16 = -1; +static gint ett_nr_rrc_CellListNR_r16 = -1; +static gint ett_nr_rrc_CellListEUTRA_r16 = -1; +static gint ett_nr_rrc_BeamMeasConfigIdle_NR_r16 = -1; static gint ett_nr_rrc_MeasIdToAddModList = -1; static gint ett_nr_rrc_MeasIdToAddMod = -1; +static gint ett_nr_rrc_MeasObjectCLI_r16 = -1; +static gint ett_nr_rrc_CLI_ResourceConfig_r16 = -1; +static gint ett_nr_rrc_T_srs_ResourceConfig_r16 = -1; +static gint ett_nr_rrc_T_rssi_ResourceConfig_r16 = -1; +static gint ett_nr_rrc_SRS_ResourceListConfigCLI_r16 = -1; +static gint ett_nr_rrc_RSSI_ResourceListConfigCLI_r16 = -1; +static gint ett_nr_rrc_SRS_ResourceConfigCLI_r16 = -1; +static gint ett_nr_rrc_RSSI_ResourceConfigCLI_r16 = -1; +static gint ett_nr_rrc_RSSI_PeriodicityAndOffset_r16 = -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; @@ -3955,6 +6898,9 @@ 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_T_rmtc_Config_r16 = -1; +static gint ett_nr_rrc_T_t312_r16 = -1; +static gint ett_nr_rrc_SSB_MTC3List_r16 = -1; static gint ett_nr_rrc_ReferenceSignalConfig = -1; static gint ett_nr_rrc_T_csi_rs_ResourceConfigMobility = -1; static gint ett_nr_rrc_SSB_ConfigMobility = -1; @@ -3963,9 +6909,18 @@ static gint ett_nr_rrc_Q_OffsetRangeList = -1; static gint ett_nr_rrc_ThresholdNR = -1; static gint ett_nr_rrc_CellsToAddModList = -1; static gint ett_nr_rrc_CellsToAddMod = -1; +static gint ett_nr_rrc_RMTC_Config_r16 = -1; +static gint ett_nr_rrc_SSB_PositionQCL_CellsToAddModList_r16 = -1; +static gint ett_nr_rrc_SSB_PositionQCL_CellsToAddMod_r16 = -1; +static gint ett_nr_rrc_MeasObjectNR_SL_r16 = -1; +static gint ett_nr_rrc_Tx_PoolMeasList_r16 = -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_MeasObjectUTRA_FDD_r16 = -1; +static gint ett_nr_rrc_CellsToAddModListUTRA_FDD_r16 = -1; +static gint ett_nr_rrc_CellsToAddModUTRA_FDD_r16 = -1; +static gint ett_nr_rrc_UTRA_FDD_CellIndexList_r16 = -1; static gint ett_nr_rrc_MeasResultCellListSFTD_NR = -1; static gint ett_nr_rrc_MeasResultCellSFTD_NR = -1; static gint ett_nr_rrc_MeasResultCellListSFTD_EUTRA = -1; @@ -3990,15 +6945,66 @@ static gint ett_nr_rrc_ResultsPerCSI_RS_IndexList = -1; static gint ett_nr_rrc_ResultsPerCSI_RS_Index = -1; static gint ett_nr_rrc_MeasResultServFreqListEUTRA_SCG = -1; static gint ett_nr_rrc_MeasResultServFreqListNR_SCG = -1; +static gint ett_nr_rrc_MeasResultListUTRA_FDD_r16 = -1; +static gint ett_nr_rrc_MeasResultUTRA_FDD_r16 = -1; +static gint ett_nr_rrc_T_measResult_r16_02 = -1; +static gint ett_nr_rrc_MeasResultForRSSI_r16 = -1; +static gint ett_nr_rrc_MeasResultCLI_r16 = -1; +static gint ett_nr_rrc_MeasResultListSRS_RSRP_r16 = -1; +static gint ett_nr_rrc_MeasResultSRS_RSRP_r16 = -1; +static gint ett_nr_rrc_MeasResultListCLI_RSSI_r16 = -1; +static gint ett_nr_rrc_MeasResultCLI_RSSI_r16 = -1; +static gint ett_nr_rrc_UL_PDCP_DelayValueResultList_r16 = -1; +static gint ett_nr_rrc_UL_PDCP_DelayValueResult_r16 = -1; static gint ett_nr_rrc_MeasResult2EUTRA = -1; static gint ett_nr_rrc_MeasResult2NR = -1; +static gint ett_nr_rrc_MeasResultIdleEUTRA_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleEUTRA_r16 = -1; +static gint ett_nr_rrc_MeasResultsPerCarrierIdleEUTRA_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleEUTRA_r16 = -1; +static gint ett_nr_rrc_MeasResultsPerCellIdleEUTRA_r16 = -1; +static gint ett_nr_rrc_T_measIdleResultEUTRA_r16 = -1; +static gint ett_nr_rrc_MeasResultIdleNR_r16 = -1; +static gint ett_nr_rrc_T_measResultServingCell_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleNR_r16 = -1; +static gint ett_nr_rrc_MeasResultsPerCarrierIdleNR_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleNR_r16 = -1; +static gint ett_nr_rrc_MeasResultsPerCellIdleNR_r16 = -1; +static gint ett_nr_rrc_T_measIdleResultNR_r16 = -1; +static gint ett_nr_rrc_ResultsPerSSB_IndexList_r16 = -1; +static gint ett_nr_rrc_ResultsPerSSB_IndexIdle_r16 = -1; +static gint ett_nr_rrc_T_ssb_Results_r16 = -1; static gint ett_nr_rrc_MeasResultSCG_Failure = -1; static gint ett_nr_rrc_MeasResultList2NR = -1; +static gint ett_nr_rrc_MeasResultsSL_r16 = -1; +static gint ett_nr_rrc_T_measResultsListSL_r16 = -1; +static gint ett_nr_rrc_MeasResultNR_SL_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_PoolToMeasureNR_r16_OF_MeasResultCBR_NR_r16 = -1; +static gint ett_nr_rrc_MeasResultCBR_NR_r16 = -1; static gint ett_nr_rrc_MeasTriggerQuantityEUTRA = -1; static gint ett_nr_rrc_MobilityStateParameters = -1; +static gint ett_nr_rrc_MsgA_ConfigCommon_r16 = -1; +static gint ett_nr_rrc_MsgA_PUSCH_Config_r16 = -1; +static gint ett_nr_rrc_MsgA_PUSCH_Resource_r16 = -1; +static gint ett_nr_rrc_MsgA_DMRS_Config_r16 = -1; static gint ett_nr_rrc_MultiFrequencyBandListNR = -1; static gint ett_nr_rrc_MultiFrequencyBandListNR_SIB = -1; static gint ett_nr_rrc_NR_MultiBandInfo = -1; +static gint ett_nr_rrc_NeedForGapsConfigNR_r16 = -1; +static gint ett_nr_rrc_NeedForGapsInfoNR_r16 = -1; +static gint ett_nr_rrc_NeedForGapsIntraFreqlist_r16 = -1; +static gint ett_nr_rrc_NeedForGapsBandlistNR_r16 = -1; +static gint ett_nr_rrc_NeedForGapsIntraFreq_r16 = -1; +static gint ett_nr_rrc_NeedForGapsNR_r16 = -1; +static gint ett_nr_rrc_NPN_Identity_r16 = -1; +static gint ett_nr_rrc_T_pni_npn_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_CAG_IdentityInfo_r16 = -1; +static gint ett_nr_rrc_T_snpn_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NID_r16 = -1; +static gint ett_nr_rrc_CAG_IdentityInfo_r16 = -1; +static gint ett_nr_rrc_NPN_IdentityInfoList_r16 = -1; +static gint ett_nr_rrc_NPN_IdentityInfo_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NPN_Identity_r16 = -1; static gint ett_nr_rrc_NR_NS_PmaxList = -1; static gint ett_nr_rrc_NR_NS_PmaxValue = -1; static gint ett_nr_rrc_NZP_CSI_RS_Resource = -1; @@ -4017,6 +7023,12 @@ static gint ett_nr_rrc_T_downlinkPreemption = -1; static gint ett_nr_rrc_T_tpc_PUSCH = -1; static gint ett_nr_rrc_T_tpc_PUCCH = -1; static gint ett_nr_rrc_T_tpc_SRS = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_ControlResourceSet = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_5_OF_ControlResourceSetId_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_CellGroupForSwitching_r16 = -1; +static gint ett_nr_rrc_T_uplinkCancellation_r16 = -1; +static gint ett_nr_rrc_CellGroupForSwitching_r16 = -1; static gint ett_nr_rrc_PDCCH_ConfigCommon = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace = -1; static gint ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_01 = -1; @@ -4028,9 +7040,11 @@ static gint ett_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS1 static gint ett_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01 = -1; static gint ett_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01 = -1; static gint ett_nr_rrc_T_sCS120KHZoneSixteenthT_01 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_r16 = -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_T_availabilityIndicator_r16 = -1; static gint ett_nr_rrc_PDCP_Config = -1; static gint ett_nr_rrc_T_drb = -1; static gint ett_nr_rrc_T_headerCompression = -1; @@ -4040,6 +7054,14 @@ static gint ett_nr_rrc_T_uplinkOnlyROHC = -1; static gint ett_nr_rrc_T_profiles_01 = -1; static gint ett_nr_rrc_T_moreThanOneRLC = -1; static gint ett_nr_rrc_T_primaryPath = -1; +static gint ett_nr_rrc_T_discardTimerExt_r16 = -1; +static gint ett_nr_rrc_T_moreThanTwoRLC_DRB_r16 = -1; +static gint ett_nr_rrc_T_duplicationState = -1; +static gint ett_nr_rrc_T_ethernetHeaderCompression_r16 = -1; +static gint ett_nr_rrc_EthernetHeaderCompression_r16 = -1; +static gint ett_nr_rrc_T_ehc_Common = -1; +static gint ett_nr_rrc_T_ehc_Downlink = -1; +static gint ett_nr_rrc_T_ehc_Uplink = -1; static gint ett_nr_rrc_PDSCH_Config = -1; static gint ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA = -1; static gint ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB = -1; @@ -4056,24 +7078,48 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_R static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId = -1; static gint ett_nr_rrc_T_p_ZP_CSI_RS_ResourceSet = -1; +static gint ett_nr_rrc_T_maxMIMO_Layers_r16 = -1; +static gint ett_nr_rrc_T_minimumSchedulingOffsetK0_r16 = -1; +static gint ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_ForDCI_Format1_2_r16 = -1; +static gint ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_ForDCI_Format1_2_r16 = -1; +static gint ett_nr_rrc_T_pdsch_TimeDomainAllocationListForDCI_Format1_2_r16 = -1; +static gint ett_nr_rrc_T_prb_BundlingTypeForDCI_Format1_2_r16 = -1; +static gint ett_nr_rrc_T_staticBundling_r16 = -1; +static gint ett_nr_rrc_T_dynamicBundling_r16 = -1; +static gint ett_nr_rrc_T_pdsch_TimeDomainAllocationList_r16 = -1; +static gint ett_nr_rrc_T_repetitionSchemeConfig_r16 = -1; static gint ett_nr_rrc_RateMatchPatternGroup = -1; static gint ett_nr_rrc_RateMatchPatternGroup_item = -1; +static gint ett_nr_rrc_MinSchedulingOffsetK0_Values_r16 = -1; static gint ett_nr_rrc_PDSCH_ConfigCommon = -1; static gint ett_nr_rrc_PDSCH_ServingCellConfig = -1; static gint ett_nr_rrc_T_codeBlockGroupTransmission = -1; +static gint ett_nr_rrc_T_pdsch_CodeBlockGroupTransmissionList_r16 = -1; static gint ett_nr_rrc_PDSCH_CodeBlockGroupTransmission = -1; +static gint ett_nr_rrc_PDSCH_CodeBlockGroupTransmissionList_r16 = -1; static gint ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList = -1; static gint ett_nr_rrc_PDSCH_TimeDomainResourceAllocation = -1; +static gint ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList_r16 = -1; +static gint ett_nr_rrc_PDSCH_TimeDomainResourceAllocation_r16 = -1; static gint ett_nr_rrc_PHR_Config = -1; static gint ett_nr_rrc_PhysicalCellGroupConfig = -1; static gint ett_nr_rrc_T_cs_RNTI = -1; static gint ett_nr_rrc_T_pdcch_BlindDetection = -1; +static gint ett_nr_rrc_T_dcp_Config_r16 = -1; +static gint ett_nr_rrc_T_pdsch_HARQ_ACK_CodebookList_r16 = -1; +static gint ett_nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r16 = -1; +static gint ett_nr_rrc_T_pdcch_BlindDetection2_r16 = -1; +static gint ett_nr_rrc_T_pdcch_BlindDetection3_r16 = -1; +static gint ett_nr_rrc_DCP_Config_r16 = -1; +static gint ett_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16 = -1; +static gint ett_nr_rrc_PDCCH_BlindDetectionCA_CombIndicator_r16 = -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_PLMN_IdentityList2_r16 = -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; @@ -4098,26 +7144,55 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId = -1; static gint ett_nr_rrc_T_dl_DataToUL_ACK = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceExt_r16 = -1; +static gint ett_nr_rrc_T_dl_DataToUL_ACK_r16 = -1; +static gint ett_nr_rrc_T_ul_AccessConfigListForDCI_Format_1_1_r16 = -1; +static gint ett_nr_rrc_T_subslotLengthForPUCCH_r16 = -1; +static gint ett_nr_rrc_T_dl_DataToUL_ACK_ForDCI_Format1_2_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfo = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfoId = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoExt_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoId_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroup_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroupId_r16 = -1; +static gint ett_nr_rrc_T_sps_PUCCH_AN_List_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_v1610 = -1; static gint ett_nr_rrc_PUCCH_FormatConfig = -1; static gint ett_nr_rrc_PUCCH_ResourceSet = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId = -1; static gint ett_nr_rrc_PUCCH_Resource = -1; static gint ett_nr_rrc_T_format = -1; +static gint ett_nr_rrc_PUCCH_ResourceExt_r16 = -1; +static gint ett_nr_rrc_T_interlaceAllocation_r16 = -1; +static gint ett_nr_rrc_T_interlace0 = -1; +static gint ett_nr_rrc_T_formatExt_v1610 = -1; +static gint ett_nr_rrc_T_occ_v1610 = -1; static gint ett_nr_rrc_PUCCH_format0 = -1; static gint ett_nr_rrc_PUCCH_format1 = -1; static gint ett_nr_rrc_PUCCH_format2 = -1; static gint ett_nr_rrc_PUCCH_format3 = -1; static gint ett_nr_rrc_PUCCH_format4 = -1; +static gint ett_nr_rrc_PUCCH_ResourceGroup_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerGroup_r16_OF_PUCCH_ResourceId = -1; +static gint ett_nr_rrc_DL_DataToUL_ACK_r16 = -1; +static gint ett_nr_rrc_DL_DataToUL_ACK_ForDCI_Format1_2_r16 = -1; +static gint ett_nr_rrc_UL_AccessConfigListForDCI_Format1_1_r16 = -1; static gint ett_nr_rrc_PUCCH_ConfigCommon = -1; +static gint ett_nr_rrc_PUCCH_ConfigurationList_r16 = -1; static gint ett_nr_rrc_PUCCH_PowerControl = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS = -1; +static gint ett_nr_rrc_T_pathlossReferenceRSs_v1610 = -1; static gint ett_nr_rrc_P0_PUCCH = -1; +static gint ett_nr_rrc_PathlossReferenceRSs_v1610 = -1; static gint ett_nr_rrc_PUCCH_PathlossReferenceRS = -1; static gint ett_nr_rrc_T_referenceSignal = -1; +static gint ett_nr_rrc_PUCCH_PathlossReferenceRS_r16 = -1; +static gint ett_nr_rrc_T_referenceSignal_r16 = -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_SpatialRelationInfoExt_r16 = -1; +static gint ett_nr_rrc_PUCCH_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; @@ -4125,9 +7200,30 @@ static gint ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB = -1; static gint ett_nr_rrc_T_frequencyHoppingOffsetLists = -1; static gint ett_nr_rrc_T_pusch_TimeDomainAllocationList = -1; static gint ett_nr_rrc_T_uci_OnPUSCH_01 = -1; +static gint ett_nr_rrc_T_minimumSchedulingOffsetK2_r16 = -1; +static gint ett_nr_rrc_T_ul_AccessConfigListForDCI_Format0_1_r16 = -1; +static gint ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_ForDCI_Format0_2_r16 = -1; +static gint ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_ForDCI_Format0_2_r16 = -1; +static gint ett_nr_rrc_T_frequencyHoppingForDCI_Format0_2_r16 = -1; +static gint ett_nr_rrc_T_frequencyHoppingOffsetListsForDCI_Format0_2_r16 = -1; +static gint ett_nr_rrc_T_uci_OnPUSCH_ListForDCI_Format0_2_r16 = -1; +static gint ett_nr_rrc_T_pusch_TimeDomainAllocationListForDCI_Format0_2_r16 = -1; +static gint ett_nr_rrc_T_pusch_TimeDomainAllocationListForDCI_Format0_1_r16 = -1; +static gint ett_nr_rrc_T_uci_OnPUSCH_ListForDCI_Format0_1_r16 = -1; +static gint ett_nr_rrc_T_pusch_PowerControl_v1610 = -1; +static gint ett_nr_rrc_T_pusch_TimeDomainAllocationListForMultiPUSCH_r16 = -1; static gint ett_nr_rrc_UCI_OnPUSCH = -1; static gint ett_nr_rrc_T_betaOffsets = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets = -1; +static gint ett_nr_rrc_MinSchedulingOffsetK2_Values_r16 = -1; +static gint ett_nr_rrc_UCI_OnPUSCH_ForDCI_Format0_2_r16 = -1; +static gint ett_nr_rrc_T_betaOffsetsForDCI_Format0_2_r16 = -1; +static gint ett_nr_rrc_T_dynamicForDCI_Format0_2_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_2_OF_BetaOffsets = -1; +static gint ett_nr_rrc_FrequencyHoppingOffsetListsForDCI_Format0_2_r16 = -1; +static gint ett_nr_rrc_UCI_OnPUSCH_ListForDCI_Format0_2_r16 = -1; +static gint ett_nr_rrc_UCI_OnPUSCH_ListForDCI_Format0_1_r16 = -1; +static gint ett_nr_rrc_UL_AccessConfigListForDCI_Format0_1_r16 = -1; static gint ett_nr_rrc_PUSCH_ConfigCommon = -1; static gint ett_nr_rrc_PUSCH_PowerControl = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet = -1; @@ -4138,22 +7234,45 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_Po static gint ett_nr_rrc_P0_PUSCH_AlphaSet = -1; static gint ett_nr_rrc_PUSCH_PathlossReferenceRS = -1; static gint ett_nr_rrc_T_referenceSignal_02 = -1; +static gint ett_nr_rrc_PUSCH_PathlossReferenceRS_r16 = -1; +static gint ett_nr_rrc_T_referenceSignal_r16_01 = -1; static gint ett_nr_rrc_SRI_PUSCH_PowerControl = -1; +static gint ett_nr_rrc_PUSCH_PowerControl_v1610 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_Id_v1610 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16 = -1; +static gint ett_nr_rrc_T_olpc_ParameterSet = -1; +static gint ett_nr_rrc_P0_PUSCH_Set_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_Set_r16_OF_P0_PUSCH_r16 = -1; static gint ett_nr_rrc_PUSCH_ServingCellConfig = -1; static gint ett_nr_rrc_T_codeBlockGroupTransmission_01 = -1; +static gint ett_nr_rrc_T_maxMIMO_LayersForDCI_Format0_2_r16 = -1; static gint ett_nr_rrc_PUSCH_CodeBlockGroupTransmission = -1; static gint ett_nr_rrc_PUSCH_TimeDomainResourceAllocationList = -1; static gint ett_nr_rrc_PUSCH_TimeDomainResourceAllocation = -1; +static gint ett_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16 = -1; +static gint ett_nr_rrc_PUSCH_TimeDomainResourceAllocation_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofMultiplePUSCHs_r16_OF_PUSCH_Allocation_r16 = -1; +static gint ett_nr_rrc_PUSCH_Allocation_r16 = -1; static gint ett_nr_rrc_PUSCH_TPC_CommandConfig = -1; static gint ett_nr_rrc_QuantityConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR = -1; static gint ett_nr_rrc_QuantityConfigNR = -1; static gint ett_nr_rrc_QuantityConfigRS = -1; static gint ett_nr_rrc_FilterConfig = -1; +static gint ett_nr_rrc_FilterConfigCLI_r16 = -1; +static gint ett_nr_rrc_QuantityConfigUTRA_FDD_r16 = -1; static gint ett_nr_rrc_RACH_ConfigCommon = -1; static gint ett_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB = -1; static gint ett_nr_rrc_T_groupBconfigured = -1; static gint ett_nr_rrc_T_prach_RootSequenceIndex = -1; +static gint ett_nr_rrc_T_ra_PrioritizationForAccessIdentity = -1; +static gint ett_nr_rrc_T_prach_RootSequenceIndex_r16 = -1; +static gint ett_nr_rrc_RACH_ConfigCommonTwoStepRA_r16 = -1; +static gint ett_nr_rrc_T_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16 = -1; +static gint ett_nr_rrc_T_msgA_PRACH_RootSequenceIndex_r16 = -1; +static gint ett_nr_rrc_T_ra_PrioritizationForAccessIdentityTwoStep_r16 = -1; +static gint ett_nr_rrc_GroupB_ConfiguredTwoStepRA_r16 = -1; static gint ett_nr_rrc_RACH_ConfigDedicated = -1; static gint ett_nr_rrc_CFRA = -1; static gint ett_nr_rrc_T_occasions = -1; @@ -4162,10 +7281,14 @@ static gint ett_nr_rrc_T_ssb = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource = -1; static gint ett_nr_rrc_T_csirs = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource = -1; +static gint ett_nr_rrc_CFRA_TwoStep_r16 = -1; +static gint ett_nr_rrc_T_occasionsTwoStepRA_r16 = -1; +static gint ett_nr_rrc_T_resourcesTwoStep_r16 = -1; static gint ett_nr_rrc_CFRA_SSB_Resource = -1; static gint ett_nr_rrc_CFRA_CSIRS_Resource = -1; static gint ett_nr_rrc_T_ra_OccasionList_01 = -1; static gint ett_nr_rrc_RACH_ConfigGeneric = -1; +static gint ett_nr_rrc_RACH_ConfigGenericTwoStepRA_r16 = -1; static gint ett_nr_rrc_RA_Prioritization = -1; static gint ett_nr_rrc_RadioBearerConfig = -1; static gint ett_nr_rrc_SRB_ToAddModList = -1; @@ -4186,20 +7309,36 @@ 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_LTE_CRS_PatternList_r16 = -1; +static gint ett_nr_rrc_ReferenceTimeInfo_r16 = -1; +static gint ett_nr_rrc_ReferenceTime_r16 = -1; +static gint ett_nr_rrc_RepetitionSchemeConfig_r16 = -1; +static gint ett_nr_rrc_T_fdm_TDM_r16 = -1; +static gint ett_nr_rrc_T_slotBased_r16 = -1; +static gint ett_nr_rrc_FDM_TDM_r16 = -1; +static gint ett_nr_rrc_SlotBased_r16 = -1; static gint ett_nr_rrc_ReportConfigInterRAT = -1; -static gint ett_nr_rrc_T_reportType = -1; +static gint ett_nr_rrc_T_reportType_01 = -1; static gint ett_nr_rrc_ReportCGI_EUTRA = -1; static gint ett_nr_rrc_ReportSFTD_EUTRA = -1; static gint ett_nr_rrc_EventTriggerConfigInterRAT = -1; static gint ett_nr_rrc_T_eventId = -1; static gint ett_nr_rrc_T_eventB1 = -1; static gint ett_nr_rrc_T_eventB2 = -1; +static gint ett_nr_rrc_T_eventB1_UTRA_FDD_r16 = -1; +static gint ett_nr_rrc_T_eventB2_UTRA_FDD_r16 = -1; static gint ett_nr_rrc_PeriodicalReportConfigInterRAT = -1; +static gint ett_nr_rrc_MeasTriggerQuantityUTRA_FDD_r16 = -1; +static gint ett_nr_rrc_MeasReportQuantityUTRA_FDD_r16 = -1; static gint ett_nr_rrc_ReportConfigNR = -1; -static gint ett_nr_rrc_T_reportType_01 = -1; +static gint ett_nr_rrc_T_reportType_02 = -1; static gint ett_nr_rrc_ReportCGI = -1; static gint ett_nr_rrc_ReportSFTD_NR = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId = -1; +static gint ett_nr_rrc_CondTriggerConfig_r16 = -1; +static gint ett_nr_rrc_T_condEventId = -1; +static gint ett_nr_rrc_T_condEventA3 = -1; +static gint ett_nr_rrc_T_condEventA5 = -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; @@ -4208,10 +7347,31 @@ static gint ett_nr_rrc_T_eventA3 = -1; static gint ett_nr_rrc_T_eventA4 = -1; static gint ett_nr_rrc_T_eventA5 = -1; static gint ett_nr_rrc_T_eventA6 = -1; +static gint ett_nr_rrc_T_includeBT_Meas_r16 = -1; +static gint ett_nr_rrc_T_includeWLAN_Meas_r16 = -1; +static gint ett_nr_rrc_T_includeSensor_Meas_r16 = -1; static gint ett_nr_rrc_PeriodicalReportConfig = -1; +static gint ett_nr_rrc_T_includeBT_Meas_r16_01 = -1; +static gint ett_nr_rrc_T_includeWLAN_Meas_r16_01 = -1; +static gint ett_nr_rrc_T_includeSensor_Meas_r16_01 = -1; +static gint ett_nr_rrc_T_ul_DelayValueConfig_r16 = -1; static gint ett_nr_rrc_MeasTriggerQuantity = -1; static gint ett_nr_rrc_MeasTriggerQuantityOffset = -1; static gint ett_nr_rrc_MeasReportQuantity = -1; +static gint ett_nr_rrc_MeasRSSI_ReportConfig_r16 = -1; +static gint ett_nr_rrc_CLI_EventTriggerConfig_r16 = -1; +static gint ett_nr_rrc_T_eventId_r16 = -1; +static gint ett_nr_rrc_T_eventI1_r16 = -1; +static gint ett_nr_rrc_CLI_PeriodicalReportConfig_r16 = -1; +static gint ett_nr_rrc_MeasTriggerQuantityCLI_r16 = -1; +static gint ett_nr_rrc_ReportConfigNR_SL_r16 = -1; +static gint ett_nr_rrc_T_reportType_r16 = -1; +static gint ett_nr_rrc_EventTriggerConfigNR_SL_r16 = -1; +static gint ett_nr_rrc_T_eventId_r16_01 = -1; +static gint ett_nr_rrc_T_eventC1 = -1; +static gint ett_nr_rrc_T_eventC2_r16 = -1; +static gint ett_nr_rrc_PeriodicalReportConfigNR_SL_r16 = -1; +static gint ett_nr_rrc_MeasReportQuantity_r16 = -1; static gint ett_nr_rrc_ReportConfigToAddModList = -1; static gint ett_nr_rrc_ReportConfigToAddMod = -1; static gint ett_nr_rrc_T_reportConfig = -1; @@ -4226,6 +7386,8 @@ static gint ett_nr_rrc_UL_AM_RLC = -1; static gint ett_nr_rrc_DL_AM_RLC = -1; static gint ett_nr_rrc_UL_UM_RLC = -1; static gint ett_nr_rrc_DL_UM_RLC = -1; +static gint ett_nr_rrc_RLC_Config_v1610 = -1; +static gint ett_nr_rrc_DL_AM_RLC_v1610 = -1; static gint ett_nr_rrc_RLF_TimersAndConstants = -1; static gint ett_nr_rrc_SchedulingRequestConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod = -1; @@ -4233,6 +7395,7 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_Schedulin static gint ett_nr_rrc_SchedulingRequestToAddMod = -1; static gint ett_nr_rrc_SchedulingRequestResourceConfig = -1; static gint ett_nr_rrc_T_periodicityAndOffset = -1; +static gint ett_nr_rrc_SchedulingRequestResourceConfig_v1610 = -1; static gint ett_nr_rrc_SCS_SpecificCarrier = -1; static gint ett_nr_rrc_SDAP_Config = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI = -1; @@ -4248,7 +7411,18 @@ static gint ett_nr_rrc_T_dci_Format2_1 = -1; static gint ett_nr_rrc_T_dci_Format2_2 = -1; static gint ett_nr_rrc_T_dci_Format2_3 = -1; static gint ett_nr_rrc_T_ue_Specific = -1; +static gint ett_nr_rrc_SearchSpaceExt_r16 = -1; +static gint ett_nr_rrc_T_searchSpaceType_r16 = -1; +static gint ett_nr_rrc_T_common_r16 = -1; +static gint ett_nr_rrc_T_dci_Format2_4_r16 = -1; +static gint ett_nr_rrc_T_nrofCandidates_CI_r16 = -1; +static gint ett_nr_rrc_T_dci_Format2_5_r16 = -1; +static gint ett_nr_rrc_T_nrofCandidates_IAB_r16 = -1; +static gint ett_nr_rrc_T_dci_Format2_6_r16 = -1; +static gint ett_nr_rrc_T_searchSpaceGroupIdList_r16 = -1; static gint ett_nr_rrc_SecurityAlgorithmConfig = -1; +static gint ett_nr_rrc_SemiStaticChannelAccessConfig = -1; +static gint ett_nr_rrc_Sensor_LocationInfo_r16 = -1; static gint ett_nr_rrc_ServingCellConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink = -1; @@ -4256,24 +7430,41 @@ static gint ett_nr_rrc_T_pdcch_ServingCellConfig = -1; static gint ett_nr_rrc_T_pdsch_ServingCellConfig = -1; static gint ett_nr_rrc_T_csi_MeasConfig = -1; static gint ett_nr_rrc_T_lte_CRS_ToMatchAround = -1; +static gint ett_nr_rrc_T_dormantBWP_Config_r16 = -1; +static gint ett_nr_rrc_T_ca_SlotOffset_r16 = -1; +static gint ett_nr_rrc_T_channelAccessConfig_r16 = -1; +static gint ett_nr_rrc_T_lte_CRS_PatternList1_r16 = -1; +static gint ett_nr_rrc_T_lte_CRS_PatternList2_r16 = -1; static gint ett_nr_rrc_UplinkConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink = -1; static gint ett_nr_rrc_T_pusch_ServingCellConfig = -1; static gint ett_nr_rrc_T_carrierSwitching = -1; +static gint ett_nr_rrc_T_uplinkTxSwitching_r16 = -1; +static gint ett_nr_rrc_ChannelAccessConfig_r16 = -1; +static gint ett_nr_rrc_IntraCellGuardBands_r16 = -1; +static gint ett_nr_rrc_GuardBand_r16 = -1; +static gint ett_nr_rrc_DormantBWP_Config_r16 = -1; +static gint ett_nr_rrc_T_withinActiveTimeConfig_r16 = -1; +static gint ett_nr_rrc_T_outsideActiveTimeConfig_r16 = -1; +static gint ett_nr_rrc_WithinActiveTimeConfig_r16 = -1; +static gint ett_nr_rrc_OutsideActiveTimeConfig_r16 = -1; +static gint ett_nr_rrc_UplinkTxSwitching_r16 = -1; static gint ett_nr_rrc_ServingCellConfigCommon = -1; static gint ett_nr_rrc_T_ssb_PositionsInBurst = -1; static gint ett_nr_rrc_T_lte_CRS_ToMatchAround_01 = -1; +static gint ett_nr_rrc_T_channelAccessMode_r16 = -1; static gint ett_nr_rrc_ServingCellConfigCommonSIB = -1; static gint ett_nr_rrc_T_ssb_PositionsInBurst_01 = -1; +static gint ett_nr_rrc_T_channelAccessMode_r16_01 = -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_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; @@ -4281,9 +7472,19 @@ 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_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_AvailableRB_SetsPerCell_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceSwitchTrigger_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_ServCellIndex = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r16 = -1; +static gint ett_nr_rrc_CO_DurationsPerCell_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_64_OF_CO_Duration_r16 = -1; +static gint ett_nr_rrc_AvailableRB_SetsPerCell_r16 = -1; +static gint ett_nr_rrc_SearchSpaceSwitchTrigger_r16 = -1; static gint ett_nr_rrc_S_NSSAI = -1; static gint ett_nr_rrc_SpeedStateScaleFactors = -1; static gint ett_nr_rrc_SPS_Config = -1; +static gint ett_nr_rrc_SPS_PUCCH_AN_r16 = -1; +static gint ett_nr_rrc_SPS_PUCCH_AN_List_r16 = -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; @@ -4296,6 +7497,10 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSe static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16 = -1; static gint ett_nr_rrc_SRS_ResourceSet = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId = -1; static gint ett_nr_rrc_T_resourceType_01 = -1; @@ -4303,7 +7508,18 @@ static gint ett_nr_rrc_T_aperiodic_01 = -1; static gint ett_nr_rrc_T_aperiodicSRS_ResourceTriggerList = -1; static gint ett_nr_rrc_T_semi_persistent = -1; static gint ett_nr_rrc_T_periodic_01 = -1; -static gint ett_nr_rrc_T_pathlossReferenceRS = -1; +static gint ett_nr_rrc_T_pathlossReferenceRSList_r16 = -1; +static gint ett_nr_rrc_PathlossReferenceRS_Config = -1; +static gint ett_nr_rrc_PathlossReferenceRSList_r16 = -1; +static gint ett_nr_rrc_PathlossReferenceRS_r16 = -1; +static gint ett_nr_rrc_SRS_PosResourceSet_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_PosResourceId_r16 = -1; +static gint ett_nr_rrc_T_resourceType_r16 = -1; +static gint ett_nr_rrc_T_aperiodic_r16 = -1; +static gint ett_nr_rrc_T_aperiodicSRS_ResourceTriggerList_r16 = -1; +static gint ett_nr_rrc_T_semi_persistent_r16 = -1; +static gint ett_nr_rrc_T_periodic_r16 = -1; +static gint ett_nr_rrc_T_pathlossReferenceRS_Pos_r16 = -1; static gint ett_nr_rrc_SRS_Resource = -1; static gint ett_nr_rrc_T_transmissionComb = -1; static gint ett_nr_rrc_T_n2 = -1; @@ -4314,15 +7530,41 @@ static gint ett_nr_rrc_T_resourceType_02 = -1; static gint ett_nr_rrc_T_aperiodic_02 = -1; static gint ett_nr_rrc_T_semi_persistent_01 = -1; static gint ett_nr_rrc_T_periodic_02 = -1; +static gint ett_nr_rrc_T_resourceMapping_r16 = -1; +static gint ett_nr_rrc_SRS_PosResource_r16 = -1; +static gint ett_nr_rrc_T_transmissionComb_r16 = -1; +static gint ett_nr_rrc_T_n2_r16 = -1; +static gint ett_nr_rrc_T_n4_r16 = -1; +static gint ett_nr_rrc_T_n8_r16 = -1; +static gint ett_nr_rrc_T_resourceMapping_r16_01 = -1; +static gint ett_nr_rrc_T_freqHopping_r16 = -1; +static gint ett_nr_rrc_T_resourceType_r16_01 = -1; +static gint ett_nr_rrc_T_aperiodic_r16_01 = -1; +static gint ett_nr_rrc_T_semi_persistent_r16_01 = -1; +static gint ett_nr_rrc_T_periodic_r16_01 = -1; static gint ett_nr_rrc_SRS_SpatialRelationInfo = -1; static gint ett_nr_rrc_T_referenceSignal_03 = -1; -static gint ett_nr_rrc_T_srs_01 = -1; +static gint ett_nr_rrc_T_srs = -1; +static gint ett_nr_rrc_SRS_SpatialRelationInfoPos_r16 = -1; +static gint ett_nr_rrc_T_servingRS_r16 = -1; +static gint ett_nr_rrc_T_referenceSignal_r16_02 = -1; +static gint ett_nr_rrc_T_srs_SpatialRelation_r16 = -1; +static gint ett_nr_rrc_T_resourceSelection_r16 = -1; +static gint ett_nr_rrc_SSB_Configuration_r16 = -1; +static gint ett_nr_rrc_T_sfn0_Offset_r16 = -1; +static gint ett_nr_rrc_SSB_InfoNcell_r16 = -1; +static gint ett_nr_rrc_DL_PRS_Info_r16 = -1; static gint ett_nr_rrc_SRS_PeriodicityAndOffset = -1; +static gint ett_nr_rrc_SRS_PeriodicityAndOffset_r16 = -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_MTC2_LP_r16 = -1; +static gint ett_nr_rrc_SSB_MTC3_r16 = -1; +static gint ett_nr_rrc_T_periodicityAndOffset_r16 = -1; +static gint ett_nr_rrc_T_ssb_ToMeasure_r16 = -1; static gint ett_nr_rrc_SSB_ToMeasure = -1; static gint ett_nr_rrc_SS_RSSI_Measurement = -1; static gint ett_nr_rrc_TAG_Config = -1; @@ -4337,9 +7579,15 @@ static gint ett_nr_rrc_TDD_UL_DL_Pattern = -1; static gint ett_nr_rrc_TDD_UL_DL_ConfigDedicated = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex = -1; +static gint ett_nr_rrc_TDD_UL_DL_ConfigDedicated_IAB_MT_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_IAB_MT_r16 = -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_TDD_UL_DL_SlotConfig_IAB_MT_r16 = -1; +static gint ett_nr_rrc_T_symbols_IAB_MT_r16 = -1; +static gint ett_nr_rrc_T_explicit_r16 = -1; +static gint ett_nr_rrc_T_explicit_IAB_MT_r16 = -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; @@ -4349,6 +7597,12 @@ 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_UL_DelayValueConfig_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity = -1; +static gint ett_nr_rrc_UplinkCancellation_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_CI_ConfigurationPerServingCell_r16 = -1; +static gint ett_nr_rrc_CI_ConfigurationPerServingCell_r16 = -1; +static gint ett_nr_rrc_T_timeFrequencyRegion_r16 = -1; static gint ett_nr_rrc_UplinkConfigCommon = -1; static gint ett_nr_rrc_UplinkConfigCommonSIB = -1; static gint ett_nr_rrc_UplinkTxDirectCurrentList = -1; @@ -4365,15 +7619,22 @@ static gint ett_nr_rrc_BandCombinationList_v1560 = -1; static gint ett_nr_rrc_BandCombinationList_v1570 = -1; static gint ett_nr_rrc_BandCombinationList_v1580 = -1; static gint ett_nr_rrc_BandCombinationList_v1590 = -1; +static gint ett_nr_rrc_BandCombinationList_v1610 = -1; +static gint ett_nr_rrc_BandCombinationList_UplinkTxSwitch_r16 = -1; static gint ett_nr_rrc_BandCombination = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters = -1; static gint ett_nr_rrc_BandCombination_v1540 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540 = -1; static gint ett_nr_rrc_BandCombination_v1550 = -1; +static gint ett_nr_rrc_BandCombination_v1610 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1610 = -1; static gint ett_nr_rrc_BandCombination_v1560 = -1; static gint ett_nr_rrc_BandCombination_v1570 = -1; static gint ett_nr_rrc_BandCombination_v1580 = -1; static gint ett_nr_rrc_BandCombination_v1590 = -1; +static gint ett_nr_rrc_BandCombination_UplinkTxSwitch_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_r16 = -1; +static gint ett_nr_rrc_ULTxSwitchingBandPair_r16 = -1; static gint ett_nr_rrc_BandParameters = -1; static gint ett_nr_rrc_T_eutra = -1; static gint ett_nr_rrc_T_nr = -1; @@ -4384,6 +7645,19 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTime static gint ett_nr_rrc_T_eutra_01 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA = -1; static gint ett_nr_rrc_T_srs_TxSwitch = -1; +static gint ett_nr_rrc_BandParameters_v1610 = -1; +static gint ett_nr_rrc_T_srs_TxSwitch_v1610 = -1; +static gint ett_nr_rrc_T_intraFreqDAPS_Parameters_r16 = -1; +static gint ett_nr_rrc_BandCombinationListSidelink_r16 = -1; +static gint ett_nr_rrc_SupportedBandCombinationListSidelink_r16 = -1; +static gint ett_nr_rrc_BandCombinationParametersSidelink_r16 = -1; +static gint ett_nr_rrc_BandParametersSidelink_r16 = -1; +static gint ett_nr_rrc_SupportedBandCombinationListSidelinkEUTRA_r16 = -1; +static gint ett_nr_rrc_SupportedBandCombinationListSidelinkEUTRA_NR_r16 = -1; +static gint ett_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_r16 = -1; +static gint ett_nr_rrc_BandParametersSidelinkEUTRA_NR_r16 = -1; +static gint ett_nr_rrc_T_eutra_02 = -1; +static gint ett_nr_rrc_T_nr_02 = -1; static gint ett_nr_rrc_CA_ParametersEUTRA = -1; static gint ett_nr_rrc_CA_ParametersEUTRA_v1560 = -1; static gint ett_nr_rrc_CA_ParametersEUTRA_v1570 = -1; @@ -4392,20 +7666,31 @@ static gint ett_nr_rrc_CA_ParametersNR_v1540 = -1; static gint ett_nr_rrc_T_csi_RS_IM_ReceptionForFeedbackPerBandComb = -1; static gint ett_nr_rrc_CA_ParametersNR_v1550 = -1; static gint ett_nr_rrc_CA_ParametersNR_v1560 = -1; +static gint ett_nr_rrc_CA_ParametersNR_v1610 = -1; +static gint ett_nr_rrc_T_daps_Parameters_r16 = -1; static gint ett_nr_rrc_CA_ParametersNRDC = -1; +static gint ett_nr_rrc_CA_ParametersNRDC_v1610 = -1; +static gint ett_nr_rrc_CarrierAggregationVariant = -1; static gint ett_nr_rrc_CodebookParameters = -1; static gint ett_nr_rrc_T_type1_02 = -1; static gint ett_nr_rrc_T_singlePanel = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource = -1; static gint ett_nr_rrc_T_multiPanel = -1; -static gint ett_nr_rrc_T_type2_01 = -1; +static gint ett_nr_rrc_T_type2_02 = -1; static gint ett_nr_rrc_T_type2_PortSelection = -1; +static gint ett_nr_rrc_CodebookParameters_v1610 = -1; +static gint ett_nr_rrc_T_supportedCSI_RS_ResourceListAlt_r16 = -1; +static gint ett_nr_rrc_T_type1_SinglePanel_r16 = -1; +static gint ett_nr_rrc_T_type1_MultiPanel_r16 = -1; +static gint ett_nr_rrc_T_type2_r16 = -1; +static gint ett_nr_rrc_T_type2_PortSelection_r16 = -1; +static gint ett_nr_rrc_CodebookVariantsList_r16 = -1; static gint ett_nr_rrc_SupportedCSI_RS_Resource = -1; static gint ett_nr_rrc_FeatureSetCombination = -1; static gint ett_nr_rrc_FeatureSetsPerBand = -1; static gint ett_nr_rrc_FeatureSet = -1; -static gint ett_nr_rrc_T_eutra_02 = -1; -static gint ett_nr_rrc_T_nr_02 = -1; +static gint ett_nr_rrc_T_eutra_03 = -1; +static gint ett_nr_rrc_T_nr_03 = -1; static gint ett_nr_rrc_FeatureSetDownlink = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id = -1; static gint ett_nr_rrc_T_timeDurationForQCL = -1; @@ -4418,6 +7703,10 @@ static gint ett_nr_rrc_FeatureSetDownlink_v1540 = -1; static gint ett_nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGap = -1; static gint ett_nr_rrc_T_pdsch_ProcessingType2 = -1; static gint ett_nr_rrc_T_pdsch_ProcessingType2_Limited = -1; +static gint ett_nr_rrc_FeatureSetDownlink_v15a0 = -1; +static gint ett_nr_rrc_FeatureSetDownlink_v1610 = -1; +static gint ett_nr_rrc_T_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot = -1; +static gint ett_nr_rrc_T_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot = -1; static gint ett_nr_rrc_DummyA = -1; static gint ett_nr_rrc_DummyB = -1; static gint ett_nr_rrc_DummyC = -1; @@ -4432,11 +7721,22 @@ static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkP static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v15a0 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1610 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1610 = -1; static gint ett_nr_rrc_FeatureSetUplink = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id = -1; static gint ett_nr_rrc_T_pusch_ProcessingType1_DifferentTB_PerSlot = -1; static gint ett_nr_rrc_FeatureSetUplink_v1540 = -1; static gint ett_nr_rrc_T_pusch_ProcessingType2 = -1; +static gint ett_nr_rrc_FeatureSetUplink_v1610 = -1; +static gint ett_nr_rrc_T_pusch_RepetitionTypeB_r16 = -1; +static gint ett_nr_rrc_T_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot = -1; +static gint ett_nr_rrc_T_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot = -1; +static gint ett_nr_rrc_SRS_AllPosResources_r16 = -1; +static gint ett_nr_rrc_SRS_PosResources_r16 = -1; +static gint ett_nr_rrc_SRS_PosResourceAP_r16 = -1; +static gint ett_nr_rrc_SRS_PosResourceSP_r16 = -1; static gint ett_nr_rrc_SRS_Resources = -1; static gint ett_nr_rrc_DummyF = -1; static gint ett_nr_rrc_FeatureSetUplinkPerCC = -1; @@ -4447,6 +7747,7 @@ 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_HighSpeedParameters_r16 = -1; static gint ett_nr_rrc_IMS_Parameters = -1; static gint ett_nr_rrc_IMS_ParametersCommon = -1; static gint ett_nr_rrc_IMS_ParametersFRX_Diff = -1; @@ -4455,19 +7756,35 @@ 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_UTRA_FDD_Parameters_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsUTRA_FDD_r16_OF_SupportedBandUTRA_FDD_r16 = -1; static gint ett_nr_rrc_MAC_Parameters = -1; +static gint ett_nr_rrc_MAC_Parameters_v1610 = -1; static gint ett_nr_rrc_MAC_ParametersCommon = -1; +static gint ett_nr_rrc_MAC_ParametersFRX_Diff_r16 = -1; +static gint ett_nr_rrc_T_drx_Adaptation_r16 = -1; static gint ett_nr_rrc_MAC_ParametersXDD_Diff = -1; +static gint ett_nr_rrc_MinTimeGap_r16 = -1; static gint ett_nr_rrc_MeasAndMobParameters = -1; static gint ett_nr_rrc_MeasAndMobParametersCommon = -1; +static gint ett_nr_rrc_T_condHandoverParametersCommon_r16 = -1; static gint ett_nr_rrc_MeasAndMobParametersXDD_Diff = -1; +static gint ett_nr_rrc_T_condHandoverParametersXDD_Diff_r16 = -1; static gint ett_nr_rrc_MeasAndMobParametersFRX_Diff = -1; +static gint ett_nr_rrc_T_condHandoverParametersFRX_Diff_r16 = -1; static gint ett_nr_rrc_MeasAndMobParametersMRDC = -1; static gint ett_nr_rrc_MeasAndMobParametersMRDC_v1560 = -1; +static gint ett_nr_rrc_MeasAndMobParametersMRDC_v1610 = -1; static gint ett_nr_rrc_MeasAndMobParametersMRDC_Common = -1; +static gint ett_nr_rrc_MeasAndMobParametersMRDC_Common_v1610 = -1; +static gint ett_nr_rrc_T_condPSCellChangeParametersCommon_r16 = -1; static gint ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff = -1; static gint ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff_v1560 = -1; +static gint ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff_v1610 = -1; +static gint ett_nr_rrc_T_condPSCellChangeParametersXDD_Diff_r16 = -1; static gint ett_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff = -1; +static gint ett_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff_v1610 = -1; +static gint ett_nr_rrc_T_condPSCellChangeParametersFRX_Diff_r16 = -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; @@ -4488,16 +7805,21 @@ static gint ett_nr_rrc_PTRS_DensityRecommendationUL = -1; static gint ett_nr_rrc_SpatialRelations = -1; static gint ett_nr_rrc_DummyI = -1; static gint ett_nr_rrc_MRDC_Parameters = -1; +static gint ett_nr_rrc_T_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16 = -1; static gint ett_nr_rrc_MRDC_Parameters_v1580 = -1; static gint ett_nr_rrc_MRDC_Parameters_v1590 = -1; static gint ett_nr_rrc_NRDC_Parameters = -1; static gint ett_nr_rrc_T_dummy_06 = -1; static gint ett_nr_rrc_NRDC_Parameters_v1570 = -1; +static gint ett_nr_rrc_NRDC_Parameters_v1610 = -1; +static gint ett_nr_rrc_OLPC_SRS_Pos_r16 = -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_PDCP_ParametersMRDC_v1610 = -1; static gint ett_nr_rrc_Phy_Parameters = -1; static gint ett_nr_rrc_Phy_ParametersCommon = -1; +static gint ett_nr_rrc_T_crossSlotScheduling_r16 = -1; static gint ett_nr_rrc_Phy_ParametersXDD_Diff = -1; static gint ett_nr_rrc_Phy_ParametersFRX_Diff = -1; static gint ett_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot = -1; @@ -4507,6 +7829,9 @@ 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_PowSav_Parameters_r16 = -1; +static gint ett_nr_rrc_PowSav_ParametersCommon_r16 = -1; +static gint ett_nr_rrc_PowSav_ParametersFRX_Diff_r16 = -1; static gint ett_nr_rrc_ProcessingParameters = -1; static gint ett_nr_rrc_T_differentTB_PerSlot = -1; static gint ett_nr_rrc_RF_Parameters = -1; @@ -4524,40 +7849,79 @@ static gint ett_nr_rrc_T_fr2_02 = -1; static gint ett_nr_rrc_T_channelBWs_UL_v1590 = -1; static gint ett_nr_rrc_T_fr1_03 = -1; static gint ett_nr_rrc_T_fr2_03 = -1; +static gint ett_nr_rrc_T_multipleRateMatchingEUTRA_CRS_r16 = -1; +static gint ett_nr_rrc_T_channelBW_DL_IAB_r16 = -1; +static gint ett_nr_rrc_T_fr1_100mhz = -1; +static gint ett_nr_rrc_T_fr2_200mhz = -1; +static gint ett_nr_rrc_T_channelBW_UL_IAB_r16 = -1; +static gint ett_nr_rrc_T_fr1_100mhz_01 = -1; +static gint ett_nr_rrc_T_fr2_200mhz_01 = -1; static gint ett_nr_rrc_RF_ParametersMRDC = -1; +static gint ett_nr_rrc_T_supportedBandCombinationListNEDC_Only_v15a0 = -1; static gint ett_nr_rrc_RLC_Parameters = -1; static gint ett_nr_rrc_SDAP_Parameters = -1; +static gint ett_nr_rrc_SidelinkParameters_r16 = -1; +static gint ett_nr_rrc_SidelinkParametersNR_r16 = -1; +static gint ett_nr_rrc_SidelinkParametersEUTRA_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_BandSidelinkEUTRA_r16 = -1; +static gint ett_nr_rrc_RLC_ParametersSidelink_r16 = -1; +static gint ett_nr_rrc_MAC_ParametersSidelink_r16 = -1; +static gint ett_nr_rrc_UE_SidelinkCapabilityAddXDD_Mode_r16 = -1; +static gint ett_nr_rrc_MAC_ParametersSidelinkCommon_r16 = -1; +static gint ett_nr_rrc_MAC_ParametersSidelinkXDD_Diff_r16 = -1; +static gint ett_nr_rrc_BandSidelinkEUTRA_r16 = -1; +static gint ett_nr_rrc_T_gnb_ScheduledMode3SidelinkEUTRA_r16 = -1; +static gint ett_nr_rrc_SON_Parameters_r16 = -1; +static gint ett_nr_rrc_SpatialRelationsSRS_Pos_r16 = -1; static gint ett_nr_rrc_SRS_SwitchingTimeNR = -1; static gint ett_nr_rrc_SRS_SwitchingTimeEUTRA = -1; static gint ett_nr_rrc_SupportedBandwidth = -1; +static gint ett_nr_rrc_UE_BasedPerfMeas_Parameters_r16 = -1; static gint ett_nr_rrc_UE_CapabilityRAT_ContainerList = -1; static gint ett_nr_rrc_UE_CapabilityRAT_Container = -1; static gint ett_nr_rrc_UE_CapabilityRAT_RequestList = -1; static gint ett_nr_rrc_UE_CapabilityRAT_Request = -1; static gint ett_nr_rrc_UE_CapabilityRequestFilterCommon = -1; static gint ett_nr_rrc_T_mrdc_Request = -1; +static gint ett_nr_rrc_T_codebookTypeRequest_r16 = -1; static gint ett_nr_rrc_UE_CapabilityRequestFilterNR = -1; static gint ett_nr_rrc_UE_CapabilityRequestFilterNR_v1540 = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_37 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_49 = -1; static gint ett_nr_rrc_UE_MRDC_Capability = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination = -1; static gint ett_nr_rrc_UE_MRDC_Capability_v1560 = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_38 = -1; +static gint ett_nr_rrc_UE_MRDC_Capability_v1610 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_50 = -1; static gint ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode = -1; static gint ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode_v1560 = -1; static gint ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode = -1; static gint ett_nr_rrc_GeneralParametersMRDC_XDD_Diff = -1; +static gint ett_nr_rrc_GeneralParametersMRDC_v1610 = -1; static gint ett_nr_rrc_UE_NR_Capability = -1; static gint ett_nr_rrc_UE_NR_Capability_v1530 = -1; static gint ett_nr_rrc_UE_NR_Capability_v1540 = -1; static gint ett_nr_rrc_UE_NR_Capability_v1550 = -1; static gint ett_nr_rrc_UE_NR_Capability_v1560 = -1; static gint ett_nr_rrc_UE_NR_Capability_v1570 = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_39 = -1; +static gint ett_nr_rrc_UE_NR_Capability_v1610 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_51 = -1; static gint ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode = -1; static gint ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode_v1530 = -1; static gint ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode = -1; static gint ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1540 = -1; +static gint ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1610 = -1; +static gint ett_nr_rrc_BAP_Parameters_r16 = -1; +static gint ett_nr_rrc_UnlicensedParametersPerBand_r16 = -1; +static gint ett_nr_rrc_AreaConfiguration_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16 = -1; +static gint ett_nr_rrc_AreaConfig_r16 = -1; +static gint ett_nr_rrc_InterFreqTargetInfo_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_PhysCellId = -1; +static gint ett_nr_rrc_CellGlobalIdList_r16 = -1; +static gint ett_nr_rrc_TrackingAreaCodeList_r16 = -1; +static gint ett_nr_rrc_TrackingAreaIdentityList_r16 = -1; +static gint ett_nr_rrc_TrackingAreaIdentity_r16 = -1; +static gint ett_nr_rrc_BT_NameList_r16 = -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; @@ -4567,17 +7931,236 @@ 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_IAB_IP_Address_r16 = -1; +static gint ett_nr_rrc_LogMeasResultListBT_r16 = -1; +static gint ett_nr_rrc_LogMeasResultBT_r16 = -1; +static gint ett_nr_rrc_LogMeasResultListWLAN_r16 = -1; +static gint ett_nr_rrc_LogMeasResultWLAN_r16 = -1; +static gint ett_nr_rrc_WLAN_Identifiers_r16 = -1; +static gint ett_nr_rrc_WLAN_RTT_r16 = -1; static gint ett_nr_rrc_OtherConfig = -1; static gint ett_nr_rrc_T_delayBudgetReportingConfig = -1; static gint ett_nr_rrc_T_setup = -1; static gint ett_nr_rrc_OtherConfig_v1540 = -1; static gint ett_nr_rrc_T_overheatingAssistanceConfig = -1; +static gint ett_nr_rrc_CandidateServingFreqListNR_r16 = -1; +static gint ett_nr_rrc_OtherConfig_v1610 = -1; +static gint ett_nr_rrc_T_idc_AssistanceConfig_r16 = -1; +static gint ett_nr_rrc_T_drx_PreferenceConfig_r16 = -1; +static gint ett_nr_rrc_T_maxBW_PreferenceConfig_r16 = -1; +static gint ett_nr_rrc_T_maxCC_PreferenceConfig_r16 = -1; +static gint ett_nr_rrc_T_maxMIMO_LayerPreferenceConfig_r16 = -1; +static gint ett_nr_rrc_T_minSchedulingOffsetPreferenceConfig_r16 = -1; +static gint ett_nr_rrc_T_releasePreferenceConfig_r16 = -1; +static gint ett_nr_rrc_T_btNameList_r16 = -1; +static gint ett_nr_rrc_T_wlanNameList_r16 = -1; +static gint ett_nr_rrc_T_sensorNameList_r16 = -1; static gint ett_nr_rrc_OverheatingAssistanceConfig = -1; +static gint ett_nr_rrc_IDC_AssistanceConfig_r16 = -1; +static gint ett_nr_rrc_DRX_PreferenceConfig_r16 = -1; +static gint ett_nr_rrc_MaxBW_PreferenceConfig_r16 = -1; +static gint ett_nr_rrc_MaxCC_PreferenceConfig_r16 = -1; +static gint ett_nr_rrc_MaxMIMO_LayerPreferenceConfig_r16 = -1; +static gint ett_nr_rrc_MinSchedulingOffsetPreferenceConfig_r16 = -1; +static gint ett_nr_rrc_ReleasePreferenceConfig_r16 = -1; +static gint ett_nr_rrc_Sensor_NameList_r16 = -1; +static gint ett_nr_rrc_TraceReference_r16 = -1; +static gint ett_nr_rrc_UEMeasurementsAvailable_r16 = -1; +static gint ett_nr_rrc_VisitedCellInfoList_r16 = -1; +static gint ett_nr_rrc_VisitedCellInfo_r16 = -1; +static gint ett_nr_rrc_T_visitedCellId_r16 = -1; +static gint ett_nr_rrc_T_nr_CellId_r16 = -1; +static gint ett_nr_rrc_T_pci_arfcn_r16_02 = -1; +static gint ett_nr_rrc_T_eutra_CellId_r16 = -1; +static gint ett_nr_rrc_T_pci_arfcn_r16_03 = -1; +static gint ett_nr_rrc_WLAN_NameList_r16 = -1; +static gint ett_nr_rrc_SL_BWP_Config_r16 = -1; +static gint ett_nr_rrc_SL_BWP_Generic_r16 = -1; +static gint ett_nr_rrc_T_sl_PSBCH_Config_r16 = -1; +static gint ett_nr_rrc_SL_BWP_PoolConfig_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16 = -1; +static gint ett_nr_rrc_SL_TxPoolDedicated_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolID_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolConfig_r16 = -1; +static gint ett_nr_rrc_SL_ResourcePoolConfig_r16 = -1; +static gint ett_nr_rrc_SL_CBR_PriorityTxConfigList_r16 = -1; +static gint ett_nr_rrc_SL_PriorityTxConfigIndex_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_TxConfigIndex_r16 = -1; +static gint ett_nr_rrc_SL_CBR_CommonTxConfigList_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Config_r16_OF_SL_CBR_LevelsConfig_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxTxConfig_r16_OF_SL_CBR_PSSCH_TxConfig_r16 = -1; +static gint ett_nr_rrc_SL_CBR_LevelsConfig_r16 = -1; +static gint ett_nr_rrc_SL_CBR_PSSCH_TxConfig_r16 = -1; +static gint ett_nr_rrc_SL_ConfigDedicatedNR_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Uu_ConfigIndex_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RadioBearerConfig_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_MeasConfigInfo_r16 = -1; +static gint ett_nr_rrc_SL_PHY_MAC_RLC_Config_r16 = -1; +static gint ett_nr_rrc_T_sl_ScheduledConfig_r16 = -1; +static gint ett_nr_rrc_T_sl_UE_SelectedConfig_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_Freq_Id_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_FreqConfig_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfigIndex_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfig_r16 = -1; +static gint ett_nr_rrc_T_sl_CSI_SchedulingRequestId_r16 = -1; +static gint ett_nr_rrc_SL_ConfiguredGrantConfig_r16 = -1; +static gint ett_nr_rrc_T_rrc_ConfiguredSidelinkGrant = -1; +static gint ett_nr_rrc_SL_CG_MaxTransNumList_r16 = -1; +static gint ett_nr_rrc_SL_CG_MaxTransNum_r16 = -1; +static gint ett_nr_rrc_SL_PeriodCG_r16 = -1; +static gint ett_nr_rrc_SL_FreqConfig_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_BWP_Id = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_SL_BWP_Config_r16 = -1; +static gint ett_nr_rrc_SL_LogicalChannelConfig_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofCG_SL_r16_1_OF_SL_ConfigIndexCG_r16 = -1; +static gint ett_nr_rrc_SL_MeasConfigInfo_r16 = -1; +static gint ett_nr_rrc_SL_MeasConfig_r16 = -1; +static gint ett_nr_rrc_SL_MeasObjectToRemoveList_r16 = -1; +static gint ett_nr_rrc_SL_ReportConfigToRemoveList_r16 = -1; +static gint ett_nr_rrc_SL_MeasIdToRemoveList_r16 = -1; +static gint ett_nr_rrc_SL_MeasIdList_r16 = -1; +static gint ett_nr_rrc_SL_MeasIdInfo_r16 = -1; +static gint ett_nr_rrc_SL_MeasObjectList_r16 = -1; +static gint ett_nr_rrc_SL_MeasObjectInfo_r16 = -1; +static gint ett_nr_rrc_SL_MeasObject_r16 = -1; +static gint ett_nr_rrc_SL_PDCP_Config_r16 = -1; +static gint ett_nr_rrc_SL_PSBCH_Config_r16 = -1; +static gint ett_nr_rrc_SL_PSSCH_TxConfigList_r16 = -1; +static gint ett_nr_rrc_SL_PSSCH_TxConfig_r16 = -1; +static gint ett_nr_rrc_SL_PSSCH_TxParameters_r16 = -1; +static gint ett_nr_rrc_SL_QoS_Profile_r16 = -1; +static gint ett_nr_rrc_SL_PQI_r16 = -1; +static gint ett_nr_rrc_T_sl_Non_StandardizedPQI_r16 = -1; +static gint ett_nr_rrc_SL_QuantityConfig_r16 = -1; +static gint ett_nr_rrc_SL_RadioBearerConfig_r16 = -1; +static gint ett_nr_rrc_SL_ReportConfigList_r16 = -1; +static gint ett_nr_rrc_SL_ReportConfigInfo_r16 = -1; +static gint ett_nr_rrc_SL_ReportConfig_r16 = -1; +static gint ett_nr_rrc_T_sl_ReportType_r16 = -1; +static gint ett_nr_rrc_SL_PeriodicalReportConfig_r16 = -1; +static gint ett_nr_rrc_SL_EventTriggerConfig_r16 = -1; +static gint ett_nr_rrc_T_sl_EventId_r16 = -1; +static gint ett_nr_rrc_T_eventS1_r16 = -1; +static gint ett_nr_rrc_T_eventS2_r16 = -1; +static gint ett_nr_rrc_SL_MeasReportQuantity_r16 = -1; +static gint ett_nr_rrc_SL_MeasTriggerQuantity_r16 = -1; +static gint ett_nr_rrc_SL_ResourcePool_r16 = -1; +static gint ett_nr_rrc_T_sl_PSCCH_Config_r16 = -1; +static gint ett_nr_rrc_T_sl_PSSCH_Config_r16 = -1; +static gint ett_nr_rrc_T_sl_PSFCH_Config_r16 = -1; +static gint ett_nr_rrc_T_sl_RxParametersNcell_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_16_OF_SL_ZoneConfigMCR_r16 = -1; +static gint ett_nr_rrc_SL_ZoneConfigMCR_r16 = -1; +static gint ett_nr_rrc_SL_SyncAllowed_r16 = -1; +static gint ett_nr_rrc_SL_PSCCH_Config_r16 = -1; +static gint ett_nr_rrc_SL_PSSCH_Config_r16 = -1; +static gint ett_nr_rrc_T_sl_PSSCH_DMRS_TimePatternList_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_4_OF_SL_BetaOffsets_r16 = -1; +static gint ett_nr_rrc_SL_PSFCH_Config_r16 = -1; +static gint ett_nr_rrc_SL_PTRS_Config_r16 = -1; +static gint ett_nr_rrc_T_sl_PTRS_FreqDensity_r16 = -1; +static gint ett_nr_rrc_T_sl_PTRS_TimeDensity_r16 = -1; +static gint ett_nr_rrc_SL_UE_SelectedConfigRP_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_16_OF_SL_ResourceReservePeriod_r16 = -1; +static gint ett_nr_rrc_SL_ResourceReservePeriod_r16 = -1; +static gint ett_nr_rrc_SL_SelectionWindowList_r16 = -1; +static gint ett_nr_rrc_SL_SelectionWindowConfig_r16 = -1; +static gint ett_nr_rrc_SL_TxPercentageList_r16 = -1; +static gint ett_nr_rrc_SL_TxPercentageConfig_r16 = -1; +static gint ett_nr_rrc_SL_MinMaxMCS_List_r16 = -1; +static gint ett_nr_rrc_SL_MinMaxMCS_Config_r16 = -1; +static gint ett_nr_rrc_SL_PowerControl_r16 = -1; +static gint ett_nr_rrc_SL_RLC_BearerConfig_r16 = -1; +static gint ett_nr_rrc_SL_RLC_Config_r16 = -1; +static gint ett_nr_rrc_T_sl_AM_RLC_r16 = -1; +static gint ett_nr_rrc_T_sl_UM_RLC_r16 = -1; +static gint ett_nr_rrc_SL_ScheduledConfig_r16 = -1; +static gint ett_nr_rrc_T_sl_PSFCH_ToPUCCH_r16 = -1; +static gint ett_nr_rrc_MAC_MainConfigSL_r16 = -1; +static gint ett_nr_rrc_SL_TimingConfig_r16 = -1; +static gint ett_nr_rrc_SL_ConfiguredGrantConfigList_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfigIndexCG_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfiguredGrantConfig_r16 = -1; +static gint ett_nr_rrc_SL_SDAP_Config_r16 = -1; +static gint ett_nr_rrc_T_sl_MappedQoS_Flows_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16 = -1; +static gint ett_nr_rrc_SL_MappedQoS_FlowsListDedicated_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16 = -1; +static gint ett_nr_rrc_SL_SyncConfigList_r16 = -1; +static gint ett_nr_rrc_SL_SyncConfig_r16 = -1; +static gint ett_nr_rrc_T_txParameters_r16 = -1; +static gint ett_nr_rrc_SL_SSB_TimeAllocation_r16 = -1; +static gint ett_nr_rrc_SL_ThresPSSCH_RSRP_List_r16 = -1; +static gint ett_nr_rrc_SL_TxPower_r16 = -1; +static gint ett_nr_rrc_SL_UE_SelectedConfig_r16 = -1; +static gint ett_nr_rrc_SL_ZoneConfig_r16 = -1; +static gint ett_nr_rrc_SBCCH_SL_BCH_Message = -1; +static gint ett_nr_rrc_SBCCH_SL_BCH_MessageType = -1; +static gint ett_nr_rrc_T_c1_17 = -1; +static gint ett_nr_rrc_T_messageClassExtension_08 = -1; +static gint ett_nr_rrc_SCCH_Message = -1; +static gint ett_nr_rrc_SCCH_MessageType = -1; +static gint ett_nr_rrc_T_c1_18 = -1; +static gint ett_nr_rrc_T_messageClassExtension_09 = -1; +static gint ett_nr_rrc_MasterInformationBlockSidelink = -1; +static gint ett_nr_rrc_MeasurementReportSidelink = -1; +static gint ett_nr_rrc_T_criticalExtensions_47 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_47 = -1; +static gint ett_nr_rrc_MeasurementReportSidelink_IEs_r16 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_52 = -1; +static gint ett_nr_rrc_SL_MeasResults_r16 = -1; +static gint ett_nr_rrc_SL_MeasResult_r16 = -1; +static gint ett_nr_rrc_SL_MeasQuantityResult_r16 = -1; +static gint ett_nr_rrc_RRCReconfigurationSidelink = -1; +static gint ett_nr_rrc_T_criticalExtensions_48 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_48 = -1; +static gint ett_nr_rrc_RRCReconfigurationSidelink_IEs_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Config_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_PC5_ConfigIndex_r16 = -1; +static gint ett_nr_rrc_T_sl_MeasConfig_r16 = -1; +static gint ett_nr_rrc_T_sl_CSI_RS_Config_r16 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_53 = -1; +static gint ett_nr_rrc_SLRB_Config_r16 = -1; +static gint ett_nr_rrc_SL_SDAP_ConfigPC5_r16 = -1; +static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PFI_r16 = -1; +static gint ett_nr_rrc_SL_PDCP_ConfigPC5_r16 = -1; +static gint ett_nr_rrc_SL_RLC_ConfigPC5_r16 = -1; +static gint ett_nr_rrc_T_sl_AM_RLC_r16_01 = -1; +static gint ett_nr_rrc_T_sl_UM_Bi_Directional_RLC_r16 = -1; +static gint ett_nr_rrc_T_sl_UM_Uni_Directional_RLC_r16 = -1; +static gint ett_nr_rrc_SL_LogicalChannelConfigPC5_r16 = -1; +static gint ett_nr_rrc_SL_CSI_RS_Config_r16 = -1; +static gint ett_nr_rrc_T_sl_CSI_RS_FreqAllocation_r16 = -1; +static gint ett_nr_rrc_RRCReconfigurationCompleteSidelink = -1; +static gint ett_nr_rrc_T_criticalExtensions_49 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_49 = -1; +static gint ett_nr_rrc_RRCReconfigurationCompleteSidelink_IEs_r16 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_54 = -1; +static gint ett_nr_rrc_RRCReconfigurationFailureSidelink = -1; +static gint ett_nr_rrc_T_criticalExtensions_50 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_50 = -1; +static gint ett_nr_rrc_RRCReconfigurationFailureSidelink_IEs_r16 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_55 = -1; +static gint ett_nr_rrc_UECapabilityEnquirySidelink = -1; +static gint ett_nr_rrc_T_criticalExtensions_51 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_51 = -1; +static gint ett_nr_rrc_UECapabilityEnquirySidelink_IEs_r16 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_56 = -1; +static gint ett_nr_rrc_UECapabilityInformationSidelink = -1; +static gint ett_nr_rrc_T_criticalExtensions_52 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_52 = -1; +static gint ett_nr_rrc_UECapabilityInformationSidelink_IEs_r16 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_57 = -1; +static gint ett_nr_rrc_PDCP_ParametersSidelink_r16 = -1; +static gint ett_nr_rrc_PC5_RLC_ParametersSidelink_r16 = -1; +static gint ett_nr_rrc_UE_CapabilityRequestFilterSidelink_r16 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_58 = -1; /*--- End of included file: packet-nr-rrc-ett.c ---*/ -#line 100 "./asn1/nr-rrc/packet-nr-rrc-template.c" +#line 103 "./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_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; @@ -4601,9 +8184,36 @@ static gint ett_nr_rrc_measResultSCG_FailureMRDC = -1; static gint ett_nr_rrc_ul_DCCH_MessageNR = -1; static gint ett_nr_rrc_ul_DCCH_MessageEUTRA = -1; static gint ett_rr_rrc_nas_SecurityParamFromNR = -1; +static gint ett_nr_rrc_sidelinkUEInformationNR = -1; +static gint ett_nr_rrc_sidelinkUEInformationEUTRA = -1; +static gint ett_nr_rrc_ueAssistanceInformationEUTRA = -1; +static gint ett_nr_rrc_dl_DCCH_MessageNR = -1; +static gint ett_nr_rrc_dl_DCCH_MessageEUTRA = -1; +static gint ett_nr_rrc_sl_ConfigDedicatedEUTRA = -1; +static gint ett_nr_rrc_sl_CapabilityInformationSidelink = -1; +static gint ett_nr_rrc_measResult_RLF_Report_EUTRA = -1; +static gint ett_nr_rrc_locationTimestamp_r16 = -1; +static gint ett_nr_rrc_locationCoordinate_r16 = -1; +static gint ett_nr_rrc_locationError_r16 = -1; +static gint ett_nr_rrc_locationSource_r16 = -1; +static gint ett_nr_rrc_velocityEstimate_r16 = -1; +static gint ett_nr_rrc_sensor_MeasurementInformation_r16 = -1; +static gint ett_nr_rrc_sensor_MotionInformation_r16 = -1; +static gint ett_nr_rrc_bandCombinationListEUTRA1_r16 = -1; +static gint ett_nr_rrc_bandCombinationListEUTRA2_r16 = -1; +static gint ett_nr_rrc_bandParametersSidelinkEUTRA1_r16 = -1; +static gint ett_nr_rrc_bandParametersSidelinkEUTRA2_r16 = -1; +static gint ett_nr_rrc_sl_ParametersEUTRA1_r16 = -1; +static gint ett_nr_rrc_sl_ParametersEUTRA2_r16 = -1; +static gint ett_nr_rrc_sl_ParametersEUTRA3_r16 = -1; +static gint ett_nr_rrc_absTimeInfo = -1; static expert_field ei_nr_rrc_number_pages_le15 = EI_INIT; +/* Forward declarations */ +static int dissect_UECapabilityInformationSidelink_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_DL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); + 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" }; @@ -4860,12 +8470,114 @@ nr_rrc_dl_1024QAM_TotalWeightedLayers_fmt(gchar *s, guint32 v) g_snprintf(s, ITEM_LABEL_LENGTH, "%u (%u)", 10+(2*v), v); } +static void +nr_rrc_timeConnFailure_r16_fmt(gchar *s, guint32 v) +{ + g_snprintf(s, ITEM_LABEL_LENGTH, "%ums (%u)", 100*v, v); +} + +static void +nr_rrc_CLI_RSSI_Range_r16_fmt(gchar *s, guint32 v) +{ + if (v == 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "CLI-RSSI < -100dBm (0)"); + } else if (v < 76) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= CLI-RSSI < %ddBm (%u)", v-101, v-100, v); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "-25dBm <= CLI-RSSI (76)"); + } +} + +static void +nr_rrc_RSRQ_RangeEUTRA_r16_fmt(gchar *s, guint32 v) +{ + gint32 d = (gint32)v; + + if (d == -34) { + g_snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -36dB (-34)"); + } else if (d < 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%d)", (((float)d-1)/2)-19, ((float)d/2)-19, d); + } else if (d == 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -19.5dB (0)"); + } else if (d < 34) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%d)", (((float)d-1)/2)-19.5, ((float)d/2)-19.5, d); + } else if (d == 34) { + g_snprintf(s, ITEM_LABEL_LENGTH, "-3dB <= RSRQ (34)"); + } else if (d < 46) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%d)", (((float)d-1)/2)-20, ((float)d/2)-20, d); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "2.5dB <= RSRQ (46)"); + } +} + +static void +nr_rrc_utra_FDD_RSCP_r16_fmt(gchar *s, guint32 v) +{ + gint32 d = (gint32)v; + + if (d == -5) { + g_snprintf(s, ITEM_LABEL_LENGTH, "RSCP < -120dBm (-5)"); + } else if (d < 91) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSCP < %ddB (%d)", d-116, d-115, d); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "-25dBm <= RSCP (91)"); + } +} + +static void +nr_rrc_utra_FDD_EcN0_r16_fmt(gchar *s, guint32 v) +{ + if (v == 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "Ec/No < -24dB (0)"); + } else if (v < 49) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= Ec/No < %.1fdB (%u)", (((float)v-1)/2)-24, ((float)v/2)-24, v); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "0dB <= Ec/No (49)"); + } +} + +static void +nr_rrc_averageDelay_r16_fmt(gchar *s, guint32 v) +{ + g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%u)", (float)v/10, v); +} + +static void +nr_rrc_measTriggerQuantity_utra_FDD_RSCP_r16_fmt(gchar *s, guint32 v) +{ + gint32 d = (gint32)v; + + g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%d)", d-115, d); +} + +static void +nr_rrc_measTriggerQuantity_utra_FDD_EcN0_r16_fmt(gchar *s, guint32 v) +{ + g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", (float)v/2-24.5, v); +} + +static void +nr_rrc_SRS_RSRP_r16_fmt(gchar *s, guint32 v) +{ + if (v == 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "SRS-RSRP < -140dBm (0)"); + } else if (v < 97) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= SRS-RSRP < %ddB (%u)", v-141, v-140, v); + } else if (v == 97) { + g_snprintf(s, ITEM_LABEL_LENGTH, "-44dBm <= SRS-RSRP (97)"); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "Infinity (98)"); + } +} + /*--- Included file: packet-nr-rrc-fn.c ---*/ #line 1 "./asn1/nr-rrc/packet-nr-rrc-fn.c" /*--- PDUs declarations ---*/ static int dissect_MeasResultList2NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_OverheatingAssistance_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_SystemInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_PosSystemInformation_r16_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_UECapabilityEnquiry_v1560_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); @@ -4997,7 +8709,7 @@ static const value_string nr_rrc_RAT_Type_vals[] = { { RAT_Type_nr, "nr" }, { RAT_Type_eutra_nr, "eutra-nr" }, { RAT_Type_eutra, "eutra" }, - { RAT_Type_spare1, "spare1" }, + { RAT_Type_utra_fdd_v1610, "utra-fdd-v1610" }, { 0, NULL } }; @@ -5040,6 +8752,9 @@ dissect_nr_rrc_T_ue_CapabilityRAT_Container(tvbuff_t *tvb _U_, int offset _U_, a case RAT_Type_eutra: dissect_lte_rrc_UE_EUTRA_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL); break; + case RAT_Type_utra_fdd_v1610: + dissect_rrc_InterRATHandoverInfo_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL); + break; default: break; } @@ -5122,7 +8837,7 @@ dissect_nr_rrc_T_sourceSCG_EUTRA_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ if (src_scg_eutra_config_tvb && lte_rrc_conn_reconf_handle) { proto_tree *subtree; - subtree = proto_item_add_subtree(actx->created_item, ett_rr_rrc_targetRAT_MessageContainer); + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_targetRAT_MessageContainer); nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, src_scg_eutra_config_tvb, actx->pinfo, subtree); } @@ -5572,12 +9287,41 @@ dissect_nr_rrc_T_cellReservedForOperatorUse(tvbuff_t *tvb _U_, int offset _U_, a } +static const value_string nr_rrc_T_iab_Support_r16_01_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_iab_Support_r16_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 PLMN_IdentityInfo_eag_1_sequence[] = { + { &hf_nr_rrc_iab_Support_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_iab_Support_r16_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PLMN_IdentityInfo_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, PLMN_IdentityInfo_eag_1_sequence); + + 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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_IdentityInfo_eag_1 }, { NULL, 0, 0, NULL } }; @@ -5688,10 +9432,232 @@ dissect_nr_rrc_T_noSIB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } + +static int +dissect_nr_rrc_BIT_STRING_SIZE_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 32, 32, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_manualCAGselectionAllowed_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_manualCAGselectionAllowed_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 CAG_IdentityInfo_r16_sequence[] = { + { &hf_nr_rrc_cag_Identity_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_32 }, + { &hf_nr_rrc_manualCAGselectionAllowed_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_manualCAGselectionAllowed_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CAG_IdentityInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CAG_IdentityInfo_r16, CAG_IdentityInfo_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNPN_r16_OF_CAG_IdentityInfo_r16_sequence_of[1] = { + { &hf_nr_rrc_cag_IdentityList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CAG_IdentityInfo_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_CAG_IdentityInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_CAG_IdentityInfo_r16, SEQUENCE_SIZE_1_maxNPN_r16_OF_CAG_IdentityInfo_r16_sequence_of, + 1, maxNPN_r16, FALSE); + + return offset; +} + + +static const per_sequence_t T_pni_npn_r16_sequence[] = { + { &hf_nr_rrc_plmn_Identity_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity }, + { &hf_nr_rrc_cag_IdentityList_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_CAG_IdentityInfo_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_pni_npn_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_pni_npn_r16, T_pni_npn_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_NID_r16(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, + 44, 44, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNPN_r16_OF_NID_r16_sequence_of[1] = { + { &hf_nr_rrc_nid_List_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NID_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NID_r16, SEQUENCE_SIZE_1_maxNPN_r16_OF_NID_r16_sequence_of, + 1, maxNPN_r16, FALSE); + + return offset; +} + + +static const per_sequence_t T_snpn_r16_sequence[] = { + { &hf_nr_rrc_plmn_Identity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity }, + { &hf_nr_rrc_nid_List_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NID_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_snpn_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_snpn_r16, T_snpn_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_NPN_Identity_r16_vals[] = { + { 0, "pni-npn-r16" }, + { 1, "snpn-r16" }, + { 0, NULL } +}; + +static const per_choice_t NPN_Identity_r16_choice[] = { + { 0, &hf_nr_rrc_pni_npn_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_pni_npn_r16 }, + { 1, &hf_nr_rrc_snpn_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_snpn_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_NPN_Identity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_NPN_Identity_r16, NPN_Identity_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNPN_r16_OF_NPN_Identity_r16_sequence_of[1] = { + { &hf_nr_rrc_npn_IdentityList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NPN_Identity_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NPN_Identity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NPN_Identity_r16, SEQUENCE_SIZE_1_maxNPN_r16_OF_NPN_Identity_r16_sequence_of, + 1, maxNPN_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_cellReservedForOperatorUse_r16_vals[] = { + { 0, "reserved" }, + { 1, "notReserved" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_cellReservedForOperatorUse_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_iab_Support_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_iab_Support_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 NPN_IdentityInfo_r16_sequence[] = { + { &hf_nr_rrc_npn_IdentityList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NPN_Identity_r16 }, + { &hf_nr_rrc_trackingAreaCode_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TrackingAreaCode }, + { &hf_nr_rrc_ranac_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RAN_AreaCode }, + { &hf_nr_rrc_cellIdentity_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellIdentity }, + { &hf_nr_rrc_cellReservedForOperatorUse_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellReservedForOperatorUse_r16 }, + { &hf_nr_rrc_iab_Support_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_iab_Support_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_NPN_IdentityInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_NPN_IdentityInfo_r16, NPN_IdentityInfo_r16_sequence); + + return offset; +} + + +static const per_sequence_t NPN_IdentityInfoList_r16_sequence_of[1] = { + { &hf_nr_rrc_NPN_IdentityInfoList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NPN_IdentityInfo_r16 }, +}; + +static int +dissect_nr_rrc_NPN_IdentityInfoList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_NPN_IdentityInfoList_r16, NPN_IdentityInfoList_r16_sequence_of, + 1, maxNPN_r16, FALSE); + + return offset; +} + + +static const per_sequence_t CGI_InfoNR_eag_1_sequence[] = { + { &hf_nr_rrc_npn_IdentityInfoList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NPN_IdentityInfoList_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CGI_InfoNR_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, CGI_InfoNR_eag_1_sequence); + + return offset; +} + + static const per_sequence_t CGI_InfoNR_sequence[] = { { &hf_nr_rrc_plmn_IdentityInfoList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PLMN_IdentityInfoList }, { &hf_nr_rrc_frequencyBandList_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MultiFrequencyBandListNR }, { &hf_nr_rrc_noSIB1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_noSIB1 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CGI_InfoNR_eag_1 }, { NULL, 0, 0, NULL } }; @@ -5751,7 +9717,7 @@ static const per_sequence_t MeasResult2NR_sequence[] = { { &hf_nr_rrc_ssbFrequency , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR }, { &hf_nr_rrc_refFreqCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR }, { &hf_nr_rrc_measResultServingCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultNR }, - { &hf_nr_rrc_measResultNeighCellListNR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultListNR }, + { &hf_nr_rrc_measResultNeighCellListNR_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultListNR }, { NULL, 0, 0, NULL } }; @@ -6072,7 +10038,7 @@ dissect_nr_rrc_CGI_InfoEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static const per_sequence_t MeasResultEUTRA_sequence[] = { { &hf_nr_rrc_eutra_PhysCellId_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, { &hf_nr_rrc_measResult_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasQuantityResultsEUTRA }, - { &hf_nr_rrc_cgi_Info_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CGI_InfoEUTRA }, + { &hf_nr_rrc_cgi_Info_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CGI_InfoEUTRA }, { NULL, 0, 0, NULL } }; @@ -6435,6 +10401,254 @@ dissect_nr_rrc_ConfigRestrictInfoSCG_eag_2(tvbuff_t *tvb _U_, int offset _U_, as } +static const per_sequence_t T_powerCoordination_FR2_r16_sequence[] = { + { &hf_nr_rrc_p_maxNR_FR2_MCG_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, + { &hf_nr_rrc_p_maxNR_FR2_SCG_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, + { &hf_nr_rrc_p_maxUE_FR2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_powerCoordination_FR2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_powerCoordination_FR2_r16, T_powerCoordination_FR2_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_nrdc_PC_mode_FR1_r16_vals[] = { + { 0, "semi-static-mode1" }, + { 1, "semi-static-mode2" }, + { 2, "dynamic" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nrdc_PC_mode_FR1_r16(tvbuff_t *tvb _U_, int offset _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_nrdc_PC_mode_FR2_r16_vals[] = { + { 0, "semi-static-mode1" }, + { 1, "semi-static-mode2" }, + { 2, "dynamic" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nrdc_PC_mode_FR2_r16(tvbuff_t *tvb _U_, int offset _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_maxNrofCLI_SRS_Resources_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxNrofCLI_SRS_Resources_r16, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_maxNrofCLI_RSSI_Resources_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxNrofCLI_RSSI_Resources_r16, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_65536(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 65536U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 31U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t ReducedMaxCCs_r16_sequence[] = { + { &hf_nr_rrc_reducedCCsDL_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 }, + { &hf_nr_rrc_reducedCCsUL_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ReducedMaxCCs_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_ReducedMaxCCs_r16, ReducedMaxCCs_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_ReducedAggregatedBandwidth_vals[] = { + { 0, "mhz0" }, + { 1, "mhz10" }, + { 2, "mhz20" }, + { 3, "mhz30" }, + { 4, "mhz40" }, + { 5, "mhz50" }, + { 6, "mhz60" }, + { 7, "mhz80" }, + { 8, "mhz100" }, + { 9, "mhz200" }, + { 10, "mhz300" }, + { 11, "mhz400" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_ReducedAggregatedBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 12, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ReducedMaxBW_FRx_r16_sequence[] = { + { &hf_nr_rrc_reducedBW_DL_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReducedAggregatedBandwidth }, + { &hf_nr_rrc_reducedBW_UL_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReducedAggregatedBandwidth }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ReducedMaxBW_FRx_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_ReducedMaxBW_FRx_r16, ReducedMaxBW_FRx_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_MIMO_LayersDL_vals[] = { + { 0, "twoLayers" }, + { 1, "fourLayers" }, + { 2, "eightLayers" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_MIMO_LayersDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_MIMO_LayersUL_vals[] = { + { 0, "oneLayer" }, + { 1, "twoLayers" }, + { 2, "fourLayers" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_MIMO_LayersUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_reducedMaxMIMO_LayersFR1_sequence[] = { + { &hf_nr_rrc_reducedMIMO_LayersFR1_DL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_LayersDL }, + { &hf_nr_rrc_reducedMIMO_LayersFR1_UL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_LayersUL }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_reducedMaxMIMO_LayersFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_reducedMaxMIMO_LayersFR1, T_reducedMaxMIMO_LayersFR1_sequence); + + return offset; +} + + +static const per_sequence_t T_reducedMaxMIMO_LayersFR2_sequence[] = { + { &hf_nr_rrc_reducedMIMO_LayersFR2_DL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_LayersDL }, + { &hf_nr_rrc_reducedMIMO_LayersFR2_UL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_LayersUL }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_reducedMaxMIMO_LayersFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_reducedMaxMIMO_LayersFR2, T_reducedMaxMIMO_LayersFR2_sequence); + + return offset; +} + + +static const per_sequence_t OverheatingAssistance_sequence[] = { + { &hf_nr_rrc_reducedMaxCCs, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ReducedMaxCCs_r16 }, + { &hf_nr_rrc_reducedMaxBW_FR1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ReducedMaxBW_FRx_r16 }, + { &hf_nr_rrc_reducedMaxBW_FR2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ReducedMaxBW_FRx_r16 }, + { &hf_nr_rrc_reducedMaxMIMO_LayersFR1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reducedMaxMIMO_LayersFR1 }, + { &hf_nr_rrc_reducedMaxMIMO_LayersFR2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reducedMaxMIMO_LayersFR2 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_OverheatingAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_OverheatingAssistance, OverheatingAssistance_sequence); + + return offset; +} + + +static const per_sequence_t ConfigRestrictInfoSCG_eag_3_sequence[] = { + { &hf_nr_rrc_p_maxNR_FR1_MCG_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, + { &hf_nr_rrc_powerCoordination_FR2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_powerCoordination_FR2_r16 }, + { &hf_nr_rrc_nrdc_PC_mode_FR1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrdc_PC_mode_FR1_r16 }, + { &hf_nr_rrc_nrdc_PC_mode_FR2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrdc_PC_mode_FR2_r16 }, + { &hf_nr_rrc_maxMeasSRS_ResourceSCG_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxNrofCLI_SRS_Resources_r16 }, + { &hf_nr_rrc_maxMeasCLI_ResourceSCG_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxNrofCLI_RSSI_Resources_r16 }, + { &hf_nr_rrc_maxNumberEHC_ContextsSN_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65536 }, + { &hf_nr_rrc_allowedReducedConfigForOverheating_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OverheatingAssistance }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ConfigRestrictInfoSCG_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ConfigRestrictInfoSCG_eag_3_sequence); + + return offset; +} + + static const per_sequence_t ConfigRestrictInfoSCG_sequence[] = { { &hf_nr_rrc_allowedBC_ListMRDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationInfoList }, { &hf_nr_rrc_powerCoordination_FR1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_powerCoordination_FR1 }, @@ -6443,6 +10657,7 @@ static const per_sequence_t ConfigRestrictInfoSCG_sequence[] = { { &hf_nr_rrc_dummy , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxMeasIdentitiesMN }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfigRestrictInfoSCG_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfigRestrictInfoSCG_eag_2 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfigRestrictInfoSCG_eag_3 }, { NULL, 0, 0, NULL } }; @@ -6660,12 +10875,247 @@ dissect_nr_rrc_AS_Context_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } +static const value_string nr_rrc_T_uplinkPowerSharingDAPS_Mode_r16_vals[] = { + { 0, "semi-static-mode1" }, + { 1, "semi-static-mode2" }, + { 2, "dynamic" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_uplinkPowerSharingDAPS_Mode_r16(tvbuff_t *tvb _U_, int offset _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_powerCoordination_r16_sequence[] = { + { &hf_nr_rrc_p_DAPS_Source_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P_Max }, + { &hf_nr_rrc_p_DAPS_Target_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P_Max }, + { &hf_nr_rrc_uplinkPowerSharingDAPS_Mode_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_uplinkPowerSharingDAPS_Mode_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_powerCoordination_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_powerCoordination_r16, T_powerCoordination_r16_sequence); + + return offset; +} + + +static const per_sequence_t ConfigRestrictInfoDAPS_r16_sequence[] = { + { &hf_nr_rrc_powerCoordination_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_powerCoordination_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ConfigRestrictInfoDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_ConfigRestrictInfoDAPS_r16, ConfigRestrictInfoDAPS_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_T_sidelinkUEInformationNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *sidelink_ue_info_nr_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &sidelink_ue_info_nr_tvb); + + if (sidelink_ue_info_nr_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sidelinkUEInformationNR); + dissect_nr_rrc_SidelinkUEInformationNR_r16_PDU(sidelink_ue_info_nr_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + + +static int +dissect_nr_rrc_T_sidelinkUEInformationEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *sidelink_ue_info_eutra_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &sidelink_ue_info_eutra_tvb); + + if (sidelink_ue_info_eutra_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sidelinkUEInformationEUTRA); + dissect_lte_rrc_SidelinkUEInformation_r12_PDU(sidelink_ue_info_eutra_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + + +static int +dissect_nr_rrc_T_ueAssistanceInformationEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *ue_assist_info_eutra_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &ue_assist_info_eutra_tvb); + + if (ue_assist_info_eutra_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_ueAssistanceInformationEUTRA); + dissect_lte_rrc_UEAssistanceInformation_r11_PDU(ue_assist_info_eutra_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + + +static int +dissect_nr_rrc_T_ueAssistanceInformationSCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_UEAssistanceInformation_PDU); + + return offset; +} + + +static const value_string nr_rrc_T_gapIndicationIntra_r16_vals[] = { + { 0, "gap" }, + { 1, "no-gap" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_gapIndicationIntra_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 NeedForGapsIntraFreq_r16_sequence[] = { + { &hf_nr_rrc_servCellId_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, + { &hf_nr_rrc_gapIndicationIntra_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_gapIndicationIntra_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_NeedForGapsIntraFreq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_NeedForGapsIntraFreq_r16, NeedForGapsIntraFreq_r16_sequence); + + return offset; +} + + +static const per_sequence_t NeedForGapsIntraFreqlist_r16_sequence_of[1] = { + { &hf_nr_rrc_NeedForGapsIntraFreqlist_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NeedForGapsIntraFreq_r16 }, +}; + +static int +dissect_nr_rrc_NeedForGapsIntraFreqlist_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_NeedForGapsIntraFreqlist_r16, NeedForGapsIntraFreqlist_r16_sequence_of, + 1, maxNrofServingCells, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_gapIndication_r16_vals[] = { + { 0, "gap" }, + { 1, "no-gap" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_gapIndication_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 NeedForGapsNR_r16_sequence[] = { + { &hf_nr_rrc_bandNR_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR }, + { &hf_nr_rrc_gapIndication_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_gapIndication_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_NeedForGapsNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_NeedForGapsNR_r16, NeedForGapsNR_r16_sequence); + + return offset; +} + + +static const per_sequence_t NeedForGapsBandlistNR_r16_sequence_of[1] = { + { &hf_nr_rrc_NeedForGapsBandlistNR_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NeedForGapsNR_r16 }, +}; + +static int +dissect_nr_rrc_NeedForGapsBandlistNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_NeedForGapsBandlistNR_r16, NeedForGapsBandlistNR_r16_sequence_of, + 1, maxBands, FALSE); + + return offset; +} + + +static const per_sequence_t NeedForGapsInfoNR_r16_sequence[] = { + { &hf_nr_rrc_intraFreq_needForGap_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NeedForGapsIntraFreqlist_r16 }, + { &hf_nr_rrc_interFreq_needForGap_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NeedForGapsBandlistNR_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_NeedForGapsInfoNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_NeedForGapsInfoNR_r16, NeedForGapsInfoNR_r16_sequence); + + return offset; +} + + +static const per_sequence_t AS_Context_eag_4_sequence[] = { + { &hf_nr_rrc_configRestrictInfoDAPS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ConfigRestrictInfoDAPS_r16 }, + { &hf_nr_rrc_sidelinkUEInformationNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sidelinkUEInformationNR_r16 }, + { &hf_nr_rrc_sidelinkUEInformationEUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sidelinkUEInformationEUTRA_r16 }, + { &hf_nr_rrc_ueAssistanceInformationEUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ueAssistanceInformationEUTRA_r16 }, + { &hf_nr_rrc_ueAssistanceInformationSCG_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ueAssistanceInformationSCG_r16 }, + { &hf_nr_rrc_needForGapsInfoNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NeedForGapsInfoNR_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_AS_Context_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Context_eag_4_sequence); + + return offset; +} + + static const per_sequence_t AS_Context_sequence[] = { { &hf_nr_rrc_reestablishmentInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReestablishmentInfo }, { &hf_nr_rrc_configRestrictInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ConfigRestrictInfoSCG }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AS_Context_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AS_Context_eag_2 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AS_Context_eag_3 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AS_Context_eag_4 }, { NULL, 0, 0, NULL } }; @@ -6820,10 +11270,26 @@ dissect_nr_rrc_ConfigRestrictModReqSCG_eag_1(tvbuff_t *tvb _U_, int offset _U_, } +static const per_sequence_t ConfigRestrictModReqSCG_eag_2_sequence[] = { + { &hf_nr_rrc_requestedP_MaxFR2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, + { &hf_nr_rrc_requestedMaxInterFreqMeasIdSCG_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxMeasIdentitiesMN }, + { &hf_nr_rrc_requestedMaxIntraFreqMeasIdSCG_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxMeasIdentitiesMN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ConfigRestrictModReqSCG_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ConfigRestrictModReqSCG_eag_2_sequence); + + return offset; +} + + static const per_sequence_t ConfigRestrictModReqSCG_sequence[] = { { &hf_nr_rrc_requestedBC_MRDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationInfoSN }, { &hf_nr_rrc_requestedP_MaxFR1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfigRestrictModReqSCG_eag_1 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfigRestrictModReqSCG_eag_2 }, { NULL, 0, 0, NULL } }; @@ -6858,16 +11324,6 @@ dissect_nr_rrc_INTEGER_0_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int -dissect_nr_rrc_INTEGER_0_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 31U, NULL, FALSE); - - return offset; -} - - - -static int dissect_nr_rrc_INTEGER_0_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 39U, NULL, FALSE); @@ -7459,7 +11915,7 @@ dissect_nr_rrc_INTEGER_1_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const value_string nr_rrc_T_milliSeconds_vals[] = { +static const value_string nr_rrc_T_milliSeconds_01_vals[] = { { 0, "ms1" }, { 1, "ms2" }, { 2, "ms3" }, @@ -7495,11 +11951,11 @@ static const value_string nr_rrc_T_milliSeconds_vals[] = { { 0, NULL } }; -static value_string_ext nr_rrc_T_milliSeconds_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_milliSeconds_vals); +static value_string_ext nr_rrc_T_milliSeconds_01_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_milliSeconds_01_vals); static int -dissect_nr_rrc_T_milliSeconds(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_milliSeconds_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 32, NULL, FALSE, 0, NULL); @@ -7507,22 +11963,22 @@ dissect_nr_rrc_T_milliSeconds(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const value_string nr_rrc_T_drx_onDurationTimer_vals[] = { +static const value_string nr_rrc_T_drx_onDurationTimer_01_vals[] = { { 0, "subMilliSeconds" }, { 1, "milliSeconds" }, { 0, NULL } }; -static const per_choice_t T_drx_onDurationTimer_choice[] = { +static const per_choice_t T_drx_onDurationTimer_01_choice[] = { { 0, &hf_nr_rrc_subMilliSeconds, ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_31 }, - { 1, &hf_nr_rrc_milliSeconds , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_milliSeconds }, + { 1, &hf_nr_rrc_milliSeconds_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_milliSeconds_01 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_drx_onDurationTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_drx_onDurationTimer_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_drx_onDurationTimer, T_drx_onDurationTimer_choice, + ett_nr_rrc_T_drx_onDurationTimer_01, T_drx_onDurationTimer_01_choice, NULL); return offset; @@ -7807,7 +12263,7 @@ dissect_nr_rrc_T_shortDRX_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static const per_sequence_t DRX_Config_sequence[] = { - { &hf_nr_rrc_drx_onDurationTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_onDurationTimer }, + { &hf_nr_rrc_drx_onDurationTimer_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_onDurationTimer_01 }, { &hf_nr_rrc_drx_InactivityTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_InactivityTimer }, { &hf_nr_rrc_drx_HARQ_RTT_TimerDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_56 }, { &hf_nr_rrc_drx_HARQ_RTT_TimerUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_56 }, @@ -7895,6 +12351,90 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueEUTRA(tvbuff_ } +static const value_string nr_rrc_T_milliSeconds_vals[] = { + { 0, "ms1" }, + { 1, "ms2" }, + { 2, "ms3" }, + { 3, "ms4" }, + { 4, "ms5" }, + { 5, "ms6" }, + { 6, "ms8" }, + { 7, "ms10" }, + { 8, "ms20" }, + { 9, "ms30" }, + { 10, "ms40" }, + { 11, "ms50" }, + { 12, "ms60" }, + { 13, "ms80" }, + { 14, "ms100" }, + { 15, "ms200" }, + { 16, "ms300" }, + { 17, "ms400" }, + { 18, "ms500" }, + { 19, "ms600" }, + { 20, "ms800" }, + { 21, "ms1000" }, + { 22, "ms1200" }, + { 23, "ms1600" }, + { 24, "spare8" }, + { 25, "spare7" }, + { 26, "spare6" }, + { 27, "spare5" }, + { 28, "spare4" }, + { 29, "spare3" }, + { 30, "spare2" }, + { 31, "spare1" }, + { 0, NULL } +}; + +static value_string_ext nr_rrc_T_milliSeconds_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_milliSeconds_vals); + + +static int +dissect_nr_rrc_T_milliSeconds(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 32, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_drx_onDurationTimer_vals[] = { + { 0, "subMilliSeconds" }, + { 1, "milliSeconds" }, + { 0, NULL } +}; + +static const per_choice_t T_drx_onDurationTimer_choice[] = { + { 0, &hf_nr_rrc_subMilliSeconds, ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_31 }, + { 1, &hf_nr_rrc_milliSeconds , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_milliSeconds }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_drx_onDurationTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_drx_onDurationTimer, T_drx_onDurationTimer_choice, + NULL); + + return offset; +} + + +static const per_sequence_t DRX_Info2_sequence[] = { + { &hf_nr_rrc_drx_onDurationTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_onDurationTimer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_DRX_Info2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_DRX_Info2, DRX_Info2_sequence); + + return offset; +} + + static const per_sequence_t T_nonCriticalExtension_02_sequence[] = { { NULL, 0, 0, NULL } }; @@ -7908,10 +12448,25 @@ dissect_nr_rrc_T_nonCriticalExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn1 } +static const per_sequence_t CG_Config_v1610_IEs_sequence[] = { + { &hf_nr_rrc_drx_InfoSCG2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DRX_Info2 }, + { &hf_nr_rrc_nonCriticalExtension_06, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_02 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CG_Config_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CG_Config_v1610_IEs, CG_Config_v1610_IEs_sequence); + + return offset; +} + + static const per_sequence_t CG_Config_v1590_IEs_sequence[] = { { &hf_nr_rrc_scellFrequenciesSN_NR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueNR }, { &hf_nr_rrc_scellFrequenciesSN_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueEUTRA }, - { &hf_nr_rrc_nonCriticalExtension_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_02 }, + { &hf_nr_rrc_nonCriticalExtension_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CG_Config_v1610_IEs }, { NULL, 0, 0, NULL } }; @@ -8265,12 +12820,26 @@ dissect_nr_rrc_GapConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } +static const per_sequence_t GapConfig_eag_2_sequence[] = { + { &hf_nr_rrc_refFR2ServCellAsyncCA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_GapConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GapConfig_eag_2_sequence); + + return offset; +} + + static const per_sequence_t GapConfig_sequence[] = { { &hf_nr_rrc_gapOffset , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_159 }, { &hf_nr_rrc_mgl , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgl }, { &hf_nr_rrc_mgrp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgrp }, { &hf_nr_rrc_mgta , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgta }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_GapConfig_eag_1 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_GapConfig_eag_2 }, { NULL, 0, 0, NULL } }; @@ -8607,8 +13176,32 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC } + +static int +dissect_nr_rrc_T_overheatingAssistanceSCG_r16(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_OverheatingAssistance_PDU); + + return offset; +} + + +static const per_sequence_t MRDC_AssistanceInfo_eag_1_sequence[] = { + { &hf_nr_rrc_overheatingAssistanceSCG_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_overheatingAssistanceSCG_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MRDC_AssistanceInfo_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MRDC_AssistanceInfo_eag_1_sequence); + + 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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MRDC_AssistanceInfo_eag_1 }, { NULL, 0, 0, NULL } }; @@ -8746,6 +13339,7 @@ dissect_nr_rrc_T_sourceConfigSCG_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_c nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, source_config_scg_eutra_tvb, actx->pinfo, subtree); } + return offset; } @@ -8770,9 +13364,17 @@ dissect_nr_rrc_T_failureTypeEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t 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_) { +dissect_nr_rrc_T_measResultSCG_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *meas_result_scg_fail_mrdc_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, NULL); + NO_BOUND, NO_BOUND, FALSE, &meas_result_scg_fail_mrdc_tvb); + + if (meas_result_scg_fail_mrdc_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResultSCG_FailureMRDC); + dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(meas_result_scg_fail_mrdc_tvb, actx->pinfo, subtree, NULL); + } + return offset; } @@ -8780,7 +13382,7 @@ dissect_nr_rrc_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static const per_sequence_t T_scgFailureInfoEUTRA_sequence[] = { { &hf_nr_rrc_failureTypeEUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureTypeEUTRA }, - { &hf_nr_rrc_measResultSCG_EUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING }, + { &hf_nr_rrc_measResultSCG_EUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResultSCG_EUTRA }, { NULL, 0, 0, NULL } }; @@ -8868,6 +13470,143 @@ dissect_nr_rrc_SFTD_FrequencyList_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ } +static const value_string nr_rrc_T_alignedDRX_Indication_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_alignedDRX_Indication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_failureType_r16_vals[] = { + { 0, "scg-lbtFailure-r16" }, + { 1, "beamFailureRecoveryFailure-r16" }, + { 2, "t312-Expiry-r16" }, + { 3, "bh-RLF-r16" }, + { 4, "spare4" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_failureType_r16(tvbuff_t *tvb _U_, int offset _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_T_measResultSCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_MeasResultSCG_Failure_PDU); + + return offset; +} + + +static const per_sequence_t T_scgFailureInfo_r16_sequence[] = { + { &hf_nr_rrc_failureType_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureType_r16 }, + { &hf_nr_rrc_measResultSCG_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResultSCG_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_scgFailureInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_scgFailureInfo_r16, T_scgFailureInfo_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_failureTypeEUTRA_r16_vals[] = { + { 0, "scg-lbtFailure-r16" }, + { 1, "beamFailureRecoveryFailure-r16" }, + { 2, "t312-Expiry-r16" }, + { 3, "bh-RLF-r16" }, + { 4, "spare4" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_failureTypeEUTRA_r16(tvbuff_t *tvb _U_, int offset _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_T_measResultSCG_EUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *meas_result_scg_fail_mrdc_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &meas_result_scg_fail_mrdc_tvb); + + if (meas_result_scg_fail_mrdc_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResultSCG_FailureMRDC); + dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(meas_result_scg_fail_mrdc_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + +static const per_sequence_t T_scgFailureInfoEUTRA_r16_sequence[] = { + { &hf_nr_rrc_failureTypeEUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureTypeEUTRA_r16 }, + { &hf_nr_rrc_measResultSCG_EUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResultSCG_EUTRA_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_scgFailureInfoEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_scgFailureInfoEUTRA_r16, T_scgFailureInfoEUTRA_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_T_sidelinkUEInformationNR_r16_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_SidelinkUEInformationNR_r16_PDU); + + return offset; +} + + + +static int +dissect_nr_rrc_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, NULL); + + return offset; +} + + static const per_sequence_t T_nonCriticalExtension_03_sequence[] = { { NULL, 0, 0, NULL } }; @@ -8881,9 +13620,29 @@ dissect_nr_rrc_T_nonCriticalExtension_03(tvbuff_t *tvb _U_, int offset _U_, asn1 } +static const per_sequence_t CG_ConfigInfo_v1610_IEs_sequence[] = { + { &hf_nr_rrc_drx_InfoMCG2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DRX_Info2 }, + { &hf_nr_rrc_alignedDRX_Indication, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_alignedDRX_Indication }, + { &hf_nr_rrc_scgFailureInfo_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scgFailureInfo_r16 }, + { &hf_nr_rrc_scgFailureInfoEUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scgFailureInfoEUTRA_r16 }, + { &hf_nr_rrc_sidelinkUEInformationNR_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sidelinkUEInformationNR_r16_01 }, + { &hf_nr_rrc_sidelinkUEInformationEUTRA_r16_01, 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_03 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CG_ConfigInfo_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CG_ConfigInfo_v1610_IEs, CG_ConfigInfo_v1610_IEs_sequence); + + return offset; +} + + static const per_sequence_t CG_ConfigInfo_v1590_IEs_sequence[] = { { &hf_nr_rrc_servFrequenciesMN_NR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueNR }, - { &hf_nr_rrc_nonCriticalExtension_10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_03 }, + { &hf_nr_rrc_nonCriticalExtension_11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CG_ConfigInfo_v1610_IEs }, { NULL, 0, 0, NULL } }; @@ -8899,7 +13658,7 @@ dissect_nr_rrc_CG_ConfigInfo_v1590_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t CG_ConfigInfo_v1570_IEs_sequence[] = { { &hf_nr_rrc_sftdFrequencyList_NR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SFTD_FrequencyList_NR }, { &hf_nr_rrc_sftdFrequencyList_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SFTD_FrequencyList_EUTRA }, - { &hf_nr_rrc_nonCriticalExtension_09, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CG_ConfigInfo_v1590_IEs }, + { &hf_nr_rrc_nonCriticalExtension_10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CG_ConfigInfo_v1590_IEs }, { NULL, 0, 0, NULL } }; @@ -8921,7 +13680,7 @@ static const per_sequence_t CG_ConfigInfo_v1560_IEs_sequence[] = { { &hf_nr_rrc_measResultReportCGI_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultReportCGI_EUTRA }, { &hf_nr_rrc_measResultCellListSFTD_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultCellListSFTD_EUTRA }, { &hf_nr_rrc_fr_InfoListMCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FR_InfoList }, - { &hf_nr_rrc_nonCriticalExtension_08, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CG_ConfigInfo_v1570_IEs }, + { &hf_nr_rrc_nonCriticalExtension_09, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CG_ConfigInfo_v1570_IEs }, { NULL, 0, 0, NULL } }; @@ -8937,7 +13696,7 @@ dissect_nr_rrc_CG_ConfigInfo_v1560_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t CG_ConfigInfo_v1540_IEs_sequence[] = { { &hf_nr_rrc_ph_InfoMCG , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PH_TypeListMCG }, { &hf_nr_rrc_measResultReportCGI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultReportCGI }, - { &hf_nr_rrc_nonCriticalExtension_07, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CG_ConfigInfo_v1560_IEs }, + { &hf_nr_rrc_nonCriticalExtension_08, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CG_ConfigInfo_v1560_IEs }, { NULL, 0, 0, NULL } }; @@ -8963,7 +13722,7 @@ static const per_sequence_t CG_ConfigInfo_IEs_sequence[] = { { &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_06, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CG_ConfigInfo_v1540_IEs }, + { &hf_nr_rrc_nonCriticalExtension_07, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CG_ConfigInfo_v1540_IEs }, { NULL, 0, 0, NULL } }; @@ -9305,6 +14064,217 @@ dissect_nr_rrc_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } +static const value_string nr_rrc_T_nrofPRBs_vals[] = { + { 0, "size24" }, + { 1, "size48" }, + { 2, "size96" }, + { 3, "size192" }, + { 4, "size264" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nrofPRBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 5, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_2169(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 2169U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_csi_rs_MeasurementBW_sequence[] = { + { &hf_nr_rrc_nrofPRBs , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPRBs }, + { &hf_nr_rrc_startPRB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2169 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_csi_rs_MeasurementBW(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_csi_rs_MeasurementBW, T_csi_rs_MeasurementBW_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_density_vals[] = { + { 0, "d1" }, + { 1, "d3" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_density(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_slotConfig_vals[] = { + { 0, "ms4" }, + { 1, "ms5" }, + { 2, "ms10" }, + { 3, "ms20" }, + { 4, "ms40" }, + { 0, NULL } +}; + +static const per_choice_t T_slotConfig_choice[] = { + { 0, &hf_nr_rrc_ms4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 }, + { 1, &hf_nr_rrc_ms5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 }, + { 2, &hf_nr_rrc_ms10_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 }, + { 3, &hf_nr_rrc_ms20_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 }, + { 4, &hf_nr_rrc_ms40_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_slotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_slotConfig, T_slotConfig_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_associatedSSB_sequence[] = { + { &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index }, + { &hf_nr_rrc_isQuasiColocated, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_associatedSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_associatedSSB, T_associatedSSB_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_BIT_STRING_SIZE_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 12, 12, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_frequencyDomainAllocation_vals[] = { + { 0, "row1" }, + { 1, "row2" }, + { 0, NULL } +}; + +static const per_choice_t T_frequencyDomainAllocation_choice[] = { + { 0, &hf_nr_rrc_row1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 }, + { 1, &hf_nr_rrc_row2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_12 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_frequencyDomainAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_frequencyDomainAllocation, T_frequencyDomainAllocation_choice, + NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 13U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CSI_RS_Resource_Mobility_sequence[] = { + { &hf_nr_rrc_csi_RS_Index , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Index }, + { &hf_nr_rrc_slotConfig , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_slotConfig }, + { &hf_nr_rrc_associatedSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_associatedSSB }, + { &hf_nr_rrc_frequencyDomainAllocation_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_frequencyDomainAllocation }, + { &hf_nr_rrc_firstOFDMSymbolInTimeDomain, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 }, + { &hf_nr_rrc_sequenceGenerationConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CSI_RS_Resource_Mobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CSI_RS_Resource_Mobility, CSI_RS_Resource_Mobility_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility_sequence_of[1] = { + { &hf_nr_rrc_csi_rs_ResourceList_Mobility_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Resource_Mobility }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility, SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility_sequence_of, + 1, maxNrofCSI_RS_ResourcesRRM, FALSE); + + return offset; +} + + +static const per_sequence_t CSI_RS_CellMobility_sequence[] = { + { &hf_nr_rrc_cellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, + { &hf_nr_rrc_csi_rs_MeasurementBW, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_rs_MeasurementBW }, + { &hf_nr_rrc_density , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_density }, + { &hf_nr_rrc_csi_rs_ResourceList_Mobility, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CSI_RS_CellMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CSI_RS_CellMobility, CSI_RS_CellMobility_sequence); + + return offset; +} + + +static const per_sequence_t T_csi_RS_Config_r16_sequence[] = { + { &hf_nr_rrc_csi_RS_SubcarrierSpacing_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, + { &hf_nr_rrc_csi_RS_CellMobility_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_CellMobility }, + { &hf_nr_rrc_refSSBFreq_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_csi_RS_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_Config_r16, T_csi_RS_Config_r16_sequence); + + return offset; +} + + static const per_sequence_t T_nonCriticalExtension_04_sequence[] = { { NULL, 0, 0, NULL } }; @@ -9318,10 +14288,25 @@ dissect_nr_rrc_T_nonCriticalExtension_04(tvbuff_t *tvb _U_, int offset _U_, asn1 } +static const per_sequence_t MeasurementTimingConfiguration_v1610_IEs_sequence[] = { + { &hf_nr_rrc_csi_RS_Config_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_RS_Config_r16 }, + { &hf_nr_rrc_nonCriticalExtension_15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_04 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasurementTimingConfiguration_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasurementTimingConfiguration_v1610_IEs, MeasurementTimingConfiguration_v1610_IEs_sequence); + + return offset; +} + + static const per_sequence_t MeasurementTimingConfiguration_v1550_IEs_sequence[] = { { &hf_nr_rrc_campOnFirstSSB, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_psCellOnlyOnFirstSSB, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, - { &hf_nr_rrc_nonCriticalExtension_12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_04 }, + { &hf_nr_rrc_nonCriticalExtension_14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasurementTimingConfiguration_v1610_IEs }, { NULL, 0, 0, NULL } }; @@ -9336,7 +14321,7 @@ dissect_nr_rrc_MeasurementTimingConfiguration_v1550_IEs(tvbuff_t *tvb _U_, int o static const per_sequence_t MeasurementTimingConfiguration_IEs_sequence[] = { { &hf_nr_rrc_measTiming , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasTimingList }, - { &hf_nr_rrc_nonCriticalExtension_11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasurementTimingConfiguration_v1550_IEs }, + { &hf_nr_rrc_nonCriticalExtension_13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasurementTimingConfiguration_v1550_IEs }, { NULL, 0, 0, NULL } }; @@ -9455,7 +14440,7 @@ dissect_nr_rrc_T_nonCriticalExtension_05(tvbuff_t *tvb _U_, int offset _U_, asn1 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_13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_05 }, + { &hf_nr_rrc_nonCriticalExtension_16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_05 }, { NULL, 0, 0, NULL } }; @@ -9578,7 +14563,7 @@ dissect_nr_rrc_T_nonCriticalExtension_06(tvbuff_t *tvb _U_, int offset _U_, asn1 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_14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_06 }, + { &hf_nr_rrc_nonCriticalExtension_17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_06 }, { NULL, 0, 0, NULL } }; @@ -10328,6 +15313,89 @@ dissect_nr_rrc_T_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId_sequence_of[1] = { + { &hf_nr_rrc_pci_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId, SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId_sequence_of, + 1, maxNrofPCIsPerSMTC, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_periodicity_03_vals[] = { + { 0, "sf10" }, + { 1, "sf20" }, + { 2, "sf40" }, + { 3, "sf80" }, + { 4, "sf160" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_periodicity_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 SSB_MTC2_LP_r16_sequence[] = { + { &hf_nr_rrc_pci_List , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId }, + { &hf_nr_rrc_periodicity_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity_03 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SSB_MTC2_LP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_LP_r16, SSB_MTC2_LP_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_SSB_PositionQCL_Relation_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "n8" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_SSB_PositionQCL_Relation_r16(tvbuff_t *tvb _U_, int offset _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_eag_2_sequence[] = { + { &hf_nr_rrc_smtc2_LP_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC2_LP_r16 }, + { &hf_nr_rrc_ssb_PositionQCL_Common_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_PositionQCL_Relation_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_2_sequence); + + return offset; +} + + static const per_sequence_t T_intraFreqCellReselectionInfo_sequence[] = { { &hf_nr_rrc_q_RxLevMin , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_RxLevMin }, { &hf_nr_rrc_q_RxLevMinSUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_Q_RxLevMin }, @@ -10343,6 +15411,7 @@ static const per_sequence_t T_intraFreqCellReselectionInfo_sequence[] = { { &hf_nr_rrc_ssb_ToMeasure, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SSB_ToMeasure }, { &hf_nr_rrc_deriveSSB_IndexFromCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_2 }, { NULL, 0, 0, NULL } }; @@ -10355,10 +15424,153 @@ dissect_nr_rrc_T_intraFreqCellReselectionInfo(tvbuff_t *tvb _U_, int offset _U_, } +static const value_string nr_rrc_T_s_SearchDeltaP_r16_vals[] = { + { 0, "dB3" }, + { 1, "dB6" }, + { 2, "dB9" }, + { 3, "dB12" }, + { 4, "dB15" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_s_SearchDeltaP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 8, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_t_SearchDeltaP_r16_vals[] = { + { 0, "s5" }, + { 1, "s10" }, + { 2, "s20" }, + { 3, "s30" }, + { 4, "s60" }, + { 5, "s120" }, + { 6, "s180" }, + { 7, "s240" }, + { 8, "s300" }, + { 9, "spare7" }, + { 10, "spare6" }, + { 11, "spare5" }, + { 12, "spare4" }, + { 13, "spare3" }, + { 14, "spare2" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_t_SearchDeltaP_r16(tvbuff_t *tvb _U_, int offset _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_lowMobilityEvaluation_r16_sequence[] = { + { &hf_nr_rrc_s_SearchDeltaP_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_s_SearchDeltaP_r16 }, + { &hf_nr_rrc_t_SearchDeltaP_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t_SearchDeltaP_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_lowMobilityEvaluation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_lowMobilityEvaluation_r16, T_lowMobilityEvaluation_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_cellEdgeEvaluation_r16_sequence[] = { + { &hf_nr_rrc_s_SearchThresholdP_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold }, + { &hf_nr_rrc_s_SearchThresholdQ_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ReselectionThresholdQ }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_cellEdgeEvaluation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_cellEdgeEvaluation_r16, T_cellEdgeEvaluation_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_combineRelaxedMeasCondition_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_combineRelaxedMeasCondition_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_highPriorityMeasRelax_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_highPriorityMeasRelax_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_relaxedMeasurement_r16_sequence[] = { + { &hf_nr_rrc_lowMobilityEvaluation_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_lowMobilityEvaluation_r16 }, + { &hf_nr_rrc_cellEdgeEvaluation_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cellEdgeEvaluation_r16 }, + { &hf_nr_rrc_combineRelaxedMeasCondition_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_combineRelaxedMeasCondition_r16 }, + { &hf_nr_rrc_highPriorityMeasRelax_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_highPriorityMeasRelax_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_relaxedMeasurement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_relaxedMeasurement_r16, T_relaxedMeasurement_r16_sequence); + + return offset; +} + + +static const per_sequence_t SIB2_eag_1_sequence[] = { + { &hf_nr_rrc_relaxedMeasurement_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_relaxedMeasurement_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SIB2_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, SIB2_eag_1_sequence); + + return offset; +} + + static const per_sequence_t SIB2_sequence[] = { { &hf_nr_rrc_cellReselectionInfoCommon, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellReselectionInfoCommon }, { &hf_nr_rrc_cellReselectionServingFreqInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellReselectionServingFreqInfo }, { &hf_nr_rrc_intraFreqCellReselectionInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_intraFreqCellReselectionInfo }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB2_eag_1 }, { NULL, 0, 0, NULL } }; @@ -10476,10 +15688,111 @@ dissect_nr_rrc_IntraFreqBlackCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } +static const per_sequence_t IntraFreqNeighCellInfo_v1610_sequence[] = { + { &hf_nr_rrc_ssb_PositionQCL_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_PositionQCL_Relation_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_IntraFreqNeighCellInfo_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_v1610, IntraFreqNeighCellInfo_v1610_sequence); + + return offset; +} + + +static const per_sequence_t IntraFreqNeighCellList_v1610_sequence_of[1] = { + { &hf_nr_rrc_IntraFreqNeighCellList_v1610_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraFreqNeighCellInfo_v1610 }, +}; + +static int +dissect_nr_rrc_IntraFreqNeighCellList_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_IntraFreqNeighCellList_v1610, IntraFreqNeighCellList_v1610_sequence_of, + 1, maxCellIntra, FALSE); + + return offset; +} + + +static const per_sequence_t IntraFreqWhiteCellList_r16_sequence_of[1] = { + { &hf_nr_rrc_IntraFreqWhiteCellList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range }, +}; + +static int +dissect_nr_rrc_IntraFreqWhiteCellList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_IntraFreqWhiteCellList_r16, IntraFreqWhiteCellList_r16_sequence_of, + 1, maxCellWhite, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_PCI_Range_sequence_of[1] = { + { &hf_nr_rrc_cag_CellList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_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_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_PCI_Range, SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_PCI_Range_sequence_of, + 1, maxCAG_Cell_r16, FALSE); + + return offset; +} + + +static const per_sequence_t IntraFreqCAG_CellPerPLMN_r16_sequence[] = { + { &hf_nr_rrc_plmn_IdentityIndex_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxPLMN }, + { &hf_nr_rrc_cag_CellList_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_PCI_Range }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_IntraFreqCAG_CellPerPLMN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_IntraFreqCAG_CellPerPLMN_r16, IntraFreqCAG_CellPerPLMN_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxPLMN_OF_IntraFreqCAG_CellPerPLMN_r16_sequence_of[1] = { + { &hf_nr_rrc_intraFreqCAG_CellList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraFreqCAG_CellPerPLMN_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_IntraFreqCAG_CellPerPLMN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_IntraFreqCAG_CellPerPLMN_r16, SEQUENCE_SIZE_1_maxPLMN_OF_IntraFreqCAG_CellPerPLMN_r16_sequence_of, + 1, maxPLMN, FALSE); + + return offset; +} + + +static const per_sequence_t SIB3_eag_1_sequence[] = { + { &hf_nr_rrc_intraFreqNeighCellList_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_IntraFreqNeighCellList_v1610 }, + { &hf_nr_rrc_intraFreqWhiteCellList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_IntraFreqWhiteCellList_r16 }, + { &hf_nr_rrc_intraFreqCAG_CellList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_IntraFreqCAG_CellPerPLMN_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SIB3_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, SIB3_eag_1_sequence); + + 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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB3_eag_1 }, { NULL, 0, 0, NULL } }; @@ -10608,9 +15921,113 @@ dissect_nr_rrc_InterFreqCarrierFreqList(tvbuff_t *tvb _U_, int offset _U_, asn1_ } +static const per_sequence_t InterFreqNeighCellInfo_v1610_sequence[] = { + { &hf_nr_rrc_ssb_PositionQCL_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_PositionQCL_Relation_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_InterFreqNeighCellInfo_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_v1610, InterFreqNeighCellInfo_v1610_sequence); + + return offset; +} + + +static const per_sequence_t InterFreqNeighCellList_v1610_sequence_of[1] = { + { &hf_nr_rrc_InterFreqNeighCellList_v1610_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqNeighCellInfo_v1610 }, +}; + +static int +dissect_nr_rrc_InterFreqNeighCellList_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_v1610, InterFreqNeighCellList_v1610_sequence_of, + 1, maxCellInter, FALSE); + + return offset; +} + + +static const per_sequence_t InterFreqWhiteCellList_r16_sequence_of[1] = { + { &hf_nr_rrc_InterFreqWhiteCellList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range }, +}; + +static int +dissect_nr_rrc_InterFreqWhiteCellList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_InterFreqWhiteCellList_r16, InterFreqWhiteCellList_r16_sequence_of, + 1, maxCellWhite, FALSE); + + return offset; +} + + +static const per_sequence_t InterFreqCAG_CellList_r16_sequence[] = { + { &hf_nr_rrc_plmn_IdentityIndex_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxPLMN }, + { &hf_nr_rrc_cag_CellList_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_PCI_Range }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_InterFreqCAG_CellList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_InterFreqCAG_CellList_r16, InterFreqCAG_CellList_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxPLMN_OF_InterFreqCAG_CellList_r16_sequence_of[1] = { + { &hf_nr_rrc_interFreqCAG_CellList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqCAG_CellList_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_InterFreqCAG_CellList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_InterFreqCAG_CellList_r16, SEQUENCE_SIZE_1_maxPLMN_OF_InterFreqCAG_CellList_r16_sequence_of, + 1, maxPLMN, FALSE); + + return offset; +} + + +static const per_sequence_t InterFreqCarrierFreqInfo_v1610_sequence[] = { + { &hf_nr_rrc_interFreqNeighCellList_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_InterFreqNeighCellList_v1610 }, + { &hf_nr_rrc_smtc2_LP_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC2_LP_r16 }, + { &hf_nr_rrc_interFreqWhiteCellList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_InterFreqWhiteCellList_r16 }, + { &hf_nr_rrc_ssb_PositionQCL_Common_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_PositionQCL_Relation_r16 }, + { &hf_nr_rrc_interFreqCAG_CellList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_InterFreqCAG_CellList_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_InterFreqCarrierFreqInfo_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_InterFreqCarrierFreqInfo_v1610, InterFreqCarrierFreqInfo_v1610_sequence); + + return offset; +} + + +static const per_sequence_t InterFreqCarrierFreqList_v1610_sequence_of[1] = { + { &hf_nr_rrc_InterFreqCarrierFreqList_v1610_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqCarrierFreqInfo_v1610 }, +}; + +static int +dissect_nr_rrc_InterFreqCarrierFreqList_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_v1610, InterFreqCarrierFreqList_v1610_sequence_of, + 1, maxFreq, FALSE); + + return offset; +} + + static const per_sequence_t SIB4_sequence[] = { { &hf_nr_rrc_interFreqCarrierFreqList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqCarrierFreqList }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, + { &hf_nr_rrc_interFreqCarrierFreqList_v1610, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_nr_rrc_InterFreqCarrierFreqList_v1610 }, { NULL, 0, 0, NULL } }; @@ -10947,11 +16364,68 @@ dissect_nr_rrc_CarrierFreqListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } +static const value_string nr_rrc_T_highSpeedEUTRACarrier_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_highSpeedEUTRACarrier_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 CarrierFreqEUTRA_v1610_sequence[] = { + { &hf_nr_rrc_highSpeedEUTRACarrier_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_highSpeedEUTRACarrier_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CarrierFreqEUTRA_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_v1610, CarrierFreqEUTRA_v1610_sequence); + + return offset; +} + + +static const per_sequence_t CarrierFreqListEUTRA_v1610_sequence_of[1] = { + { &hf_nr_rrc_CarrierFreqListEUTRA_v1610_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CarrierFreqEUTRA_v1610 }, +}; + +static int +dissect_nr_rrc_CarrierFreqListEUTRA_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_v1610, CarrierFreqListEUTRA_v1610_sequence_of, + 1, maxEUTRA_Carrier, FALSE); + + return offset; +} + + +static const per_sequence_t SIB5_eag_1_sequence[] = { + { &hf_nr_rrc_carrierFreqListEUTRA_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CarrierFreqListEUTRA_v1610 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SIB5_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, SIB5_eag_1_sequence); + + return offset; +} + + static const per_sequence_t SIB5_sequence[] = { { &hf_nr_rrc_carrierFreqListEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CarrierFreqListEUTRA }, { &hf_nr_rrc_t_ReselectionEUTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reselection }, { &hf_nr_rrc_t_ReselectionEUTRA_SF, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SpeedStateScaleFactors }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB5_eag_1 }, { NULL, 0, 0, NULL } }; @@ -11440,9 +16914,122 @@ dissect_nr_rrc_T_timeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } + +static int +dissect_nr_rrc_INTEGER_0_72999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 72999U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_86399(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 86399U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 999U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_99999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 99999U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t ReferenceTime_r16_sequence[] = { + { &hf_nr_rrc_refDays_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_72999 }, + { &hf_nr_rrc_refSeconds_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_86399 }, + { &hf_nr_rrc_refMilliSeconds_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_999 }, + { &hf_nr_rrc_refTenNanoSeconds_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_99999 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ReferenceTime_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_ReferenceTime_r16, ReferenceTime_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_32767(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 32767U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_timeInfoType_r16_vals[] = { + { 0, "localClock" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_timeInfoType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 ReferenceTimeInfo_r16_sequence[] = { + { &hf_nr_rrc_time_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReferenceTime_r16 }, + { &hf_nr_rrc_uncertainty_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_32767 }, + { &hf_nr_rrc_timeInfoType_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeInfoType_r16 }, + { &hf_nr_rrc_referenceSFN_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1023 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ReferenceTimeInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_ReferenceTimeInfo_r16, ReferenceTimeInfo_r16_sequence); + + return offset; +} + + +static const per_sequence_t SIB9_eag_1_sequence[] = { + { &hf_nr_rrc_referenceTimeInfo_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ReferenceTimeInfo_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SIB9_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, SIB9_eag_1_sequence); + + return offset; +} + + static const per_sequence_t SIB9_sequence[] = { { &hf_nr_rrc_timeInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_timeInfo }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB9_eag_1 }, { NULL, 0, 0, NULL } }; @@ -11459,6 +17046,394 @@ dissect_nr_rrc_SIB9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro } + +static int +dissect_nr_rrc_OCTET_STRING_SIZE_1_maxHRNN_Len_r16(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, + 1, maxHRNN_Len_r16, FALSE, NULL); + + return offset; +} + + +static const per_sequence_t HRNN_r16_sequence[] = { + { &hf_nr_rrc_hrnn_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING_SIZE_1_maxHRNN_Len_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_HRNN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_HRNN_r16, HRNN_r16_sequence); + + return offset; +} + + +static const per_sequence_t HRNN_List_r16_sequence_of[1] = { + { &hf_nr_rrc_HRNN_List_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_HRNN_r16 }, +}; + +static int +dissect_nr_rrc_HRNN_List_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_HRNN_List_r16, HRNN_List_r16_sequence_of, + 1, maxNPN_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SIB10_r16_sequence[] = { + { &hf_nr_rrc_hrnn_List_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_HRNN_List_r16 }, + { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SIB10_r16(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, " SIB10"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SIB10_r16, SIB10_r16_sequence); + + return offset; +} + + +static const per_sequence_t CellListNR_r16_sequence_of[1] = { + { &hf_nr_rrc_CellListNR_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range }, +}; + +static int +dissect_nr_rrc_CellListNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CellListNR_r16, CellListNR_r16_sequence_of, + 1, maxCellMeasIdle_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_reportQuantities_r16_vals[] = { + { 0, "rsrp" }, + { 1, "rsrq" }, + { 2, "both" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_reportQuantities_r16(tvbuff_t *tvb _U_, int offset _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_qualityThreshold_r16_sequence[] = { + { &hf_nr_rrc_idleRSRP_Threshold_NR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range }, + { &hf_nr_rrc_idleRSRQ_Threshold_NR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_Range }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_qualityThreshold_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_qualityThreshold_r16, T_qualityThreshold_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_ssb_MeasConfig_r16_sequence[] = { + { &hf_nr_rrc_nrofSS_BlocksToAverage_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage }, + { &hf_nr_rrc_absThreshSS_BlocksConsolidation_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ThresholdNR }, + { &hf_nr_rrc_smtc_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC }, + { &hf_nr_rrc_ssb_ToMeasure_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_ToMeasure }, + { &hf_nr_rrc_deriveSSB_IndexFromCell_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { &hf_nr_rrc_ss_RSSI_Measurement_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SS_RSSI_Measurement }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_ssb_MeasConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_MeasConfig_r16, T_ssb_MeasConfig_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_reportQuantityRS_Indexes_r16_vals[] = { + { 0, "rsrp" }, + { 1, "rsrq" }, + { 2, "both" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_reportQuantityRS_Indexes_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_1_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 BeamMeasConfigIdle_NR_r16_sequence[] = { + { &hf_nr_rrc_reportQuantityRS_Indexes_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportQuantityRS_Indexes_r16 }, + { &hf_nr_rrc_maxNrofRS_IndexesToReport_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport }, + { &hf_nr_rrc_includeBeamMeasurements_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_BeamMeasConfigIdle_NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BeamMeasConfigIdle_NR_r16, BeamMeasConfigIdle_NR_r16_sequence); + + return offset; +} + + +static const per_sequence_t MeasIdleCarrierNR_r16_sequence[] = { + { &hf_nr_rrc_carrierFreq_r16_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, + { &hf_nr_rrc_ssbSubcarrierSpacing_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, + { &hf_nr_rrc_frequencyBandList_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MultiFrequencyBandListNR }, + { &hf_nr_rrc_measCellListNR_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CellListNR_r16 }, + { &hf_nr_rrc_reportQuantities_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportQuantities_r16 }, + { &hf_nr_rrc_qualityThreshold_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_qualityThreshold_r16 }, + { &hf_nr_rrc_ssb_MeasConfig_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_MeasConfig_r16 }, + { &hf_nr_rrc_beamMeasConfigIdle_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BeamMeasConfigIdle_NR_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasIdleCarrierNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasIdleCarrierNR_r16, MeasIdleCarrierNR_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16_sequence_of[1] = { + { &hf_nr_rrc_measIdleCarrierListNR_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasIdleCarrierNR_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16, SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16_sequence_of, + 1, maxFreqIdle_r16, FALSE); + + return offset; +} + + +static const per_sequence_t CellListEUTRA_r16_sequence_of[1] = { + { &hf_nr_rrc_CellListEUTRA_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellIdRange }, +}; + +static int +dissect_nr_rrc_CellListEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CellListEUTRA_r16, CellListEUTRA_r16_sequence_of, + 1, maxCellMeasIdle_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_reportQuantitiesEUTRA_r16_vals[] = { + { 0, "rsrp" }, + { 1, "rsrq" }, + { 2, "both" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_reportQuantitiesEUTRA_r16(tvbuff_t *tvb _U_, int offset _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_RSRQ_RangeEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, 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, 46U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_qualityThresholdEUTRA_r16_sequence[] = { + { &hf_nr_rrc_idleRSRP_Threshold_EUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_RangeEUTRA }, + { &hf_nr_rrc_idleRSRQ_Threshold_EUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_RangeEUTRA_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_qualityThresholdEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_qualityThresholdEUTRA_r16, T_qualityThresholdEUTRA_r16_sequence); + + return offset; +} + + +static const per_sequence_t MeasIdleCarrierEUTRA_r16_sequence[] = { + { &hf_nr_rrc_carrierFreqEUTRA_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA }, + { &hf_nr_rrc_allowedMeasBandwidth_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_AllowedMeasBandwidth }, + { &hf_nr_rrc_measCellListEUTRA_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CellListEUTRA_r16 }, + { &hf_nr_rrc_reportQuantitiesEUTRA_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportQuantitiesEUTRA_r16 }, + { &hf_nr_rrc_qualityThresholdEUTRA_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_qualityThresholdEUTRA_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasIdleCarrierEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasIdleCarrierEUTRA_r16, MeasIdleCarrierEUTRA_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16_sequence_of[1] = { + { &hf_nr_rrc_measIdleCarrierListEUTRA_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasIdleCarrierEUTRA_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16, SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16_sequence_of, + 1, maxFreqIdle_r16, FALSE); + + return offset; +} + + +static const per_sequence_t MeasIdleConfigSIB_r16_sequence[] = { + { &hf_nr_rrc_measIdleCarrierListNR_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16 }, + { &hf_nr_rrc_measIdleCarrierListEUTRA_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasIdleConfigSIB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasIdleConfigSIB_r16, MeasIdleConfigSIB_r16_sequence); + + return offset; +} + + +static const per_sequence_t SIB11_r16_sequence[] = { + { &hf_nr_rrc_measIdleConfigSIB_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasIdleConfigSIB_r16 }, + { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SIB11_r16(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, " SIB11"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SIB11_r16, SIB11_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_segmentType_r16_vals[] = { + { 0, "notLastSegment" }, + { 1, "lastSegment" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_segmentType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 SIB12_r16_sequence[] = { + { &hf_nr_rrc_segmentNumber_r16_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 }, + { &hf_nr_rrc_segmentType_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_segmentType_r16 }, + { &hf_nr_rrc_segmentContainer_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SIB12_r16(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, " SIB12"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SIB12_r16, SIB12_r16_sequence); + + return offset; +} + + +static const per_sequence_t SIB13_r16_sequence[] = { + { &hf_nr_rrc_sl_V2X_ConfigCommon_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING }, + { &hf_nr_rrc_sl_Bandwidth_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING }, + { &hf_nr_rrc_tdd_Config_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_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_SIB13_r16(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, " SIB13"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SIB13_r16, SIB13_r16_sequence); + + return offset; +} + + +static const per_sequence_t SIB14_r16_sequence[] = { + { &hf_nr_rrc_sl_V2X_ConfigCommonExt_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_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_SIB14_r16(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, " SIB14"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SIB14_r16, SIB14_r16_sequence); + + return offset; +} + + static const value_string nr_rrc_T_sib_TypeAndInfo_item_vals[] = { { 0, "sib2" }, { 1, "sib3" }, @@ -11468,6 +17443,11 @@ static const value_string nr_rrc_T_sib_TypeAndInfo_item_vals[] = { { 5, "sib7" }, { 6, "sib8" }, { 7, "sib9" }, + { 8, "sib10-v1610" }, + { 9, "sib11-v1610" }, + { 10, "sib12-v1610" }, + { 11, "sib13-v1610" }, + { 12, "sib14-v1610" }, { 0, NULL } }; @@ -11480,6 +17460,11 @@ static const per_choice_t T_sib_TypeAndInfo_item_choice[] = { { 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 }, + { 8, &hf_nr_rrc_sib10_v1610 , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_SIB10_r16 }, + { 9, &hf_nr_rrc_sib11_v1610 , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_SIB11_r16 }, + { 10, &hf_nr_rrc_sib12_v1610 , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_SIB12_r16 }, + { 11, &hf_nr_rrc_sib13_v1610 , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_SIB13_r16 }, + { 12, &hf_nr_rrc_sib14_v1610 , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_SIB14_r16 }, { 0, NULL, 0, NULL } }; @@ -11507,14 +17492,14 @@ dissect_nr_rrc_T_sib_TypeAndInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } -static const per_sequence_t T_nonCriticalExtension_31_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_38_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_nonCriticalExtension_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_nonCriticalExtension_31, T_nonCriticalExtension_31_sequence); + ett_nr_rrc_T_nonCriticalExtension_38, T_nonCriticalExtension_38_sequence); return offset; } @@ -11523,7 +17508,7 @@ dissect_nr_rrc_T_nonCriticalExtension_31(tvbuff_t *tvb _U_, int offset _U_, asn1 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_48, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_31 }, + { &hf_nr_rrc_nonCriticalExtension_69, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_38 }, { NULL, 0, 0, NULL } }; @@ -11536,35 +17521,207 @@ dissect_nr_rrc_SystemInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } -static const per_sequence_t T_criticalExtensionsFuture_30_sequence[] = { +static const per_sequence_t SIBpos_r16_sequence[] = { + { &hf_nr_rrc_assistanceDataSIB_Element_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_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_T_criticalExtensionsFuture_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_SIBpos_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SIBpos_r16, SIBpos_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_posSIB_TypeAndInfo_r16_item_vals[] = { + { 0, "posSib1-1-r16" }, + { 1, "posSib1-2-r16" }, + { 2, "posSib1-3-r16" }, + { 3, "posSib1-4-r16" }, + { 4, "posSib1-5-r16" }, + { 5, "posSib1-6-r16" }, + { 6, "posSib1-7-r16" }, + { 7, "posSib1-8-r16" }, + { 8, "posSib2-1-r16" }, + { 9, "posSib2-2-r16" }, + { 10, "posSib2-3-r16" }, + { 11, "posSib2-4-r16" }, + { 12, "posSib2-5-r16" }, + { 13, "posSib2-6-r16" }, + { 14, "posSib2-7-r16" }, + { 15, "posSib2-8-r16" }, + { 16, "posSib2-9-r16" }, + { 17, "posSib2-10-r16" }, + { 18, "posSib2-11-r16" }, + { 19, "posSib2-12-r16" }, + { 20, "posSib2-13-r16" }, + { 21, "posSib2-14-r16" }, + { 22, "posSib2-15-r16" }, + { 23, "posSib2-16-r16" }, + { 24, "posSib2-17-r16" }, + { 25, "posSib2-18-r16" }, + { 26, "posSib2-19-r16" }, + { 27, "posSib2-20-r16" }, + { 28, "posSib2-21-r16" }, + { 29, "posSib2-22-r16" }, + { 30, "posSib2-23-r16" }, + { 31, "posSib3-1-r16" }, + { 32, "posSib4-1-r16" }, + { 33, "posSib5-1-r16" }, + { 34, "posSib6-1-r16" }, + { 35, "posSib6-2-r16" }, + { 36, "posSib6-3-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_posSIB_TypeAndInfo_r16_item_choice[] = { + { 0, &hf_nr_rrc_posSib1_1_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 1, &hf_nr_rrc_posSib1_2_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 2, &hf_nr_rrc_posSib1_3_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 3, &hf_nr_rrc_posSib1_4_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 4, &hf_nr_rrc_posSib1_5_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 5, &hf_nr_rrc_posSib1_6_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 6, &hf_nr_rrc_posSib1_7_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 7, &hf_nr_rrc_posSib1_8_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 8, &hf_nr_rrc_posSib2_1_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 9, &hf_nr_rrc_posSib2_2_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 10, &hf_nr_rrc_posSib2_3_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 11, &hf_nr_rrc_posSib2_4_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 12, &hf_nr_rrc_posSib2_5_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 13, &hf_nr_rrc_posSib2_6_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 14, &hf_nr_rrc_posSib2_7_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 15, &hf_nr_rrc_posSib2_8_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 16, &hf_nr_rrc_posSib2_9_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 17, &hf_nr_rrc_posSib2_10_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 18, &hf_nr_rrc_posSib2_11_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 19, &hf_nr_rrc_posSib2_12_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 20, &hf_nr_rrc_posSib2_13_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 21, &hf_nr_rrc_posSib2_14_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 22, &hf_nr_rrc_posSib2_15_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 23, &hf_nr_rrc_posSib2_16_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 24, &hf_nr_rrc_posSib2_17_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 25, &hf_nr_rrc_posSib2_18_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 26, &hf_nr_rrc_posSib2_19_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 27, &hf_nr_rrc_posSib2_20_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 28, &hf_nr_rrc_posSib2_21_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 29, &hf_nr_rrc_posSib2_22_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 30, &hf_nr_rrc_posSib2_23_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 31, &hf_nr_rrc_posSib3_1_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 32, &hf_nr_rrc_posSib4_1_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 33, &hf_nr_rrc_posSib5_1_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 34, &hf_nr_rrc_posSib6_1_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 35, &hf_nr_rrc_posSib6_2_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 36, &hf_nr_rrc_posSib6_3_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIBpos_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_posSIB_TypeAndInfo_r16_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_posSIB_TypeAndInfo_r16_item, T_posSIB_TypeAndInfo_r16_item_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_posSIB_TypeAndInfo_r16_sequence_of[1] = { + { &hf_nr_rrc_posSIB_TypeAndInfo_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_posSIB_TypeAndInfo_r16_item }, +}; + +static int +dissect_nr_rrc_T_posSIB_TypeAndInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_posSIB_TypeAndInfo_r16, T_posSIB_TypeAndInfo_r16_sequence_of, + 1, maxSIB, FALSE); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_48_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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); + ett_nr_rrc_T_nonCriticalExtension_48, T_nonCriticalExtension_48_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_30_vals[] = { - { 0, "systemInformation" }, +static const per_sequence_t PosSystemInformation_r16_IEs_sequence[] = { + { &hf_nr_rrc_posSIB_TypeAndInfo_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_posSIB_TypeAndInfo_r16 }, + { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, + { &hf_nr_rrc_nonCriticalExtension_82, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_48 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PosSystemInformation_r16_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_PosSystemInformation_r16_IEs, PosSystemInformation_r16_IEs_sequence); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_37_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensionsFuture_37(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_criticalExtensionsFuture_37, T_criticalExtensionsFuture_37_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_criticalExtensionsFuture_r16_01_vals[] = { + { 0, "posSystemInformation-r16" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_30_choice[] = { +static const per_choice_t T_criticalExtensionsFuture_r16_01_choice[] = { + { 0, &hf_nr_rrc_posSystemInformation_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_PosSystemInformation_r16_IEs }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_37, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_37 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensionsFuture_r16_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_criticalExtensionsFuture_r16_01, T_criticalExtensionsFuture_r16_01_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_criticalExtensions_37_vals[] = { + { 0, "systemInformation" }, + { 1, "criticalExtensionsFuture-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_37_choice[] = { { 0, &hf_nr_rrc_systemInformation_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SystemInformation_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_30, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_30 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_r16_01 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_criticalExtensions_37(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensions_30, T_criticalExtensions_30_choice, + ett_nr_rrc_T_criticalExtensions_37, T_criticalExtensions_37_choice, NULL); return offset; @@ -11572,7 +17729,7 @@ dissect_nr_rrc_T_criticalExtensions_30(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t SystemInformation_sequence[] = { - { &hf_nr_rrc_criticalExtensions_30, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_30 }, + { &hf_nr_rrc_criticalExtensions_37, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_37 }, { NULL, 0, 0, NULL } }; @@ -11622,9 +17779,39 @@ dissect_nr_rrc_T_cellReservedForOtherUse(tvbuff_t *tvb _U_, int offset _U_, asn1 } +static const value_string nr_rrc_T_cellReservedForFutureUse_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_cellReservedForFutureUse_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t CellAccessRelatedInfo_eag_1_sequence[] = { + { &hf_nr_rrc_cellReservedForFutureUse_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cellReservedForFutureUse_r16 }, + { &hf_nr_rrc_npn_IdentityInfoList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NPN_IdentityInfoList_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CellAccessRelatedInfo_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, CellAccessRelatedInfo_eag_1_sequence); + + return offset; +} + + static const per_sequence_t CellAccessRelatedInfo_sequence[] = { { &hf_nr_rrc_plmn_IdentityList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_IdentityInfoList }, { &hf_nr_rrc_cellReservedForOtherUse, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cellReservedForOtherUse }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellAccessRelatedInfo_eag_1 }, { NULL, 0, 0, NULL } }; @@ -11739,11 +17926,11 @@ static const value_string nr_rrc_T_type_vals[] = { { 5, "sibType7" }, { 6, "sibType8" }, { 7, "sibType9" }, - { 8, "spare8" }, - { 9, "spare7" }, - { 10, "spare6" }, - { 11, "spare5" }, - { 12, "spare4" }, + { 8, "sibType10-v1610" }, + { 9, "sibType11-v1610" }, + { 10, "sibType12-v1610" }, + { 11, "sibType13-v1610" }, + { 12, "sibType14-v1610" }, { 13, "spare3" }, { 14, "spare2" }, { 15, "spare1" }, @@ -11961,6 +18148,70 @@ dissect_nr_rrc_T_ra_ResponseWindow(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } +static const value_string nr_rrc_T_prach_ConfigurationPeriodScaling_IAB_r16_vals[] = { + { 0, "scf1" }, + { 1, "scf2" }, + { 2, "scf4" }, + { 3, "scf8" }, + { 4, "scf16" }, + { 5, "scf32" }, + { 6, "scf64" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_prach_ConfigurationPeriodScaling_IAB_r16(tvbuff_t *tvb _U_, int offset _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_ra_ResponseWindow_v1610_vals[] = { + { 0, "sl60" }, + { 1, "sl160" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ra_ResponseWindow_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_256_262(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 256U, 262U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t RACH_ConfigGeneric_eag_1_sequence[] = { + { &hf_nr_rrc_prach_ConfigurationPeriodScaling_IAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_prach_ConfigurationPeriodScaling_IAB_r16 }, + { &hf_nr_rrc_prach_ConfigurationFrameOffset_IAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_63 }, + { &hf_nr_rrc_prach_ConfigurationSOffset_IAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_39 }, + { &hf_nr_rrc_ra_ResponseWindow_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ra_ResponseWindow_v1610 }, + { &hf_nr_rrc_prach_ConfigurationIndex_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_256_262 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RACH_ConfigGeneric_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, RACH_ConfigGeneric_eag_1_sequence); + + 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 }, @@ -11970,6 +18221,7 @@ static const per_sequence_t RACH_ConfigGeneric_sequence[] = { { &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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigGeneric_eag_1 }, { NULL, 0, 0, NULL } }; @@ -12413,6 +18665,62 @@ dissect_nr_rrc_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } + +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 int +dissect_nr_rrc_INTEGER_1_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 3U, NULL, FALSE); + + return offset; +} + + + +static 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_ControlResourceSetId_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + maxNrofControlResourceSets, maxNrofControlResourceSets_1_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t ControlResourceSet_eag_1_sequence[] = { + { &hf_nr_rrc_rb_Offset_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_5 }, + { &hf_nr_rrc_tci_PresentForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_3 }, + { &hf_nr_rrc_coresetPoolIndex_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1 }, + { &hf_nr_rrc_controlResourceSetId_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ControlResourceSetId_v1610 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ControlResourceSet_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, ControlResourceSet_eag_1_sequence); + + 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 }, @@ -12423,6 +18731,7 @@ static const per_sequence_t ControlResourceSet_sequence[] = { { &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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSet_eag_1 }, { NULL, 0, 0, NULL } }; @@ -12447,16 +18756,6 @@ 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_) { - 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); @@ -12899,8 +19198,74 @@ dissect_nr_rrc_T_dci_Formats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } +static const value_string nr_rrc_T_dci_Formats_MT_r16_vals[] = { + { 0, "formats2-5" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_dci_Formats_MT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_dci_FormatsSL_r16_vals[] = { + { 0, "formats0-0-And-1-0" }, + { 1, "formats0-1-And-1-1" }, + { 2, "formats3-0" }, + { 3, "formats3-1" }, + { 4, "formats3-0-And-3-1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_dci_FormatsSL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 5, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_dci_FormatsExt_r16_vals[] = { + { 0, "formats0-2-And-1-2" }, + { 1, "formats0-1-And-1-1And-0-2-And-1-2" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_dci_FormatsExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_eag_1_05_sequence[] = { + { &hf_nr_rrc_dci_Formats_MT_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Formats_MT_r16 }, + { &hf_nr_rrc_dci_FormatsSL_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_FormatsSL_r16 }, + { &hf_nr_rrc_dci_FormatsExt_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_FormatsExt_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_eag_1_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_eag(tvb, offset, actx, tree, T_eag_1_05_sequence); + + 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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1_05 }, { NULL, 0, 0, NULL } }; @@ -13195,8 +19560,341 @@ dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_01(tvbuff_t *tvb _U_, int off } + +static int +dissect_nr_rrc_ControlResourceSetId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_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_r16, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_aggregationLevel1_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_aggregationLevel1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_aggregationLevel2_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_aggregationLevel2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_aggregationLevel4_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_aggregationLevel4_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_aggregationLevel8_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_aggregationLevel8_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_aggregationLevel16_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_aggregationLevel16_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_nrofCandidates_CI_r16_sequence[] = { + { &hf_nr_rrc_aggregationLevel1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel1_r16 }, + { &hf_nr_rrc_aggregationLevel2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel2_r16 }, + { &hf_nr_rrc_aggregationLevel4_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel4_r16 }, + { &hf_nr_rrc_aggregationLevel8_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel8_r16 }, + { &hf_nr_rrc_aggregationLevel16_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel16_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nrofCandidates_CI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_CI_r16, T_nrofCandidates_CI_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_dci_Format2_4_r16_sequence[] = { + { &hf_nr_rrc_nrofCandidates_CI_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCandidates_CI_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_dci_Format2_4_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_4_r16, T_dci_Format2_4_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_aggregationLevel1_r16_01_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_aggregationLevel1_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_aggregationLevel2_r16_01_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_aggregationLevel2_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_aggregationLevel4_r16_01_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_aggregationLevel4_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_aggregationLevel8_r16_01_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_aggregationLevel8_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_aggregationLevel16_r16_01_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_aggregationLevel16_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_nrofCandidates_IAB_r16_sequence[] = { + { &hf_nr_rrc_aggregationLevel1_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel1_r16_01 }, + { &hf_nr_rrc_aggregationLevel2_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel2_r16_01 }, + { &hf_nr_rrc_aggregationLevel4_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel4_r16_01 }, + { &hf_nr_rrc_aggregationLevel8_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel8_r16_01 }, + { &hf_nr_rrc_aggregationLevel16_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel16_r16_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nrofCandidates_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_IAB_r16, T_nrofCandidates_IAB_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_dci_Format2_5_r16_sequence[] = { + { &hf_nr_rrc_nrofCandidates_IAB_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCandidates_IAB_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_dci_Format2_5_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_5_r16, T_dci_Format2_5_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_dci_Format2_6_r16_sequence[] = { + { NULL, ASN1_EXTENSION_ROOT, 0, NULL } +}; + +static int +dissect_nr_rrc_T_dci_Format2_6_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_6_r16, T_dci_Format2_6_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_common_r16_sequence[] = { + { &hf_nr_rrc_dci_Format2_4_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_4_r16 }, + { &hf_nr_rrc_dci_Format2_5_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_5_r16 }, + { &hf_nr_rrc_dci_Format2_6_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_6_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_common_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_r16, T_common_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_searchSpaceType_r16_sequence[] = { + { &hf_nr_rrc_common_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_common_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_searchSpaceType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_searchSpaceType_r16, T_searchSpaceType_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_searchSpaceGroupIdList_r16_sequence_of[1] = { + { &hf_nr_rrc_searchSpaceGroupIdList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1 }, +}; + +static int +dissect_nr_rrc_T_searchSpaceGroupIdList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_searchSpaceGroupIdList_r16, T_searchSpaceGroupIdList_r16_sequence_of, + 1, 2, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_BIT_STRING_SIZE_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 5, 5, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const per_sequence_t SearchSpaceExt_r16_sequence[] = { + { &hf_nr_rrc_controlResourceSetId_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ControlResourceSetId_r16 }, + { &hf_nr_rrc_searchSpaceType_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceType_r16 }, + { &hf_nr_rrc_searchSpaceGroupIdList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceGroupIdList_r16 }, + { &hf_nr_rrc_freqMonitorLocations_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_5 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SearchSpaceExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SearchSpaceExt_r16, SearchSpaceExt_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_r16_sequence_of[1] = { + { &hf_nr_rrc_commonSearchSpaceListExt_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceExt_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_SearchSpaceExt_r16, SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_r16_sequence_of, + 1, 4, FALSE); + + return offset; +} + + static const per_sequence_t PDCCH_ConfigCommon_eag_1_sequence[] = { { &hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_01 }, + { &hf_nr_rrc_commonSearchSpaceListExt_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_r16 }, { NULL, 0, 0, NULL } }; @@ -13238,7 +19936,7 @@ static const value_string nr_rrc_T_pdcch_ConfigCommon_vals[] = { static const per_choice_t T_pdcch_ConfigCommon_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_ConfigCommon }, + { 1, &hf_nr_rrc_setup_14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_ConfigCommon }, { 0, NULL, 0, NULL } }; @@ -13330,7 +20028,7 @@ static const value_string nr_rrc_T_pdsch_ConfigCommon_vals[] = { static const per_choice_t T_pdsch_ConfigCommon_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_04 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_ConfigCommon }, + { 1, &hf_nr_rrc_setup_15 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_ConfigCommon }, { 0, NULL, 0, NULL } }; @@ -13601,11 +20299,35 @@ dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO(tvbuff_t *tvb _U_, int offset } + +static int +dissect_nr_rrc_INTEGER_2_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 2U, 4U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t PCCH_Config_eag_1_sequence[] = { + { &hf_nr_rrc_nrofPDCCH_MonitoringOccasionPerSSB_InPO_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_4 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PCCH_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, PCCH_Config_eag_1_sequence); + + return offset; +} + + static const per_sequence_t PCCH_Config_sequence[] = { { &hf_nr_rrc_defaultPagingCycle, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PagingCycle }, { &hf_nr_rrc_nAndPagingFrameOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nAndPagingFrameOffset }, { &hf_nr_rrc_ns , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ns }, { &hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCCH_Config_eag_1 }, { NULL, 0, 0, NULL } }; @@ -14038,6 +20760,138 @@ dissect_nr_rrc_T_msg3_transformPrecoder(tvbuff_t *tvb _U_, int offset _U_, asn1_ } +static const value_string nr_rrc_T_powerRampingStepHighPriority_vals[] = { + { 0, "dB0" }, + { 1, "dB2" }, + { 2, "dB4" }, + { 3, "dB6" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_powerRampingStepHighPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scalingFactorBI_vals[] = { + { 0, "zero" }, + { 1, "dot25" }, + { 2, "dot5" }, + { 3, "dot75" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scalingFactorBI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t RA_Prioritization_sequence[] = { + { &hf_nr_rrc_powerRampingStepHighPriority, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_powerRampingStepHighPriority }, + { &hf_nr_rrc_scalingFactorBI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_scalingFactorBI }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RA_Prioritization(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_RA_Prioritization, RA_Prioritization_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_BIT_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 2, 2, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const per_sequence_t T_ra_PrioritizationForAccessIdentity_sequence[] = { + { &hf_nr_rrc_ra_Prioritization_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RA_Prioritization }, + { &hf_nr_rrc_ra_PrioritizationForAI_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_2 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_ra_PrioritizationForAccessIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_ra_PrioritizationForAccessIdentity, T_ra_PrioritizationForAccessIdentity_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_569(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 569U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_1149(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 1149U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_prach_RootSequenceIndex_r16_vals[] = { + { 0, "l571" }, + { 1, "l1151" }, + { 0, NULL } +}; + +static const per_choice_t T_prach_RootSequenceIndex_r16_choice[] = { + { 0, &hf_nr_rrc_l571 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_569 }, + { 1, &hf_nr_rrc_l1151 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1149 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_prach_RootSequenceIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_prach_RootSequenceIndex_r16, T_prach_RootSequenceIndex_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t RACH_ConfigCommon_eag_1_sequence[] = { + { &hf_nr_rrc_ra_PrioritizationForAccessIdentity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ra_PrioritizationForAccessIdentity }, + { &hf_nr_rrc_prach_RootSequenceIndex_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_prach_RootSequenceIndex_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RACH_ConfigCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RACH_ConfigCommon_eag_1_sequence); + + return offset; +} + + static const per_sequence_t RACH_ConfigCommon_sequence[] = { { &hf_nr_rrc_rach_ConfigGeneric, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigGeneric }, { &hf_nr_rrc_totalNumberOfRA_Preambles, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_63 }, @@ -14050,6 +20904,7 @@ static const per_sequence_t RACH_ConfigCommon_sequence[] = { { &hf_nr_rrc_msg1_SubcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_restrictedSetConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_restrictedSetConfig }, { &hf_nr_rrc_msg3_transformPrecoder, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_msg3_transformPrecoder }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigCommon_eag_1 }, { NULL, 0, 0, NULL } }; @@ -14070,7 +20925,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_09 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RACH_ConfigCommon }, + { 1, &hf_nr_rrc_setup_21 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RACH_ConfigCommon }, { 0, NULL, 0, NULL } }; @@ -14190,7 +21045,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_10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_ConfigCommon }, + { 1, &hf_nr_rrc_setup_22 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_ConfigCommon }, { 0, NULL, 0, NULL } }; @@ -14246,7 +21101,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_11 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_ConfigCommon }, + { 1, &hf_nr_rrc_setup_23 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_ConfigCommon }, { 0, NULL, 0, NULL } }; @@ -14260,11 +21115,848 @@ dissect_nr_rrc_T_pucch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } +static const value_string nr_rrc_T_rach_ConfigCommonIAB_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_rach_ConfigCommonIAB_r16_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_RACH_ConfigCommon }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_rach_ConfigCommonIAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_rach_ConfigCommonIAB_r16, T_rach_ConfigCommonIAB_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_useInterlacePUCCH_PUSCH_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_useInterlacePUCCH_PUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_262(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 262U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_msgA_RO_FDM_r16_vals[] = { + { 0, "one" }, + { 1, "two" }, + { 2, "four" }, + { 3, "eight" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_msgA_RO_FDM_r16(tvbuff_t *tvb _U_, int offset _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_msgA_PreamblePowerRampingStep_r16_vals[] = { + { 0, "dB0" }, + { 1, "dB2" }, + { 2, "dB4" }, + { 3, "dB6" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_msgA_PreamblePowerRampingStep_r16(tvbuff_t *tvb _U_, int offset _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_msgB_ResponseWindow_r16_vals[] = { + { 0, "sl1" }, + { 1, "sl2" }, + { 2, "sl4" }, + { 3, "sl8" }, + { 4, "sl10" }, + { 5, "sl20" }, + { 6, "sl40" }, + { 7, "sl80" }, + { 8, "sl160" }, + { 9, "sl320" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_msgB_ResponseWindow_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 10, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_preambleTransMax_r16_vals[] = { + { 0, "n3" }, + { 1, "n4" }, + { 2, "n5" }, + { 3, "n6" }, + { 4, "n7" }, + { 5, "n8" }, + { 6, "n10" }, + { 7, "n20" }, + { 8, "n50" }, + { 9, "n100" }, + { 10, "n200" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_preambleTransMax_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 11, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t RACH_ConfigGenericTwoStepRA_r16_sequence[] = { + { &hf_nr_rrc_msgA_PRACH_ConfigurationIndex_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_262 }, + { &hf_nr_rrc_msgA_RO_FDM_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_msgA_RO_FDM_r16 }, + { &hf_nr_rrc_msgA_RO_FrequencyStart_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 }, + { &hf_nr_rrc_msgA_ZeroCorrelationZoneConfig_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 }, + { &hf_nr_rrc_msgA_PreamblePowerRampingStep_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_msgA_PreamblePowerRampingStep_r16 }, + { &hf_nr_rrc_msgA_PreambleReceivedTargetPower_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M202_M60 }, + { &hf_nr_rrc_msgB_ResponseWindow_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_msgB_ResponseWindow_r16 }, + { &hf_nr_rrc_preambleTransMax_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_preambleTransMax_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RACH_ConfigGenericTwoStepRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_ConfigGenericTwoStepRA_r16, RACH_ConfigGenericTwoStepRA_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_oneEighth_01_vals[] = { + { 0, "n4" }, + { 1, "n8" }, + { 2, "n12" }, + { 3, "n16" }, + { 4, "n20" }, + { 5, "n24" }, + { 6, "n28" }, + { 7, "n32" }, + { 8, "n36" }, + { 9, "n40" }, + { 10, "n44" }, + { 11, "n48" }, + { 12, "n52" }, + { 13, "n56" }, + { 14, "n60" }, + { 15, "n64" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_oneEighth_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 value_string nr_rrc_T_oneFourth_01_vals[] = { + { 0, "n4" }, + { 1, "n8" }, + { 2, "n12" }, + { 3, "n16" }, + { 4, "n20" }, + { 5, "n24" }, + { 6, "n28" }, + { 7, "n32" }, + { 8, "n36" }, + { 9, "n40" }, + { 10, "n44" }, + { 11, "n48" }, + { 12, "n52" }, + { 13, "n56" }, + { 14, "n60" }, + { 15, "n64" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_oneFourth_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 value_string nr_rrc_T_oneHalf_01_vals[] = { + { 0, "n4" }, + { 1, "n8" }, + { 2, "n12" }, + { 3, "n16" }, + { 4, "n20" }, + { 5, "n24" }, + { 6, "n28" }, + { 7, "n32" }, + { 8, "n36" }, + { 9, "n40" }, + { 10, "n44" }, + { 11, "n48" }, + { 12, "n52" }, + { 13, "n56" }, + { 14, "n60" }, + { 15, "n64" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_oneHalf_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 value_string nr_rrc_T_one_01_vals[] = { + { 0, "n4" }, + { 1, "n8" }, + { 2, "n12" }, + { 3, "n16" }, + { 4, "n20" }, + { 5, "n24" }, + { 6, "n28" }, + { 7, "n32" }, + { 8, "n36" }, + { 9, "n40" }, + { 10, "n44" }, + { 11, "n48" }, + { 12, "n52" }, + { 13, "n56" }, + { 14, "n60" }, + { 15, "n64" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_one_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 value_string nr_rrc_T_two_02_vals[] = { + { 0, "n4" }, + { 1, "n8" }, + { 2, "n12" }, + { 3, "n16" }, + { 4, "n20" }, + { 5, "n24" }, + { 6, "n28" }, + { 7, "n32" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_two_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_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16_vals[] = { + { 0, "oneEighth" }, + { 1, "oneFourth" }, + { 2, "oneHalf" }, + { 3, "one" }, + { 4, "two" }, + { 5, "four" }, + { 6, "eight" }, + { 7, "sixteen" }, + { 0, NULL } +}; + +static const per_choice_t T_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16_choice[] = { + { 0, &hf_nr_rrc_oneEighth_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_oneEighth_01 }, + { 1, &hf_nr_rrc_oneFourth_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_oneFourth_01 }, + { 2, &hf_nr_rrc_oneHalf_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_oneHalf_01 }, + { 3, &hf_nr_rrc_one_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_one_01 }, + { 4, &hf_nr_rrc_two_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_two_02 }, + { 5, &hf_nr_rrc_four , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_16 }, + { 6, &hf_nr_rrc_eight , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_8 }, + { 7, &hf_nr_rrc_sixteen , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_4 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16, T_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16_choice, + NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_1_60(tvbuff_t *tvb _U_, int offset _U_, 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, 60U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_ra_MsgA_SizeGroupA_vals[] = { + { 0, "b56" }, + { 1, "b144" }, + { 2, "b208" }, + { 3, "b256" }, + { 4, "b282" }, + { 5, "b480" }, + { 6, "b640" }, + { 7, "b800" }, + { 8, "b1000" }, + { 9, "b72" }, + { 10, "spare6" }, + { 11, "spare5" }, + { 12, "spare4" }, + { 13, "spare3" }, + { 14, "spare2" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ra_MsgA_SizeGroupA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 16, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_messagePowerOffsetGroupB_01_vals[] = { + { 0, "minusinfinity" }, + { 1, "dB0" }, + { 2, "dB5" }, + { 3, "dB8" }, + { 4, "dB10" }, + { 5, "dB12" }, + { 6, "dB15" }, + { 7, "dB18" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_messagePowerOffsetGroupB_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 8, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t GroupB_ConfiguredTwoStepRA_r16_sequence[] = { + { &hf_nr_rrc_ra_MsgA_SizeGroupA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_MsgA_SizeGroupA }, + { &hf_nr_rrc_messagePowerOffsetGroupB_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_messagePowerOffsetGroupB_01 }, + { &hf_nr_rrc_numberofRA_PreamblesGroupA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_GroupB_ConfiguredTwoStepRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_GroupB_ConfiguredTwoStepRA_r16, GroupB_ConfiguredTwoStepRA_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_msgA_PRACH_RootSequenceIndex_r16_vals[] = { + { 0, "l839" }, + { 1, "l139" }, + { 2, "l571" }, + { 3, "l1151" }, + { 0, NULL } +}; + +static const per_choice_t T_msgA_PRACH_RootSequenceIndex_r16_choice[] = { + { 0, &hf_nr_rrc_l839 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_837 }, + { 1, &hf_nr_rrc_l139 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_137 }, + { 2, &hf_nr_rrc_l571 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_569 }, + { 3, &hf_nr_rrc_l1151 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1149 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_msgA_PRACH_RootSequenceIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_msgA_PRACH_RootSequenceIndex_r16, T_msgA_PRACH_RootSequenceIndex_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_msgA_TransMax_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "n6" }, + { 4, "n8" }, + { 5, "n10" }, + { 6, "n20" }, + { 7, "n50" }, + { 8, "n100" }, + { 9, "n200" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_msgA_TransMax_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 10, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_msgA_RestrictedSetConfig_r16_vals[] = { + { 0, "unrestrictedSet" }, + { 1, "restrictedSetTypeA" }, + { 2, "restrictedSetTypeB" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_msgA_RestrictedSetConfig_r16(tvbuff_t *tvb _U_, int offset _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_ra_PrioritizationForAccessIdentityTwoStep_r16_sequence[] = { + { &hf_nr_rrc_ra_Prioritization_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RA_Prioritization }, + { &hf_nr_rrc_ra_PrioritizationForAI_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_2 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_ra_PrioritizationForAccessIdentityTwoStep_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_ra_PrioritizationForAccessIdentityTwoStep_r16, T_ra_PrioritizationForAccessIdentityTwoStep_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_ra_ContentionResolutionTimer_r16_vals[] = { + { 0, "sf8" }, + { 1, "sf16" }, + { 2, "sf24" }, + { 3, "sf32" }, + { 4, "sf40" }, + { 5, "sf48" }, + { 6, "sf56" }, + { 7, "sf64" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ra_ContentionResolutionTimer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 8, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t RACH_ConfigCommonTwoStepRA_r16_sequence[] = { + { &hf_nr_rrc_rach_ConfigGenericTwoStepRA_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigGenericTwoStepRA_r16 }, + { &hf_nr_rrc_msgA_TotalNumberOfRA_Preambles_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_63 }, + { &hf_nr_rrc_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16 }, + { &hf_nr_rrc_msgA_CB_PreamblesPerSSB_PerSharedRO_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_60 }, + { &hf_nr_rrc_msgA_SSB_SharedRO_MaskIndex_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_15 }, + { &hf_nr_rrc_groupB_ConfiguredTwoStepRA_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_GroupB_ConfiguredTwoStepRA_r16 }, + { &hf_nr_rrc_msgA_PRACH_RootSequenceIndex_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_msgA_PRACH_RootSequenceIndex_r16 }, + { &hf_nr_rrc_msgA_TransMax_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_msgA_TransMax_r16 }, + { &hf_nr_rrc_msgA_RSRP_Threshold_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range }, + { &hf_nr_rrc_msgA_RSRP_ThresholdSSB_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range }, + { &hf_nr_rrc_msgA_SubcarrierSpacing_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing }, + { &hf_nr_rrc_msgA_RestrictedSetConfig_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_msgA_RestrictedSetConfig_r16 }, + { &hf_nr_rrc_ra_PrioritizationForAccessIdentityTwoStep_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ra_PrioritizationForAccessIdentityTwoStep_r16 }, + { &hf_nr_rrc_ra_ContentionResolutionTimer_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ra_ContentionResolutionTimer_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RACH_ConfigCommonTwoStepRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_ConfigCommonTwoStepRA_r16, RACH_ConfigCommonTwoStepRA_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_nrofMsgA_PO_PerSlot_r16_vals[] = { + { 0, "one" }, + { 1, "two" }, + { 2, "three" }, + { 3, "six" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nrofMsgA_PO_PerSlot_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_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 int +dissect_nr_rrc_INTEGER_1_maxNrofUL_Allocations(tvbuff_t *tvb _U_, int offset _U_, 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, maxNrofUL_Allocations, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_mappingTypeMsgA_PUSCH_r16_vals[] = { + { 0, "typeA" }, + { 1, "typeB" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_mappingTypeMsgA_PUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_nrofMsgA_PO_FDM_r16_vals[] = { + { 0, "one" }, + { 1, "two" }, + { 2, "four" }, + { 3, "eight" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nrofMsgA_PO_FDM_r16(tvbuff_t *tvb _U_, int offset _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_msgA_IntraSlotFrequencyHopping_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_msgA_IntraSlotFrequencyHopping_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_msgA_DMRS_AdditionalPosition_r16_vals[] = { + { 0, "pos0" }, + { 1, "pos1" }, + { 2, "pos3" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_msgA_DMRS_AdditionalPosition_r16(tvbuff_t *tvb _U_, int offset _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_msgA_MaxLength_r16_vals[] = { + { 0, "len2" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_msgA_MaxLength_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 MsgA_DMRS_Config_r16_sequence[] = { + { &hf_nr_rrc_msgA_DMRS_AdditionalPosition_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_msgA_DMRS_AdditionalPosition_r16 }, + { &hf_nr_rrc_msgA_MaxLength_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_msgA_MaxLength_r16 }, + { &hf_nr_rrc_msgA_PUSCH_DMRS_CDM_Group_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1 }, + { &hf_nr_rrc_msgA_PUSCH_NrofPorts_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1 }, + { &hf_nr_rrc_msgA_ScramblingID0_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65536 }, + { &hf_nr_rrc_msgA_ScramblingID1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65536 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MsgA_DMRS_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MsgA_DMRS_Config_r16, MsgA_DMRS_Config_r16_sequence); + + 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 value_string nr_rrc_T_msgA_Alpha_r16_vals[] = { + { 0, "alpha0" }, + { 1, "alpha04" }, + { 2, "alpha05" }, + { 3, "alpha06" }, + { 4, "alpha07" }, + { 5, "alpha08" }, + { 6, "alpha09" }, + { 7, "alpha1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_msgA_Alpha_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 8, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_1_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, + 1U, 10U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t MsgA_PUSCH_Resource_r16_sequence[] = { + { &hf_nr_rrc_msgA_MCS_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 }, + { &hf_nr_rrc_nrofSlotsMsgA_PUSCH_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 }, + { &hf_nr_rrc_nrofMsgA_PO_PerSlot_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofMsgA_PO_PerSlot_r16 }, + { &hf_nr_rrc_msgA_PUSCH_TimeDomainOffset_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_32 }, + { &hf_nr_rrc_msgA_PUSCH_TimeDomainAllocation_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofUL_Allocations }, + { &hf_nr_rrc_startSymbolAndLengthMsgA_PO_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_127 }, + { &hf_nr_rrc_mappingTypeMsgA_PUSCH_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mappingTypeMsgA_PUSCH_r16 }, + { &hf_nr_rrc_guardPeriodMsgA_PUSCH_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_3 }, + { &hf_nr_rrc_guardBandMsgA_PUSCH_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1 }, + { &hf_nr_rrc_frequencyStartMsgA_PUSCH_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 }, + { &hf_nr_rrc_nrofPRBs_PerMsgA_PO_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_32 }, + { &hf_nr_rrc_nrofMsgA_PO_FDM_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofMsgA_PO_FDM_r16 }, + { &hf_nr_rrc_msgA_IntraSlotFrequencyHopping_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_msgA_IntraSlotFrequencyHopping_r16 }, + { &hf_nr_rrc_msgA_HoppingBits_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 }, + { &hf_nr_rrc_msgA_DMRS_Config_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MsgA_DMRS_Config_r16 }, + { &hf_nr_rrc_nrofDMRS_Sequences_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 }, + { &hf_nr_rrc_msgA_Alpha_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_msgA_Alpha_r16 }, + { &hf_nr_rrc_interlaceIndexFirstPO_MsgA_PUSCH_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_10 }, + { &hf_nr_rrc_nrofInterlacesPerMsgA_PO_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MsgA_PUSCH_Resource_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MsgA_PUSCH_Resource_r16, MsgA_PUSCH_Resource_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_msgA_TransformPrecoder_r16_vals[] = { + { 0, "enabled" }, + { 1, "disabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_msgA_TransformPrecoder_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 MsgA_PUSCH_Config_r16_sequence[] = { + { &hf_nr_rrc_msgA_PUSCH_ResourceGroupA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MsgA_PUSCH_Resource_r16 }, + { &hf_nr_rrc_msgA_PUSCH_ResourceGroupB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MsgA_PUSCH_Resource_r16 }, + { &hf_nr_rrc_msgA_TransformPrecoder_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_msgA_TransformPrecoder_r16 }, + { &hf_nr_rrc_msgA_DataScramblingIndex_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1023 }, + { &hf_nr_rrc_msgA_DeltaPreamble_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M1_6 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MsgA_PUSCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MsgA_PUSCH_Config_r16, MsgA_PUSCH_Config_r16_sequence); + + return offset; +} + + +static const per_sequence_t MsgA_ConfigCommon_r16_sequence[] = { + { &hf_nr_rrc_rach_ConfigCommonTwoStepRA_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigCommonTwoStepRA_r16 }, + { &hf_nr_rrc_msgA_PUSCH_Config_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MsgA_PUSCH_Config_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MsgA_ConfigCommon_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MsgA_ConfigCommon_r16, MsgA_ConfigCommon_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_msgA_ConfigCommon_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_msgA_ConfigCommon_r16_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_MsgA_ConfigCommon_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_msgA_ConfigCommon_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_msgA_ConfigCommon_r16, T_msgA_ConfigCommon_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t BWP_UplinkCommon_eag_1_sequence[] = { + { &hf_nr_rrc_rach_ConfigCommonIAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rach_ConfigCommonIAB_r16 }, + { &hf_nr_rrc_useInterlacePUCCH_PUSCH_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_useInterlacePUCCH_PUSCH_r16 }, + { &hf_nr_rrc_msgA_ConfigCommon_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_msgA_ConfigCommon_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_BWP_UplinkCommon_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, BWP_UplinkCommon_eag_1_sequence); + + return offset; +} + + static const per_sequence_t BWP_UplinkCommon_sequence[] = { { &hf_nr_rrc_genericParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP }, { &hf_nr_rrc_rach_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rach_ConfigCommon }, { &hf_nr_rrc_pusch_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_ConfigCommon }, { &hf_nr_rrc_pucch_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_ConfigCommon }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_UplinkCommon_eag_1 }, { NULL, 0, 0, NULL } }; @@ -14483,6 +22175,142 @@ dissect_nr_rrc_INTEGER_M60_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } +static const value_string nr_rrc_T_period_vals[] = { + { 0, "ms1" }, + { 1, "ms2" }, + { 2, "ms2dot5" }, + { 3, "ms4" }, + { 4, "ms5" }, + { 5, "ms10" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_period(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 6, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SemiStaticChannelAccessConfig_sequence[] = { + { &hf_nr_rrc_period , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_period }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SemiStaticChannelAccessConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SemiStaticChannelAccessConfig, SemiStaticChannelAccessConfig_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_channelAccessMode_r16_01_vals[] = { + { 0, "dynamic" }, + { 1, "semiStatic" }, + { 0, NULL } +}; + +static const per_choice_t T_channelAccessMode_r16_01_choice[] = { + { 0, &hf_nr_rrc_dynamic_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_semiStatic_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SemiStaticChannelAccessConfig }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_channelAccessMode_r16_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_channelAccessMode_r16_01, T_channelAccessMode_r16_01_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_discoveryBurstWindowLength_r16_01_vals[] = { + { 0, "ms0dot5" }, + { 1, "ms1" }, + { 2, "ms2" }, + { 3, "ms3" }, + { 4, "ms4" }, + { 5, "ms5" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_discoveryBurstWindowLength_r16_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, + 6, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_highSpeedMeasFlag_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_highSpeedMeasFlag_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_highSpeedDemodFlag_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_highSpeedDemodFlag_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 HighSpeedConfig_r16_sequence[] = { + { &hf_nr_rrc_highSpeedMeasFlag_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_highSpeedMeasFlag_r16 }, + { &hf_nr_rrc_highSpeedDemodFlag_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_highSpeedDemodFlag_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_HighSpeedConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_HighSpeedConfig_r16, HighSpeedConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t ServingCellConfigCommonSIB_eag_1_sequence[] = { + { &hf_nr_rrc_channelAccessMode_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_channelAccessMode_r16_01 }, + { &hf_nr_rrc_discoveryBurstWindowLength_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_discoveryBurstWindowLength_r16_01 }, + { &hf_nr_rrc_highSpeedConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_HighSpeedConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ServingCellConfigCommonSIB_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, ServingCellConfigCommonSIB_eag_1_sequence); + + 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 }, @@ -14492,6 +22320,7 @@ static const per_sequence_t ServingCellConfigCommonSIB_sequence[] = { { &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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfigCommonSIB_eag_1 }, { NULL, 0, 0, NULL } }; @@ -14997,14 +22826,339 @@ dissect_nr_rrc_T_useFullResumeID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } -static const per_sequence_t T_nonCriticalExtension_30_sequence[] = { +static const value_string nr_rrc_T_idleModeMeasurementsEUTRA_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_idleModeMeasurementsEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_idleModeMeasurementsNR_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_idleModeMeasurementsNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_offsetToSI_Used_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_offsetToSI_Used_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_posSI_Periodicity_r16_vals[] = { + { 0, "rf8" }, + { 1, "rf16" }, + { 2, "rf32" }, + { 3, "rf64" }, + { 4, "rf128" }, + { 5, "rf256" }, + { 6, "rf512" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_posSI_Periodicity_r16(tvbuff_t *tvb _U_, int offset _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_posSI_BroadcastStatus_r16_vals[] = { + { 0, "broadcasting" }, + { 1, "notBroadcasting" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_posSI_BroadcastStatus_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_encrypted_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_encrypted_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_gnss_id_r16_vals[] = { + { 0, "gps" }, + { 1, "sbas" }, + { 2, "qzss" }, + { 3, "galileo" }, + { 4, "glonass" }, + { 5, "bds" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_gnss_id_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 6, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t GNSS_ID_r16_sequence[] = { + { &hf_nr_rrc_gnss_id_r16_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_gnss_id_r16 }, { 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_) { +dissect_nr_rrc_GNSS_ID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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); + ett_nr_rrc_GNSS_ID_r16, GNSS_ID_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sbas_id_r16_vals[] = { + { 0, "waas" }, + { 1, "egnos" }, + { 2, "msas" }, + { 3, "gagan" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sbas_id_r16(tvbuff_t *tvb _U_, int offset _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, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SBAS_ID_r16_sequence[] = { + { &hf_nr_rrc_sbas_id_r16_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sbas_id_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SBAS_ID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SBAS_ID_r16, SBAS_ID_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_posSibType_r16_01_vals[] = { + { 0, "posSibType1-1" }, + { 1, "posSibType1-2" }, + { 2, "posSibType1-3" }, + { 3, "posSibType1-4" }, + { 4, "posSibType1-5" }, + { 5, "posSibType1-6" }, + { 6, "posSibType1-7" }, + { 7, "posSibType1-8" }, + { 8, "posSibType2-1" }, + { 9, "posSibType2-2" }, + { 10, "posSibType2-3" }, + { 11, "posSibType2-4" }, + { 12, "posSibType2-5" }, + { 13, "posSibType2-6" }, + { 14, "posSibType2-7" }, + { 15, "posSibType2-8" }, + { 16, "posSibType2-9" }, + { 17, "posSibType2-10" }, + { 18, "posSibType2-11" }, + { 19, "posSibType2-12" }, + { 20, "posSibType2-13" }, + { 21, "posSibType2-14" }, + { 22, "posSibType2-15" }, + { 23, "posSibType2-16" }, + { 24, "posSibType2-17" }, + { 25, "posSibType2-18" }, + { 26, "posSibType2-19" }, + { 27, "posSibType2-20" }, + { 28, "posSibType2-21" }, + { 29, "posSibType2-22" }, + { 30, "posSibType2-23" }, + { 31, "posSibType3-1" }, + { 32, "posSibType4-1" }, + { 33, "posSibType5-1" }, + { 34, "posSibType6-1" }, + { 35, "posSibType6-2" }, + { 36, "posSibType6-3" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_posSibType_r16_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, + 37, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_areaScope_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_areaScope_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 PosSIB_Type_r16_sequence[] = { + { &hf_nr_rrc_encrypted_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_encrypted_r16 }, + { &hf_nr_rrc_gnss_id_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_GNSS_ID_r16 }, + { &hf_nr_rrc_sbas_id_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SBAS_ID_r16 }, + { &hf_nr_rrc_posSibType_r16_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_posSibType_r16_01 }, + { &hf_nr_rrc_areaScope_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_areaScope_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PosSIB_Type_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PosSIB_Type_r16, PosSIB_Type_r16_sequence); + + return offset; +} + + +static const per_sequence_t PosSIB_MappingInfo_r16_sequence_of[1] = { + { &hf_nr_rrc_PosSIB_MappingInfo_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PosSIB_Type_r16 }, +}; + +static int +dissect_nr_rrc_PosSIB_MappingInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PosSIB_MappingInfo_r16, PosSIB_MappingInfo_r16_sequence_of, + 1, maxSIB, FALSE); + + return offset; +} + + +static const per_sequence_t PosSchedulingInfo_r16_sequence[] = { + { &hf_nr_rrc_offsetToSI_Used_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_offsetToSI_Used_r16 }, + { &hf_nr_rrc_posSI_Periodicity_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_posSI_Periodicity_r16 }, + { &hf_nr_rrc_posSI_BroadcastStatus_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_posSI_BroadcastStatus_r16 }, + { &hf_nr_rrc_posSIB_MappingInfo_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PosSIB_MappingInfo_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PosSchedulingInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PosSchedulingInfo_r16, PosSchedulingInfo_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxSI_Message_OF_PosSchedulingInfo_r16_sequence_of[1] = { + { &hf_nr_rrc_posSchedulingInfoList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PosSchedulingInfo_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_PosSchedulingInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_PosSchedulingInfo_r16, SEQUENCE_SIZE_1_maxSI_Message_OF_PosSchedulingInfo_r16_sequence_of, + 1, maxSI_Message, FALSE); + + return offset; +} + + +static const per_sequence_t PosSI_SchedulingInfo_r16_sequence[] = { + { &hf_nr_rrc_posSchedulingInfoList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_PosSchedulingInfo_r16 }, + { &hf_nr_rrc_posSI_RequestConfig_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SI_RequestConfig }, + { &hf_nr_rrc_posSI_RequestConfigSUL_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SI_RequestConfig }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PosSI_SchedulingInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PosSI_SchedulingInfo_r16, PosSI_SchedulingInfo_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_36_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_nonCriticalExtension_36, T_nonCriticalExtension_36_sequence); + + return offset; +} + + +static const per_sequence_t SIB1_v1610_IEs_sequence[] = { + { &hf_nr_rrc_idleModeMeasurementsEUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_idleModeMeasurementsEUTRA_r16 }, + { &hf_nr_rrc_idleModeMeasurementsNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_idleModeMeasurementsNR_r16 }, + { &hf_nr_rrc_posSI_SchedulingInfo_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PosSI_SchedulingInfo_r16 }, + { &hf_nr_rrc_nonCriticalExtension_67, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_36 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SIB1_v1610_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_SIB1_v1610_IEs, SIB1_v1610_IEs_sequence); return offset; } @@ -15022,7 +23176,7 @@ static const per_sequence_t SIB1_sequence[] = { { &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_47, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_30 }, + { &hf_nr_rrc_nonCriticalExtension_66, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SIB1_v1610_IEs }, { NULL, 0, 0, NULL } }; @@ -15128,14 +23282,14 @@ dissect_nr_rrc_RejectWaitTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const per_sequence_t T_nonCriticalExtension_19_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_25_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_19, T_nonCriticalExtension_19_sequence); + ett_nr_rrc_T_nonCriticalExtension_25, T_nonCriticalExtension_25_sequence); return offset; } @@ -15144,7 +23298,7 @@ dissect_nr_rrc_T_nonCriticalExtension_19(tvbuff_t *tvb _U_, int offset _U_, asn1 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_32, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_19 }, + { &hf_nr_rrc_nonCriticalExtension_47, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_25 }, { NULL, 0, 0, NULL } }; @@ -15157,35 +23311,35 @@ dissect_nr_rrc_RRCReject_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const per_sequence_t T_criticalExtensionsFuture_18_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_24_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensionsFuture_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_18, T_criticalExtensionsFuture_18_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_24, T_criticalExtensionsFuture_24_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_18_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_24_vals[] = { { 0, "rrcReject" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_18_choice[] = { +static const per_choice_t T_criticalExtensions_24_choice[] = { { 0, &hf_nr_rrc_rrcReject_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReject_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_18, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_18 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_24, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_24 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_18(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_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_18, T_criticalExtensions_18_choice, + ett_nr_rrc_T_criticalExtensions_24, T_criticalExtensions_24_choice, NULL); return offset; @@ -15193,7 +23347,7 @@ dissect_nr_rrc_T_criticalExtensions_18(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t RRCReject_sequence[] = { - { &hf_nr_rrc_criticalExtensions_18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_18 }, + { &hf_nr_rrc_criticalExtensions_24, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_24 }, { NULL, 0, 0, NULL } }; @@ -15742,11 +23896,237 @@ dissect_nr_rrc_PDCP_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } +static const value_string nr_rrc_DiscardTimerExt_r16_vals[] = { + { 0, "ms0dot5" }, + { 1, "ms1" }, + { 2, "ms2" }, + { 3, "ms4" }, + { 4, "ms6" }, + { 5, "ms8" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_DiscardTimerExt_r16(tvbuff_t *tvb _U_, int offset _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_discardTimerExt_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_discardTimerExt_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_57 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DiscardTimerExt_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_discardTimerExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_discardTimerExt_r16, T_discardTimerExt_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_duplicationState_sequence_of[1] = { + { &hf_nr_rrc_duplicationState_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, +}; + +static int +dissect_nr_rrc_T_duplicationState(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_duplicationState, T_duplicationState_sequence_of, + 3, 3, FALSE); + + return offset; +} + + +static const per_sequence_t T_moreThanTwoRLC_DRB_r16_sequence[] = { + { &hf_nr_rrc_splitSecondaryPath, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_LogicalChannelIdentity }, + { &hf_nr_rrc_duplicationState, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_duplicationState }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_moreThanTwoRLC_DRB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_moreThanTwoRLC_DRB_r16, T_moreThanTwoRLC_DRB_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_ehc_CID_Length_vals[] = { + { 0, "bits7" }, + { 1, "bits15" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ehc_CID_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 per_sequence_t T_ehc_Common_sequence[] = { + { &hf_nr_rrc_ehc_CID_Length, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ehc_CID_Length }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_ehc_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_ehc_Common, T_ehc_Common_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_drb_ContinueEHC_DL_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_drb_ContinueEHC_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 per_sequence_t T_ehc_Downlink_sequence[] = { + { &hf_nr_rrc_drb_ContinueEHC_DL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_drb_ContinueEHC_DL }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_ehc_Downlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_ehc_Downlink, T_ehc_Downlink_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_1_32767(tvbuff_t *tvb _U_, int offset _U_, 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, 32767U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_drb_ContinueEHC_UL_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_drb_ContinueEHC_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_ehc_Uplink_sequence[] = { + { &hf_nr_rrc_maxCID_EHC_UL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_32767 }, + { &hf_nr_rrc_drb_ContinueEHC_UL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_drb_ContinueEHC_UL }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_ehc_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_T_ehc_Uplink, T_ehc_Uplink_sequence); + + return offset; +} + + +static const per_sequence_t EthernetHeaderCompression_r16_sequence[] = { + { &hf_nr_rrc_ehc_Common , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ehc_Common }, + { &hf_nr_rrc_ehc_Downlink , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ehc_Downlink }, + { &hf_nr_rrc_ehc_Uplink , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ehc_Uplink }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_EthernetHeaderCompression_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_EthernetHeaderCompression_r16, EthernetHeaderCompression_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_ethernetHeaderCompression_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_ethernetHeaderCompression_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_58 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_EthernetHeaderCompression_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_ethernetHeaderCompression_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_ethernetHeaderCompression_r16, T_ethernetHeaderCompression_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t PDCP_Config_eag_2_sequence[] = { + { &hf_nr_rrc_discardTimerExt_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_discardTimerExt_r16 }, + { &hf_nr_rrc_moreThanTwoRLC_DRB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_moreThanTwoRLC_DRB_r16 }, + { &hf_nr_rrc_ethernetHeaderCompression_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ethernetHeaderCompression_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PDCP_Config_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCP_Config_eag_2_sequence); + + return offset; +} + + static const per_sequence_t PDCP_Config_sequence[] = { { &hf_nr_rrc_drb , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_drb }, { &hf_nr_rrc_moreThanOneRLC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_moreThanOneRLC }, { &hf_nr_rrc_t_Reordering , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_t_Reordering }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCP_Config_eag_1 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCP_Config_eag_2 }, { NULL, 0, 0, NULL } }; @@ -15957,12 +24337,41 @@ dissect_nr_rrc_T_recoverPDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } +static const value_string nr_rrc_T_daps_Config_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_daps_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_eag_1_sequence[] = { + { &hf_nr_rrc_daps_Config_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_daps_Config_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_DRB_ToAddMod_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, DRB_ToAddMod_eag_1_sequence); + + 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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_ToAddMod_eag_1 }, { NULL, 0, 0, NULL } }; @@ -16136,14 +24545,14 @@ dissect_nr_rrc_T_masterCellGroup_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } -static const per_sequence_t T_nonCriticalExtension_23_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_29_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_nonCriticalExtension_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_nonCriticalExtension_23, T_nonCriticalExtension_23_sequence); + ett_nr_rrc_T_nonCriticalExtension_29, T_nonCriticalExtension_29_sequence); return offset; } @@ -16153,7 +24562,7 @@ 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_38, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_23 }, + { &hf_nr_rrc_nonCriticalExtension_56, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_29 }, { NULL, 0, 0, NULL } }; @@ -16166,35 +24575,35 @@ dissect_nr_rrc_RRCSetup_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const per_sequence_t T_criticalExtensionsFuture_22_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_28_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensionsFuture_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_22, T_criticalExtensionsFuture_22_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_28, T_criticalExtensionsFuture_28_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_22_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_28_vals[] = { { 0, "rrcSetup" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_22_choice[] = { +static const per_choice_t T_criticalExtensions_28_choice[] = { { 0, &hf_nr_rrc_rrcSetup_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCSetup_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_22, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_22 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_28, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_28 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_22(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_criticalExtensions_22, T_criticalExtensions_22_choice, + ett_nr_rrc_T_criticalExtensions_28, T_criticalExtensions_28_choice, NULL); return offset; @@ -16203,7 +24612,7 @@ dissect_nr_rrc_T_criticalExtensions_22(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t RRCSetup_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, - { &hf_nr_rrc_criticalExtensions_22, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_22 }, + { &hf_nr_rrc_criticalExtensions_28, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_28 }, { NULL, 0, 0, NULL } }; @@ -16337,20 +24746,6 @@ dissect_nr_rrc_MeasObjectToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId_sequence_of[1] = { - { &hf_nr_rrc_pci_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, -}; - -static int -dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId, SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId_sequence_of, - 1, maxNrofPCIsPerSMTC, FALSE); - - return offset; -} - - static const value_string nr_rrc_T_periodicity_02_vals[] = { { 0, "sf5" }, { 1, "sf10" }, @@ -16396,7 +24791,7 @@ static const value_string nr_rrc_T_ssb_ToMeasure_vals[] = { static const per_choice_t T_ssb_ToMeasure_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_28 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_ToMeasure }, + { 1, &hf_nr_rrc_setup_49 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_ToMeasure }, { 0, NULL, 0, NULL } }; @@ -16410,212 +24805,76 @@ dissect_nr_rrc_T_ssb_ToMeasure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } -static const per_sequence_t SSB_ConfigMobility_sequence[] = { - { &hf_nr_rrc_ssb_ToMeasure_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_ToMeasure }, - { &hf_nr_rrc_deriveSSB_IndexFromCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, - { &hf_nr_rrc_ss_RSSI_Measurement, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SS_RSSI_Measurement }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_nr_rrc_SSB_ConfigMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_SSB_ConfigMobility, SSB_ConfigMobility_sequence); - - return offset; -} - - -static const value_string nr_rrc_T_nrofPRBs_vals[] = { - { 0, "size24" }, - { 1, "size48" }, - { 2, "size96" }, - { 3, "size192" }, - { 4, "size264" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_nrofPRBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 5, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_nr_rrc_INTEGER_0_2169(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 2169U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t T_csi_rs_MeasurementBW_sequence[] = { - { &hf_nr_rrc_nrofPRBs , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPRBs }, - { &hf_nr_rrc_startPRB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2169 }, +static const per_sequence_t SSB_PositionQCL_CellsToAddMod_r16_sequence[] = { + { &hf_nr_rrc_physCellId_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, + { &hf_nr_rrc_ssb_PositionQCL_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_PositionQCL_Relation_r16 }, { 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_SSB_PositionQCL_CellsToAddMod_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_csi_rs_MeasurementBW, T_csi_rs_MeasurementBW_sequence); - - return offset; -} - - -static const value_string nr_rrc_T_density_vals[] = { - { 0, "d1" }, - { 1, "d3" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_density(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string nr_rrc_T_slotConfig_vals[] = { - { 0, "ms4" }, - { 1, "ms5" }, - { 2, "ms10" }, - { 3, "ms20" }, - { 4, "ms40" }, - { 0, NULL } -}; - -static const per_choice_t T_slotConfig_choice[] = { - { 0, &hf_nr_rrc_ms4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 }, - { 1, &hf_nr_rrc_ms5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 }, - { 2, &hf_nr_rrc_ms10_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 }, - { 3, &hf_nr_rrc_ms20_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 }, - { 4, &hf_nr_rrc_ms40_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_nr_rrc_T_slotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_slotConfig, T_slotConfig_choice, - NULL); + ett_nr_rrc_SSB_PositionQCL_CellsToAddMod_r16, SSB_PositionQCL_CellsToAddMod_r16_sequence); return offset; } -static const per_sequence_t T_associatedSSB_sequence[] = { - { &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index }, - { &hf_nr_rrc_isQuasiColocated, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, - { NULL, 0, 0, NULL } +static const per_sequence_t SSB_PositionQCL_CellsToAddModList_r16_sequence_of[1] = { + { &hf_nr_rrc_SSB_PositionQCL_CellsToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_PositionQCL_CellsToAddMod_r16 }, }; static int -dissect_nr_rrc_T_associatedSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_associatedSSB, T_associatedSSB_sequence); - - return offset; -} - - - -static int -dissect_nr_rrc_BIT_STRING_SIZE_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 12, 12, FALSE, NULL, 0, NULL, NULL); +dissect_nr_rrc_SSB_PositionQCL_CellsToAddModList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SSB_PositionQCL_CellsToAddModList_r16, SSB_PositionQCL_CellsToAddModList_r16_sequence_of, + 1, maxNrofCellMeas, FALSE); return offset; } -static const value_string nr_rrc_T_frequencyDomainAllocation_vals[] = { - { 0, "row1" }, - { 1, "row2" }, - { 0, NULL } -}; - -static const per_choice_t T_frequencyDomainAllocation_choice[] = { - { 0, &hf_nr_rrc_row1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 }, - { 1, &hf_nr_rrc_row2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_12 }, - { 0, NULL, 0, NULL } +static 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_frequencyDomainAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_frequencyDomainAllocation, T_frequencyDomainAllocation_choice, - NULL); - - return offset; -} - - - -static int -dissect_nr_rrc_INTEGER_0_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 13U, NULL, FALSE); +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 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 }, +static const per_sequence_t SSB_ConfigMobility_eag_1_sequence[] = { + { &hf_nr_rrc_ssb_PositionQCL_Common_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_PositionQCL_Relation_r16 }, + { &hf_nr_rrc_ssb_PositionQCL_CellsToAddModList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_PositionQCL_CellsToAddModList_r16 }, + { &hf_nr_rrc_ssb_PositionQCL_CellsToRemoveList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PCI_List }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_CSI_RS_Resource_Mobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_CSI_RS_Resource_Mobility, CSI_RS_Resource_Mobility_sequence); - - return offset; -} - - -static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility_sequence_of[1] = { - { &hf_nr_rrc_csi_rs_ResourceList_Mobility_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Resource_Mobility }, -}; - -static int -dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility, SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility_sequence_of, - 1, maxNrofCSI_RS_ResourcesRRM, FALSE); +dissect_nr_rrc_SSB_ConfigMobility_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, SSB_ConfigMobility_eag_1_sequence); 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 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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_ConfigMobility_eag_1 }, { 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_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_CSI_RS_CellMobility, CSI_RS_CellMobility_sequence); + ett_nr_rrc_SSB_ConfigMobility, SSB_ConfigMobility_sequence); return offset; } @@ -16672,7 +24931,7 @@ static const value_string nr_rrc_T_csi_rs_ResourceConfigMobility_vals[] = { static const per_choice_t T_csi_rs_ResourceConfigMobility_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_27 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_RS_ResourceConfigMobility }, + { 1, &hf_nr_rrc_setup_48 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_RS_ResourceConfigMobility }, { 0, NULL, 0, NULL } }; @@ -16740,20 +24999,6 @@ dissect_nr_rrc_Q_OffsetRangeList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } -static const per_sequence_t PCI_List_sequence_of[1] = { - { &hf_nr_rrc_PCI_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, -}; - -static int -dissect_nr_rrc_PCI_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_PCI_List, PCI_List_sequence_of, - 1, maxNrofCellMeas, FALSE); - - return offset; -} - - static const per_sequence_t CellsToAddMod_sequence[] = { { &hf_nr_rrc_physCellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, { &hf_nr_rrc_cellIndividualOffset_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRangeList }, @@ -16871,6 +25116,269 @@ dissect_nr_rrc_MeasObjectNR_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } +static const value_string nr_rrc_T_periodicityAndOffset_r16_vals[] = { + { 0, "sf5-r16" }, + { 1, "sf10-r16" }, + { 2, "sf20-r16" }, + { 3, "sf40-r16" }, + { 4, "sf80-r16" }, + { 5, "sf160-r16" }, + { 6, "sf320-r16" }, + { 7, "sf640-r16" }, + { 8, "sf1280-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_periodicityAndOffset_r16_choice[] = { + { 0, &hf_nr_rrc_sf5_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 }, + { 1, &hf_nr_rrc_sf10_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 }, + { 2, &hf_nr_rrc_sf20_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 }, + { 3, &hf_nr_rrc_sf40_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 }, + { 4, &hf_nr_rrc_sf80_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 }, + { 5, &hf_nr_rrc_sf160_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 }, + { 6, &hf_nr_rrc_sf320_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 }, + { 7, &hf_nr_rrc_sf640_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 }, + { 8, &hf_nr_rrc_sf1280_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1279 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_periodicityAndOffset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_r16, T_periodicityAndOffset_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_duration_r16_vals[] = { + { 0, "sf1" }, + { 1, "sf2" }, + { 2, "sf3" }, + { 3, "sf4" }, + { 4, "sf5" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_duration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 5, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_ssb_ToMeasure_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_ssb_ToMeasure_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_49 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_ToMeasure }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_ssb_ToMeasure_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_r16, T_ssb_ToMeasure_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SSB_MTC3_r16_sequence[] = { + { &hf_nr_rrc_periodicityAndOffset_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicityAndOffset_r16 }, + { &hf_nr_rrc_duration_r16_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_duration_r16 }, + { &hf_nr_rrc_pci_List_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId }, + { &hf_nr_rrc_ssb_ToMeasure_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_ToMeasure_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SSB_MTC3_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_MTC3_r16, SSB_MTC3_r16_sequence); + + return offset; +} + + +static const per_sequence_t SSB_MTC3List_r16_sequence_of[1] = { + { &hf_nr_rrc_SSB_MTC3List_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_MTC3_r16 }, +}; + +static int +dissect_nr_rrc_SSB_MTC3List_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SSB_MTC3List_r16, SSB_MTC3List_r16_sequence_of, + 1, 4, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_rmtc_Periodicity_r16_vals[] = { + { 0, "ms40" }, + { 1, "ms80" }, + { 2, "ms160" }, + { 3, "ms320" }, + { 4, "ms640" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_rmtc_Periodicity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 5, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_measDurationSymbols_r16_vals[] = { + { 0, "sym1" }, + { 1, "sym14or12" }, + { 2, "sym28or24" }, + { 3, "sym42or36" }, + { 4, "sym70or60" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_measDurationSymbols_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 5, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_ref_SCS_CP_r16_vals[] = { + { 0, "kHz15" }, + { 1, "kHz30" }, + { 2, "kHz60-NCP" }, + { 3, "kHz60-ECP" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ref_SCS_CP_r16(tvbuff_t *tvb _U_, int offset _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 RMTC_Config_r16_sequence[] = { + { &hf_nr_rrc_rmtc_Periodicity_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rmtc_Periodicity_r16 }, + { &hf_nr_rrc_rmtc_SubframeOffset_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_639 }, + { &hf_nr_rrc_measDurationSymbols_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measDurationSymbols_r16 }, + { &hf_nr_rrc_rmtc_Frequency_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, + { &hf_nr_rrc_ref_SCS_CP_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ref_SCS_CP_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RMTC_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_RMTC_Config_r16, RMTC_Config_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_rmtc_Config_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_rmtc_Config_r16_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_RMTC_Config_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_rmtc_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_rmtc_Config_r16, T_rmtc_Config_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T312_r16_vals[] = { + { 0, "ms0" }, + { 1, "ms50" }, + { 2, "ms100" }, + { 3, "ms200" }, + { 4, "ms300" }, + { 5, "ms400" }, + { 6, "ms500" }, + { 7, "ms1000" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T312_r16(tvbuff_t *tvb _U_, int offset _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_t312_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_t312_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_47 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T312_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_t312_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_t312_r16, T_t312_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t MeasObjectNR_eag_2_sequence[] = { + { &hf_nr_rrc_smtc3list_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC3List_r16 }, + { &hf_nr_rrc_rmtc_Config_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rmtc_Config_r16 }, + { &hf_nr_rrc_t312_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_t312_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasObjectNR_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasObjectNR_eag_2_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 }, @@ -16891,6 +25399,7 @@ static const per_sequence_t MeasObjectNR_sequence[] = { { &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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectNR_eag_2 }, { NULL, 0, 0, NULL } }; @@ -17008,15 +25517,885 @@ dissect_nr_rrc_MeasObjectEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } + +static int +dissect_nr_rrc_ARFCN_ValueUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 16383U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_UTRA_FDD_Q_OffsetRange_r16_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_UTRA_FDD_Q_OffsetRange_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_UTRA_FDD_Q_OffsetRange_r16_vals); + + +static int +dissect_nr_rrc_UTRA_FDD_Q_OffsetRange_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 31, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_UTRA_FDD_CellIndex_r16(tvbuff_t *tvb _U_, int offset _U_, 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, maxCellMeasUTRA_FDD_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t UTRA_FDD_CellIndexList_r16_sequence_of[1] = { + { &hf_nr_rrc_UTRA_FDD_CellIndexList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UTRA_FDD_CellIndex_r16 }, +}; + +static int +dissect_nr_rrc_UTRA_FDD_CellIndexList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_UTRA_FDD_CellIndexList_r16, UTRA_FDD_CellIndexList_r16_sequence_of, + 1, maxCellMeasUTRA_FDD_r16, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_PhysCellIdUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 511U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CellsToAddModUTRA_FDD_r16_sequence[] = { + { &hf_nr_rrc_cellIndexUTRA_FDD_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UTRA_FDD_CellIndex_r16 }, + { &hf_nr_rrc_physCellId_r16_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellIdUTRA_FDD_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CellsToAddModUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CellsToAddModUTRA_FDD_r16, CellsToAddModUTRA_FDD_r16_sequence); + + return offset; +} + + +static const per_sequence_t CellsToAddModListUTRA_FDD_r16_sequence_of[1] = { + { &hf_nr_rrc_CellsToAddModListUTRA_FDD_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellsToAddModUTRA_FDD_r16 }, +}; + +static int +dissect_nr_rrc_CellsToAddModListUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CellsToAddModListUTRA_FDD_r16, CellsToAddModListUTRA_FDD_r16_sequence_of, + 1, maxCellMeasUTRA_FDD_r16, FALSE); + + return offset; +} + + +static const per_sequence_t MeasObjectUTRA_FDD_r16_sequence[] = { + { &hf_nr_rrc_carrierFreq_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueUTRA_FDD_r16 }, + { &hf_nr_rrc_utra_FDD_Q_OffsetRange_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_UTRA_FDD_Q_OffsetRange_r16 }, + { &hf_nr_rrc_cellsToRemoveList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_UTRA_FDD_CellIndexList_r16 }, + { &hf_nr_rrc_cellsToAddModList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CellsToAddModListUTRA_FDD_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasObjectUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasObjectUTRA_FDD_r16, MeasObjectUTRA_FDD_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_SL_ResourcePoolID_r16(tvbuff_t *tvb _U_, int offset _U_, 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, maxNrofPoolID_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t Tx_PoolMeasList_r16_sequence_of[1] = { + { &hf_nr_rrc_Tx_PoolMeasList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ResourcePoolID_r16 }, +}; + +static int +dissect_nr_rrc_Tx_PoolMeasList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_Tx_PoolMeasList_r16, Tx_PoolMeasList_r16_sequence_of, + 1, maxNrofSL_PoolToMeasureNR_r16, FALSE); + + return offset; +} + + +static const per_sequence_t MeasObjectNR_SL_r16_sequence[] = { + { &hf_nr_rrc_tx_PoolMeasToRemoveList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Tx_PoolMeasList_r16 }, + { &hf_nr_rrc_tx_PoolMeasToAddModList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Tx_PoolMeasList_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasObjectNR_SL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_SL_r16, MeasObjectNR_SL_r16_sequence); + + 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 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 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 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 const value_string nr_rrc_T_nrofSymbols_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nrofSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_repetitionFactor_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_repetitionFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_resourceMapping_sequence[] = { + { &hf_nr_rrc_startPosition, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_5 }, + { &hf_nr_rrc_nrofSymbols_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofSymbols }, + { &hf_nr_rrc_repetitionFactor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_repetitionFactor }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_resourceMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_resourceMapping, T_resourceMapping_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_67(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 67U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_268(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 268U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_freqHopping_sequence[] = { + { &hf_nr_rrc_c_SRS , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 }, + { &hf_nr_rrc_b_SRS , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 }, + { &hf_nr_rrc_b_hop , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_freqHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_freqHopping, T_freqHopping_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_groupOrSequenceHopping_vals[] = { + { 0, "neither" }, + { 1, "groupHopping" }, + { 2, "sequenceHopping" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_groupOrSequenceHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_aperiodic_02_sequence[] = { + { NULL, ASN1_EXTENSION_ROOT, 0, NULL } +}; + +static int +dissect_nr_rrc_T_aperiodic_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_aperiodic_02, T_aperiodic_02_sequence); + + return offset; +} + + +static const value_string nr_rrc_SRS_PeriodicityAndOffset_vals[] = { + { 0, "sl1" }, + { 1, "sl2" }, + { 2, "sl4" }, + { 3, "sl5" }, + { 4, "sl8" }, + { 5, "sl10" }, + { 6, "sl16" }, + { 7, "sl20" }, + { 8, "sl32" }, + { 9, "sl40" }, + { 10, "sl64" }, + { 11, "sl80" }, + { 12, "sl160" }, + { 13, "sl320" }, + { 14, "sl640" }, + { 15, "sl1280" }, + { 16, "sl2560" }, + { 0, NULL } +}; + +static value_string_ext nr_rrc_SRS_PeriodicityAndOffset_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_SRS_PeriodicityAndOffset_vals); + +static const per_choice_t SRS_PeriodicityAndOffset_choice[] = { + { 0, &hf_nr_rrc_sl1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_sl2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1 }, + { 2, &hf_nr_rrc_sl4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 }, + { 3, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 }, + { 4, &hf_nr_rrc_sl8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 }, + { 5, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 }, + { 6, &hf_nr_rrc_sl16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 }, + { 7, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 }, + { 8, &hf_nr_rrc_sl32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 }, + { 9, &hf_nr_rrc_sl40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 }, + { 10, &hf_nr_rrc_sl64 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_63 }, + { 11, &hf_nr_rrc_sl80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 }, + { 12, &hf_nr_rrc_sl160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 }, + { 13, &hf_nr_rrc_sl320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 }, + { 14, &hf_nr_rrc_sl640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 }, + { 15, &hf_nr_rrc_sl1280 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1279 }, + { 16, &hf_nr_rrc_sl2560 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2559 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_SRS_PeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SRS_PeriodicityAndOffset, SRS_PeriodicityAndOffset_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_semi_persistent_01_sequence[] = { + { &hf_nr_rrc_periodicityAndOffset_sp, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PeriodicityAndOffset }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_semi_persistent_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_semi_persistent_01, T_semi_persistent_01_sequence); + + return offset; +} + + +static const per_sequence_t T_periodic_02_sequence[] = { + { &hf_nr_rrc_periodicityAndOffset_p, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PeriodicityAndOffset }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_periodic_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_periodic_02, T_periodic_02_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_resourceType_02_vals[] = { + { 0, "aperiodic" }, + { 1, "semi-persistent" }, + { 2, "periodic" }, + { 0, NULL } +}; + +static const per_choice_t T_resourceType_02_choice[] = { + { 0, &hf_nr_rrc_aperiodic_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_aperiodic_02 }, + { 1, &hf_nr_rrc_semi_persistent_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semi_persistent_01 }, + { 2, &hf_nr_rrc_periodic_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_periodic_02 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_resourceType_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_resourceType_02, T_resourceType_02_choice, + NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_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_BWP_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxNrofBWPs, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_srs_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(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_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 }, + { 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 value_string nr_rrc_T_nrofSymbols_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nrofSymbols_r16(tvbuff_t *tvb _U_, int offset _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_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_repetitionFactor_r16(tvbuff_t *tvb _U_, int offset _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_r16_sequence[] = { + { &hf_nr_rrc_startPosition_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 }, + { &hf_nr_rrc_nrofSymbols_r16_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofSymbols_r16 }, + { &hf_nr_rrc_repetitionFactor_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_repetitionFactor_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_resourceMapping_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_r16, T_resourceMapping_r16_sequence); + + return offset; +} + + +static const per_sequence_t SRS_Resource_eag_1_sequence[] = { + { &hf_nr_rrc_resourceMapping_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_resourceMapping_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SRS_Resource_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_Resource_eag_1_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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_Resource_eag_1 }, + { 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 SRS_ResourceConfigCLI_r16_sequence[] = { + { &hf_nr_rrc_srs_Resource_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_Resource }, + { &hf_nr_rrc_srs_SCS_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SRS_ResourceConfigCLI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_ResourceConfigCLI_r16, SRS_ResourceConfigCLI_r16_sequence); + + return offset; +} + + +static const per_sequence_t SRS_ResourceListConfigCLI_r16_sequence_of[1] = { + { &hf_nr_rrc_SRS_ResourceListConfigCLI_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceConfigCLI_r16 }, +}; + +static int +dissect_nr_rrc_SRS_ResourceListConfigCLI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SRS_ResourceListConfigCLI_r16, SRS_ResourceListConfigCLI_r16_sequence_of, + 1, maxNrofCLI_SRS_Resources_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_srs_ResourceConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_srs_ResourceConfig_r16_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_SRS_ResourceListConfigCLI_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_srs_ResourceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_ResourceConfig_r16, T_srs_ResourceConfig_r16_choice, + NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_RSSI_ResourceId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxNrofCLI_RSSI_Resources_r16_1, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_4_maxNrofPhysicalResourceBlocksPlus1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 4U, maxNrofPhysicalResourceBlocksPlus1, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_1_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, + 1U, 14U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_RSSI_PeriodicityAndOffset_r16_vals[] = { + { 0, "sl10" }, + { 1, "sl20" }, + { 2, "sl40" }, + { 3, "sl80" }, + { 4, "sl160" }, + { 5, "sl320" }, + { 6, "s1640" }, + { 0, NULL } +}; + +static const per_choice_t RSSI_PeriodicityAndOffset_r16_choice[] = { + { 0, &hf_nr_rrc_sl10 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_9 }, + { 1, &hf_nr_rrc_sl20 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_19 }, + { 2, &hf_nr_rrc_sl40 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_39 }, + { 3, &hf_nr_rrc_sl80 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_79 }, + { 4, &hf_nr_rrc_sl160 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_159 }, + { 5, &hf_nr_rrc_sl320 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_319 }, + { 6, &hf_nr_rrc_s1640 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_639 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_RSSI_PeriodicityAndOffset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_RSSI_PeriodicityAndOffset_r16, RSSI_PeriodicityAndOffset_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t RSSI_ResourceConfigCLI_r16_sequence[] = { + { &hf_nr_rrc_rssi_ResourceId_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RSSI_ResourceId_r16 }, + { &hf_nr_rrc_rssi_SCS_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, + { &hf_nr_rrc_startPRB_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2169 }, + { &hf_nr_rrc_nrofPRBs_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_maxNrofPhysicalResourceBlocksPlus1 }, + { &hf_nr_rrc_startPosition_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 }, + { &hf_nr_rrc_nrofSymbols_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_14 }, + { &hf_nr_rrc_rssi_PeriodicityAndOffset_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RSSI_PeriodicityAndOffset_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RSSI_ResourceConfigCLI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_RSSI_ResourceConfigCLI_r16, RSSI_ResourceConfigCLI_r16_sequence); + + return offset; +} + + +static const per_sequence_t RSSI_ResourceListConfigCLI_r16_sequence_of[1] = { + { &hf_nr_rrc_RSSI_ResourceListConfigCLI_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RSSI_ResourceConfigCLI_r16 }, +}; + +static int +dissect_nr_rrc_RSSI_ResourceListConfigCLI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_RSSI_ResourceListConfigCLI_r16, RSSI_ResourceListConfigCLI_r16_sequence_of, + 1, maxNrofCLI_RSSI_Resources_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_rssi_ResourceConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_rssi_ResourceConfig_r16_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_RSSI_ResourceListConfigCLI_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_rssi_ResourceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_rssi_ResourceConfig_r16, T_rssi_ResourceConfig_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t CLI_ResourceConfig_r16_sequence[] = { + { &hf_nr_rrc_srs_ResourceConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_ResourceConfig_r16 }, + { &hf_nr_rrc_rssi_ResourceConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rssi_ResourceConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CLI_ResourceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CLI_ResourceConfig_r16, CLI_ResourceConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t MeasObjectCLI_r16_sequence[] = { + { &hf_nr_rrc_cli_ResourceConfig_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CLI_ResourceConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasObjectCLI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasObjectCLI_r16, MeasObjectCLI_r16_sequence); + + return offset; +} + + static const value_string nr_rrc_T_measObject_vals[] = { { 0, "measObjectNR" }, { 1, "measObjectEUTRA" }, + { 2, "measObjectUTRA-FDD-r16" }, + { 3, "measObjectNR-SL-r16" }, + { 4, "measObjectCLI-r16" }, { 0, NULL } }; static const per_choice_t T_measObject_choice[] = { { 0, &hf_nr_rrc_measObjectNR , ASN1_EXTENSION_ROOT , dissect_nr_rrc_MeasObjectNR }, { 1, &hf_nr_rrc_measObjectEUTRA, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_MeasObjectEUTRA }, + { 2, &hf_nr_rrc_measObjectUTRA_FDD_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_MeasObjectUTRA_FDD_r16 }, + { 3, &hf_nr_rrc_measObjectNR_SL_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_MeasObjectNR_SL_r16 }, + { 4, &hf_nr_rrc_measObjectCLI_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_MeasObjectCLI_r16 }, { 0, NULL, 0, NULL } }; @@ -17177,9 +26556,297 @@ dissect_nr_rrc_INTEGER_1_maxCellReport(tvbuff_t *tvb _U_, int offset _U_, asn1_c 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_) { +dissect_nr_rrc_RSSI_Range_r16(tvbuff_t *tvb _U_, int offset _U_, 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); + 0U, 76U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t MeasRSSI_ReportConfig_r16_sequence[] = { + { &hf_nr_rrc_channelOccupancyThreshold_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSSI_Range_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasRSSI_ReportConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasRSSI_ReportConfig_r16, MeasRSSI_ReportConfig_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_includeCommonLocationInfo_r16_01_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_includeCommonLocationInfo_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_BT_Name_r16(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, + 1, 248, FALSE, NULL); + + return offset; +} + + +static const per_sequence_t BT_NameList_r16_sequence_of[1] = { + { &hf_nr_rrc_BT_NameList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BT_Name_r16 }, +}; + +static int +dissect_nr_rrc_BT_NameList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BT_NameList_r16, BT_NameList_r16_sequence_of, + 1, maxBT_Name_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_includeBT_Meas_r16_01_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_includeBT_Meas_r16_01_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_BT_NameList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_includeBT_Meas_r16_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_includeBT_Meas_r16_01, T_includeBT_Meas_r16_01_choice, + NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_WLAN_Name_r16(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, + 1, 32, FALSE, NULL); + + return offset; +} + + +static const per_sequence_t WLAN_NameList_r16_sequence_of[1] = { + { &hf_nr_rrc_WLAN_NameList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_WLAN_Name_r16 }, +}; + +static int +dissect_nr_rrc_WLAN_NameList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_WLAN_NameList_r16, WLAN_NameList_r16_sequence_of, + 1, maxWLAN_Name_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_includeWLAN_Meas_r16_01_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_includeWLAN_Meas_r16_01_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_WLAN_NameList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_includeWLAN_Meas_r16_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_includeWLAN_Meas_r16_01, T_includeWLAN_Meas_r16_01_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_measUncomBarPre_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_measUncomBarPre_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_measUeSpeed_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_measUeSpeed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_measUeOrientation_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_measUeOrientation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 Sensor_NameList_r16_sequence[] = { + { &hf_nr_rrc_measUncomBarPre_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_measUncomBarPre_r16 }, + { &hf_nr_rrc_measUeSpeed , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_measUeSpeed }, + { &hf_nr_rrc_measUeOrientation, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_measUeOrientation }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_Sensor_NameList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_Sensor_NameList_r16, Sensor_NameList_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_includeSensor_Meas_r16_01_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_includeSensor_Meas_r16_01_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_Sensor_NameList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_includeSensor_Meas_r16_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_includeSensor_Meas_r16_01, T_includeSensor_Meas_r16_01_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity_sequence_of[1] = { + { &hf_nr_rrc_delay_DRBlist_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_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_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity, SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity_sequence_of, + 1, maxDRB, FALSE); + + return offset; +} + + +static const per_sequence_t UL_DelayValueConfig_r16_sequence[] = { + { &hf_nr_rrc_delay_DRBlist, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UL_DelayValueConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_DelayValueConfig_r16, UL_DelayValueConfig_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_ul_DelayValueConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_ul_DelayValueConfig_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_95 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_UL_DelayValueConfig_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_ul_DelayValueConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_ul_DelayValueConfig_r16, T_ul_DelayValueConfig_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_reportAddNeighMeas_r16_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_reportAddNeighMeas_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 PeriodicalReportConfig_eag_1_sequence[] = { + { &hf_nr_rrc_measRSSI_ReportConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasRSSI_ReportConfig_r16 }, + { &hf_nr_rrc_includeCommonLocationInfo_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_includeCommonLocationInfo_r16_01 }, + { &hf_nr_rrc_includeBT_Meas_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_includeBT_Meas_r16_01 }, + { &hf_nr_rrc_includeWLAN_Meas_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_includeWLAN_Meas_r16_01 }, + { &hf_nr_rrc_includeSensor_Meas_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_includeSensor_Meas_r16_01 }, + { &hf_nr_rrc_ul_DelayValueConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_DelayValueConfig_r16 }, + { &hf_nr_rrc_reportAddNeighMeas_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reportAddNeighMeas_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PeriodicalReportConfig_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, PeriodicalReportConfig_eag_1_sequence); return offset; } @@ -17195,6 +26862,7 @@ static const per_sequence_t PeriodicalReportConfig_sequence[] = { { &hf_nr_rrc_maxNrofRS_IndexesToReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport }, { &hf_nr_rrc_includeBeamMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_useWhiteCellList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PeriodicalReportConfig_eag_1 }, { NULL, 0, 0, NULL } }; @@ -17479,6 +27147,105 @@ dissect_nr_rrc_T_reportAddNeighMeas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } +static const value_string nr_rrc_T_includeCommonLocationInfo_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_includeCommonLocationInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_includeBT_Meas_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_includeBT_Meas_r16_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_BT_NameList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_includeBT_Meas_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_includeBT_Meas_r16, T_includeBT_Meas_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_includeWLAN_Meas_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_includeWLAN_Meas_r16_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_WLAN_NameList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_includeWLAN_Meas_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_includeWLAN_Meas_r16, T_includeWLAN_Meas_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_includeSensor_Meas_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_includeSensor_Meas_r16_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_Sensor_NameList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_includeSensor_Meas_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_includeSensor_Meas_r16, T_includeSensor_Meas_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t EventTriggerConfig_eag_1_sequence[] = { + { &hf_nr_rrc_measRSSI_ReportConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasRSSI_ReportConfig_r16 }, + { &hf_nr_rrc_useT312_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN }, + { &hf_nr_rrc_includeCommonLocationInfo_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_includeCommonLocationInfo_r16 }, + { &hf_nr_rrc_includeBT_Meas_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_includeBT_Meas_r16 }, + { &hf_nr_rrc_includeWLAN_Meas_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_includeWLAN_Meas_r16 }, + { &hf_nr_rrc_includeSensor_Meas_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_includeSensor_Meas_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_EventTriggerConfig_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, EventTriggerConfig_eag_1_sequence); + + return offset; +} + + static const per_sequence_t EventTriggerConfig_sequence[] = { { &hf_nr_rrc_eventId_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eventId_01 }, { &hf_nr_rrc_rsType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_RS_Type }, @@ -17490,6 +27257,7 @@ static const per_sequence_t EventTriggerConfig_sequence[] = { { &hf_nr_rrc_maxNrofRS_IndexesToReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport }, { &hf_nr_rrc_includeBeamMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_reportAddNeighMeas, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reportAddNeighMeas }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_EventTriggerConfig_eag_1 }, { NULL, 0, 0, NULL } }; @@ -17502,8 +27270,37 @@ dissect_nr_rrc_EventTriggerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } +static const value_string nr_rrc_T_useAutonomousGaps_r16_01_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_useAutonomousGaps_r16_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 ReportCGI_eag_1_sequence[] = { + { &hf_nr_rrc_useAutonomousGaps_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_useAutonomousGaps_r16_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ReportCGI_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, ReportCGI_eag_1_sequence); + + return offset; +} + + static const per_sequence_t ReportCGI_sequence[] = { { &hf_nr_rrc_cellForWhichToReportCGI, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportCGI_eag_1 }, { NULL, 0, 0, NULL } }; @@ -17591,26 +27388,285 @@ dissect_nr_rrc_ReportSFTD_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const value_string nr_rrc_T_reportType_01_vals[] = { +static const per_sequence_t T_condEventA3_sequence[] = { + { &hf_nr_rrc_a3_Offset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityOffset }, + { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis }, + { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_condEventA3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_condEventA3, T_condEventA3_sequence); + + return offset; +} + + +static const per_sequence_t T_condEventA5_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_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis }, + { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_condEventA5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_condEventA5, T_condEventA5_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_condEventId_vals[] = { + { 0, "condEventA3" }, + { 1, "condEventA5" }, + { 0, NULL } +}; + +static const per_choice_t T_condEventId_choice[] = { + { 0, &hf_nr_rrc_condEventA3 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_condEventA3 }, + { 1, &hf_nr_rrc_condEventA5 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_condEventA5 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_condEventId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_condEventId, T_condEventId_choice, + NULL); + + return offset; +} + + +static const per_sequence_t CondTriggerConfig_r16_sequence[] = { + { &hf_nr_rrc_condEventId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_condEventId }, + { &hf_nr_rrc_rsType_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_RS_Type }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CondTriggerConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CondTriggerConfig_r16, CondTriggerConfig_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_reportAmount_r16_01_vals[] = { + { 0, "r1" }, + { 1, "r2" }, + { 2, "r4" }, + { 3, "r8" }, + { 4, "r16" }, + { 5, "r32" }, + { 6, "r64" }, + { 7, "infinity" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_reportAmount_r16_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_MeasReportQuantityCLI_r16_vals[] = { + { 0, "srs-rsrp" }, + { 1, "cli-rssi" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_MeasReportQuantityCLI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_maxCLI_Report_r16(tvbuff_t *tvb _U_, int offset _U_, 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, maxCLI_Report_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CLI_PeriodicalReportConfig_r16_sequence[] = { + { &hf_nr_rrc_reportInterval_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval }, + { &hf_nr_rrc_reportAmount_r16_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_r16_01 }, + { &hf_nr_rrc_reportQuantityCLI_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantityCLI_r16 }, + { &hf_nr_rrc_maxReportCLI_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCLI_Report_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CLI_PeriodicalReportConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CLI_PeriodicalReportConfig_r16, CLI_PeriodicalReportConfig_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_SRS_RSRP_Range_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 98U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_CLI_RSSI_Range_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 76U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_MeasTriggerQuantityCLI_r16_vals[] = { + { 0, "srs-RSRP-r16" }, + { 1, "cli-RSSI-r16" }, + { 0, NULL } +}; + +static const per_choice_t MeasTriggerQuantityCLI_r16_choice[] = { + { 0, &hf_nr_rrc_srs_RSRP_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_RSRP_Range_r16 }, + { 1, &hf_nr_rrc_cli_RSSI_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CLI_RSSI_Range_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasTriggerQuantityCLI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasTriggerQuantityCLI_r16, MeasTriggerQuantityCLI_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_eventI1_r16_sequence[] = { + { &hf_nr_rrc_i1_Threshold_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityCLI_r16 }, + { &hf_nr_rrc_reportOnLeave_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { &hf_nr_rrc_hysteresis_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis }, + { &hf_nr_rrc_timeToTrigger_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_eventI1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_eventI1_r16, T_eventI1_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_eventId_r16_vals[] = { + { 0, "eventI1-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_eventId_r16_choice[] = { + { 0, &hf_nr_rrc_eventI1_r16 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventI1_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_eventId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_r16, T_eventId_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_reportAmount_r16_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_r16(tvbuff_t *tvb _U_, int offset _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 CLI_EventTriggerConfig_r16_sequence[] = { + { &hf_nr_rrc_eventId_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eventId_r16 }, + { &hf_nr_rrc_reportInterval_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval }, + { &hf_nr_rrc_reportAmount_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_r16 }, + { &hf_nr_rrc_maxReportCLI_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCLI_Report_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CLI_EventTriggerConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CLI_EventTriggerConfig_r16, CLI_EventTriggerConfig_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_reportType_02_vals[] = { { 0, "periodical" }, { 1, "eventTriggered" }, { 2, "reportCGI" }, { 3, "reportSFTD" }, + { 4, "condTriggerConfig-r16" }, + { 5, "cli-Periodical-r16" }, + { 6, "cli-EventTriggered-r16" }, { 0, NULL } }; -static const per_choice_t T_reportType_01_choice[] = { - { 0, &hf_nr_rrc_periodical_01, ASN1_EXTENSION_ROOT , dissect_nr_rrc_PeriodicalReportConfig }, - { 1, &hf_nr_rrc_eventTriggered_01, ASN1_EXTENSION_ROOT , dissect_nr_rrc_EventTriggerConfig }, +static const per_choice_t T_reportType_02_choice[] = { + { 0, &hf_nr_rrc_periodical_02, ASN1_EXTENSION_ROOT , dissect_nr_rrc_PeriodicalReportConfig }, + { 1, &hf_nr_rrc_eventTriggered_02, ASN1_EXTENSION_ROOT , dissect_nr_rrc_EventTriggerConfig }, { 2, &hf_nr_rrc_reportCGI_01 , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_ReportCGI }, { 3, &hf_nr_rrc_reportSFTD_01, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_ReportSFTD_NR }, + { 4, &hf_nr_rrc_condTriggerConfig_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_CondTriggerConfig_r16 }, + { 5, &hf_nr_rrc_cli_Periodical_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_CLI_PeriodicalReportConfig_r16 }, + { 6, &hf_nr_rrc_cli_EventTriggered_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_CLI_EventTriggerConfig_r16 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_reportType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_reportType_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_reportType_01, T_reportType_01_choice, + ett_nr_rrc_T_reportType_02, T_reportType_02_choice, NULL); return offset; @@ -17618,7 +27674,7 @@ dissect_nr_rrc_T_reportType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static const per_sequence_t ReportConfigNR_sequence[] = { - { &hf_nr_rrc_reportType_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportType_01 }, + { &hf_nr_rrc_reportType_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportType_02 }, { NULL, 0, 0, NULL } }; @@ -17653,11 +27709,40 @@ dissect_nr_rrc_T_reportAmount_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } +static const per_sequence_t MeasReportQuantityUTRA_FDD_r16_sequence[] = { + { &hf_nr_rrc_cpich_RSCP , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { &hf_nr_rrc_cpich_EcN0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasReportQuantityUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasReportQuantityUTRA_FDD_r16, MeasReportQuantityUTRA_FDD_r16_sequence); + + return offset; +} + + +static const per_sequence_t PeriodicalReportConfigInterRAT_eag_1_sequence[] = { + { &hf_nr_rrc_reportQuantityUTRA_FDD_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasReportQuantityUTRA_FDD_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PeriodicalReportConfigInterRAT_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, PeriodicalReportConfigInterRAT_eag_1_sequence); + + return offset; +} + + static const per_sequence_t PeriodicalReportConfigInterRAT_sequence[] = { { &hf_nr_rrc_reportInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval }, { &hf_nr_rrc_reportAmount_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_01 }, { &hf_nr_rrc_reportQuantity_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity }, { &hf_nr_rrc_maxReportCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PeriodicalReportConfigInterRAT_eag_1 }, { NULL, 0, 0, NULL } }; @@ -17729,15 +27814,96 @@ dissect_nr_rrc_T_eventB2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ } + +static int +dissect_nr_rrc_MeasTriggerQuantityUTRA_FDD_RSCP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -5, 91U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_MeasTriggerQuantityUTRA_FDD_EcN0_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 49U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_MeasTriggerQuantityUTRA_FDD_r16_vals[] = { + { 0, "utra-FDD-RSCP-r16" }, + { 1, "utra-FDD-EcN0-r16" }, + { 0, NULL } +}; + +static const per_choice_t MeasTriggerQuantityUTRA_FDD_r16_choice[] = { + { 0, &hf_nr_rrc_utra_FDD_RSCP_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasTriggerQuantityUTRA_FDD_RSCP_r16 }, + { 1, &hf_nr_rrc_utra_FDD_EcN0_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasTriggerQuantityUTRA_FDD_EcN0_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasTriggerQuantityUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasTriggerQuantityUTRA_FDD_r16, MeasTriggerQuantityUTRA_FDD_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_eventB1_UTRA_FDD_r16_sequence[] = { + { &hf_nr_rrc_b1_ThresholdUTRA_FDD_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityUTRA_FDD_r16 }, + { &hf_nr_rrc_reportOnLeave_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { &hf_nr_rrc_hysteresis_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis }, + { &hf_nr_rrc_timeToTrigger_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_eventB1_UTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_UTRA_FDD_r16, T_eventB1_UTRA_FDD_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_eventB2_UTRA_FDD_r16_sequence[] = { + { &hf_nr_rrc_b2_Threshold1_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity }, + { &hf_nr_rrc_b2_Threshold2UTRA_FDD_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityUTRA_FDD_r16 }, + { &hf_nr_rrc_reportOnLeave_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { &hf_nr_rrc_hysteresis_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis }, + { &hf_nr_rrc_timeToTrigger_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_eventB2_UTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_UTRA_FDD_r16, T_eventB2_UTRA_FDD_r16_sequence); + + return offset; +} + + static const value_string nr_rrc_T_eventId_vals[] = { { 0, "eventB1" }, { 1, "eventB2" }, + { 2, "eventB1-UTRA-FDD-r16" }, + { 3, "eventB2-UTRA-FDD-r16" }, { 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 }, + { 2, &hf_nr_rrc_eventB1_UTRA_FDD_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_eventB1_UTRA_FDD_r16 }, + { 3, &hf_nr_rrc_eventB2_UTRA_FDD_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_T_eventB2_UTRA_FDD_r16 }, { 0, NULL, 0, NULL } }; @@ -17773,6 +27939,19 @@ dissect_nr_rrc_T_reportAmount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } +static const per_sequence_t EventTriggerConfigInterRAT_eag_1_sequence[] = { + { &hf_nr_rrc_reportQuantityUTRA_FDD_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasReportQuantityUTRA_FDD_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_EventTriggerConfigInterRAT_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, EventTriggerConfigInterRAT_eag_1_sequence); + + 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 }, @@ -17780,6 +27959,7 @@ static const per_sequence_t EventTriggerConfigInterRAT_sequence[] = { { &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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_EventTriggerConfigInterRAT_eag_1 }, { NULL, 0, 0, NULL } }; @@ -17792,8 +27972,37 @@ dissect_nr_rrc_EventTriggerConfigInterRAT(tvbuff_t *tvb _U_, int offset _U_, asn } +static const value_string nr_rrc_T_useAutonomousGaps_r16_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_useAutonomousGaps_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 ReportCGI_EUTRA_eag_1_sequence[] = { + { &hf_nr_rrc_useAutonomousGaps_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_useAutonomousGaps_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ReportCGI_EUTRA_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, ReportCGI_EUTRA_eag_1_sequence); + + return offset; +} + + static const per_sequence_t ReportCGI_EUTRA_sequence[] = { { &hf_nr_rrc_cellForWhichToReportCGI_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportCGI_EUTRA_eag_1 }, { NULL, 0, 0, NULL } }; @@ -17821,7 +28030,7 @@ dissect_nr_rrc_ReportSFTD_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } -static const value_string nr_rrc_T_reportType_vals[] = { +static const value_string nr_rrc_T_reportType_01_vals[] = { { 0, "periodical" }, { 1, "eventTriggered" }, { 2, "reportCGI" }, @@ -17829,18 +28038,18 @@ static const value_string nr_rrc_T_reportType_vals[] = { { 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 }, +static const per_choice_t T_reportType_01_choice[] = { + { 0, &hf_nr_rrc_periodical_01, ASN1_EXTENSION_ROOT , dissect_nr_rrc_PeriodicalReportConfigInterRAT }, + { 1, &hf_nr_rrc_eventTriggered_01, ASN1_EXTENSION_ROOT , dissect_nr_rrc_EventTriggerConfigInterRAT }, { 2, &hf_nr_rrc_reportCGI , ASN1_EXTENSION_ROOT , dissect_nr_rrc_ReportCGI_EUTRA }, { 3, &hf_nr_rrc_reportSFTD , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_ReportSFTD_EUTRA }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_reportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_reportType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_reportType, T_reportType_choice, + ett_nr_rrc_T_reportType_01, T_reportType_01_choice, NULL); return offset; @@ -17848,7 +28057,7 @@ dissect_nr_rrc_T_reportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static const per_sequence_t ReportConfigInterRAT_sequence[] = { - { &hf_nr_rrc_reportType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportType }, + { &hf_nr_rrc_reportType_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportType_01 }, { NULL, 0, 0, NULL } }; @@ -17861,15 +28070,208 @@ dissect_nr_rrc_ReportConfigInterRAT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } +static const value_string nr_rrc_T_reportAmount_r16_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_r16_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_r16_sequence[] = { + { &hf_nr_rrc_cbr_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasReportQuantity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_r16, MeasReportQuantity_r16_sequence); + + return offset; +} + + +static const per_sequence_t PeriodicalReportConfigNR_SL_r16_sequence[] = { + { &hf_nr_rrc_reportInterval_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval }, + { &hf_nr_rrc_reportAmount_r16_03, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_r16_03 }, + { &hf_nr_rrc_reportQuantity_r16_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PeriodicalReportConfigNR_SL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PeriodicalReportConfigNR_SL_r16, PeriodicalReportConfigNR_SL_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_SL_CBR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 100U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_eventC1_sequence[] = { + { &hf_nr_rrc_c1_Threshold_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_CBR_r16 }, + { &hf_nr_rrc_hysteresis_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis }, + { &hf_nr_rrc_timeToTrigger_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_eventC1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_eventC1, T_eventC1_sequence); + + return offset; +} + + +static const per_sequence_t T_eventC2_r16_sequence[] = { + { &hf_nr_rrc_c2_Threshold_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_CBR_r16 }, + { &hf_nr_rrc_hysteresis_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis }, + { &hf_nr_rrc_timeToTrigger_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_eventC2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_eventC2_r16, T_eventC2_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_eventId_r16_01_vals[] = { + { 0, "eventC1" }, + { 1, "eventC2-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_eventId_r16_01_choice[] = { + { 0, &hf_nr_rrc_eventC1 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventC1 }, + { 1, &hf_nr_rrc_eventC2_r16 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventC2_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_eventId_r16_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_r16_01, T_eventId_r16_01_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_reportAmount_r16_02_vals[] = { + { 0, "r1" }, + { 1, "r2" }, + { 2, "r4" }, + { 3, "r8" }, + { 4, "r16" }, + { 5, "r32" }, + { 6, "r64" }, + { 7, "infinity" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_reportAmount_r16_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 EventTriggerConfigNR_SL_r16_sequence[] = { + { &hf_nr_rrc_eventId_r16_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eventId_r16_01 }, + { &hf_nr_rrc_reportInterval_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval }, + { &hf_nr_rrc_reportAmount_r16_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_r16_02 }, + { &hf_nr_rrc_reportQuantity_r16_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_EventTriggerConfigNR_SL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_EventTriggerConfigNR_SL_r16, EventTriggerConfigNR_SL_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_reportType_r16_vals[] = { + { 0, "periodical-r16" }, + { 1, "eventTriggered-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_reportType_r16_choice[] = { + { 0, &hf_nr_rrc_periodical_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_PeriodicalReportConfigNR_SL_r16 }, + { 1, &hf_nr_rrc_eventTriggered_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_EventTriggerConfigNR_SL_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_reportType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_r16, T_reportType_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ReportConfigNR_SL_r16_sequence[] = { + { &hf_nr_rrc_reportType_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportType_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ReportConfigNR_SL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_SL_r16, ReportConfigNR_SL_r16_sequence); + + return offset; +} + + static const value_string nr_rrc_T_reportConfig_vals[] = { { 0, "reportConfigNR" }, { 1, "reportConfigInterRAT" }, + { 2, "reportConfigNR-SL-r16" }, { 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 }, + { 2, &hf_nr_rrc_reportConfigNR_SL_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_ReportConfigNR_SL_r16 }, { 0, NULL, 0, NULL } }; @@ -18091,9 +28493,54 @@ dissect_nr_rrc_QuantityConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } +static const per_sequence_t QuantityConfigUTRA_FDD_r16_sequence[] = { + { &hf_nr_rrc_filterCoefficientRSCP_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient }, + { &hf_nr_rrc_filterCoefficientEcNO_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_QuantityConfigUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_QuantityConfigUTRA_FDD_r16, QuantityConfigUTRA_FDD_r16_sequence); + + return offset; +} + + +static const per_sequence_t FilterConfigCLI_r16_sequence[] = { + { &hf_nr_rrc_filterCoefficientSRS_RSRP_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient }, + { &hf_nr_rrc_filterCoefficientCLI_RSSI_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_FilterConfigCLI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_FilterConfigCLI_r16, FilterConfigCLI_r16_sequence); + + return offset; +} + + +static const per_sequence_t QuantityConfig_eag_2_sequence[] = { + { &hf_nr_rrc_quantityConfigUTRA_FDD_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_QuantityConfigUTRA_FDD_r16 }, + { &hf_nr_rrc_quantityConfigCLI_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterConfigCLI_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_QuantityConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, QuantityConfig_eag_2_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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_QuantityConfig_eag_2 }, { NULL, 0, 0, NULL } }; @@ -18229,7 +28676,7 @@ static const value_string nr_rrc_T_gapSharingFR2_vals[] = { static const per_choice_t T_gapSharingFR2_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_26 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasGapSharingScheme }, + { 1, &hf_nr_rrc_setup_43 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasGapSharingScheme }, { 0, NULL, 0, NULL } }; @@ -18251,7 +28698,7 @@ static const value_string nr_rrc_T_gapSharingFR1_vals[] = { static const per_choice_t T_gapSharingFR1_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_26 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasGapSharingScheme }, + { 1, &hf_nr_rrc_setup_43 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasGapSharingScheme }, { 0, NULL, 0, NULL } }; @@ -18273,7 +28720,7 @@ static const value_string nr_rrc_T_gapSharingUE_vals[] = { static const per_choice_t T_gapSharingUE_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_26 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasGapSharingScheme }, + { 1, &hf_nr_rrc_setup_43 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasGapSharingScheme }, { 0, NULL, 0, NULL } }; @@ -18318,6 +28765,34 @@ dissect_nr_rrc_MeasGapSharingConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } +static const value_string nr_rrc_T_interFrequencyConfig_NoGap_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_interFrequencyConfig_NoGap_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 MeasConfig_eag_1_sequence[] = { + { &hf_nr_rrc_interFrequencyConfig_NoGap_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interFrequencyConfig_NoGap_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasConfig_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, MeasConfig_eag_1_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 }, @@ -18329,6 +28804,7 @@ static const per_sequence_t MeasConfig_sequence[] = { { &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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasConfig_eag_1 }, { NULL, 0, 0, NULL } }; @@ -18508,7 +28984,7 @@ static const value_string nr_rrc_T_delayBudgetReportingConfig_vals[] = { static const per_choice_t T_delayBudgetReportingConfig_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_51 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_setup }, + { 1, &hf_nr_rrc_setup_109 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_setup }, { 0, NULL, 0, NULL } }; @@ -18588,7 +29064,7 @@ static const value_string nr_rrc_T_overheatingAssistanceConfig_vals[] = { static const per_choice_t T_overheatingAssistanceConfig_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_52 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_OverheatingAssistanceConfig }, + { 1, &hf_nr_rrc_setup_110 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_OverheatingAssistanceConfig }, { 0, NULL, 0, NULL } }; @@ -18704,7 +29180,7 @@ static const value_string nr_rrc_T_mrdc_SecondaryCellGroupConfig_vals[] = { static const per_choice_t T_mrdc_SecondaryCellGroupConfig_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MRDC_SecondaryCellGroupConfig }, + { 1, &hf_nr_rrc_setup_05 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MRDC_SecondaryCellGroupConfig }, { 0, NULL, 0, NULL } }; @@ -18738,14 +29214,5363 @@ dissect_nr_rrc_SK_Counter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } -static const per_sequence_t T_nonCriticalExtension_17_sequence[] = { +static const per_sequence_t CandidateServingFreqListNR_r16_sequence_of[1] = { + { &hf_nr_rrc_CandidateServingFreqListNR_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, +}; + +static int +dissect_nr_rrc_CandidateServingFreqListNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_r16, CandidateServingFreqListNR_r16_sequence_of, + 1, maxFreqIDC_r16, FALSE); + + return offset; +} + + +static const per_sequence_t IDC_AssistanceConfig_r16_sequence[] = { + { &hf_nr_rrc_candidateServingFreqListNR_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CandidateServingFreqListNR_r16 }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_IDC_AssistanceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_nonCriticalExtension_17, T_nonCriticalExtension_17_sequence); + ett_nr_rrc_IDC_AssistanceConfig_r16, IDC_AssistanceConfig_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_idc_AssistanceConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_idc_AssistanceConfig_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_111 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_IDC_AssistanceConfig_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_idc_AssistanceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_idc_AssistanceConfig_r16, T_idc_AssistanceConfig_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_drx_PreferenceProhibitTimer_r16_vals[] = { + { 0, "s0" }, + { 1, "s0dot5" }, + { 2, "s1" }, + { 3, "s2" }, + { 4, "s3" }, + { 5, "s4" }, + { 6, "s5" }, + { 7, "s6" }, + { 8, "s7" }, + { 9, "s8" }, + { 10, "s9" }, + { 11, "s10" }, + { 12, "s20" }, + { 13, "s30" }, + { 14, "spare2" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_drx_PreferenceProhibitTimer_r16(tvbuff_t *tvb _U_, int offset _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 DRX_PreferenceConfig_r16_sequence[] = { + { &hf_nr_rrc_drx_PreferenceProhibitTimer_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_PreferenceProhibitTimer_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_DRX_PreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_DRX_PreferenceConfig_r16, DRX_PreferenceConfig_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_drx_PreferenceConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_drx_PreferenceConfig_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_112 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DRX_PreferenceConfig_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_drx_PreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_drx_PreferenceConfig_r16, T_drx_PreferenceConfig_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_maxBW_PreferenceProhibitTimer_r16_vals[] = { + { 0, "s0" }, + { 1, "s0dot5" }, + { 2, "s1" }, + { 3, "s2" }, + { 4, "s3" }, + { 5, "s4" }, + { 6, "s5" }, + { 7, "s6" }, + { 8, "s7" }, + { 9, "s8" }, + { 10, "s9" }, + { 11, "s10" }, + { 12, "s20" }, + { 13, "s30" }, + { 14, "spare2" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxBW_PreferenceProhibitTimer_r16(tvbuff_t *tvb _U_, int offset _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 MaxBW_PreferenceConfig_r16_sequence[] = { + { &hf_nr_rrc_maxBW_PreferenceProhibitTimer_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxBW_PreferenceProhibitTimer_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MaxBW_PreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MaxBW_PreferenceConfig_r16, MaxBW_PreferenceConfig_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_maxBW_PreferenceConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_maxBW_PreferenceConfig_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_113 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MaxBW_PreferenceConfig_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_maxBW_PreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_maxBW_PreferenceConfig_r16, T_maxBW_PreferenceConfig_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_maxCC_PreferenceProhibitTimer_r16_vals[] = { + { 0, "s0" }, + { 1, "s0dot5" }, + { 2, "s1" }, + { 3, "s2" }, + { 4, "s3" }, + { 5, "s4" }, + { 6, "s5" }, + { 7, "s6" }, + { 8, "s7" }, + { 9, "s8" }, + { 10, "s9" }, + { 11, "s10" }, + { 12, "s20" }, + { 13, "s30" }, + { 14, "spare2" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxCC_PreferenceProhibitTimer_r16(tvbuff_t *tvb _U_, int offset _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 MaxCC_PreferenceConfig_r16_sequence[] = { + { &hf_nr_rrc_maxCC_PreferenceProhibitTimer_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxCC_PreferenceProhibitTimer_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MaxCC_PreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MaxCC_PreferenceConfig_r16, MaxCC_PreferenceConfig_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_maxCC_PreferenceConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_maxCC_PreferenceConfig_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_114 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MaxCC_PreferenceConfig_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_maxCC_PreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_maxCC_PreferenceConfig_r16, T_maxCC_PreferenceConfig_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_maxMIMO_LayerPreferenceProhibitTimer_r16_vals[] = { + { 0, "s0" }, + { 1, "s0dot5" }, + { 2, "s1" }, + { 3, "s2" }, + { 4, "s3" }, + { 5, "s4" }, + { 6, "s5" }, + { 7, "s6" }, + { 8, "s7" }, + { 9, "s8" }, + { 10, "s9" }, + { 11, "s10" }, + { 12, "s20" }, + { 13, "s30" }, + { 14, "spare2" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxMIMO_LayerPreferenceProhibitTimer_r16(tvbuff_t *tvb _U_, int offset _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 MaxMIMO_LayerPreferenceConfig_r16_sequence[] = { + { &hf_nr_rrc_maxMIMO_LayerPreferenceProhibitTimer_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxMIMO_LayerPreferenceProhibitTimer_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MaxMIMO_LayerPreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MaxMIMO_LayerPreferenceConfig_r16, MaxMIMO_LayerPreferenceConfig_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_maxMIMO_LayerPreferenceConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_maxMIMO_LayerPreferenceConfig_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_115 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MaxMIMO_LayerPreferenceConfig_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_maxMIMO_LayerPreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_maxMIMO_LayerPreferenceConfig_r16, T_maxMIMO_LayerPreferenceConfig_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_minSchedulingOffsetPreferenceProhibitTimer_r16_vals[] = { + { 0, "s0" }, + { 1, "s0dot5" }, + { 2, "s1" }, + { 3, "s2" }, + { 4, "s3" }, + { 5, "s4" }, + { 6, "s5" }, + { 7, "s6" }, + { 8, "s7" }, + { 9, "s8" }, + { 10, "s9" }, + { 11, "s10" }, + { 12, "s20" }, + { 13, "s30" }, + { 14, "spare2" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_minSchedulingOffsetPreferenceProhibitTimer_r16(tvbuff_t *tvb _U_, int offset _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 MinSchedulingOffsetPreferenceConfig_r16_sequence[] = { + { &hf_nr_rrc_minSchedulingOffsetPreferenceProhibitTimer_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_minSchedulingOffsetPreferenceProhibitTimer_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MinSchedulingOffsetPreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MinSchedulingOffsetPreferenceConfig_r16, MinSchedulingOffsetPreferenceConfig_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_minSchedulingOffsetPreferenceConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_minSchedulingOffsetPreferenceConfig_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_116 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MinSchedulingOffsetPreferenceConfig_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_minSchedulingOffsetPreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_minSchedulingOffsetPreferenceConfig_r16, T_minSchedulingOffsetPreferenceConfig_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_releasePreferenceProhibitTimer_r16_vals[] = { + { 0, "s0" }, + { 1, "s0dot5" }, + { 2, "s1" }, + { 3, "s2" }, + { 4, "s3" }, + { 5, "s4" }, + { 6, "s5" }, + { 7, "s6" }, + { 8, "s7" }, + { 9, "s8" }, + { 10, "s9" }, + { 11, "s10" }, + { 12, "s20" }, + { 13, "s30" }, + { 14, "infinity" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_releasePreferenceProhibitTimer_r16(tvbuff_t *tvb _U_, int offset _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_connectedReporting_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_connectedReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 ReleasePreferenceConfig_r16_sequence[] = { + { &hf_nr_rrc_releasePreferenceProhibitTimer_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_releasePreferenceProhibitTimer_r16 }, + { &hf_nr_rrc_connectedReporting, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_connectedReporting }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ReleasePreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_ReleasePreferenceConfig_r16, ReleasePreferenceConfig_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_releasePreferenceConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_releasePreferenceConfig_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_117 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_ReleasePreferenceConfig_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_releasePreferenceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_releasePreferenceConfig_r16, T_releasePreferenceConfig_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_referenceTimePreferenceReporting_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_referenceTimePreferenceReporting_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_btNameList_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_btNameList_r16_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_BT_NameList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_btNameList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_btNameList_r16, T_btNameList_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_wlanNameList_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_wlanNameList_r16_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_WLAN_NameList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_wlanNameList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_wlanNameList_r16, T_wlanNameList_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sensorNameList_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_sensorNameList_r16_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_Sensor_NameList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sensorNameList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sensorNameList_r16, T_sensorNameList_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_obtainCommonLocation_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_obtainCommonLocation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sl_AssistanceConfigNR_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_AssistanceConfigNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 OtherConfig_v1610_sequence[] = { + { &hf_nr_rrc_idc_AssistanceConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_idc_AssistanceConfig_r16 }, + { &hf_nr_rrc_drx_PreferenceConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_drx_PreferenceConfig_r16 }, + { &hf_nr_rrc_maxBW_PreferenceConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxBW_PreferenceConfig_r16 }, + { &hf_nr_rrc_maxCC_PreferenceConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxCC_PreferenceConfig_r16 }, + { &hf_nr_rrc_maxMIMO_LayerPreferenceConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxMIMO_LayerPreferenceConfig_r16 }, + { &hf_nr_rrc_minSchedulingOffsetPreferenceConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_minSchedulingOffsetPreferenceConfig_r16 }, + { &hf_nr_rrc_releasePreferenceConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_releasePreferenceConfig_r16 }, + { &hf_nr_rrc_referenceTimePreferenceReporting_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_referenceTimePreferenceReporting_r16 }, + { &hf_nr_rrc_btNameList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_btNameList_r16 }, + { &hf_nr_rrc_wlanNameList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_wlanNameList_r16 }, + { &hf_nr_rrc_sensorNameList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sensorNameList_r16 }, + { &hf_nr_rrc_obtainCommonLocation_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_obtainCommonLocation_r16 }, + { &hf_nr_rrc_sl_AssistanceConfigNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_AssistanceConfigNR_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_OtherConfig_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_v1610, OtherConfig_v1610_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_BIT_STRING_SIZE_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 10, 10, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const per_sequence_t BAP_Routing_ID_r16_sequence[] = { + { &hf_nr_rrc_bap_Address_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_10 }, + { &hf_nr_rrc_bap_PathId_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_BAP_Routing_ID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BAP_Routing_ID_r16, BAP_Routing_ID_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_BH_RLC_ChannelID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 16, 16, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_flowControlFeedbackType_r16_vals[] = { + { 0, "perBH-RLC-Channel" }, + { 1, "perRoutingID" }, + { 2, "both" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_flowControlFeedbackType_r16(tvbuff_t *tvb _U_, int offset _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 BAP_Config_r16_sequence[] = { + { &hf_nr_rrc_bap_Address_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, + { &hf_nr_rrc_defaultUL_BAProutingID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BAP_Routing_ID_r16 }, + { &hf_nr_rrc_defaultUL_BH_RLC_Channel_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BH_RLC_ChannelID_r16 }, + { &hf_nr_rrc_flowControlFeedbackType_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_flowControlFeedbackType_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_BAP_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BAP_Config_r16, BAP_Config_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_bap_Config_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_bap_Config_r16_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_BAP_Config_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_bap_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_bap_Config_r16, T_bap_Config_r16_choice, + NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_IAB_IP_AddressIndex_r16(tvbuff_t *tvb _U_, int offset _U_, 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, maxIAB_IP_Address_r16, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_BIT_STRING_SIZE_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 128, 128, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const value_string nr_rrc_IAB_IP_Address_r16_vals[] = { + { 0, "iPv4-Address-r16" }, + { 1, "iPv6-Address-r16" }, + { 2, "iPv6-Prefix-r16" }, + { 0, NULL } +}; + +static const per_choice_t IAB_IP_Address_r16_choice[] = { + { 0, &hf_nr_rrc_iPv4_Address_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_32 }, + { 1, &hf_nr_rrc_iPv6_Address_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_128 }, + { 2, &hf_nr_rrc_iPv6_Prefix_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_64 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_IAB_IP_Address_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_IAB_IP_Address_r16, IAB_IP_Address_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_IAB_IP_Usage_r16_vals[] = { + { 0, "f1-c" }, + { 1, "f1-U" }, + { 2, "non-F1" }, + { 3, "spare" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_IAB_IP_Usage_r16(tvbuff_t *tvb _U_, int offset _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 IAB_IP_AddressConfiguration_r16_sequence[] = { + { &hf_nr_rrc_iab_IP_AddressIndex_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IAB_IP_AddressIndex_r16 }, + { &hf_nr_rrc_iab_IP_Address_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_IAB_IP_Address_r16 }, + { &hf_nr_rrc_iab_IP_Usage_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_IAB_IP_Usage_r16 }, + { &hf_nr_rrc_iab_donor_DU_BAP_Address_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_IAB_IP_AddressConfiguration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_IAB_IP_AddressConfiguration_r16, IAB_IP_AddressConfiguration_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressConfiguration_r16_sequence_of[1] = { + { &hf_nr_rrc_iab_IP_AddressToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IAB_IP_AddressConfiguration_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressConfiguration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressConfiguration_r16, SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressConfiguration_r16_sequence_of, + 1, maxIAB_IP_Address_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressIndex_r16_sequence_of[1] = { + { &hf_nr_rrc_iab_IP_AddressToReleaseList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IAB_IP_AddressIndex_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressIndex_r16, SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressIndex_r16_sequence_of, + 1, maxIAB_IP_Address_r16, FALSE); + + return offset; +} + + +static const per_sequence_t IAB_IP_AddressConfigurationList_r16_sequence[] = { + { &hf_nr_rrc_iab_IP_AddressToAddModList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressConfiguration_r16 }, + { &hf_nr_rrc_iab_IP_AddressToReleaseList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressIndex_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_IAB_IP_AddressConfigurationList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_IAB_IP_AddressConfigurationList_r16, IAB_IP_AddressConfigurationList_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_attemptCondReconfig_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_attemptCondReconfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_CondReconfigId_r16(tvbuff_t *tvb _U_, int offset _U_, 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, maxNrofCondCells_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CondReconfigToRemoveList_r16_sequence_of[1] = { + { &hf_nr_rrc_CondReconfigToRemoveList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CondReconfigId_r16 }, +}; + +static int +dissect_nr_rrc_CondReconfigToRemoveList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CondReconfigToRemoveList_r16, CondReconfigToRemoveList_r16_sequence_of, + 1, maxNrofCondCells_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_2_OF_MeasId_sequence_of[1] = { + { &hf_nr_rrc_condExecutionCond_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_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_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_MeasId, SEQUENCE_SIZE_1_2_OF_MeasId_sequence_of, + 1, 2, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_T_condRRCReconfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU); + + return offset; +} + + +static const per_sequence_t CondReconfigToAddMod_r16_sequence[] = { + { &hf_nr_rrc_condReconfigId_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CondReconfigId_r16 }, + { &hf_nr_rrc_condExecutionCond_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_MeasId }, + { &hf_nr_rrc_condRRCReconfig_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_condRRCReconfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CondReconfigToAddMod_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CondReconfigToAddMod_r16, CondReconfigToAddMod_r16_sequence); + + return offset; +} + + +static const per_sequence_t CondReconfigToAddModList_r16_sequence_of[1] = { + { &hf_nr_rrc_CondReconfigToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CondReconfigToAddMod_r16 }, +}; + +static int +dissect_nr_rrc_CondReconfigToAddModList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CondReconfigToAddModList_r16, CondReconfigToAddModList_r16_sequence_of, + 1, maxNrofCondCells_r16, FALSE); + + return offset; +} + + +static const per_sequence_t ConditionalReconfiguration_r16_sequence[] = { + { &hf_nr_rrc_attemptCondReconfig_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_attemptCondReconfig_r16 }, + { &hf_nr_rrc_condReconfigToRemoveList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CondReconfigToRemoveList_r16 }, + { &hf_nr_rrc_condReconfigToAddModList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CondReconfigToAddModList_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ConditionalReconfiguration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_ConditionalReconfiguration_r16, ConditionalReconfiguration_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_daps_SourceRelease_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_daps_SourceRelease_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T316_r16_vals[] = { + { 0, "ms50" }, + { 1, "ms100" }, + { 2, "ms200" }, + { 3, "ms300" }, + { 4, "ms400" }, + { 5, "ms500" }, + { 6, "ms600" }, + { 7, "ms1000" }, + { 8, "ms1500" }, + { 9, "ms2000" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T316_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 10, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_t316_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_t316_r16_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_T316_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_t316_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_t316_r16, T_t316_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t NeedForGapsConfigNR_r16_sequence[] = { + { &hf_nr_rrc_requestedTargetBandFilterNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_NeedForGapsConfigNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_NeedForGapsConfigNR_r16, NeedForGapsConfigNR_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_needForGapsConfigNR_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_needForGapsConfigNR_r16_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_NeedForGapsConfigNR_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_needForGapsConfigNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_needForGapsConfigNR_r16, T_needForGapsConfigNR_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_onDemandSIB_RequestProhibitTimer_r16_vals[] = { + { 0, "s0" }, + { 1, "s0dot5" }, + { 2, "s1" }, + { 3, "s2" }, + { 4, "s5" }, + { 5, "s10" }, + { 6, "s20" }, + { 7, "s30" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_onDemandSIB_RequestProhibitTimer_r16(tvbuff_t *tvb _U_, int offset _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 OnDemandSIB_Request_r16_sequence[] = { + { &hf_nr_rrc_onDemandSIB_RequestProhibitTimer_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_onDemandSIB_RequestProhibitTimer_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_OnDemandSIB_Request_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_OnDemandSIB_Request_r16, OnDemandSIB_Request_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_onDemandSIB_Request_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_onDemandSIB_Request_r16_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_OnDemandSIB_Request_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_onDemandSIB_Request_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_onDemandSIB_Request_r16, T_onDemandSIB_Request_r16_choice, + NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_T_dedicatedPosSysInfoDelivery_r16(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_PosSystemInformation_r16_IEs_PDU); + + return offset; +} + + + +static int +dissect_nr_rrc_RNTI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 65535U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_periodicBSR_Timer_vals[] = { + { 0, "sf1" }, + { 1, "sf5" }, + { 2, "sf10" }, + { 3, "sf16" }, + { 4, "sf20" }, + { 5, "sf32" }, + { 6, "sf40" }, + { 7, "sf64" }, + { 8, "sf80" }, + { 9, "sf128" }, + { 10, "sf160" }, + { 11, "sf320" }, + { 12, "sf640" }, + { 13, "sf1280" }, + { 14, "sf2560" }, + { 15, "infinity" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_periodicBSR_Timer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 16, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_retxBSR_Timer_vals[] = { + { 0, "sf10" }, + { 1, "sf20" }, + { 2, "sf40" }, + { 3, "sf80" }, + { 4, "sf160" }, + { 5, "sf320" }, + { 6, "sf640" }, + { 7, "sf1280" }, + { 8, "sf2560" }, + { 9, "sf5120" }, + { 10, "sf10240" }, + { 11, "spare5" }, + { 12, "spare4" }, + { 13, "spare3" }, + { 14, "spare2" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_retxBSR_Timer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 16, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_logicalChannelSR_DelayTimer_vals[] = { + { 0, "sf20" }, + { 1, "sf40" }, + { 2, "sf64" }, + { 3, "sf128" }, + { 4, "sf512" }, + { 5, "sf1024" }, + { 6, "sf2560" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_logicalChannelSR_DelayTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 8, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t BSR_Config_sequence[] = { + { &hf_nr_rrc_periodicBSR_Timer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicBSR_Timer }, + { &hf_nr_rrc_retxBSR_Timer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_retxBSR_Timer }, + { &hf_nr_rrc_logicalChannelSR_DelayTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_logicalChannelSR_DelayTimer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_BSR_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BSR_Config, BSR_Config_sequence); + + return offset; +} + + +static const per_sequence_t MAC_MainConfigSL_r16_sequence[] = { + { &hf_nr_rrc_sl_BSR_Config_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BSR_Config }, + { &hf_nr_rrc_ul_PrioritizationThres_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_16 }, + { &hf_nr_rrc_sl_PrioritizationThres_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MAC_MainConfigSL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_MainConfigSL_r16, MAC_MainConfigSL_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_DCI_ToSL_Trans_r16_vals[] = { + { 0, "ffs" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_DCI_ToSL_Trans_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 SL_TimingConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_DCI_ToSL_Trans_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_DCI_ToSL_Trans_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_TimingConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_TimingConfig_r16, SL_TimingConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_sl_PSFCH_ToPUCCH_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_PSFCH_ToPUCCH_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 }, +}; + +static int +dissect_nr_rrc_T_sl_PSFCH_ToPUCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_sl_PSFCH_ToPUCCH_r16, T_sl_PSFCH_ToPUCCH_r16_sequence_of, + 1, 8, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_SL_ConfigIndexCG_r16(tvbuff_t *tvb _U_, int offset _U_, 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, maxNrofCG_SL_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfigIndexCG_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_ConfiguredGrantConfigToReleaseList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ConfigIndexCG_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfigIndexCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfigIndexCG_r16, SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfigIndexCG_r16_sequence_of, + 1, maxNrofCG_SL_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_PeriodCG1_r16_vals[] = { + { 0, "ms0" }, + { 1, "ms100" }, + { 2, "ms200" }, + { 3, "ms300" }, + { 4, "ms400" }, + { 5, "ms500" }, + { 6, "ms600" }, + { 7, "ms700" }, + { 8, "ms800" }, + { 9, "ms900" }, + { 10, "ms1000" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_PeriodCG1_r16(tvbuff_t *tvb _U_, int offset _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 int +dissect_nr_rrc_INTEGER_1_99(tvbuff_t *tvb _U_, int offset _U_, 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, 99U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_SL_PeriodCG_r16_vals[] = { + { 0, "sl-PeriodCG1-r16" }, + { 1, "sl-PeriodCG2-r16" }, + { 0, NULL } +}; + +static const per_choice_t SL_PeriodCG_r16_choice[] = { + { 0, &hf_nr_rrc_sl_PeriodCG1_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sl_PeriodCG1_r16 }, + { 1, &hf_nr_rrc_sl_PeriodCG2_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_99 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_PeriodCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_PeriodCG_r16, SL_PeriodCG_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SL_CG_MaxTransNum_r16_sequence[] = { + { &hf_nr_rrc_sl_Priority_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, + { &hf_nr_rrc_sl_MaxTransNum_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_32 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_CG_MaxTransNum_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_CG_MaxTransNum_r16, SL_CG_MaxTransNum_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_CG_MaxTransNumList_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_CG_MaxTransNumList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_CG_MaxTransNum_r16 }, +}; + +static int +dissect_nr_rrc_SL_CG_MaxTransNumList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_CG_MaxTransNumList_r16, SL_CG_MaxTransNumList_r16_sequence_of, + 1, 8, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_496(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 496U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 26U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_6929(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 6929U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_7999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 7999U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxNrofPUCCH_Resources_1, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_rrc_ConfiguredSidelinkGrant_sequence[] = { + { &hf_nr_rrc_sl_TimeResourceCG_Type1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_496 }, + { &hf_nr_rrc_sl_StartSubchannelCG_Type1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_26 }, + { &hf_nr_rrc_sl_FreqResourceCG_Type1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_6929 }, + { &hf_nr_rrc_sl_TimeOffsetCG_Type1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_7999 }, + { &hf_nr_rrc_sl_N1PUCCH_AN_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_ResourceId }, + { &hf_nr_rrc_sl_PSFCH_ToPUCCH_CG_Type1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_rrc_ConfiguredSidelinkGrant(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_ConfiguredSidelinkGrant, T_rrc_ConfiguredSidelinkGrant_sequence); + + return offset; +} + + +static const per_sequence_t SL_ConfiguredGrantConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_ConfigIndexCG_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ConfigIndexCG_r16 }, + { &hf_nr_rrc_sl_PeriodCG_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_PeriodCG_r16 }, + { &hf_nr_rrc_sl_NrOfHARQ_Processes_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_16 }, + { &hf_nr_rrc_sl_HARQ_ProcID_offset_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_16 }, + { &hf_nr_rrc_sl_CG_MaxTransNumList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_CG_MaxTransNumList_r16 }, + { &hf_nr_rrc_rrc_ConfiguredSidelinkGrant, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rrc_ConfiguredSidelinkGrant }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_ConfiguredGrantConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_ConfiguredGrantConfig_r16, SL_ConfiguredGrantConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfiguredGrantConfig_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_ConfiguredGrantConfigToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ConfiguredGrantConfig_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfiguredGrantConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfiguredGrantConfig_r16, SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfiguredGrantConfig_r16_sequence_of, + 1, maxNrofCG_SL_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SL_ConfiguredGrantConfigList_r16_sequence[] = { + { &hf_nr_rrc_sl_ConfiguredGrantConfigToReleaseList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfigIndexCG_r16 }, + { &hf_nr_rrc_sl_ConfiguredGrantConfigToAddModList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfiguredGrantConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_ConfiguredGrantConfigList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_ConfiguredGrantConfigList_r16, SL_ConfiguredGrantConfigList_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_ScheduledConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_RNTI_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value }, + { &hf_nr_rrc_mac_MainConfigSL_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MAC_MainConfigSL_r16 }, + { &hf_nr_rrc_sl_Timing_Config_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_TimingConfig_r16 }, + { &hf_nr_rrc_sl_CS_RNTI_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RNTI_Value }, + { &hf_nr_rrc_sl_PSFCH_ToPUCCH_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_PSFCH_ToPUCCH_r16 }, + { &hf_nr_rrc_sl_ConfiguredGrantConfigList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_ConfiguredGrantConfigList_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_ScheduledConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_ScheduledConfig_r16, SL_ScheduledConfig_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_ScheduledConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_sl_ScheduledConfig_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_119 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SL_ScheduledConfig_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_ScheduledConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_ScheduledConfig_r16, T_sl_ScheduledConfig_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_SL_TypeTxSync_r16_vals[] = { + { 0, "gnss" }, + { 1, "gnbEnb" }, + { 2, "ue" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_SL_TypeTxSync_r16(tvbuff_t *tvb _U_, int offset _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_sl_ThresUE_Speed_r16_vals[] = { + { 0, "kmph60" }, + { 1, "kmph80" }, + { 2, "kmph100" }, + { 3, "kmph120" }, + { 4, "kmph140" }, + { 5, "kmph160" }, + { 6, "kmph180" }, + { 7, "kmph200" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_ThresUE_Speed_r16(tvbuff_t *tvb _U_, int offset _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_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 27U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_1_27(tvbuff_t *tvb _U_, int offset _U_, 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, 27U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_SL_TxPower_r16_vals[] = { + { 0, "minusinfinity-r16" }, + { 1, "txPower-r16" }, + { 0, NULL } +}; + +static const per_choice_t SL_TxPower_r16_choice[] = { + { 0, &hf_nr_rrc_minusinfinity_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_txPower_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M30_33 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_TxPower_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_TxPower_r16, SL_TxPower_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SL_PSSCH_TxParameters_r16_sequence[] = { + { &hf_nr_rrc_sl_MinMCS_PSSCH_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_27 }, + { &hf_nr_rrc_sl_MaxMCS_PSSCH_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 }, + { &hf_nr_rrc_sl_MinSubChannelNumPSSCH_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_27 }, + { &hf_nr_rrc_sl_MaxSubchannelNumPSSCH_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_27 }, + { &hf_nr_rrc_sl_MaxTxTransNumPSSCH_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_32 }, + { &hf_nr_rrc_sl_MaxTxPower_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SL_TxPower_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_PSSCH_TxParameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_PSSCH_TxParameters_r16, SL_PSSCH_TxParameters_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_PSSCH_TxConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_TypeTxSync_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_TypeTxSync_r16 }, + { &hf_nr_rrc_sl_ThresUE_Speed_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_ThresUE_Speed_r16 }, + { &hf_nr_rrc_sl_ParametersAboveThres_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_PSSCH_TxParameters_r16 }, + { &hf_nr_rrc_sl_ParametersBelowThres_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_PSSCH_TxParameters_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_PSSCH_TxConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_PSSCH_TxConfig_r16, SL_PSSCH_TxConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_PSSCH_TxConfigList_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_PSSCH_TxConfigList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_PSSCH_TxConfig_r16 }, +}; + +static int +dissect_nr_rrc_SL_PSSCH_TxConfigList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_PSSCH_TxConfigList_r16, SL_PSSCH_TxConfigList_r16_sequence_of, + 1, maxPSSCH_TxConfig_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_ProbResourceKeep_r16_vals[] = { + { 0, "v0" }, + { 1, "v0dot2" }, + { 2, "v0dot4" }, + { 3, "v0dot6" }, + { 4, "v0dot8" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_ProbResourceKeep_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 5, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sl_ReselectAfter_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n3" }, + { 3, "n4" }, + { 4, "n5" }, + { 5, "n6" }, + { 6, "n7" }, + { 7, "n8" }, + { 8, "n9" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_ReselectAfter_r16(tvbuff_t *tvb _U_, int offset _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 SL_CBR_LevelsConfig_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_CBR_LevelsConfig_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_CBR_r16 }, +}; + +static int +dissect_nr_rrc_SL_CBR_LevelsConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_CBR_LevelsConfig_r16, SL_CBR_LevelsConfig_r16_sequence_of, + 1, maxCBR_Level_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxCBR_Config_r16_OF_SL_CBR_LevelsConfig_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_CBR_RangeConfigList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_CBR_LevelsConfig_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Config_r16_OF_SL_CBR_LevelsConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Config_r16_OF_SL_CBR_LevelsConfig_r16, SEQUENCE_SIZE_1_maxCBR_Config_r16_OF_SL_CBR_LevelsConfig_r16_sequence_of, + 1, maxCBR_Config_r16, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_10000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 10000U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SL_CBR_PSSCH_TxConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_CR_Limit_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_10000 }, + { &hf_nr_rrc_sl_TxParameters_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SL_PSSCH_TxParameters_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_CBR_PSSCH_TxConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_CBR_PSSCH_TxConfig_r16, SL_CBR_PSSCH_TxConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxTxConfig_r16_OF_SL_CBR_PSSCH_TxConfig_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_CBR_PSSCH_TxConfigList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_CBR_PSSCH_TxConfig_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxTxConfig_r16_OF_SL_CBR_PSSCH_TxConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxTxConfig_r16_OF_SL_CBR_PSSCH_TxConfig_r16, SEQUENCE_SIZE_1_maxTxConfig_r16_OF_SL_CBR_PSSCH_TxConfig_r16_sequence_of, + 1, maxTxConfig_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SL_CBR_CommonTxConfigList_r16_sequence[] = { + { &hf_nr_rrc_sl_CBR_RangeConfigList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Config_r16_OF_SL_CBR_LevelsConfig_r16 }, + { &hf_nr_rrc_sl_CBR_PSSCH_TxConfigList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxTxConfig_r16_OF_SL_CBR_PSSCH_TxConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_CBR_CommonTxConfigList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_CBR_CommonTxConfigList_r16, SL_CBR_CommonTxConfigList_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_UE_SelectedConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_PSSCH_TxConfigList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_PSSCH_TxConfigList_r16 }, + { &hf_nr_rrc_sl_ProbResourceKeep_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_ProbResourceKeep_r16 }, + { &hf_nr_rrc_sl_ReselectAfter_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_ReselectAfter_r16 }, + { &hf_nr_rrc_sl_CBR_CommonTxConfigList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_CBR_CommonTxConfigList_r16 }, + { &hf_nr_rrc_ul_PrioritizationThres_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_16 }, + { &hf_nr_rrc_sl_PrioritizationThres_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_UE_SelectedConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_UE_SelectedConfig_r16, SL_UE_SelectedConfig_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_UE_SelectedConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_sl_UE_SelectedConfig_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_120 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SL_UE_SelectedConfig_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_UE_SelectedConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_UE_SelectedConfig_r16, T_sl_UE_SelectedConfig_r16_choice, + NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_SL_Freq_Id_r16(tvbuff_t *tvb _U_, int offset _U_, 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, maxNrofFreqSL_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_Freq_Id_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_FreqInfoToReleaseList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_Freq_Id_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_Freq_Id_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_Freq_Id_r16, SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_Freq_Id_r16_sequence_of, + 1, maxNrofFreqSL_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_frequencyShift7p5khzSL_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_frequencyShift7p5khzSL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_M1_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, + -1, 1U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_BWP_Id_sequence_of[1] = { + { &hf_nr_rrc_sl_BWP_ToReleaseList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_BWP_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_BWP_Id, SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_BWP_Id_sequence_of, + 1, maxNrofSL_BWPs_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_LengthSymbols_r16_vals[] = { + { 0, "sym7" }, + { 1, "sym8" }, + { 2, "sym9" }, + { 3, "sym10" }, + { 4, "sym11" }, + { 5, "sym12" }, + { 6, "sym13" }, + { 7, "sym14" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_LengthSymbols_r16(tvbuff_t *tvb _U_, int offset _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_sl_StartSymbol_r16_vals[] = { + { 0, "sym0" }, + { 1, "sym1" }, + { 2, "sym2" }, + { 3, "sym3" }, + { 4, "sym4" }, + { 5, "sym5" }, + { 6, "sym6" }, + { 7, "sym7" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_StartSymbol_r16(tvbuff_t *tvb _U_, int offset _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_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 value_string nr_rrc_T_dl_Alpha_PSBCH_r16_vals[] = { + { 0, "alpha0" }, + { 1, "alpha04" }, + { 2, "alpha05" }, + { 3, "alpha06" }, + { 4, "alpha07" }, + { 5, "alpha08" }, + { 6, "alpha09" }, + { 7, "alpha1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_dl_Alpha_PSBCH_r16(tvbuff_t *tvb _U_, int offset _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 SL_PSBCH_Config_r16_sequence[] = { + { &hf_nr_rrc_dl_P0_PSBCH_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 }, + { &hf_nr_rrc_dl_Alpha_PSBCH_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_Alpha_PSBCH_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_PSBCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_PSBCH_Config_r16, SL_PSBCH_Config_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_PSBCH_Config_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_sl_PSBCH_Config_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_118 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SL_PSBCH_Config_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_PSBCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_PSBCH_Config_r16, T_sl_PSBCH_Config_r16_choice, + NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_3301(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 3301U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SL_BWP_Generic_r16_sequence[] = { + { &hf_nr_rrc_sl_BWP_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP }, + { &hf_nr_rrc_sl_LengthSymbols_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_LengthSymbols_r16 }, + { &hf_nr_rrc_sl_StartSymbol_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_StartSymbol_r16 }, + { &hf_nr_rrc_sl_PSBCH_Config_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_PSBCH_Config_r16 }, + { &hf_nr_rrc_sl_TxDirectCurrentLocation_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_3301 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_BWP_Generic_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_BWP_Generic_r16, SL_BWP_Generic_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_TimeResourcePSCCH_r16_vals[] = { + { 0, "n2" }, + { 1, "n3" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_TimeResourcePSCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_sl_FreqResourcePSCCH_r16_vals[] = { + { 0, "n10" }, + { 1, "n12" }, + { 2, "n15" }, + { 3, "n20" }, + { 4, "n25" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_FreqResourcePSCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 5, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SL_PSCCH_Config_r16_sequence[] = { + { &hf_nr_rrc_sl_TimeResourcePSCCH_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_TimeResourcePSCCH_r16 }, + { &hf_nr_rrc_sl_FreqResourcePSCCH_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_FreqResourcePSCCH_r16 }, + { &hf_nr_rrc_sl_DMRS_ScrambleID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 }, + { &hf_nr_rrc_sl_NumReservedBits_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_4 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_PSCCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_PSCCH_Config_r16, SL_PSCCH_Config_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_PSCCH_Config_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_sl_PSCCH_Config_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_122 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SL_PSCCH_Config_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_PSCCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_PSCCH_Config_r16, T_sl_PSCCH_Config_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_sl_PSSCH_DMRS_TimePatternList_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_PSSCH_DMRS_TimePatternList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_4 }, +}; + +static int +dissect_nr_rrc_T_sl_PSSCH_DMRS_TimePatternList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_sl_PSSCH_DMRS_TimePatternList_r16, T_sl_PSSCH_DMRS_TimePatternList_r16_sequence_of, + 1, 3, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_SL_BetaOffsets_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_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 SEQUENCE_SIZE_4_OF_SL_BetaOffsets_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_BetaOffsets2ndSCI_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_BetaOffsets_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_4_OF_SL_BetaOffsets_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_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_SL_BetaOffsets_r16, SEQUENCE_SIZE_4_OF_SL_BetaOffsets_r16_sequence_of, + 4, 4, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_Scaling_r16_vals[] = { + { 0, "f0p5" }, + { 1, "f0p65" }, + { 2, "f0p8" }, + { 3, "f1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_Scaling_r16(tvbuff_t *tvb _U_, int offset _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 SL_PSSCH_Config_r16_sequence[] = { + { &hf_nr_rrc_sl_PSSCH_DMRS_TimePatternList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_PSSCH_DMRS_TimePatternList_r16 }, + { &hf_nr_rrc_sl_BetaOffsets2ndSCI_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_SL_BetaOffsets_r16 }, + { &hf_nr_rrc_sl_Scaling_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_Scaling_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_PSSCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_PSSCH_Config_r16, SL_PSSCH_Config_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_PSSCH_Config_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_sl_PSSCH_Config_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_123 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SL_PSSCH_Config_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_PSSCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_PSSCH_Config_r16, T_sl_PSSCH_Config_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sl_PSFCH_Period_r16_vals[] = { + { 0, "sl0" }, + { 1, "sl1" }, + { 2, "sl2" }, + { 3, "sl4" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_PSFCH_Period_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_BIT_STRING_SIZE_10_275(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 10, 275, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sl_NumMuxCS_Pair_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n3" }, + { 3, "n6" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_NumMuxCS_Pair_r16(tvbuff_t *tvb _U_, int offset _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_sl_MinTimeGapPSFCH_r16_vals[] = { + { 0, "sl2" }, + { 1, "sl3" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_MinTimeGapPSFCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_sl_PSFCH_CandidateResourceType_r16_vals[] = { + { 0, "startSubCH" }, + { 1, "allocSubCH" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_PSFCH_CandidateResourceType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 SL_PSFCH_Config_r16_sequence[] = { + { &hf_nr_rrc_sl_PSFCH_Period_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_PSFCH_Period_r16 }, + { &hf_nr_rrc_sl_PSFCH_RB_Set_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10_275 }, + { &hf_nr_rrc_sl_NumMuxCS_Pair_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_NumMuxCS_Pair_r16 }, + { &hf_nr_rrc_sl_MinTimeGapPSFCH_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_MinTimeGapPSFCH_r16 }, + { &hf_nr_rrc_sl_PSFCH_HopID_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1023 }, + { &hf_nr_rrc_sl_PSFCH_CandidateResourceType_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_PSFCH_CandidateResourceType_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_PSFCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_PSFCH_Config_r16, SL_PSFCH_Config_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_PSFCH_Config_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_sl_PSFCH_Config_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_124 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SL_PSFCH_Config_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_PSFCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_PSFCH_Config_r16, T_sl_PSFCH_Config_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_gnss_Sync_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_gnss_Sync_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_gnbEnb_Sync_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_gnbEnb_Sync_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_ue_Sync_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ue_Sync_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 SL_SyncAllowed_r16_sequence[] = { + { &hf_nr_rrc_gnss_Sync_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_gnss_Sync_r16 }, + { &hf_nr_rrc_gnbEnb_Sync_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_gnbEnb_Sync_r16 }, + { &hf_nr_rrc_ue_Sync_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_Sync_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_SyncAllowed_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_SyncAllowed_r16, SL_SyncAllowed_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_SubchannelSize_r16_vals[] = { + { 0, "n10" }, + { 1, "n12" }, + { 2, "n15" }, + { 3, "n20" }, + { 4, "n25" }, + { 5, "n50" }, + { 6, "n75" }, + { 7, "n100" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_SubchannelSize_r16(tvbuff_t *tvb _U_, int offset _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_10_160(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 10U, 160U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_265(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 265U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_Additional_MCS_Table_r16_vals[] = { + { 0, "qam256" }, + { 1, "qam64LowSE" }, + { 2, "qam256-qam64LowSE" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_Additional_MCS_Table_r16(tvbuff_t *tvb _U_, int offset _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_45(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 45U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_TimeWindowSizeCBR_r16_vals[] = { + { 0, "ms100" }, + { 1, "slot100" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_TimeWindowSizeCBR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_sl_TimeWindowSizeCR_r16_vals[] = { + { 0, "ms1000" }, + { 1, "slot1000" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_TimeWindowSizeCR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_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_sl_PTRS_FreqDensity_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_PTRS_FreqDensity_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 }, +}; + +static int +dissect_nr_rrc_T_sl_PTRS_FreqDensity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_sl_PTRS_FreqDensity_r16, T_sl_PTRS_FreqDensity_r16_sequence_of, + 2, 2, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 29U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_sl_PTRS_TimeDensity_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_PTRS_TimeDensity_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 }, +}; + +static int +dissect_nr_rrc_T_sl_PTRS_TimeDensity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_sl_PTRS_TimeDensity_r16, T_sl_PTRS_TimeDensity_r16_sequence_of, + 3, 3, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_PTRS_RE_Offset_r16_vals[] = { + { 0, "offset01" }, + { 1, "offset10" }, + { 2, "offset11" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_PTRS_RE_Offset_r16(tvbuff_t *tvb _U_, int offset _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 SL_PTRS_Config_r16_sequence[] = { + { &hf_nr_rrc_sl_PTRS_FreqDensity_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_PTRS_FreqDensity_r16 }, + { &hf_nr_rrc_sl_PTRS_TimeDensity_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_PTRS_TimeDensity_r16 }, + { &hf_nr_rrc_sl_PTRS_RE_Offset_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_PTRS_RE_Offset_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_PTRS_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_PTRS_Config_r16, SL_PTRS_Config_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_maxCBR_Level_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxCBR_Level_1_r16, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_maxCBR_Config_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxCBR_Config_1_r16, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_SL_TxConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxTxConfig_1_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_TxConfigIndex_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_Tx_ConfigIndexList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_TxConfigIndex_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_TxConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_TxConfigIndex_r16, SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_TxConfigIndex_r16_sequence_of, + 1, maxCBR_Level_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SL_PriorityTxConfigIndex_r16_sequence[] = { + { &hf_nr_rrc_sl_PriorityThreshold_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, + { &hf_nr_rrc_sl_DefaultTxConfigIndex_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxCBR_Level_1_r16 }, + { &hf_nr_rrc_sl_CBR_ConfigIndex_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxCBR_Config_1_r16 }, + { &hf_nr_rrc_sl_Tx_ConfigIndexList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_TxConfigIndex_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_PriorityTxConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_PriorityTxConfigIndex_r16, SL_PriorityTxConfigIndex_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_CBR_PriorityTxConfigList_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_CBR_PriorityTxConfigList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_PriorityTxConfigIndex_r16 }, +}; + +static int +dissect_nr_rrc_SL_CBR_PriorityTxConfigList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_CBR_PriorityTxConfigList_r16, SL_CBR_PriorityTxConfigList_r16_sequence_of, + 1, 8, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_SL_ThresPSSCH_RSRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 66U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SL_ThresPSSCH_RSRP_List_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_ThresPSSCH_RSRP_List_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ThresPSSCH_RSRP_r16 }, +}; + +static int +dissect_nr_rrc_SL_ThresPSSCH_RSRP_List_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_ThresPSSCH_RSRP_List_r16, SL_ThresPSSCH_RSRP_List_r16_sequence_of, + 64, 64, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_MultiReserveResource_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_MultiReserveResource_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sl_MaxNumPerReserve_r16_vals[] = { + { 0, "n2" }, + { 1, "n3" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_MaxNumPerReserve_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_sl_SensingWindow_r16_vals[] = { + { 0, "ms100" }, + { 1, "ms1100" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_SensingWindow_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_sl_SelectionWindow_r16_vals[] = { + { 0, "n1" }, + { 1, "n5" }, + { 2, "n10" }, + { 3, "n20" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_SelectionWindow_r16(tvbuff_t *tvb _U_, int offset _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 SL_SelectionWindowConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_Priority_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, + { &hf_nr_rrc_sl_SelectionWindow_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_SelectionWindow_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_SelectionWindowConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_SelectionWindowConfig_r16, SL_SelectionWindowConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_SelectionWindowList_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_SelectionWindowList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_SelectionWindowConfig_r16 }, +}; + +static int +dissect_nr_rrc_SL_SelectionWindowList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_SelectionWindowList_r16, SL_SelectionWindowList_r16_sequence_of, + 8, 8, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_ResourceReservePeriod1_r16_vals[] = { + { 0, "ms0" }, + { 1, "ms100" }, + { 2, "ms200" }, + { 3, "ms300" }, + { 4, "ms400" }, + { 5, "ms500" }, + { 6, "ms600" }, + { 7, "ms700" }, + { 8, "ms800" }, + { 9, "ms900" }, + { 10, "ms1000" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_ResourceReservePeriod1_r16(tvbuff_t *tvb _U_, int offset _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_SL_ResourceReservePeriod_r16_vals[] = { + { 0, "sl-ResourceReservePeriod1-r16" }, + { 1, "sl-ResourceReservePeriod2-r16" }, + { 0, NULL } +}; + +static const per_choice_t SL_ResourceReservePeriod_r16_choice[] = { + { 0, &hf_nr_rrc_sl_ResourceReservePeriod1_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sl_ResourceReservePeriod1_r16 }, + { 1, &hf_nr_rrc_sl_ResourceReservePeriod2_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_99 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_ResourceReservePeriod_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_ResourceReservePeriod_r16, SL_ResourceReservePeriod_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_16_OF_SL_ResourceReservePeriod_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_ResourceReservePeriodList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ResourceReservePeriod_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_16_OF_SL_ResourceReservePeriod_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_SL_ResourceReservePeriod_r16, SEQUENCE_SIZE_1_16_OF_SL_ResourceReservePeriod_r16_sequence_of, + 1, 16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_RS_ForSensing_r16_vals[] = { + { 0, "pscch" }, + { 1, "pssch" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_RS_ForSensing_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 SL_UE_SelectedConfigRP_r16_sequence[] = { + { &hf_nr_rrc_sl_CBR_PriorityTxConfigList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_CBR_PriorityTxConfigList_r16 }, + { &hf_nr_rrc_sl_ThresPSSCH_RSRP_List_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_ThresPSSCH_RSRP_List_r16 }, + { &hf_nr_rrc_sl_MultiReserveResource_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_MultiReserveResource_r16 }, + { &hf_nr_rrc_sl_MaxNumPerReserve_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_MaxNumPerReserve_r16 }, + { &hf_nr_rrc_sl_SensingWindow_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_SensingWindow_r16 }, + { &hf_nr_rrc_sl_SelectionWindowList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_SelectionWindowList_r16 }, + { &hf_nr_rrc_sl_ResourceReservePeriodList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_16_OF_SL_ResourceReservePeriod_r16 }, + { &hf_nr_rrc_sl_RS_ForSensing_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_RS_ForSensing_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_UE_SelectedConfigRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_UE_SelectedConfigRP_r16, SL_UE_SelectedConfigRP_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_sl_RxParametersNcell_r16_sequence[] = { + { &hf_nr_rrc_sl_TDD_Configuration_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigCommon }, + { &hf_nr_rrc_sl_SyncConfigIndex_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_RxParametersNcell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_RxParametersNcell_r16, T_sl_RxParametersNcell_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_TransRange_r16_01_vals[] = { + { 0, "m20" }, + { 1, "m50" }, + { 2, "m80" }, + { 3, "m100" }, + { 4, "m120" }, + { 5, "m150" }, + { 6, "m180" }, + { 7, "m200" }, + { 8, "m220" }, + { 9, "m250" }, + { 10, "m270" }, + { 11, "m300" }, + { 12, "m350" }, + { 13, "m370" }, + { 14, "m400" }, + { 15, "m420" }, + { 16, "m450" }, + { 17, "m480" }, + { 18, "m500" }, + { 19, "m550" }, + { 20, "m600" }, + { 21, "m700" }, + { 22, "m1000" }, + { 23, "spare8" }, + { 24, "spare7" }, + { 25, "spare6" }, + { 26, "spare5" }, + { 27, "spare4" }, + { 28, "spare3" }, + { 29, "spare2" }, + { 30, "spare1" }, + { 0, NULL } +}; + +static value_string_ext nr_rrc_T_sl_TransRange_r16_01_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_sl_TransRange_r16_01_vals); + + +static int +dissect_nr_rrc_T_sl_TransRange_r16_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, + 31, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sl_ZoneLength_r16_vals[] = { + { 0, "m5" }, + { 1, "m10" }, + { 2, "m20" }, + { 3, "m30" }, + { 4, "m40" }, + { 5, "m50" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_ZoneLength_r16(tvbuff_t *tvb _U_, int offset _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 SL_ZoneConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_ZoneLength_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_ZoneLength_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_ZoneConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_ZoneConfig_r16, SL_ZoneConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_ZoneConfigMCR_r16_sequence[] = { + { &hf_nr_rrc_sl_ZoneConfigMCR_Index_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 }, + { &hf_nr_rrc_sl_TransRange_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_TransRange_r16_01 }, + { &hf_nr_rrc_sl_ZoneConfig_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_ZoneConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_ZoneConfigMCR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_ZoneConfigMCR_r16, SL_ZoneConfigMCR_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_16_OF_SL_ZoneConfigMCR_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_ZoneConfigMCR_List_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ZoneConfigMCR_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_16_OF_SL_ZoneConfigMCR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_16_OF_SL_ZoneConfigMCR_r16, SEQUENCE_SIZE_16_OF_SL_ZoneConfigMCR_r16_sequence_of, + 16, 16, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_10_275(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 10U, 275U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_PreemptionEnable_r16_vals[] = { + { 0, "enabled" }, + { 1, "pl1" }, + { 2, "pl2" }, + { 3, "pl3" }, + { 4, "pl4" }, + { 5, "pl5" }, + { 6, "pl6" }, + { 7, "pl7" }, + { 8, "pl8" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_PreemptionEnable_r16(tvbuff_t *tvb _U_, int offset _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 int +dissect_nr_rrc_INTEGER_1_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 9U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_X_Overhead_r16_vals[] = { + { 0, "n0" }, + { 1, "n3" }, + { 2, "n6" }, + { 3, "n9" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_X_Overhead_r16(tvbuff_t *tvb _U_, int offset _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_sl_Alpha_PSSCH_PSCCH_r16_vals[] = { + { 0, "alpha0" }, + { 1, "alpha04" }, + { 2, "alpha05" }, + { 3, "alpha06" }, + { 4, "alpha07" }, + { 5, "alpha08" }, + { 6, "alpha09" }, + { 7, "alpha1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_Alpha_PSSCH_PSCCH_r16(tvbuff_t *tvb _U_, int offset _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_dl_Alpha_PSSCH_PSCCH_r16_vals[] = { + { 0, "alpha0" }, + { 1, "alpha04" }, + { 2, "alpha05" }, + { 3, "alpha06" }, + { 4, "alpha07" }, + { 5, "alpha08" }, + { 6, "alpha09" }, + { 7, "alpha1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_dl_Alpha_PSSCH_PSCCH_r16(tvbuff_t *tvb _U_, int offset _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_dl_Alpha_PSFCH_r16_vals[] = { + { 0, "alpha0" }, + { 1, "alpha04" }, + { 2, "alpha05" }, + { 3, "alpha06" }, + { 4, "alpha07" }, + { 5, "alpha08" }, + { 6, "alpha09" }, + { 7, "alpha1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_dl_Alpha_PSFCH_r16(tvbuff_t *tvb _U_, int offset _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 SL_PowerControl_r16_sequence[] = { + { &hf_nr_rrc_sl_MaxTransPower_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M30_33 }, + { &hf_nr_rrc_sl_Alpha_PSSCH_PSCCH_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_Alpha_PSSCH_PSCCH_r16 }, + { &hf_nr_rrc_dl_Alpha_PSSCH_PSCCH_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_Alpha_PSSCH_PSCCH_r16 }, + { &hf_nr_rrc_sl_P0_PSSCH_PSCCH_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 }, + { &hf_nr_rrc_dl_P0_PSSCH_PSCCH_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 }, + { &hf_nr_rrc_dl_Alpha_PSFCH_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_Alpha_PSFCH_r16 }, + { &hf_nr_rrc_dl_P0_PSFCH_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_PowerControl_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_PowerControl_r16, SL_PowerControl_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_TxPercentage_r16_vals[] = { + { 0, "p20" }, + { 1, "p35" }, + { 2, "p50" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_TxPercentage_r16(tvbuff_t *tvb _U_, int offset _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 SL_TxPercentageConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_Priority_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, + { &hf_nr_rrc_sl_TxPercentage_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_TxPercentage_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_TxPercentageConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_TxPercentageConfig_r16, SL_TxPercentageConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_TxPercentageList_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_TxPercentageList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_TxPercentageConfig_r16 }, +}; + +static int +dissect_nr_rrc_SL_TxPercentageList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_TxPercentageList_r16, SL_TxPercentageList_r16_sequence_of, + 8, 8, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_MCS_Table_r16_vals[] = { + { 0, "qam64" }, + { 1, "qam256" }, + { 2, "qam64LowSE" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_MCS_Table_r16(tvbuff_t *tvb _U_, int offset _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 SL_MinMaxMCS_Config_r16_sequence[] = { + { &hf_nr_rrc_sl_MCS_Table_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_MCS_Table_r16 }, + { &hf_nr_rrc_sl_MinMCS_PSSCH_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_27 }, + { &hf_nr_rrc_sl_MaxMCS_PSSCH_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_MinMaxMCS_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_MinMaxMCS_Config_r16, SL_MinMaxMCS_Config_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_MinMaxMCS_List_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_MinMaxMCS_List_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MinMaxMCS_Config_r16 }, +}; + +static int +dissect_nr_rrc_SL_MinMaxMCS_List_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_MinMaxMCS_List_r16, SL_MinMaxMCS_List_r16_sequence_of, + 1, 3, FALSE); + + return offset; +} + + +static const per_sequence_t SL_ResourcePool_r16_sequence[] = { + { &hf_nr_rrc_sl_PSCCH_Config_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_PSCCH_Config_r16 }, + { &hf_nr_rrc_sl_PSSCH_Config_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_PSSCH_Config_r16 }, + { &hf_nr_rrc_sl_PSFCH_Config_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_PSFCH_Config_r16 }, + { &hf_nr_rrc_sl_SyncAllowed_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_SyncAllowed_r16 }, + { &hf_nr_rrc_sl_SubchannelSize_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_SubchannelSize_r16 }, + { &hf_nr_rrc_sl_TimeResource_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_10_160 }, + { &hf_nr_rrc_sl_StartRB_Subchannel_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_265 }, + { &hf_nr_rrc_sl_NumSubchannel_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_27 }, + { &hf_nr_rrc_sl_Additional_MCS_Table_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_Additional_MCS_Table_r16 }, + { &hf_nr_rrc_sl_ThreshS_RSSI_CBR_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_45 }, + { &hf_nr_rrc_sl_TimeWindowSizeCBR_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_TimeWindowSizeCBR_r16 }, + { &hf_nr_rrc_sl_TimeWindowSizeCR_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_TimeWindowSizeCR_r16 }, + { &hf_nr_rrc_sl_PTRS_Config_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_PTRS_Config_r16 }, + { &hf_nr_rrc_sl_UE_SelectedConfigRP_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_UE_SelectedConfigRP_r16 }, + { &hf_nr_rrc_sl_RxParametersNcell_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_RxParametersNcell_r16 }, + { &hf_nr_rrc_sl_ZoneConfigMCR_List_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_16_OF_SL_ZoneConfigMCR_r16 }, + { &hf_nr_rrc_sl_FilterCoefficient_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient }, + { &hf_nr_rrc_sl_RB_Number_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_10_275 }, + { &hf_nr_rrc_sl_PreemptionEnable_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_PreemptionEnable_r16 }, + { &hf_nr_rrc_sl_PriorityThreshold_UL_URLLC_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_9 }, + { &hf_nr_rrc_sl_PriorityThreshold_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_9 }, + { &hf_nr_rrc_sl_X_Overhead_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_X_Overhead_r16 }, + { &hf_nr_rrc_sl_PowerControl_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_PowerControl_r16 }, + { &hf_nr_rrc_sl_TxPercentageList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_TxPercentageList_r16 }, + { &hf_nr_rrc_sl_MinMaxMCS_List_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_MinMaxMCS_List_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_ResourcePool_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_ResourcePool_r16, SL_ResourcePool_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_RxPool_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ResourcePool_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16, SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16_sequence_of, + 1, maxNrofRXPool_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolID_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_PoolToReleaseList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ResourcePoolID_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolID_r16, SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolID_r16_sequence_of, + 1, maxNrofTXPool_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SL_ResourcePoolConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_ResourcePoolID_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ResourcePoolID_r16 }, + { &hf_nr_rrc_sl_ResourcePool_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SL_ResourcePool_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_ResourcePoolConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_ResourcePoolConfig_r16, SL_ResourcePoolConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolConfig_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_PoolToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ResourcePoolConfig_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolConfig_r16, SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolConfig_r16_sequence_of, + 1, maxNrofTXPool_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SL_TxPoolDedicated_r16_sequence[] = { + { &hf_nr_rrc_sl_PoolToReleaseList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolID_r16 }, + { &hf_nr_rrc_sl_PoolToAddModList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_TxPoolDedicated_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_TxPoolDedicated_r16, SL_TxPoolDedicated_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_BWP_PoolConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_RxPool_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16 }, + { &hf_nr_rrc_sl_TxPoolSelectedNormal_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SL_TxPoolDedicated_r16 }, + { &hf_nr_rrc_sl_TxPoolScheduling_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SL_TxPoolDedicated_r16 }, + { &hf_nr_rrc_sl_TxPoolExceptional_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SL_ResourcePoolConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_BWP_PoolConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_BWP_PoolConfig_r16, SL_BWP_PoolConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_BWP_Config_r16_sequence[] = { + { &hf_nr_rrc_sl_BWP_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id }, + { &hf_nr_rrc_sl_BWP_Generic_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_BWP_Generic_r16 }, + { &hf_nr_rrc_sl_BWP_PoolConfig_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_BWP_PoolConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_BWP_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_BWP_Config_r16, SL_BWP_Config_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_SL_BWP_Config_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_BWP_ToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_BWP_Config_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_SL_BWP_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_SL_BWP_Config_r16, SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_SL_BWP_Config_r16_sequence_of, + 1, maxNrofSL_BWPs_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_SyncRefMinHyst_r16_vals[] = { + { 0, "dB0" }, + { 1, "dB3" }, + { 2, "dB6" }, + { 3, "dB9" }, + { 4, "dB12" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_SyncRefMinHyst_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 5, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sl_SyncRefDiffHyst_r16_vals[] = { + { 0, "dB0" }, + { 1, "dB3" }, + { 2, "dB6" }, + { 3, "dB9" }, + { 4, "dB12" }, + { 5, "dBinf" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_SyncRefDiffHyst_r16(tvbuff_t *tvb _U_, int offset _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_sl_NumSSB_WithinPeriod_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "n5" }, + { 4, "n16" }, + { 5, "n32" }, + { 6, "n64" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_NumSSB_WithinPeriod_r16(tvbuff_t *tvb _U_, int offset _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 SL_SSB_TimeAllocation_r16_sequence[] = { + { &hf_nr_rrc_sl_NumSSB_WithinPeriod_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_NumSSB_WithinPeriod_r16 }, + { &hf_nr_rrc_sl_TimeOffsetSSB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1279 }, + { &hf_nr_rrc_sl_TimeInterval_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_639 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_SSB_TimeAllocation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_SSB_TimeAllocation_r16, SL_SSB_TimeAllocation_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_671(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 671U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_SL_RSRP_Range_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_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 T_txParameters_r16_sequence[] = { + { &hf_nr_rrc_syncTxThreshIC_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SL_RSRP_Range_r16 }, + { &hf_nr_rrc_syncTxThreshOoC_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SL_RSRP_Range_r16 }, + { &hf_nr_rrc_syncInfoReserved_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_txParameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_txParameters_r16, T_txParameters_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_gnss_Sync_r16_01_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_gnss_Sync_r16_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 SL_SyncConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_SyncRefMinHyst_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_SyncRefMinHyst_r16 }, + { &hf_nr_rrc_sl_SyncRefDiffHyst_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_SyncRefDiffHyst_r16 }, + { &hf_nr_rrc_sl_filterCoefficient_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient }, + { &hf_nr_rrc_sl_SSB_TimeAllocation1_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_SSB_TimeAllocation_r16 }, + { &hf_nr_rrc_sl_SSB_TimeAllocation2_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_SSB_TimeAllocation_r16 }, + { &hf_nr_rrc_sl_SSB_TimeAllocation3_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_SSB_TimeAllocation_r16 }, + { &hf_nr_rrc_sl_SSID_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_671 }, + { &hf_nr_rrc_txParameters_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_txParameters_r16 }, + { &hf_nr_rrc_gnss_Sync_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_gnss_Sync_r16_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_SyncConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_SyncConfig_r16, SL_SyncConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_SyncConfigList_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_SyncConfigList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_SyncConfig_r16 }, +}; + +static int +dissect_nr_rrc_SL_SyncConfigList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_SyncConfigList_r16, SL_SyncConfigList_r16_sequence_of, + 1, maxSL_SyncConfig_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_SyncPriority_r16_vals[] = { + { 0, "gnss" }, + { 1, "gnbEnb" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_SyncPriority_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 SL_FreqConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_Freq_Id_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_Freq_Id_r16 }, + { &hf_nr_rrc_sl_SCS_SpecificCarrierList_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier }, + { &hf_nr_rrc_sl_AbsoluteFrequencyPointA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR }, + { &hf_nr_rrc_sl_AbsoluteFrequencySSB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR }, + { &hf_nr_rrc_frequencyShift7p5khzSL_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyShift7p5khzSL_r16 }, + { &hf_nr_rrc_valueN_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M1_1 }, + { &hf_nr_rrc_sl_BWP_ToReleaseList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_BWP_Id }, + { &hf_nr_rrc_sl_BWP_ToAddModList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_SL_BWP_Config_r16 }, + { &hf_nr_rrc_sl_SyncConfigList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SL_SyncConfigList_r16 }, + { &hf_nr_rrc_sl_SyncPriority_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_SyncPriority_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_FreqConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_FreqConfig_r16, SL_FreqConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_FreqConfig_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_FreqInfoToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_FreqConfig_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_FreqConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_FreqConfig_r16, SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_FreqConfig_r16_sequence_of, + 1, maxNrofFreqSL_r16, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_SL_RLC_BearerConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, 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, maxSL_LCID_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfigIndex_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_RLC_BearerToReleaseList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RLC_BearerConfigIndex_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfigIndex_r16, SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfigIndex_r16_sequence_of, + 1, maxSL_LCID_r16, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_SLRB_Uu_ConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, 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, maxNrofSLRB_r16, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_SN_FieldLengthAM_vals[] = { + { 0, "size12" }, + { 1, "size18" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_SN_FieldLengthAM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, &value, FALSE, 0, NULL); + + nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; + if (mapping->tempDirection == DIRECTION_UPLINK) { + mapping->rlcUlSnLength_present = TRUE; + mapping->rlcUlSnLength = (value=0) ? 12 : 18; + } + else { + mapping->rlcDlSnLength_present = TRUE; + mapping->rlcDlSnLength = (value=0) ? 12 : 18; + } + + + return offset; +} + + +static const value_string nr_rrc_T_PollRetransmit_vals[] = { + { 0, "ms5" }, + { 1, "ms10" }, + { 2, "ms15" }, + { 3, "ms20" }, + { 4, "ms25" }, + { 5, "ms30" }, + { 6, "ms35" }, + { 7, "ms40" }, + { 8, "ms45" }, + { 9, "ms50" }, + { 10, "ms55" }, + { 11, "ms60" }, + { 12, "ms65" }, + { 13, "ms70" }, + { 14, "ms75" }, + { 15, "ms80" }, + { 16, "ms85" }, + { 17, "ms90" }, + { 18, "ms95" }, + { 19, "ms100" }, + { 20, "ms105" }, + { 21, "ms110" }, + { 22, "ms115" }, + { 23, "ms120" }, + { 24, "ms125" }, + { 25, "ms130" }, + { 26, "ms135" }, + { 27, "ms140" }, + { 28, "ms145" }, + { 29, "ms150" }, + { 30, "ms155" }, + { 31, "ms160" }, + { 32, "ms165" }, + { 33, "ms170" }, + { 34, "ms175" }, + { 35, "ms180" }, + { 36, "ms185" }, + { 37, "ms190" }, + { 38, "ms195" }, + { 39, "ms200" }, + { 40, "ms205" }, + { 41, "ms210" }, + { 42, "ms215" }, + { 43, "ms220" }, + { 44, "ms225" }, + { 45, "ms230" }, + { 46, "ms235" }, + { 47, "ms240" }, + { 48, "ms245" }, + { 49, "ms250" }, + { 50, "ms300" }, + { 51, "ms350" }, + { 52, "ms400" }, + { 53, "ms450" }, + { 54, "ms500" }, + { 55, "ms800" }, + { 56, "ms1000" }, + { 57, "ms2000" }, + { 58, "ms4000" }, + { 59, "ms1-v1610" }, + { 60, "ms2-v1610" }, + { 61, "ms3-v1610" }, + { 62, "ms4-v1610" }, + { 63, "spare1" }, + { 0, NULL } +}; + +static value_string_ext nr_rrc_T_PollRetransmit_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_PollRetransmit_vals); + + +static int +dissect_nr_rrc_T_PollRetransmit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 64, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_PollPDU_vals[] = { + { 0, "p4" }, + { 1, "p8" }, + { 2, "p16" }, + { 3, "p32" }, + { 4, "p64" }, + { 5, "p128" }, + { 6, "p256" }, + { 7, "p512" }, + { 8, "p1024" }, + { 9, "p2048" }, + { 10, "p4096" }, + { 11, "p6144" }, + { 12, "p8192" }, + { 13, "p12288" }, + { 14, "p16384" }, + { 15, "p20480" }, + { 16, "p24576" }, + { 17, "p28672" }, + { 18, "p32768" }, + { 19, "p40960" }, + { 20, "p49152" }, + { 21, "p57344" }, + { 22, "p65536" }, + { 23, "infinity" }, + { 24, "spare8" }, + { 25, "spare7" }, + { 26, "spare6" }, + { 27, "spare5" }, + { 28, "spare4" }, + { 29, "spare3" }, + { 30, "spare2" }, + { 31, "spare1" }, + { 0, NULL } +}; + +static value_string_ext nr_rrc_PollPDU_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_PollPDU_vals); + + +static int +dissect_nr_rrc_PollPDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 32, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_PollByte_vals[] = { + { 0, "kB1" }, + { 1, "kB2" }, + { 2, "kB5" }, + { 3, "kB8" }, + { 4, "kB10" }, + { 5, "kB15" }, + { 6, "kB25" }, + { 7, "kB50" }, + { 8, "kB75" }, + { 9, "kB100" }, + { 10, "kB125" }, + { 11, "kB250" }, + { 12, "kB375" }, + { 13, "kB500" }, + { 14, "kB750" }, + { 15, "kB1000" }, + { 16, "kB1250" }, + { 17, "kB1500" }, + { 18, "kB2000" }, + { 19, "kB3000" }, + { 20, "kB4000" }, + { 21, "kB4500" }, + { 22, "kB5000" }, + { 23, "kB5500" }, + { 24, "kB6000" }, + { 25, "kB6500" }, + { 26, "kB7000" }, + { 27, "kB7500" }, + { 28, "mB8" }, + { 29, "mB9" }, + { 30, "mB10" }, + { 31, "mB11" }, + { 32, "mB12" }, + { 33, "mB13" }, + { 34, "mB14" }, + { 35, "mB15" }, + { 36, "mB16" }, + { 37, "mB17" }, + { 38, "mB18" }, + { 39, "mB20" }, + { 40, "mB25" }, + { 41, "mB30" }, + { 42, "mB40" }, + { 43, "infinity" }, + { 44, "spare20" }, + { 45, "spare19" }, + { 46, "spare18" }, + { 47, "spare17" }, + { 48, "spare16" }, + { 49, "spare15" }, + { 50, "spare14" }, + { 51, "spare13" }, + { 52, "spare12" }, + { 53, "spare11" }, + { 54, "spare10" }, + { 55, "spare9" }, + { 56, "spare8" }, + { 57, "spare7" }, + { 58, "spare6" }, + { 59, "spare5" }, + { 60, "spare4" }, + { 61, "spare3" }, + { 62, "spare2" }, + { 63, "spare1" }, + { 0, NULL } +}; + +static value_string_ext nr_rrc_PollByte_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_PollByte_vals); + + +static int +dissect_nr_rrc_PollByte(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 64, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sl_MaxRetxThreshold_r16_vals[] = { + { 0, "t1" }, + { 1, "t2" }, + { 2, "t3" }, + { 3, "t4" }, + { 4, "t6" }, + { 5, "t8" }, + { 6, "t16" }, + { 7, "t32" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_MaxRetxThreshold_r16(tvbuff_t *tvb _U_, int offset _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_sl_AM_RLC_r16_sequence[] = { + { &hf_nr_rrc_sl_SN_FieldLengthAM_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthAM }, + { &hf_nr_rrc_sl_T_PollRetransmit_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_PollRetransmit }, + { &hf_nr_rrc_sl_PollPDU_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PollPDU }, + { &hf_nr_rrc_sl_PollByte_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PollByte }, + { &hf_nr_rrc_sl_MaxRetxThreshold_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_MaxRetxThreshold_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_AM_RLC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_AM_RLC_r16, T_sl_AM_RLC_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_SN_FieldLengthUM_vals[] = { + { 0, "size6" }, + { 1, "size12" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_SN_FieldLengthUM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, &value, FALSE, 0, NULL); + + nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; + if (mapping->tempDirection == DIRECTION_UPLINK) { + mapping->rlcUlSnLength_present = TRUE; + mapping->rlcUlSnLength = (value=0) ? 6 : 12; + } + else { + mapping->rlcDlSnLength_present = TRUE; + mapping->rlcDlSnLength = (value=0) ? 6 : 12; + } + + + return offset; +} + + +static const per_sequence_t T_sl_UM_RLC_r16_sequence[] = { + { &hf_nr_rrc_sl_SN_FieldLengthUM_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthUM }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_UM_RLC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_UM_RLC_r16, T_sl_UM_RLC_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_SL_RLC_Config_r16_vals[] = { + { 0, "sl-AM-RLC-r16" }, + { 1, "sl-UM-RLC-r16" }, + { 0, NULL } +}; + +static const per_choice_t SL_RLC_Config_r16_choice[] = { + { 0, &hf_nr_rrc_sl_AM_RLC_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_sl_AM_RLC_r16 }, + { 1, &hf_nr_rrc_sl_UM_RLC_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_sl_UM_RLC_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_RLC_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_RLC_Config_r16, SL_RLC_Config_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sl_PrioritisedBitRate_r16_vals[] = { + { 0, "kBps0" }, + { 1, "kBps8" }, + { 2, "kBps16" }, + { 3, "kBps32" }, + { 4, "kBps64" }, + { 5, "kBps128" }, + { 6, "kBps256" }, + { 7, "kBps512" }, + { 8, "kBps1024" }, + { 9, "kBps2048" }, + { 10, "kBps4096" }, + { 11, "kBps8192" }, + { 12, "kBps16384" }, + { 13, "kBps32768" }, + { 14, "kBps65536" }, + { 15, "infinity" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_PrioritisedBitRate_r16(tvbuff_t *tvb _U_, int offset _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_sl_BucketSizeDuration_r16_vals[] = { + { 0, "ms5" }, + { 1, "ms10" }, + { 2, "ms20" }, + { 3, "ms50" }, + { 4, "ms100" }, + { 5, "ms150" }, + { 6, "ms300" }, + { 7, "ms500" }, + { 8, "ms1000" }, + { 9, "spare7" }, + { 10, "spare6" }, + { 11, "spare5" }, + { 12, "spare4" }, + { 13, "spare3" }, + { 14, "spare2" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_BucketSizeDuration_r16(tvbuff_t *tvb _U_, int offset _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_sl_ConfiguredGrantType1Allowed_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_ConfiguredGrantType1Allowed_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sl_HARQ_FeedbackEnabled_r16_vals[] = { + { 0, "enabled" }, + { 1, "disabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_HARQ_FeedbackEnabled_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_0_maxNrofCG_SL_r16_1_OF_SL_ConfigIndexCG_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_AllowedCG_List_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ConfigIndexCG_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofCG_SL_r16_1_OF_SL_ConfigIndexCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofCG_SL_r16_1_OF_SL_ConfigIndexCG_r16, SEQUENCE_SIZE_0_maxNrofCG_SL_r16_1_OF_SL_ConfigIndexCG_r16_sequence_of, + 0, maxNrofCG_SL_r16_1, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing_sequence_of[1] = { + { &hf_nr_rrc_allowedSCS_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing, SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing_sequence_of, + 1, maxSCSs, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_MaxPUSCH_Duration_r16_vals[] = { + { 0, "ms0p02" }, + { 1, "ms0p04" }, + { 2, "ms0p0625" }, + { 3, "ms0p125" }, + { 4, "ms0p25" }, + { 5, "ms0p5" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_MaxPUSCH_Duration_r16(tvbuff_t *tvb _U_, int offset _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_maxLCG_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxLCG_ID, NULL, FALSE); + + return offset; +} + + + +static 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 per_sequence_t SL_LogicalChannelConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_Priority_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, + { &hf_nr_rrc_sl_PrioritisedBitRate_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_PrioritisedBitRate_r16 }, + { &hf_nr_rrc_sl_BucketSizeDuration_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_BucketSizeDuration_r16 }, + { &hf_nr_rrc_sl_ConfiguredGrantType1Allowed_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_ConfiguredGrantType1Allowed_r16 }, + { &hf_nr_rrc_sl_HARQ_FeedbackEnabled_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_HARQ_FeedbackEnabled_r16 }, + { &hf_nr_rrc_sl_AllowedCG_List_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofCG_SL_r16_1_OF_SL_ConfigIndexCG_r16 }, + { &hf_nr_rrc_sl_AllowedSCS_List_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing }, + { &hf_nr_rrc_sl_MaxPUSCH_Duration_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_MaxPUSCH_Duration_r16 }, + { &hf_nr_rrc_sl_LogicalChannelGroup_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxLCG_ID }, + { &hf_nr_rrc_sl_SchedulingRequestId_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SchedulingRequestId }, + { &hf_nr_rrc_sl_LogicalChannelSR_DelayTimerApplied_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_LogicalChannelConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_LogicalChannelConfig_r16, SL_LogicalChannelConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_RLC_BearerConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_RLC_BearerConfigIndex_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RLC_BearerConfigIndex_r16 }, + { &hf_nr_rrc_sl_ServedRadioBearer_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SLRB_Uu_ConfigIndex_r16 }, + { &hf_nr_rrc_sl_RLC_Config_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_RLC_Config_r16 }, + { &hf_nr_rrc_sl_MAC_LogicalChannelConfig_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_LogicalChannelConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_RLC_BearerConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_RLC_BearerConfig_r16, SL_RLC_BearerConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfig_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_RLC_BearerToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RLC_BearerConfig_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfig_r16, SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfig_r16_sequence_of, + 1, maxSL_LCID_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_MaxNumConsecutiveDTX_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n3" }, + { 3, "n4" }, + { 4, "n6" }, + { 5, "n8" }, + { 6, "n16" }, + { 7, "n32" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_MaxNumConsecutiveDTX_r16(tvbuff_t *tvb _U_, int offset _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_sl_CSI_Acquisition_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_CSI_Acquisition_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sl_CSI_SchedulingRequestId_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_sl_CSI_SchedulingRequestId_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_121 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SchedulingRequestId }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_CSI_SchedulingRequestId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_CSI_SchedulingRequestId_r16, T_sl_CSI_SchedulingRequestId_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_networkControlledSyncTx_r16_vals[] = { + { 0, "on" }, + { 1, "off" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_networkControlledSyncTx_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 SL_PHY_MAC_RLC_Config_r16_sequence[] = { + { &hf_nr_rrc_sl_ScheduledConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_ScheduledConfig_r16 }, + { &hf_nr_rrc_sl_UE_SelectedConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_UE_SelectedConfig_r16 }, + { &hf_nr_rrc_sl_FreqInfoToReleaseList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_Freq_Id_r16 }, + { &hf_nr_rrc_sl_FreqInfoToAddModList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_FreqConfig_r16 }, + { &hf_nr_rrc_sl_RLC_BearerToReleaseList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfigIndex_r16 }, + { &hf_nr_rrc_sl_RLC_BearerToAddModList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfig_r16 }, + { &hf_nr_rrc_sl_MaxNumConsecutiveDTX_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_MaxNumConsecutiveDTX_r16 }, + { &hf_nr_rrc_sl_CSI_Acquisition_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_CSI_Acquisition_r16 }, + { &hf_nr_rrc_sl_CSI_SchedulingRequestId_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_CSI_SchedulingRequestId_r16 }, + { &hf_nr_rrc_sl_SSB_PriorityNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, + { &hf_nr_rrc_networkControlledSyncTx_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_networkControlledSyncTx_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_PHY_MAC_RLC_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_PHY_MAC_RLC_Config_r16, SL_PHY_MAC_RLC_Config_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Uu_ConfigIndex_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_RadioBearerToReleaseList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SLRB_Uu_ConfigIndex_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Uu_ConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Uu_ConfigIndex_r16, SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Uu_ConfigIndex_r16_sequence_of, + 1, maxNrofSLRB_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_SDAP_Header_r16_vals[] = { + { 0, "present" }, + { 1, "absent" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_SDAP_Header_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_sl_ResourceType_r16_vals[] = { + { 0, "gbr" }, + { 1, "non-GBR" }, + { 2, "delayCriticalGBR" }, + { 3, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_ResourceType_r16(tvbuff_t *tvb _U_, int offset _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_sl_Non_StandardizedPQI_r16_sequence[] = { + { &hf_nr_rrc_sl_ResourceType_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_ResourceType_r16 }, + { &hf_nr_rrc_sl_PriorityLevel_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, + { &hf_nr_rrc_sl_PacketDelayBudget_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1023 }, + { &hf_nr_rrc_sl_PacketErrorRate_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_9 }, + { &hf_nr_rrc_sl_AveragingWindow_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_4095 }, + { &hf_nr_rrc_sl_MaxDataBurstVolume_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_4095 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_Non_StandardizedPQI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_Non_StandardizedPQI_r16, T_sl_Non_StandardizedPQI_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_SL_PQI_r16_vals[] = { + { 0, "sl-StandardizedPQI-r16" }, + { 1, "sl-Non-StandardizedPQI-r16" }, + { 0, NULL } +}; + +static const per_choice_t SL_PQI_r16_choice[] = { + { 0, &hf_nr_rrc_sl_StandardizedPQI_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_255 }, + { 1, &hf_nr_rrc_sl_Non_StandardizedPQI_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sl_Non_StandardizedPQI_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_PQI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_PQI_r16, SL_PQI_r16_choice, + NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_4000000000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 4000000000U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_1_1000(tvbuff_t *tvb _U_, int offset _U_, 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, 1000U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SL_QoS_Profile_r16_sequence[] = { + { &hf_nr_rrc_sl_PQI_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_PQI_r16 }, + { &hf_nr_rrc_sl_GFBR_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_4000000000 }, + { &hf_nr_rrc_sl_MFBR_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_4000000000 }, + { &hf_nr_rrc_sl_Range_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_1000 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_QoS_Profile_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_QoS_Profile_r16, SL_QoS_Profile_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_MappedQoS_FlowsList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_QoS_Profile_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16, SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16_sequence_of, + 1, maxNrofSL_QFIs_r16, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_SL_QoS_FlowIdentity_r16(tvbuff_t *tvb _U_, int offset _U_, 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, maxNrofSL_QFIs_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_QoS_FlowIdentity_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16, SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16_sequence_of, + 1, maxNrofSL_QFIs_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SL_MappedQoS_FlowsListDedicated_r16_sequence[] = { + { &hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16 }, + { &hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_MappedQoS_FlowsListDedicated_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_MappedQoS_FlowsListDedicated_r16, SL_MappedQoS_FlowsListDedicated_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_MappedQoS_Flows_r16_vals[] = { + { 0, "sl-MappedQoS-FlowsList-r16" }, + { 1, "sl-MappedQoS-FlowsListDedicated-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_sl_MappedQoS_Flows_r16_choice[] = { + { 0, &hf_nr_rrc_sl_MappedQoS_FlowsList_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16 }, + { 1, &hf_nr_rrc_sl_MappedQoS_FlowsListDedicated_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SL_MappedQoS_FlowsListDedicated_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_MappedQoS_Flows_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_MappedQoS_Flows_r16, T_sl_MappedQoS_Flows_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sl_CastType_r16_01_vals[] = { + { 0, "broadcast" }, + { 1, "groupcast" }, + { 2, "unicast" }, + { 3, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_CastType_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SL_SDAP_Config_r16_sequence[] = { + { &hf_nr_rrc_sl_SDAP_Header_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_SDAP_Header_r16 }, + { &hf_nr_rrc_sl_DefaultRB_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { &hf_nr_rrc_sl_MappedQoS_Flows_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_MappedQoS_Flows_r16 }, + { &hf_nr_rrc_sl_CastType_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_CastType_r16_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_SDAP_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_SDAP_Config_r16, SL_SDAP_Config_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_DiscardTimer_r16_vals[] = { + { 0, "ms3" }, + { 1, "ms10" }, + { 2, "ms20" }, + { 3, "ms25" }, + { 4, "ms30" }, + { 5, "ms40" }, + { 6, "ms50" }, + { 7, "ms60" }, + { 8, "ms75" }, + { 9, "ms100" }, + { 10, "ms150" }, + { 11, "ms200" }, + { 12, "ms250" }, + { 13, "ms300" }, + { 14, "ms500" }, + { 15, "ms750" }, + { 16, "ms1500" }, + { 17, "infinity" }, + { 0, NULL } +}; + +static value_string_ext nr_rrc_T_sl_DiscardTimer_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_sl_DiscardTimer_r16_vals); + + +static int +dissect_nr_rrc_T_sl_DiscardTimer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 18, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sl_PDCP_SN_Size_r16_vals[] = { + { 0, "len12bits" }, + { 1, "len18bits" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_PDCP_SN_Size_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_sl_OutOfOrderDelivery_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_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 SL_PDCP_Config_r16_sequence[] = { + { &hf_nr_rrc_sl_DiscardTimer_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_DiscardTimer_r16 }, + { &hf_nr_rrc_sl_PDCP_SN_Size_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_PDCP_SN_Size_r16 }, + { &hf_nr_rrc_sl_OutOfOrderDelivery, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_OutOfOrderDelivery }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_PDCP_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_PDCP_Config_r16, SL_PDCP_Config_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_TransRange_r16_vals[] = { + { 0, "m20" }, + { 1, "m50" }, + { 2, "m80" }, + { 3, "m100" }, + { 4, "m120" }, + { 5, "m150" }, + { 6, "m180" }, + { 7, "m200" }, + { 8, "m220" }, + { 9, "m250" }, + { 10, "m270" }, + { 11, "m300" }, + { 12, "m350" }, + { 13, "m370" }, + { 14, "m400" }, + { 15, "m420" }, + { 16, "m450" }, + { 17, "m480" }, + { 18, "m500" }, + { 19, "m550" }, + { 20, "m600" }, + { 21, "m700" }, + { 22, "m1000" }, + { 23, "spare9" }, + { 24, "spare8" }, + { 25, "spare7" }, + { 26, "spare6" }, + { 27, "spare5" }, + { 28, "spare4" }, + { 29, "spare3" }, + { 30, "spare2" }, + { 31, "spare1" }, + { 0, NULL } +}; + +static value_string_ext nr_rrc_T_sl_TransRange_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_sl_TransRange_r16_vals); + + +static int +dissect_nr_rrc_T_sl_TransRange_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 32, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SL_RadioBearerConfig_r16_sequence[] = { + { &hf_nr_rrc_slrb_Uu_ConfigIndex_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SLRB_Uu_ConfigIndex_r16 }, + { &hf_nr_rrc_sl_SDAP_Config_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_SDAP_Config_r16 }, + { &hf_nr_rrc_sl_PDCP_Config_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_PDCP_Config_r16 }, + { &hf_nr_rrc_sl_TransRange_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_TransRange_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_RadioBearerConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_RadioBearerConfig_r16, SL_RadioBearerConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RadioBearerConfig_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_RadioBearerToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RadioBearerConfig_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RadioBearerConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RadioBearerConfig_r16, SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RadioBearerConfig_r16_sequence_of, + 1, maxNrofSLRB_r16, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_SL_DestinationIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxNrofSL_Dest_1_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_MeasConfigInfoToReleaseList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_DestinationIndex_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16, SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16_sequence_of, + 1, maxNrofSL_Dest_r16, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_SL_MeasObjectId_r16(tvbuff_t *tvb _U_, int offset _U_, 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, maxNrofSL_ObjectId_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SL_MeasObjectToRemoveList_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_MeasObjectToRemoveList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasObjectId_r16 }, +}; + +static int +dissect_nr_rrc_SL_MeasObjectToRemoveList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_MeasObjectToRemoveList_r16, SL_MeasObjectToRemoveList_r16_sequence_of, + 1, maxNrofSL_ObjectId_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SL_MeasObject_r16_sequence[] = { + { &hf_nr_rrc_frequencyInfoSL_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_MeasObject_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_MeasObject_r16, SL_MeasObject_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_MeasObjectInfo_r16_sequence[] = { + { &hf_nr_rrc_sl_MeasObjectId_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasObjectId_r16 }, + { &hf_nr_rrc_sl_MeasObject_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasObject_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_MeasObjectInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_MeasObjectInfo_r16, SL_MeasObjectInfo_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_MeasObjectList_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_MeasObjectList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasObjectInfo_r16 }, +}; + +static int +dissect_nr_rrc_SL_MeasObjectList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_MeasObjectList_r16, SL_MeasObjectList_r16_sequence_of, + 1, maxNrofSL_ObjectId_r16, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_SL_ReportConfigId_r16(tvbuff_t *tvb _U_, int offset _U_, 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, maxNrofSL_ReportConfigId_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SL_ReportConfigToRemoveList_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_ReportConfigToRemoveList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ReportConfigId_r16 }, +}; + +static int +dissect_nr_rrc_SL_ReportConfigToRemoveList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_ReportConfigToRemoveList_r16, SL_ReportConfigToRemoveList_r16_sequence_of, + 1, maxNrofSL_ReportConfigId_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_ReportAmount_r16_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_sl_ReportAmount_r16(tvbuff_t *tvb _U_, int offset _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_SL_MeasReportQuantity_r16_vals[] = { + { 0, "sl-RSRP-r16" }, + { 0, NULL } +}; + +static const per_choice_t SL_MeasReportQuantity_r16_choice[] = { + { 0, &hf_nr_rrc_sl_RSRP_r16 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_RSRP_Range }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_MeasReportQuantity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_MeasReportQuantity_r16, SL_MeasReportQuantity_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_SL_RS_Type_r16_vals[] = { + { 0, "dmrs" }, + { 1, "spare3" }, + { 2, "spare2" }, + { 3, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_SL_RS_Type_r16(tvbuff_t *tvb _U_, int offset _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 SL_PeriodicalReportConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_ReportInterval_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval }, + { &hf_nr_rrc_sl_ReportAmount_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_ReportAmount_r16 }, + { &hf_nr_rrc_sl_ReportQuantity_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasReportQuantity_r16 }, + { &hf_nr_rrc_sl_RS_Type_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RS_Type_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_PeriodicalReportConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_PeriodicalReportConfig_r16, SL_PeriodicalReportConfig_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_SL_MeasTriggerQuantity_r16_vals[] = { + { 0, "sl-RSRP-r16" }, + { 0, NULL } +}; + +static const per_choice_t SL_MeasTriggerQuantity_r16_choice[] = { + { 0, &hf_nr_rrc_sl_RSRP_r16 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_RSRP_Range }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_MeasTriggerQuantity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_MeasTriggerQuantity_r16, SL_MeasTriggerQuantity_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_eventS1_r16_sequence[] = { + { &hf_nr_rrc_s1_Threshold_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasTriggerQuantity_r16 }, + { &hf_nr_rrc_sl_ReportOnLeave_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { &hf_nr_rrc_sl_Hysteresis_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis }, + { &hf_nr_rrc_sl_TimeToTrigger_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_eventS1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_eventS1_r16, T_eventS1_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_eventS2_r16_sequence[] = { + { &hf_nr_rrc_s2_Threshold_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasTriggerQuantity_r16 }, + { &hf_nr_rrc_sl_ReportOnLeave_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { &hf_nr_rrc_sl_Hysteresis_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis }, + { &hf_nr_rrc_sl_TimeToTrigger_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_eventS2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_eventS2_r16, T_eventS2_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_EventId_r16_vals[] = { + { 0, "eventS1-r16" }, + { 1, "eventS2-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_sl_EventId_r16_choice[] = { + { 0, &hf_nr_rrc_eventS1_r16 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventS1_r16 }, + { 1, &hf_nr_rrc_eventS2_r16 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventS2_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_EventId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_EventId_r16, T_sl_EventId_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sl_ReportAmount_r16_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_sl_ReportAmount_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 8, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SL_EventTriggerConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_EventId_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_EventId_r16 }, + { &hf_nr_rrc_sl_ReportInterval_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval }, + { &hf_nr_rrc_sl_ReportAmount_r16_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_ReportAmount_r16_01 }, + { &hf_nr_rrc_sl_ReportQuantity_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasReportQuantity_r16 }, + { &hf_nr_rrc_sl_RS_Type_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RS_Type_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_EventTriggerConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_EventTriggerConfig_r16, SL_EventTriggerConfig_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_ReportType_r16_vals[] = { + { 0, "sl-Periodical-r16" }, + { 1, "sl-EventTriggered-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_sl_ReportType_r16_choice[] = { + { 0, &hf_nr_rrc_sl_Periodical_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SL_PeriodicalReportConfig_r16 }, + { 1, &hf_nr_rrc_sl_EventTriggered_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_SL_EventTriggerConfig_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_ReportType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_ReportType_r16, T_sl_ReportType_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SL_ReportConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_ReportType_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_ReportType_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_ReportConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_ReportConfig_r16, SL_ReportConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_ReportConfigInfo_r16_sequence[] = { + { &hf_nr_rrc_sl_ReportConfigId_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ReportConfigId_r16 }, + { &hf_nr_rrc_sl_ReportConfig_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ReportConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_ReportConfigInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_ReportConfigInfo_r16, SL_ReportConfigInfo_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_ReportConfigList_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_ReportConfigList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ReportConfigInfo_r16 }, +}; + +static int +dissect_nr_rrc_SL_ReportConfigList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_ReportConfigList_r16, SL_ReportConfigList_r16_sequence_of, + 1, maxNrofSL_ReportConfigId_r16, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_SL_MeasId_r16(tvbuff_t *tvb _U_, int offset _U_, 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, maxNrofSL_MeasId_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SL_MeasIdToRemoveList_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_MeasIdToRemoveList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasId_r16 }, +}; + +static int +dissect_nr_rrc_SL_MeasIdToRemoveList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_MeasIdToRemoveList_r16, SL_MeasIdToRemoveList_r16_sequence_of, + 1, maxNrofSL_MeasId_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SL_MeasIdInfo_r16_sequence[] = { + { &hf_nr_rrc_sl_MeasId_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasId_r16 }, + { &hf_nr_rrc_sl_MeasObjectId_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasObjectId_r16 }, + { &hf_nr_rrc_sl_ReportConfigId_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ReportConfigId_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_MeasIdInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_MeasIdInfo_r16, SL_MeasIdInfo_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_MeasIdList_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_MeasIdList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasIdInfo_r16 }, +}; + +static int +dissect_nr_rrc_SL_MeasIdList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_MeasIdList_r16, SL_MeasIdList_r16_sequence_of, + 1, maxNrofSL_MeasId_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SL_QuantityConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_FilterCoefficientDMRS_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_QuantityConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_QuantityConfig_r16, SL_QuantityConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_MeasConfig_r16_sequence[] = { + { &hf_nr_rrc_sl_MeasObjectToRemoveList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_MeasObjectToRemoveList_r16 }, + { &hf_nr_rrc_sl_MeasObjectToAddModList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_MeasObjectList_r16 }, + { &hf_nr_rrc_sl_ReportConfigToRemoveList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_ReportConfigToRemoveList_r16 }, + { &hf_nr_rrc_sl_ReportConfigToAddModList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_ReportConfigList_r16 }, + { &hf_nr_rrc_sl_MeasIdToRemoveList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_MeasIdToRemoveList_r16 }, + { &hf_nr_rrc_sl_MeasIdToAddModList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_MeasIdList_r16 }, + { &hf_nr_rrc_sl_QuantityConfig_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_QuantityConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_MeasConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_MeasConfig_r16, SL_MeasConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_MeasConfigInfo_r16_sequence[] = { + { &hf_nr_rrc_sl_DestinationIndex_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_DestinationIndex_r16 }, + { &hf_nr_rrc_sl_MeasConfig_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_MeasConfigInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_MeasConfigInfo_r16, SL_MeasConfigInfo_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_MeasConfigInfo_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_MeasConfigInfoToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasConfigInfo_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_MeasConfigInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_MeasConfigInfo_r16, SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_MeasConfigInfo_r16_sequence_of, + 1, maxNrofSL_Dest_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_t400_r16_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_t400_r16(tvbuff_t *tvb _U_, int offset _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 SL_ConfigDedicatedNR_r16_sequence[] = { + { &hf_nr_rrc_sl_PHY_MAC_RLC_Config_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_PHY_MAC_RLC_Config_r16 }, + { &hf_nr_rrc_sl_RadioBearerToReleaseList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Uu_ConfigIndex_r16 }, + { &hf_nr_rrc_sl_RadioBearerToAddModList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RadioBearerConfig_r16 }, + { &hf_nr_rrc_sl_MeasConfigInfoToReleaseList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16 }, + { &hf_nr_rrc_sl_MeasConfigInfoToAddModList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_MeasConfigInfo_r16 }, + { &hf_nr_rrc_t400_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_t400_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_ConfigDedicatedNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_ConfigDedicatedNR_r16, SL_ConfigDedicatedNR_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_ConfigDedicatedNR_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_sl_ConfigDedicatedNR_r16_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_SL_ConfigDedicatedNR_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_ConfigDedicatedNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_ConfigDedicatedNR_r16, T_sl_ConfigDedicatedNR_r16_choice, + NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_T_sl_ConfigDedicatedEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *sl_config_ded_eutra_tvb = NULL; + proto_tree *subtree; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &sl_config_ded_eutra_tvb); + + if (sl_config_ded_eutra_tvb && lte_rrc_conn_reconf_handle) { + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ConfigDedicatedEUTRA); + nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, sl_config_ded_eutra_tvb, actx->pinfo, subtree); + } + + + return offset; +} + + +static const value_string nr_rrc_SL_TimeOffsetEUTRA_r16_vals[] = { + { 0, "ms0" }, + { 1, "ms0dot25" }, + { 2, "ms0dot5" }, + { 3, "ms0dot625" }, + { 4, "ms0dot75" }, + { 5, "ms1" }, + { 6, "ms1dot25" }, + { 7, "ms1dot5" }, + { 8, "ms1dot75" }, + { 9, "ms2" }, + { 10, "ms2dot5" }, + { 11, "ms3" }, + { 12, "ms4" }, + { 13, "ms5" }, + { 14, "ms6" }, + { 15, "ms8" }, + { 16, "ms10" }, + { 17, "ms20" }, + { 0, NULL } +}; + +static value_string_ext nr_rrc_SL_TimeOffsetEUTRA_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_SL_TimeOffsetEUTRA_r16_vals); + + +static int +dissect_nr_rrc_SL_TimeOffsetEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 18, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_8_OF_SL_TimeOffsetEUTRA_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_TimeOffsetEUTRA_List_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_TimeOffsetEUTRA_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_8_OF_SL_TimeOffsetEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_8_OF_SL_TimeOffsetEUTRA_r16, SEQUENCE_SIZE_8_OF_SL_TimeOffsetEUTRA_r16_sequence_of, + 8, 8, FALSE); + + return offset; +} + + +static const per_sequence_t SL_ConfigDedicatedEUTRA_Info_r16_sequence[] = { + { &hf_nr_rrc_sl_ConfigDedicatedEUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_ConfigDedicatedEUTRA_r16 }, + { &hf_nr_rrc_sl_TimeOffsetEUTRA_List_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_8_OF_SL_TimeOffsetEUTRA_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_ConfigDedicatedEUTRA_Info_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_ConfigDedicatedEUTRA_Info_r16, SL_ConfigDedicatedEUTRA_Info_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_ConfigDedicatedEUTRA_Info_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_sl_ConfigDedicatedEUTRA_Info_r16_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_SL_ConfigDedicatedEUTRA_Info_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_ConfigDedicatedEUTRA_Info_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_ConfigDedicatedEUTRA_Info_r16, T_sl_ConfigDedicatedEUTRA_Info_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_23_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_nonCriticalExtension_23, T_nonCriticalExtension_23_sequence); + + return offset; +} + + +static const per_sequence_t RRCReconfiguration_v1610_IEs_sequence[] = { + { &hf_nr_rrc_otherConfig_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OtherConfig_v1610 }, + { &hf_nr_rrc_bap_Config_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bap_Config_r16 }, + { &hf_nr_rrc_iab_IP_AddressConfigurationList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_IAB_IP_AddressConfigurationList_r16 }, + { &hf_nr_rrc_conditionalReconfiguration_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ConditionalReconfiguration_r16 }, + { &hf_nr_rrc_daps_SourceRelease_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_daps_SourceRelease_r16 }, + { &hf_nr_rrc_t316_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_t316_r16 }, + { &hf_nr_rrc_needForGapsConfigNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_needForGapsConfigNR_r16 }, + { &hf_nr_rrc_onDemandSIB_Request_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_onDemandSIB_Request_r16 }, + { &hf_nr_rrc_dedicatedPosSysInfoDelivery_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dedicatedPosSysInfoDelivery_r16 }, + { &hf_nr_rrc_sl_ConfigDedicatedNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_ConfigDedicatedNR_r16 }, + { &hf_nr_rrc_sl_ConfigDedicatedEUTRA_Info_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_ConfigDedicatedEUTRA_Info_r16 }, + { &hf_nr_rrc_nonCriticalExtension_42, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_23 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RRCReconfiguration_v1610_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_v1610_IEs, RRCReconfiguration_v1610_IEs_sequence); return offset; } @@ -18755,7 +34580,7 @@ static const per_sequence_t RRCReconfiguration_v1560_IEs_sequence[] = { { &hf_nr_rrc_mrdc_SecondaryCellGroupConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mrdc_SecondaryCellGroupConfig }, { &hf_nr_rrc_radioBearerConfig2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_radioBearerConfig2 }, { &hf_nr_rrc_sk_Counter , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SK_Counter }, - { &hf_nr_rrc_nonCriticalExtension_28, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_17 }, + { &hf_nr_rrc_nonCriticalExtension_41, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReconfiguration_v1610_IEs }, { NULL, 0, 0, NULL } }; @@ -18770,7 +34595,7 @@ dissect_nr_rrc_RRCReconfiguration_v1560_IEs(tvbuff_t *tvb _U_, int offset _U_, a static const per_sequence_t RRCReconfiguration_v1540_IEs_sequence[] = { { &hf_nr_rrc_otherConfig_v1540, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OtherConfig_v1540 }, - { &hf_nr_rrc_nonCriticalExtension_27, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReconfiguration_v1560_IEs }, + { &hf_nr_rrc_nonCriticalExtension_40, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReconfiguration_v1560_IEs }, { NULL, 0, 0, NULL } }; @@ -18791,7 +34616,7 @@ static const per_sequence_t RRCReconfiguration_v1530_IEs_sequence[] = { { &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_26, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReconfiguration_v1540_IEs }, + { &hf_nr_rrc_nonCriticalExtension_39, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReconfiguration_v1540_IEs }, { NULL, 0, 0, NULL } }; @@ -18809,7 +34634,7 @@ static const per_sequence_t RRCReconfiguration_IEs_sequence[] = { { &hf_nr_rrc_secondaryCellGroup, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_secondaryCellGroup }, { &hf_nr_rrc_measConfig , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasConfig }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, - { &hf_nr_rrc_nonCriticalExtension_25, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReconfiguration_v1530_IEs }, + { &hf_nr_rrc_nonCriticalExtension_38, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReconfiguration_v1530_IEs }, { NULL, 0, 0, NULL } }; @@ -18822,35 +34647,35 @@ dissect_nr_rrc_RRCReconfiguration_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const per_sequence_t T_criticalExtensionsFuture_16_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_22_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_) { +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_16, T_criticalExtensionsFuture_16_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_22, T_criticalExtensionsFuture_22_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_16_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_22_vals[] = { { 0, "rrcReconfiguration" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_16_choice[] = { +static const per_choice_t T_criticalExtensions_22_choice[] = { { 0, &hf_nr_rrc_rrcReconfiguration_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfiguration_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_16 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_22, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_22 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_16(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_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_16, T_criticalExtensions_16_choice, + ett_nr_rrc_T_criticalExtensions_22, T_criticalExtensions_22_choice, NULL); return offset; @@ -18859,7 +34684,7 @@ dissect_nr_rrc_T_criticalExtensions_16(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t RRCReconfiguration_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, - { &hf_nr_rrc_criticalExtensions_16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_16 }, + { &hf_nr_rrc_criticalExtensions_22, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_22 }, { NULL, 0, 0, NULL } }; @@ -18911,14 +34736,150 @@ dissect_nr_rrc_T_radioBearerConfig2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_c } -static const per_sequence_t T_nonCriticalExtension_21_sequence[] = { +static const value_string nr_rrc_T_idleModeMeasurementReq_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_idleModeMeasurementReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_restoreMCG_SCells_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_restoreMCG_SCells_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_restoreSCG_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_restoreSCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_T_nr_SCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU); + + return offset; +} + + + +static int +dissect_nr_rrc_T_eutra_SCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *eutra_scg_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &eutra_scg_tvb); + + if (eutra_scg_tvb && lte_rrc_conn_reconf_handle) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_eutra_SCG); + nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, eutra_scg_tvb, actx->pinfo, subtree); + } + + + return offset; +} + + +static const value_string nr_rrc_T_mrdc_SecondaryCellGroup_r16_vals[] = { + { 0, "nr-SCG-r16" }, + { 1, "eutra-SCG-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_mrdc_SecondaryCellGroup_r16_choice[] = { + { 0, &hf_nr_rrc_nr_SCG_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nr_SCG_r16 }, + { 1, &hf_nr_rrc_eutra_SCG_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eutra_SCG_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_mrdc_SecondaryCellGroup_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_mrdc_SecondaryCellGroup_r16, T_mrdc_SecondaryCellGroup_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_needForGapsConfigNR_r16_01_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_needForGapsConfigNR_r16_01_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_NeedForGapsConfigNR_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_needForGapsConfigNR_r16_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_needForGapsConfigNR_r16_01, T_needForGapsConfigNR_r16_01_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_27_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_nonCriticalExtension_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_nonCriticalExtension_21, T_nonCriticalExtension_21_sequence); + ett_nr_rrc_T_nonCriticalExtension_27, T_nonCriticalExtension_27_sequence); + + return offset; +} + + +static const per_sequence_t RRCResume_v1610_IEs_sequence[] = { + { &hf_nr_rrc_idleModeMeasurementReq_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_idleModeMeasurementReq_r16 }, + { &hf_nr_rrc_restoreMCG_SCells_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_restoreMCG_SCells_r16 }, + { &hf_nr_rrc_restoreSCG_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_restoreSCG_r16 }, + { &hf_nr_rrc_mrdc_SecondaryCellGroup_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mrdc_SecondaryCellGroup_r16 }, + { &hf_nr_rrc_needForGapsConfigNR_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_needForGapsConfigNR_r16_01 }, + { &hf_nr_rrc_nonCriticalExtension_53, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_27 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RRCResume_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_RRCResume_v1610_IEs, RRCResume_v1610_IEs_sequence); return offset; } @@ -18927,7 +34888,7 @@ dissect_nr_rrc_T_nonCriticalExtension_21(tvbuff_t *tvb _U_, int offset _U_, asn1 static const per_sequence_t RRCResume_v1560_IEs_sequence[] = { { &hf_nr_rrc_radioBearerConfig2_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_radioBearerConfig2_01 }, { &hf_nr_rrc_sk_Counter , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SK_Counter }, - { &hf_nr_rrc_nonCriticalExtension_36, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_21 }, + { &hf_nr_rrc_nonCriticalExtension_52, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCResume_v1610_IEs }, { NULL, 0, 0, NULL } }; @@ -18946,7 +34907,7 @@ static const per_sequence_t RRCResume_IEs_sequence[] = { { &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_35, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCResume_v1560_IEs }, + { &hf_nr_rrc_nonCriticalExtension_51, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCResume_v1560_IEs }, { NULL, 0, 0, NULL } }; @@ -18959,35 +34920,35 @@ dissect_nr_rrc_RRCResume_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const per_sequence_t T_criticalExtensionsFuture_20_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_26_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_) { +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_20, T_criticalExtensionsFuture_20_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_26, T_criticalExtensionsFuture_26_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_20_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_26_vals[] = { { 0, "rrcResume" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_20_choice[] = { +static const per_choice_t T_criticalExtensions_26_choice[] = { { 0, &hf_nr_rrc_rrcResume_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCResume_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_20, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_20 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_26, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_26 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_20(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_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_20, T_criticalExtensions_20_choice, + ett_nr_rrc_T_criticalExtensions_26, T_criticalExtensions_26_choice, NULL); return offset; @@ -18996,7 +34957,7 @@ dissect_nr_rrc_T_criticalExtensions_20(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t RRCResume_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, - { &hf_nr_rrc_criticalExtensions_20, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_20 }, + { &hf_nr_rrc_criticalExtensions_26, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_26 }, { NULL, 0, 0, NULL } }; @@ -19288,14 +35249,149 @@ dissect_nr_rrc_T_deprioritisationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } -static const per_sequence_t T_nonCriticalExtension_20_sequence[] = { +static const value_string nr_rrc_T_voiceFallbackIndication_r16_01_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_voiceFallbackIndication_r16_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_measIdleDuration_r16_vals[] = { + { 0, "sec10" }, + { 1, "sec30" }, + { 2, "sec60" }, + { 3, "sec120" }, + { 4, "sec180" }, + { 5, "sec240" }, + { 6, "sec300" }, + { 7, "spare" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_measIdleDuration_r16(tvbuff_t *tvb _U_, int offset _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 ValidityCellList_sequence_of[1] = { + { &hf_nr_rrc_ValidityCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range }, +}; + +static int +dissect_nr_rrc_ValidityCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_ValidityCellList, ValidityCellList_sequence_of, + 1, maxCellMeasIdle_r16, FALSE); + + return offset; +} + + +static const per_sequence_t ValidityArea_r16_sequence[] = { + { &hf_nr_rrc_carrierFreq_r16_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, + { &hf_nr_rrc_validityCellList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ValidityCellList }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_ValidityArea_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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); + ett_nr_rrc_ValidityArea_r16, ValidityArea_r16_sequence); + + return offset; +} + + +static const per_sequence_t ValidityAreaList_r16_sequence_of[1] = { + { &hf_nr_rrc_ValidityAreaList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ValidityArea_r16 }, +}; + +static int +dissect_nr_rrc_ValidityAreaList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_ValidityAreaList_r16, ValidityAreaList_r16_sequence_of, + 1, maxFreqIdle_r16, FALSE); + + return offset; +} + + +static const per_sequence_t MeasIdleConfigDedicated_r16_sequence[] = { + { &hf_nr_rrc_measIdleCarrierListNR_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16 }, + { &hf_nr_rrc_measIdleCarrierListEUTRA_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16 }, + { &hf_nr_rrc_measIdleDuration_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measIdleDuration_r16 }, + { &hf_nr_rrc_validityAreaList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ValidityAreaList_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasIdleConfigDedicated_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasIdleConfigDedicated_r16, MeasIdleConfigDedicated_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_measIdleConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_measIdleConfig_r16_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_MeasIdleConfigDedicated_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_measIdleConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_measIdleConfig_r16, T_measIdleConfig_r16_choice, + NULL); + + 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 RRCRelease_v1610_IEs_sequence[] = { + { &hf_nr_rrc_voiceFallbackIndication_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_voiceFallbackIndication_r16_01 }, + { &hf_nr_rrc_measIdleConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_measIdleConfig_r16 }, + { &hf_nr_rrc_nonCriticalExtension_50, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_26 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RRCRelease_v1610_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_v1610_IEs, RRCRelease_v1610_IEs_sequence); return offset; } @@ -19303,7 +35399,7 @@ dissect_nr_rrc_T_nonCriticalExtension_20(tvbuff_t *tvb _U_, int offset _U_, asn1 static const per_sequence_t RRCRelease_v1540_IEs_sequence[] = { { &hf_nr_rrc_waitTime , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RejectWaitTime }, - { &hf_nr_rrc_nonCriticalExtension_34, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_20 }, + { &hf_nr_rrc_nonCriticalExtension_49, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCRelease_v1610_IEs }, { NULL, 0, 0, NULL } }; @@ -19322,7 +35418,7 @@ static const per_sequence_t RRCRelease_IEs_sequence[] = { { &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_33, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCRelease_v1540_IEs }, + { &hf_nr_rrc_nonCriticalExtension_48, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCRelease_v1540_IEs }, { NULL, 0, 0, NULL } }; @@ -19335,35 +35431,35 @@ dissect_nr_rrc_RRCRelease_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const per_sequence_t T_criticalExtensionsFuture_19_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_25_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensionsFuture_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_19, T_criticalExtensionsFuture_19_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_25, T_criticalExtensionsFuture_25_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_19_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_25_vals[] = { { 0, "rrcRelease" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_19_choice[] = { +static const per_choice_t T_criticalExtensions_25_choice[] = { { 0, &hf_nr_rrc_rrcRelease_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCRelease_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_19, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_19 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_25, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_25 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_19(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_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_19, T_criticalExtensions_19_choice, + ett_nr_rrc_T_criticalExtensions_25, T_criticalExtensions_25_choice, NULL); return offset; @@ -19372,7 +35468,7 @@ dissect_nr_rrc_T_criticalExtensions_19(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t RRCRelease_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, - { &hf_nr_rrc_criticalExtensions_19, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_19 }, + { &hf_nr_rrc_criticalExtensions_25, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_25 }, { NULL, 0, 0, NULL } }; @@ -19387,14 +35483,14 @@ dissect_nr_rrc_RRCRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } -static const per_sequence_t T_nonCriticalExtension_15_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_21_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_) { +dissect_nr_rrc_T_nonCriticalExtension_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_nonCriticalExtension_15, T_nonCriticalExtension_15_sequence); + ett_nr_rrc_T_nonCriticalExtension_21, T_nonCriticalExtension_21_sequence); return offset; } @@ -19403,7 +35499,7 @@ dissect_nr_rrc_T_nonCriticalExtension_15(tvbuff_t *tvb _U_, int offset _U_, asn1 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_23, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_15 }, + { &hf_nr_rrc_nonCriticalExtension_35, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_21 }, { NULL, 0, 0, NULL } }; @@ -19416,35 +35512,35 @@ dissect_nr_rrc_RRCReestablishment_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const per_sequence_t T_criticalExtensionsFuture_14_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_20_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_) { +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_14, T_criticalExtensionsFuture_14_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_20, T_criticalExtensionsFuture_20_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_14_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_20_vals[] = { { 0, "rrcReestablishment" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_14_choice[] = { +static const per_choice_t T_criticalExtensions_20_choice[] = { { 0, &hf_nr_rrc_rrcReestablishment_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReestablishment_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_14, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_14 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_20, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_20 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_14(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_criticalExtensions_14, T_criticalExtensions_14_choice, + ett_nr_rrc_T_criticalExtensions_20, T_criticalExtensions_20_choice, NULL); return offset; @@ -19453,7 +35549,7 @@ dissect_nr_rrc_T_criticalExtensions_14(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t RRCReestablishment_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, - { &hf_nr_rrc_criticalExtensions_14, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_14 }, + { &hf_nr_rrc_criticalExtensions_20, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_20 }, { NULL, 0, 0, NULL } }; @@ -19482,14 +35578,14 @@ dissect_nr_rrc_SecurityConfigSMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } -static const per_sequence_t T_nonCriticalExtension_27_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_33_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_27, T_nonCriticalExtension_27_sequence); + ett_nr_rrc_T_nonCriticalExtension_33, T_nonCriticalExtension_33_sequence); return offset; } @@ -19498,7 +35594,7 @@ dissect_nr_rrc_T_nonCriticalExtension_27(tvbuff_t *tvb _U_, int offset _U_, asn1 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_44, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_27 }, + { &hf_nr_rrc_nonCriticalExtension_63, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_33 }, { NULL, 0, 0, NULL } }; @@ -19511,35 +35607,35 @@ dissect_nr_rrc_SecurityModeCommand_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_c } -static const per_sequence_t T_criticalExtensionsFuture_27_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_33_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensionsFuture_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_criticalExtensionsFuture_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensionsFuture_27, T_criticalExtensionsFuture_27_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_33, T_criticalExtensionsFuture_33_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_27_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_33_vals[] = { { 0, "securityModeCommand" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_27_choice[] = { +static const per_choice_t T_criticalExtensions_33_choice[] = { { 0, &hf_nr_rrc_securityModeCommand_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SecurityModeCommand_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_27, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_27 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_33, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_33 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_27(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_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensions_27, T_criticalExtensions_27_choice, + ett_nr_rrc_T_criticalExtensions_33, T_criticalExtensions_33_choice, NULL); return offset; @@ -19548,7 +35644,7 @@ dissect_nr_rrc_T_criticalExtensions_27(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t SecurityModeCommand_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, - { &hf_nr_rrc_criticalExtensions_27, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_27 }, + { &hf_nr_rrc_criticalExtensions_33, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_33 }, { NULL, 0, 0, NULL } }; @@ -19563,14 +35659,29 @@ dissect_nr_rrc_SecurityModeCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const per_sequence_t T_nonCriticalExtension_09_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_11_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_09, T_nonCriticalExtension_09_sequence); + ett_nr_rrc_T_nonCriticalExtension_11, T_nonCriticalExtension_11_sequence); + + return offset; +} + + +static const per_sequence_t DLInformationTransfer_v1610_IEs_sequence[] = { + { &hf_nr_rrc_referenceTimeInfo_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ReferenceTimeInfo_r16 }, + { &hf_nr_rrc_nonCriticalExtension_23, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_DLInformationTransfer_v1610_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_v1610_IEs, DLInformationTransfer_v1610_IEs_sequence); return offset; } @@ -19579,7 +35690,7 @@ dissect_nr_rrc_T_nonCriticalExtension_09(tvbuff_t *tvb _U_, int offset _U_, asn1 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_17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_09 }, + { &hf_nr_rrc_nonCriticalExtension_22, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DLInformationTransfer_v1610_IEs }, { NULL, 0, 0, NULL } }; @@ -19592,35 +35703,35 @@ dissect_nr_rrc_DLInformationTransfer_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1 } -static const per_sequence_t T_criticalExtensionsFuture_09_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_11_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_) { +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_09, T_criticalExtensionsFuture_09_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_11, T_criticalExtensionsFuture_11_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_09_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_11_vals[] = { { 0, "dlInformationTransfer" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_09_choice[] = { +static const per_choice_t T_criticalExtensions_11_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 }, + { 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_09(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_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_09, T_criticalExtensions_09_choice, + ett_nr_rrc_T_criticalExtensions_11, T_criticalExtensions_11_choice, NULL); return offset; @@ -19629,7 +35740,7 @@ dissect_nr_rrc_T_criticalExtensions_09(tvbuff_t *tvb _U_, int offset _U_, asn1_c 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 }, + { &hf_nr_rrc_criticalExtensions_11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_11 }, { NULL, 0, 0, NULL } }; @@ -19735,35 +35846,35 @@ dissect_nr_rrc_UECapabilityEnquiry_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_c } -static const per_sequence_t T_criticalExtensionsFuture_32_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_39_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensionsFuture_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_criticalExtensionsFuture_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensionsFuture_32, T_criticalExtensionsFuture_32_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_39, T_criticalExtensionsFuture_39_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_32_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_39_vals[] = { { 0, "ueCapabilityEnquiry" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_32_choice[] = { +static const per_choice_t T_criticalExtensions_39_choice[] = { { 0, &hf_nr_rrc_ueCapabilityEnquiry_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UECapabilityEnquiry_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_32, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_32 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_39, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_39 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_criticalExtensions_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensions_32, T_criticalExtensions_32_choice, + ett_nr_rrc_T_criticalExtensions_39, T_criticalExtensions_39_choice, NULL); return offset; @@ -19772,7 +35883,7 @@ dissect_nr_rrc_T_criticalExtensions_32(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t UECapabilityEnquiry_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, - { &hf_nr_rrc_criticalExtensions_32, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_32 }, + { &hf_nr_rrc_criticalExtensions_39, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_39 }, { NULL, 0, 0, NULL } }; @@ -19843,7 +35954,7 @@ dissect_nr_rrc_T_nonCriticalExtension_07(tvbuff_t *tvb _U_, int offset _U_, asn1 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_15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_07 }, + { &hf_nr_rrc_nonCriticalExtension_18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_07 }, { NULL, 0, 0, NULL } }; @@ -19910,7 +36021,7 @@ dissect_nr_rrc_CounterCheck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static const value_string nr_rrc_T_targetRAT_Type_vals[] = { { T_targetRAT_Type_eutra, "eutra" }, - { T_targetRAT_Type_spare3, "spare3" }, + { T_targetRAT_Type_utra_fdd_v1610, "utra-fdd-v1610" }, { T_targetRAT_Type_spare2, "spare2" }, { T_targetRAT_Type_spare1, "spare1" }, { 0, NULL } @@ -19941,13 +36052,17 @@ dissect_nr_rrc_T_targetRAT_MessageContainer(tvbuff_t *tvb _U_, int offset _U_, a 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); + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_targetRAT_MessageContainer); switch (nr_priv->target_rat_type) { case T_targetRAT_Type_eutra: /* eutra */ if (lte_rrc_dl_dcch_handle) nr_rrc_call_dissector(lte_rrc_dl_dcch_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree); break; + case T_targetRAT_Type_utra_fdd_v1610: + /* utra-fdd */ + dissect_rrc_HandoverToUTRANCommand_PDU(target_rat_msg_cont_tvb, actx->pinfo, subtree, NULL); + break; default: break; } @@ -19984,14 +36099,44 @@ dissect_nr_rrc_T_nas_SecurityParamFromNR(tvbuff_t *tvb _U_, int offset _U_, asn1 } -static const per_sequence_t T_nonCriticalExtension_13_sequence[] = { +static const value_string nr_rrc_T_voiceFallbackIndication_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_voiceFallbackIndication_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_19_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_) { +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_13, T_nonCriticalExtension_13_sequence); + ett_nr_rrc_T_nonCriticalExtension_19, T_nonCriticalExtension_19_sequence); + + return offset; +} + + +static const per_sequence_t MobilityFromNRCommand_v1610_IEs_sequence[] = { + { &hf_nr_rrc_voiceFallbackIndication_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_voiceFallbackIndication_r16 }, + { &hf_nr_rrc_nonCriticalExtension_33, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_19 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MobilityFromNRCommand_v1610_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_v1610_IEs, MobilityFromNRCommand_v1610_IEs_sequence); return offset; } @@ -20002,7 +36147,7 @@ static const per_sequence_t MobilityFromNRCommand_IEs_sequence[] = { { &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_T_nas_SecurityParamFromNR }, { &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_13 }, + { &hf_nr_rrc_nonCriticalExtension_32, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MobilityFromNRCommand_v1610_IEs }, { NULL, 0, 0, NULL } }; @@ -20015,35 +36160,35 @@ dissect_nr_rrc_MobilityFromNRCommand_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1 } -static const per_sequence_t T_criticalExtensionsFuture_13_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_19_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensionsFuture_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_13, T_criticalExtensionsFuture_13_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_19, T_criticalExtensionsFuture_19_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_13_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_19_vals[] = { { 0, "mobilityFromNRCommand" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_13_choice[] = { +static const per_choice_t T_criticalExtensions_19_choice[] = { { 0, &hf_nr_rrc_mobilityFromNRCommand_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MobilityFromNRCommand_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_13, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_13 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_19, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_19 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_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_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_13, T_criticalExtensions_13_choice, + ett_nr_rrc_T_criticalExtensions_19, T_criticalExtensions_19_choice, NULL); return offset; @@ -20052,7 +36197,7 @@ dissect_nr_rrc_T_criticalExtensions_13(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t MobilityFromNRCommand_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, - { &hf_nr_rrc_criticalExtensions_13, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_13 }, + { &hf_nr_rrc_criticalExtensions_19, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_19 }, { NULL, 0, 0, NULL } }; @@ -20067,6 +36212,951 @@ dissect_nr_rrc_MobilityFromNRCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } +static const value_string nr_rrc_T_rrc_MessageSegmentType_r16_vals[] = { + { 0, "notLastSegment" }, + { 1, "lastSegment" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_rrc_MessageSegmentType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_nonCriticalExtension_10_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_nonCriticalExtension_10, T_nonCriticalExtension_10_sequence); + + return offset; +} + + +static const per_sequence_t DLDedicatedMessageSegment_r16_IEs_sequence[] = { + { &hf_nr_rrc_segmentNumber_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4 }, + { &hf_nr_rrc_rrc_MessageSegmentContainer_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING }, + { &hf_nr_rrc_rrc_MessageSegmentType_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rrc_MessageSegmentType_r16 }, + { &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_10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_DLDedicatedMessageSegment_r16_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_DLDedicatedMessageSegment_r16_IEs, DLDedicatedMessageSegment_r16_IEs_sequence); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_10_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensionsFuture_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_criticalExtensionsFuture_10, T_criticalExtensionsFuture_10_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_criticalExtensions_10_vals[] = { + { 0, "dlDedicatedMessageSegment-r16" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_10_choice[] = { + { 0, &hf_nr_rrc_dlDedicatedMessageSegment_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_DLDedicatedMessageSegment_r16_IEs }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_10, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_10 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensions_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_criticalExtensions_10, T_criticalExtensions_10_choice, + NULL); + + return offset; +} + + +static const per_sequence_t DLDedicatedMessageSegment_r16_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_DLDedicatedMessageSegment_r16(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 Dedicated MessageSegment"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_DLDedicatedMessageSegment_r16, DLDedicatedMessageSegment_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_idleModeMeasurementReq_r16_01_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_idleModeMeasurementReq_r16_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_logMeasReportReq_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_logMeasReportReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_connEstFailReportReq_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_connEstFailReportReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_ra_ReportReq_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ra_ReportReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_rlf_ReportReq_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_rlf_ReportReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_mobilityHistoryReportReq_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_mobilityHistoryReportReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_42_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_42(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_42, T_nonCriticalExtension_42_sequence); + + return offset; +} + + +static const per_sequence_t UEInformationRequest_r16_IEs_sequence[] = { + { &hf_nr_rrc_idleModeMeasurementReq_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_idleModeMeasurementReq_r16_01 }, + { &hf_nr_rrc_logMeasReportReq_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_logMeasReportReq_r16 }, + { &hf_nr_rrc_connEstFailReportReq_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_connEstFailReportReq_r16 }, + { &hf_nr_rrc_ra_ReportReq_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ra_ReportReq_r16 }, + { &hf_nr_rrc_rlf_ReportReq_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rlf_ReportReq_r16 }, + { &hf_nr_rrc_mobilityHistoryReportReq_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mobilityHistoryReportReq_r16 }, + { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, + { &hf_nr_rrc_nonCriticalExtension_76, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_42 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UEInformationRequest_r16_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_UEInformationRequest_r16_IEs, UEInformationRequest_r16_IEs_sequence); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_41_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensionsFuture_41(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_41, T_criticalExtensionsFuture_41_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_criticalExtensions_41_vals[] = { + { 0, "ueInformationRequest-r16" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_41_choice[] = { + { 0, &hf_nr_rrc_ueInformationRequest_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UEInformationRequest_r16_IEs }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_41, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_41 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensions_41(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_41, T_criticalExtensions_41_choice, + NULL); + + return offset; +} + + +static const per_sequence_t UEInformationRequest_r16_sequence[] = { + { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, + { &hf_nr_rrc_criticalExtensions_41, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_41 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UEInformationRequest_r16(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 Information Request"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_UEInformationRequest_r16, UEInformationRequest_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_T_dl_DCCH_MessageNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *dl_dcch_msg_nr_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &dl_dcch_msg_nr_tvb); + + if (dl_dcch_msg_nr_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dl_DCCH_MessageNR); + dissect_DL_DCCH_Message_PDU(dl_dcch_msg_nr_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + + +static int +dissect_nr_rrc_T_dl_DCCH_MessageEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *dl_dcch_msg_eutra_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &dl_dcch_msg_eutra_tvb); + + if (dl_dcch_msg_eutra_tvb && lte_rrc_dl_dcch_handle) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dl_DCCH_MessageEUTRA); + nr_rrc_call_dissector(lte_rrc_dl_dcch_handle, dl_dcch_msg_eutra_tvb, actx->pinfo, subtree); + } + + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_12_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_nonCriticalExtension_12, T_nonCriticalExtension_12_sequence); + + return offset; +} + + +static const per_sequence_t DLInformationTransferMRDC_r16_IEs_sequence[] = { + { &hf_nr_rrc_dl_DCCH_MessageNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_DCCH_MessageNR_r16 }, + { &hf_nr_rrc_dl_DCCH_MessageEUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_DCCH_MessageEUTRA_r16 }, + { &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_12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_DLInformationTransferMRDC_r16_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_DLInformationTransferMRDC_r16_IEs, DLInformationTransferMRDC_r16_IEs_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_c1_14_vals[] = { + { 0, "dlInformationTransferMRDC-r16" }, + { 1, "spare3" }, + { 2, "spare2" }, + { 3, "spare1" }, + { 0, NULL } +}; + +static const per_choice_t T_c1_14_choice[] = { + { 0, &hf_nr_rrc_dlInformationTransferMRDC_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_DLInformationTransferMRDC_r16_IEs }, + { 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 3, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_c1_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_c1_14, T_c1_14_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_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, "c1" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_12_choice[] = { + { 0, &hf_nr_rrc_c1_14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_14 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_12, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_12 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensions_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_criticalExtensions_12, T_criticalExtensions_12_choice, + NULL); + + return offset; +} + + +static const per_sequence_t DLInformationTransferMRDC_r16_sequence[] = { + { &hf_nr_rrc_criticalExtensions_12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_DLInformationTransferMRDC_r16(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 InformationTransfer MRDC"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_DLInformationTransferMRDC_r16, DLInformationTransferMRDC_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_OCTET_STRING_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 3, 3, FALSE, NULL); + + return offset; +} + + +static const per_sequence_t TraceReference_r16_sequence[] = { + { &hf_nr_rrc_plmn_Identity_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity }, + { &hf_nr_rrc_traceId_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING_SIZE_3 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_TraceReference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_TraceReference_r16, TraceReference_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_OCTET_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 2, 2, FALSE, NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_OCTET_STRING_SIZE_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 1, 1, FALSE, NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_AbsoluteTimeInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *abs_time_info_tvb = NULL; + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 48, 48, FALSE, NULL, 0, &abs_time_info_tvb, NULL); + + + if (abs_time_info_tvb) { + const gchar *str, *hf_str; + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_absTimeInfo); + str = tvb_bcd_dig_to_wmem_packet_str(abs_time_info_tvb, 0, 6, NULL, FALSE); + hf_str = wmem_strdup_printf(wmem_packet_scope(), "%c%c-%c%c-%c%c %c%c:%c%c:%c%c", str[0], str[1], + str[2], str[3], str[4], str[5], str[6], str[7], str[8], str[9], str[10], str[11]); + proto_tree_add_string(subtree, hf_nr_rrc_absolute_time, abs_time_info_tvb, 0, 6, hf_str); + } + + return offset; +} + + +static const per_sequence_t CGI_Info_Logging_r16_sequence[] = { + { &hf_nr_rrc_plmn_Identity_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity }, + { &hf_nr_rrc_cellIdentity_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellIdentity }, + { &hf_nr_rrc_trackingAreaCode_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_TrackingAreaCode }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CGI_Info_Logging_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_Logging_r16, CGI_Info_Logging_r16_sequence); + + return offset; +} + + +static const per_sequence_t CellGlobalIdList_r16_sequence_of[1] = { + { &hf_nr_rrc_CellGlobalIdList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CGI_Info_Logging_r16 }, +}; + +static int +dissect_nr_rrc_CellGlobalIdList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CellGlobalIdList_r16, CellGlobalIdList_r16_sequence_of, + 1, 32, FALSE); + + return offset; +} + + +static const per_sequence_t TrackingAreaCodeList_r16_sequence_of[1] = { + { &hf_nr_rrc_TrackingAreaCodeList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TrackingAreaCode }, +}; + +static int +dissect_nr_rrc_TrackingAreaCodeList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_TrackingAreaCodeList_r16, TrackingAreaCodeList_r16_sequence_of, + 1, 8, FALSE); + + return offset; +} + + +static const per_sequence_t TrackingAreaIdentity_r16_sequence[] = { + { &hf_nr_rrc_plmn_Identity_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity }, + { &hf_nr_rrc_trackingAreaCode_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TrackingAreaCode }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_TrackingAreaIdentity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_TrackingAreaIdentity_r16, TrackingAreaIdentity_r16_sequence); + + return offset; +} + + +static const per_sequence_t TrackingAreaIdentityList_r16_sequence_of[1] = { + { &hf_nr_rrc_TrackingAreaIdentityList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TrackingAreaIdentity_r16 }, +}; + +static int +dissect_nr_rrc_TrackingAreaIdentityList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_TrackingAreaIdentityList_r16, TrackingAreaIdentityList_r16_sequence_of, + 1, 8, FALSE); + + return offset; +} + + +static const value_string nr_rrc_AreaConfig_r16_vals[] = { + { 0, "cellGlobalIdList-r16" }, + { 1, "trackingAreaCodeList-r16" }, + { 2, "trackingAreaIdentityList-r16" }, + { 0, NULL } +}; + +static const per_choice_t AreaConfig_r16_choice[] = { + { 0, &hf_nr_rrc_cellGlobalIdList_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_CellGlobalIdList_r16 }, + { 1, &hf_nr_rrc_trackingAreaCodeList_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_TrackingAreaCodeList_r16 }, + { 2, &hf_nr_rrc_trackingAreaIdentityList_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_TrackingAreaIdentityList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_AreaConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_AreaConfig_r16, AreaConfig_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_32_OF_PhysCellId_sequence_of[1] = { + { &hf_nr_rrc_cellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_32_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_32_OF_PhysCellId, SEQUENCE_SIZE_1_32_OF_PhysCellId_sequence_of, + 1, 32, FALSE); + + return offset; +} + + +static const per_sequence_t InterFreqTargetInfo_r16_sequence[] = { + { &hf_nr_rrc_dl_CarrierFreq, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, + { &hf_nr_rrc_cellList_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_PhysCellId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_InterFreqTargetInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_InterFreqTargetInfo_r16, InterFreqTargetInfo_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16_sequence_of[1] = { + { &hf_nr_rrc_interFreqTargetList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqTargetInfo_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16, SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16_sequence_of, + 1, maxFreq, FALSE); + + return offset; +} + + +static const per_sequence_t AreaConfiguration_r16_sequence[] = { + { &hf_nr_rrc_areaConfig_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AreaConfig_r16 }, + { &hf_nr_rrc_interFreqTargetList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_AreaConfiguration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_AreaConfiguration_r16, AreaConfiguration_r16_sequence); + + return offset; +} + + +static const per_sequence_t PLMN_IdentityList2_r16_sequence_of[1] = { + { &hf_nr_rrc_PLMN_IdentityList2_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity }, +}; + +static int +dissect_nr_rrc_PLMN_IdentityList2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_IdentityList2_r16, PLMN_IdentityList2_r16_sequence_of, + 1, 16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_bt_NameList_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_bt_NameList_r16_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_BT_NameList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_bt_NameList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_bt_NameList_r16, T_bt_NameList_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_wlan_NameList_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_wlan_NameList_r16_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_WLAN_NameList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_wlan_NameList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_wlan_NameList_r16, T_wlan_NameList_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sensor_NameList_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_sensor_NameList_r16_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_Sensor_NameList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sensor_NameList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sensor_NameList_r16, T_sensor_NameList_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_LoggingDuration_r16_vals[] = { + { 0, "min10" }, + { 1, "min20" }, + { 2, "min40" }, + { 3, "min60" }, + { 4, "min90" }, + { 5, "min120" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_LoggingDuration_r16(tvbuff_t *tvb _U_, int offset _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_LoggingInterval_r16_vals[] = { + { 0, "ms320" }, + { 1, "ms640" }, + { 2, "ms1280" }, + { 3, "ms2560" }, + { 4, "ms5120" }, + { 5, "ms10240" }, + { 6, "ms20480" }, + { 7, "ms30720" }, + { 8, "ms40960" }, + { 9, "ms61440" }, + { 10, "infinity" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_LoggingInterval_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 11, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t LoggedPeriodicalReportConfig_r16_sequence[] = { + { &hf_nr_rrc_loggingInterval_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LoggingInterval_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_LoggedPeriodicalReportConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_LoggedPeriodicalReportConfig_r16, LoggedPeriodicalReportConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_eventL1_sequence[] = { + { &hf_nr_rrc_l1_Threshold , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity }, + { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis }, + { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_eventL1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_eventL1, T_eventL1_sequence); + + return offset; +} + + +static const value_string nr_rrc_EventType_r16_vals[] = { + { 0, "outOfCoverage" }, + { 1, "eventL1" }, + { 0, NULL } +}; + +static const per_choice_t EventType_r16_choice[] = { + { 0, &hf_nr_rrc_outOfCoverage, ASN1_EXTENSION_ROOT , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_eventL1 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventL1 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_EventType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_EventType_r16, EventType_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t LoggedEventTriggerConfig_r16_sequence[] = { + { &hf_nr_rrc_eventType_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EventType_r16 }, + { &hf_nr_rrc_loggingInterval_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LoggingInterval_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_LoggedEventTriggerConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_LoggedEventTriggerConfig_r16, LoggedEventTriggerConfig_r16_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_LoggedPeriodicalReportConfig_r16 }, + { 1, &hf_nr_rrc_eventTriggered, ASN1_EXTENSION_ROOT , dissect_nr_rrc_LoggedEventTriggerConfig_r16 }, + { 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 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 LoggedMeasurementConfiguration_r16_IEs_sequence[] = { + { &hf_nr_rrc_traceReference_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TraceReference_r16 }, + { &hf_nr_rrc_traceRecordingSessionRef_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING_SIZE_2 }, + { &hf_nr_rrc_tce_Id_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING_SIZE_1 }, + { &hf_nr_rrc_absoluteTimeInfo_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AbsoluteTimeInfo_r16 }, + { &hf_nr_rrc_areaConfiguration_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_AreaConfiguration_r16 }, + { &hf_nr_rrc_plmn_IdentityList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PLMN_IdentityList2_r16 }, + { &hf_nr_rrc_bt_NameList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bt_NameList_r16 }, + { &hf_nr_rrc_wlan_NameList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_wlan_NameList_r16 }, + { &hf_nr_rrc_sensor_NameList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sensor_NameList_r16 }, + { &hf_nr_rrc_loggingDuration_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LoggingDuration_r16 }, + { &hf_nr_rrc_reportType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportType }, + { &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_16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_LoggedMeasurementConfiguration_r16_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_LoggedMeasurementConfiguration_r16_IEs, LoggedMeasurementConfiguration_r16_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, "loggedMeasurementConfiguration-r16" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_16_choice[] = { + { 0, &hf_nr_rrc_loggedMeasurementConfiguration_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_LoggedMeasurementConfiguration_r16_IEs }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensions_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_criticalExtensions_16, T_criticalExtensions_16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t LoggedMeasurementConfiguration_r16_sequence[] = { + { &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_LoggedMeasurementConfiguration_r16(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, "Logged Measurement Configuration"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_LoggedMeasurementConfiguration_r16, LoggedMeasurementConfiguration_r16_sequence); + + return offset; +} + + static const value_string nr_rrc_T_c1_09_vals[] = { { 0, "rrcReconfiguration" }, { 1, "rrcResume" }, @@ -20077,10 +37167,10 @@ static const value_string nr_rrc_T_c1_09_vals[] = { { 6, "ueCapabilityEnquiry" }, { 7, "counterCheck" }, { 8, "mobilityFromNRCommand" }, - { 9, "spare7" }, - { 10, "spare6" }, - { 11, "spare5" }, - { 12, "spare4" }, + { 9, "dlDedicatedMessageSegment-r16" }, + { 10, "ueInformationRequest-r16" }, + { 11, "dlInformationTransferMRDC-r16" }, + { 12, "loggedMeasurementConfiguration-r16" }, { 13, "spare3" }, { 14, "spare2" }, { 15, "spare1" }, @@ -20097,10 +37187,10 @@ static const per_choice_t T_c1_09_choice[] = { { 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 }, + { 9, &hf_nr_rrc_dlDedicatedMessageSegment_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_DLDedicatedMessageSegment_r16 }, + { 10, &hf_nr_rrc_ueInformationRequest_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UEInformationRequest_r16 }, + { 11, &hf_nr_rrc_dlInformationTransferMRDC_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_DLInformationTransferMRDC_r16 }, + { 12, &hf_nr_rrc_loggedMeasurementConfiguration_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_LoggedMeasurementConfiguration_r16 }, { 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 }, @@ -20252,14 +37342,14 @@ dissect_nr_rrc_PagingRecordList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } -static const per_sequence_t T_nonCriticalExtension_14_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_20_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_14, T_nonCriticalExtension_14_sequence); + ett_nr_rrc_T_nonCriticalExtension_20, T_nonCriticalExtension_20_sequence); return offset; } @@ -20268,7 +37358,7 @@ dissect_nr_rrc_T_nonCriticalExtension_14(tvbuff_t *tvb _U_, int offset _U_, asn1 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_22, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_14 }, + { &hf_nr_rrc_nonCriticalExtension_34, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_20 }, { NULL, 0, 0, NULL } }; @@ -20519,16 +37609,6 @@ dissect_nr_rrc_RRCResumeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } - -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 }, @@ -20620,35 +37700,82 @@ dissect_nr_rrc_RRCSystemInfoRequest_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ } -static const per_sequence_t T_criticalExtensionsFuture_24_sequence[] = { + +static int +dissect_nr_rrc_BIT_STRING_SIZE_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 11, 11, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const per_sequence_t RRC_PosSystemInfoRequest_r16_IEs_sequence[] = { + { &hf_nr_rrc_requestedPosSI_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_maxSI_Message }, + { &hf_nr_rrc_spare_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_11 }, { 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_) { +dissect_nr_rrc_RRC_PosSystemInfoRequest_r16_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_criticalExtensionsFuture_24, T_criticalExtensionsFuture_24_sequence); + ett_nr_rrc_RRC_PosSystemInfoRequest_r16_IEs, RRC_PosSystemInfoRequest_r16_IEs_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_24_vals[] = { - { 0, "rrcSystemInfoRequest" }, +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_criticalExtensionsFuture_r16_vals[] = { + { 0, "rrcPosSystemInfoRequest-r16" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_24_choice[] = { +static const per_choice_t T_criticalExtensionsFuture_r16_choice[] = { + { 0, &hf_nr_rrc_rrcPosSystemInfoRequest_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRC_PosSystemInfoRequest_r16_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_criticalExtensionsFuture_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_criticalExtensionsFuture_r16, T_criticalExtensionsFuture_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_criticalExtensions_30_vals[] = { + { 0, "rrcSystemInfoRequest" }, + { 1, "criticalExtensionsFuture-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_30_choice[] = { { 0, &hf_nr_rrc_rrcSystemInfoRequest_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCSystemInfoRequest_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_24, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_24 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_r16 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_criticalExtensions_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensions_24, T_criticalExtensions_24_choice, + ett_nr_rrc_T_criticalExtensions_30, T_criticalExtensions_30_choice, NULL); return offset; @@ -20656,7 +37783,7 @@ dissect_nr_rrc_T_criticalExtensions_24(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t RRCSystemInfoRequest_sequence[] = { - { &hf_nr_rrc_criticalExtensions_24, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_24 }, + { &hf_nr_rrc_criticalExtensions_30, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_30 }, { NULL, 0, 0, NULL } }; @@ -20918,15 +38045,81 @@ dissect_nr_rrc_MeasResultListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } + +static int +dissect_nr_rrc_INTEGER_M5_91(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -5, 91U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_49(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 49U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_measResult_r16_02_sequence[] = { + { &hf_nr_rrc_utra_FDD_RSCP_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M5_91 }, + { &hf_nr_rrc_utra_FDD_EcN0_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_49 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_measResult_r16_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_measResult_r16_02, T_measResult_r16_02_sequence); + + return offset; +} + + +static const per_sequence_t MeasResultUTRA_FDD_r16_sequence[] = { + { &hf_nr_rrc_physCellId_r16_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellIdUTRA_FDD_r16 }, + { &hf_nr_rrc_measResult_r16_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResult_r16_02 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResultUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultUTRA_FDD_r16, MeasResultUTRA_FDD_r16_sequence); + + return offset; +} + + +static const per_sequence_t MeasResultListUTRA_FDD_r16_sequence_of[1] = { + { &hf_nr_rrc_MeasResultListUTRA_FDD_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultUTRA_FDD_r16 }, +}; + +static int +dissect_nr_rrc_MeasResultListUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultListUTRA_FDD_r16, MeasResultListUTRA_FDD_r16_sequence_of, + 1, maxCellReport, FALSE); + + return offset; +} + + static const value_string nr_rrc_T_measResultNeighCells_vals[] = { { 0, "measResultListNR" }, { 1, "measResultListEUTRA" }, + { 2, "measResultListUTRA-FDD-r16" }, { 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 }, + { 2, &hf_nr_rrc_measResultListUTRA_FDD_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_MeasResultListUTRA_FDD_r16 }, { 0, NULL, 0, NULL } }; @@ -20983,12 +38176,601 @@ dissect_nr_rrc_MeasResults_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } +static const value_string nr_rrc_T_rssi_Result_r16_vals[] = { + { 0, "ffs" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_rssi_Result_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_100(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 100U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t MeasResultForRSSI_r16_sequence[] = { + { &hf_nr_rrc_rssi_Result_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rssi_Result_r16 }, + { &hf_nr_rrc_channelOccupancy_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_100 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResultForRSSI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultForRSSI_r16, MeasResultForRSSI_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_T_locationTimestamp_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *location_timestamp_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &location_timestamp_tvb); + + if (location_timestamp_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationTimestamp_r16); + dissect_lpp_DisplacementTimeStamp_r15_PDU(location_timestamp_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + + +static int +dissect_nr_rrc_T_locationCoordinate_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *location_coordinate_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &location_coordinate_tvb); + + if (location_coordinate_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationCoordinate_r16); + dissect_lpp_LocationCoordinates_PDU(location_coordinate_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + + +static int +dissect_nr_rrc_T_locationError_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *location_error_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &location_error_tvb); + + if (location_error_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationError_r16); + dissect_lpp_LocationError_PDU(location_error_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + + +static int +dissect_nr_rrc_T_locationSource_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *location_source_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &location_source_tvb); + + if (location_source_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationSource_r16); + dissect_lpp_LocationSource_r13_PDU(location_source_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + + +static int +dissect_nr_rrc_T_velocityEstimate_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *velocity_estimate_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &velocity_estimate_tvb); + + if (velocity_estimate_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_velocityEstimate_r16); + dissect_lpp_Velocity_PDU(velocity_estimate_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + +static const per_sequence_t CommonLocationInfo_r16_sequence[] = { + { &hf_nr_rrc_gnss_TOD_msec_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, + { &hf_nr_rrc_locationTimestamp_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_locationTimestamp_r16 }, + { &hf_nr_rrc_locationCoordinate_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_locationCoordinate_r16 }, + { &hf_nr_rrc_locationError_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_locationError_r16 }, + { &hf_nr_rrc_locationSource_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_locationSource_r16 }, + { &hf_nr_rrc_velocityEstimate_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_velocityEstimate_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CommonLocationInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CommonLocationInfo_r16, CommonLocationInfo_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_BIT_STRING_SIZE_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 48, 48, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_M128_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -128, 127U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t LogMeasResultBT_r16_sequence[] = { + { &hf_nr_rrc_bt_Addr_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_48 }, + { &hf_nr_rrc_rssi_BT_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M128_127 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_LogMeasResultBT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_LogMeasResultBT_r16, LogMeasResultBT_r16_sequence); + + return offset; +} + + +static const per_sequence_t LogMeasResultListBT_r16_sequence_of[1] = { + { &hf_nr_rrc_LogMeasResultListBT_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogMeasResultBT_r16 }, +}; + +static int +dissect_nr_rrc_LogMeasResultListBT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_LogMeasResultListBT_r16, LogMeasResultListBT_r16_sequence_of, + 1, maxBT_IdReport_r16, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_T_ssid_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *ssid_tvb = NULL; + + offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, + 1, 32, FALSE, &ssid_tvb); + + actx->created_item = proto_tree_add_item(tree, hf_index, ssid_tvb, 0, -1, ENC_ASCII|ENC_NA); + + + return offset; +} + + + +static int +dissect_nr_rrc_OCTET_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 6, 6, FALSE, NULL); + + return offset; +} + + +static const per_sequence_t WLAN_Identifiers_r16_sequence[] = { + { &hf_nr_rrc_ssid_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssid_r16 }, + { &hf_nr_rrc_bssid_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING_SIZE_6 }, + { &hf_nr_rrc_hessid_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING_SIZE_6 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_WLAN_Identifiers_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_WLAN_Identifiers_r16, WLAN_Identifiers_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_WLAN_RSSI_Range_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 141U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_16777215(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 16777215U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_rttUnits_r16_vals[] = { + { 0, "microseconds" }, + { 1, "hundredsofnanoseconds" }, + { 2, "tensofnanoseconds" }, + { 3, "nanoseconds" }, + { 4, "tenthsofnanoseconds" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_rttUnits_r16(tvbuff_t *tvb _U_, int offset _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, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t WLAN_RTT_r16_sequence[] = { + { &hf_nr_rrc_rttValue_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_16777215 }, + { &hf_nr_rrc_rttUnits_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rttUnits_r16 }, + { &hf_nr_rrc_rttAccuracy_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_255 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_WLAN_RTT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_WLAN_RTT_r16, WLAN_RTT_r16_sequence); + + return offset; +} + + +static const per_sequence_t LogMeasResultWLAN_r16_sequence[] = { + { &hf_nr_rrc_wlan_Identifiers_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_WLAN_Identifiers_r16 }, + { &hf_nr_rrc_rssiWLAN_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_WLAN_RSSI_Range_r16 }, + { &hf_nr_rrc_rtt_WLAN_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_WLAN_RTT_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_LogMeasResultWLAN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_LogMeasResultWLAN_r16, LogMeasResultWLAN_r16_sequence); + + return offset; +} + + +static const per_sequence_t LogMeasResultListWLAN_r16_sequence_of[1] = { + { &hf_nr_rrc_LogMeasResultListWLAN_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogMeasResultWLAN_r16 }, +}; + +static int +dissect_nr_rrc_LogMeasResultListWLAN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_LogMeasResultListWLAN_r16, LogMeasResultListWLAN_r16_sequence_of, + 1, maxWLAN_Id_Report_r16, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_T_sensor_MeasurementInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *sensor_meas_info_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &sensor_meas_info_tvb); + + if (sensor_meas_info_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sensor_MeasurementInformation_r16); + dissect_lpp_Sensor_MeasurementInformation_r13_PDU(sensor_meas_info_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + + +static int +dissect_nr_rrc_T_sensor_MotionInformation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *sensor_motion_info_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &sensor_motion_info_tvb); + + if (sensor_motion_info_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sensor_MotionInformation_r16); + dissect_lpp_Sensor_MotionInformation_r15_PDU(sensor_motion_info_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + +static const per_sequence_t Sensor_LocationInfo_r16_sequence[] = { + { &hf_nr_rrc_sensor_MeasurementInformation_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sensor_MeasurementInformation_r16 }, + { &hf_nr_rrc_sensor_MotionInformation_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sensor_MotionInformation_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_Sensor_LocationInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_Sensor_LocationInfo_r16, Sensor_LocationInfo_r16_sequence); + + return offset; +} + + +static const per_sequence_t LocationInfo_r16_sequence[] = { + { &hf_nr_rrc_commonLocationInfo_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CommonLocationInfo_r16 }, + { &hf_nr_rrc_bt_LocationInfo_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_LogMeasResultListBT_r16 }, + { &hf_nr_rrc_wlan_LocationInfo_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_LogMeasResultListWLAN_r16 }, + { &hf_nr_rrc_sensor_LocationInfo_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_Sensor_LocationInfo_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_LocationInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_LocationInfo_r16, LocationInfo_r16_sequence); + + return offset; +} + + +static const per_sequence_t UL_PDCP_DelayValueResult_r16_sequence[] = { + { &hf_nr_rrc_drb_Id_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity }, + { &hf_nr_rrc_averageDelay_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10000 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UL_PDCP_DelayValueResult_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_PDCP_DelayValueResult_r16, UL_PDCP_DelayValueResult_r16_sequence); + + return offset; +} + + +static const per_sequence_t UL_PDCP_DelayValueResultList_r16_sequence_of[1] = { + { &hf_nr_rrc_UL_PDCP_DelayValueResultList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_PDCP_DelayValueResult_r16 }, +}; + +static int +dissect_nr_rrc_UL_PDCP_DelayValueResultList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_UL_PDCP_DelayValueResultList_r16, UL_PDCP_DelayValueResultList_r16_sequence_of, + 1, maxDRB, FALSE); + + return offset; +} + + +static const per_sequence_t MeasResultCBR_NR_r16_sequence[] = { + { &hf_nr_rrc_sl_poolReportIdentity_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_ResourcePoolID_r16 }, + { &hf_nr_rrc_sl_CBR_ResultsNR_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_CBR_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResultCBR_NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultCBR_NR_r16, MeasResultCBR_NR_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_PoolToMeasureNR_r16_OF_MeasResultCBR_NR_r16_sequence_of[1] = { + { &hf_nr_rrc_measResultListCBR_NR_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultCBR_NR_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_PoolToMeasureNR_r16_OF_MeasResultCBR_NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_PoolToMeasureNR_r16_OF_MeasResultCBR_NR_r16, SEQUENCE_SIZE_1_maxNrofSL_PoolToMeasureNR_r16_OF_MeasResultCBR_NR_r16_sequence_of, + 1, maxNrofSL_PoolToMeasureNR_r16, FALSE); + + return offset; +} + + +static const per_sequence_t MeasResultNR_SL_r16_sequence[] = { + { &hf_nr_rrc_measResultListCBR_NR_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_PoolToMeasureNR_r16_OF_MeasResultCBR_NR_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResultNR_SL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultNR_SL_r16, MeasResultNR_SL_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_measResultsListSL_r16_vals[] = { + { 0, "measResultNR-SL-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_measResultsListSL_r16_choice[] = { + { 0, &hf_nr_rrc_measResultNR_SL_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_MeasResultNR_SL_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_measResultsListSL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_measResultsListSL_r16, T_measResultsListSL_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t MeasResultsSL_r16_sequence[] = { + { &hf_nr_rrc_measResultsListSL_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResultsListSL_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResultsSL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultsSL_r16, MeasResultsSL_r16_sequence); + + return offset; +} + + +static const per_sequence_t MeasResultSRS_RSRP_r16_sequence[] = { + { &hf_nr_rrc_srs_ResourceId_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId }, + { &hf_nr_rrc_srs_RSRP_Result_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_RSRP_Range_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResultSRS_RSRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultSRS_RSRP_r16, MeasResultSRS_RSRP_r16_sequence); + + return offset; +} + + +static const per_sequence_t MeasResultListSRS_RSRP_r16_sequence_of[1] = { + { &hf_nr_rrc_MeasResultListSRS_RSRP_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultSRS_RSRP_r16 }, +}; + +static int +dissect_nr_rrc_MeasResultListSRS_RSRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultListSRS_RSRP_r16, MeasResultListSRS_RSRP_r16_sequence_of, + 1, maxCLI_Report_r16, FALSE); + + return offset; +} + + +static const per_sequence_t MeasResultCLI_RSSI_r16_sequence[] = { + { &hf_nr_rrc_rssi_ResourceId_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RSSI_ResourceId_r16 }, + { &hf_nr_rrc_cli_RSSI_Result_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CLI_RSSI_Range_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResultCLI_RSSI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultCLI_RSSI_r16, MeasResultCLI_RSSI_r16_sequence); + + return offset; +} + + +static const per_sequence_t MeasResultListCLI_RSSI_r16_sequence_of[1] = { + { &hf_nr_rrc_MeasResultListCLI_RSSI_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultCLI_RSSI_r16 }, +}; + +static int +dissect_nr_rrc_MeasResultListCLI_RSSI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultListCLI_RSSI_r16, MeasResultListCLI_RSSI_r16_sequence_of, + 1, maxCLI_Report_r16, FALSE); + + return offset; +} + + +static const per_sequence_t MeasResultCLI_r16_sequence[] = { + { &hf_nr_rrc_measResultListSRS_RSRP_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultListSRS_RSRP_r16 }, + { &hf_nr_rrc_measResultListCLI_RSSI_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultListCLI_RSSI_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResultCLI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultCLI_r16, MeasResultCLI_r16_sequence); + + return offset; +} + + +static const per_sequence_t MeasResults_eag_3_sequence[] = { + { &hf_nr_rrc_measResultForRSSI_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultForRSSI_r16 }, + { &hf_nr_rrc_locationInfo_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_LocationInfo_r16 }, + { &hf_nr_rrc_ul_PDCP_DelayValueResultList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UL_PDCP_DelayValueResultList_r16 }, + { &hf_nr_rrc_measResultsSL_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultsSL_r16 }, + { &hf_nr_rrc_measResultCLI_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultCLI_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResults_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasResults_eag_3_sequence); + + return offset; +} + + static const per_sequence_t MeasResults_sequence[] = { { &hf_nr_rrc_measId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId }, { &hf_nr_rrc_measResultServingMOList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServMOList }, { &hf_nr_rrc_measResultNeighCells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultNeighCells }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResults_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResults_eag_2 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResults_eag_3 }, { NULL, 0, 0, NULL } }; @@ -21001,14 +38783,14 @@ dissect_nr_rrc_MeasResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ } -static const per_sequence_t T_nonCriticalExtension_12_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_18_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_12, T_nonCriticalExtension_12_sequence); + ett_nr_rrc_T_nonCriticalExtension_18, T_nonCriticalExtension_18_sequence); return offset; } @@ -21017,7 +38799,7 @@ dissect_nr_rrc_T_nonCriticalExtension_12(tvbuff_t *tvb _U_, int offset _U_, asn1 static const per_sequence_t MeasurementReport_IEs_sequence[] = { { &hf_nr_rrc_measResults , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResults }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, - { &hf_nr_rrc_nonCriticalExtension_20, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_12 }, + { &hf_nr_rrc_nonCriticalExtension_31, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_18 }, { NULL, 0, 0, NULL } }; @@ -21030,35 +38812,35 @@ dissect_nr_rrc_MeasurementReport_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } -static const per_sequence_t T_criticalExtensionsFuture_12_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_18_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_) { +dissect_nr_rrc_T_criticalExtensionsFuture_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensionsFuture_12, T_criticalExtensionsFuture_12_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_18, T_criticalExtensionsFuture_18_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_12_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_18_vals[] = { { 0, "measurementReport" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_12_choice[] = { +static const per_choice_t T_criticalExtensions_18_choice[] = { { 0, &hf_nr_rrc_measurementReport_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementReport_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_12, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_12 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_18, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_18 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_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_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_12, T_criticalExtensions_12_choice, + ett_nr_rrc_T_criticalExtensions_18, T_criticalExtensions_18_choice, NULL); return offset; @@ -21066,7 +38848,7 @@ dissect_nr_rrc_T_criticalExtensions_12(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t MeasurementReport_sequence[] = { - { &hf_nr_rrc_criticalExtensions_12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_12 }, + { &hf_nr_rrc_criticalExtensions_18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_18 }, { NULL, 0, 0, NULL } }; @@ -21081,26 +38863,6 @@ dissect_nr_rrc_MeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } - -static int -dissect_nr_rrc_BWP_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, maxNrofBWPs, NULL, FALSE); - - return offset; -} - - - -static int -dissect_nr_rrc_INTEGER_0_3301(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 3301U, NULL, FALSE); - - return offset; -} - - static const per_sequence_t UplinkTxDirectCurrentBWP_sequence[] = { { &hf_nr_rrc_bwp_Id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id }, { &hf_nr_rrc_shift7dot5kHz, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, @@ -21226,14 +38988,123 @@ dissect_nr_rrc_T_scg_Response(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const per_sequence_t T_nonCriticalExtension_18_sequence[] = { +static const value_string nr_rrc_T_logMeasAvailable_r16_01_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_logMeasAvailable_r16_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_logMeasAvailableBT_r16_01_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_logMeasAvailableBT_r16_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_logMeasAvailableWLAN_r16_01_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_logMeasAvailableWLAN_r16_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_connEstFailInfoAvailable_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_connEstFailInfoAvailable_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_rlf_InfoAvailable_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_rlf_InfoAvailable_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 UEMeasurementsAvailable_r16_sequence[] = { + { &hf_nr_rrc_logMeasAvailable_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_logMeasAvailable_r16_01 }, + { &hf_nr_rrc_logMeasAvailableBT_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_logMeasAvailableBT_r16_01 }, + { &hf_nr_rrc_logMeasAvailableWLAN_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_logMeasAvailableWLAN_r16_01 }, + { &hf_nr_rrc_connEstFailInfoAvailable_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_connEstFailInfoAvailable_r16 }, + { &hf_nr_rrc_rlf_InfoAvailable_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rlf_InfoAvailable_r16 }, { 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_) { +dissect_nr_rrc_UEMeasurementsAvailable_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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); + ett_nr_rrc_UEMeasurementsAvailable_r16, UEMeasurementsAvailable_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_24_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_nonCriticalExtension_24, T_nonCriticalExtension_24_sequence); + + return offset; +} + + +static const per_sequence_t RRCReconfigurationComplete_v1610_IEs_sequence[] = { + { &hf_nr_rrc_ueMeasurementsAvailable_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UEMeasurementsAvailable_r16 }, + { &hf_nr_rrc_needForGapsInfoNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NeedForGapsInfoNR_r16 }, + { &hf_nr_rrc_nonCriticalExtension_46, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_24 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RRCReconfigurationComplete_v1610_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_v1610_IEs, RRCReconfigurationComplete_v1610_IEs_sequence); return offset; } @@ -21241,7 +39112,7 @@ dissect_nr_rrc_T_nonCriticalExtension_18(tvbuff_t *tvb _U_, int offset _U_, asn1 static const per_sequence_t RRCReconfigurationComplete_v1560_IEs_sequence[] = { { &hf_nr_rrc_scg_Response , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scg_Response }, - { &hf_nr_rrc_nonCriticalExtension_31, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_18 }, + { &hf_nr_rrc_nonCriticalExtension_45, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReconfigurationComplete_v1610_IEs }, { NULL, 0, 0, NULL } }; @@ -21256,7 +39127,7 @@ dissect_nr_rrc_RRCReconfigurationComplete_v1560_IEs(tvbuff_t *tvb _U_, int offse 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_30, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReconfigurationComplete_v1560_IEs }, + { &hf_nr_rrc_nonCriticalExtension_44, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReconfigurationComplete_v1560_IEs }, { NULL, 0, 0, NULL } }; @@ -21271,7 +39142,7 @@ dissect_nr_rrc_RRCReconfigurationComplete_v1530_IEs(tvbuff_t *tvb _U_, int offse 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_29, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReconfigurationComplete_v1530_IEs }, + { &hf_nr_rrc_nonCriticalExtension_43, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReconfigurationComplete_v1530_IEs }, { NULL, 0, 0, NULL } }; @@ -21284,35 +39155,35 @@ dissect_nr_rrc_RRCReconfigurationComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, } -static const per_sequence_t T_criticalExtensionsFuture_17_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_23_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_) { +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_17, T_criticalExtensionsFuture_17_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_23, T_criticalExtensionsFuture_23_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_17_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_23_vals[] = { { 0, "rrcReconfigurationComplete" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_17_choice[] = { +static const per_choice_t T_criticalExtensions_23_choice[] = { { 0, &hf_nr_rrc_rrcReconfigurationComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationComplete_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_17, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_17 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_23, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_23 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_17(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_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_17, T_criticalExtensions_17_choice, + ett_nr_rrc_T_criticalExtensions_23, T_criticalExtensions_23_choice, NULL); return offset; @@ -21321,7 +39192,7 @@ dissect_nr_rrc_T_criticalExtensions_17(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t RRCReconfigurationComplete_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, - { &hf_nr_rrc_criticalExtensions_17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_17 }, + { &hf_nr_rrc_criticalExtensions_23, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_23 }, { NULL, 0, 0, NULL } }; @@ -21379,16 +39250,6 @@ dissect_nr_rrc_T_guami_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } - -static int -dissect_nr_rrc_BIT_STRING_SIZE_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 32, 32, FALSE, NULL, 0, NULL, NULL); - - return offset; -} - - static const value_string nr_rrc_S_NSSAI_vals[] = { { 0, "sst" }, { 1, "sst-SD" }, @@ -21457,14 +39318,96 @@ dissect_nr_rrc_T_ng_5G_S_TMSI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } -static const per_sequence_t T_nonCriticalExtension_24_sequence[] = { +static const value_string nr_rrc_T_iab_NodeIndication_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_iab_NodeIndication_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_idleMeasAvailable_r16_01_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_idleMeasAvailable_r16_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_mobilityHistoryAvail_r16_01_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_mobilityHistoryAvail_r16_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_mobilityState_r16_01_vals[] = { + { 0, "normal" }, + { 1, "medium" }, + { 2, "high" }, + { 3, "spare" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_mobilityState_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_30_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_) { +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_24, T_nonCriticalExtension_24_sequence); + ett_nr_rrc_T_nonCriticalExtension_30, T_nonCriticalExtension_30_sequence); + + return offset; +} + + +static const per_sequence_t RRCSetupComplete_v1610_IEs_sequence[] = { + { &hf_nr_rrc_iab_NodeIndication_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_iab_NodeIndication_r16 }, + { &hf_nr_rrc_idleMeasAvailable_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_idleMeasAvailable_r16_01 }, + { &hf_nr_rrc_ueMeasurementsAvailable_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UEMeasurementsAvailable_r16 }, + { &hf_nr_rrc_mobilityHistoryAvail_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mobilityHistoryAvail_r16_01 }, + { &hf_nr_rrc_mobilityState_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mobilityState_r16_01 }, + { &hf_nr_rrc_nonCriticalExtension_58, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_30 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RRCSetupComplete_v1610_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_v1610_IEs, RRCSetupComplete_v1610_IEs_sequence); return offset; } @@ -21478,7 +39421,7 @@ static const per_sequence_t RRCSetupComplete_IEs_sequence[] = { { &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_39, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_24 }, + { &hf_nr_rrc_nonCriticalExtension_57, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCSetupComplete_v1610_IEs }, { NULL, 0, 0, NULL } }; @@ -21491,35 +39434,35 @@ dissect_nr_rrc_RRCSetupComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } -static const per_sequence_t T_criticalExtensionsFuture_23_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_29_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_) { +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_23, T_criticalExtensionsFuture_23_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_29, T_criticalExtensionsFuture_29_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_23_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_29_vals[] = { { 0, "rrcSetupComplete" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_23_choice[] = { +static const per_choice_t T_criticalExtensions_29_choice[] = { { 0, &hf_nr_rrc_rrcSetupComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCSetupComplete_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_23, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_23 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_29, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_29 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_23(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_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_23, T_criticalExtensions_23_choice, + ett_nr_rrc_T_criticalExtensions_29, T_criticalExtensions_29_choice, NULL); return offset; @@ -21528,7 +39471,7 @@ dissect_nr_rrc_T_criticalExtensions_23(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t RRCSetupComplete_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, - { &hf_nr_rrc_criticalExtensions_23, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_23 }, + { &hf_nr_rrc_criticalExtensions_29, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_29 }, { NULL, 0, 0, NULL } }; @@ -21543,14 +39486,29 @@ dissect_nr_rrc_RRCSetupComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } -static const per_sequence_t T_nonCriticalExtension_16_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_22_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_) { +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_16, T_nonCriticalExtension_16_sequence); + ett_nr_rrc_T_nonCriticalExtension_22, T_nonCriticalExtension_22_sequence); + + return offset; +} + + +static const per_sequence_t RRCReestablishmentComplete_v1610_IEs_sequence[] = { + { &hf_nr_rrc_ueMeasurementsAvailable_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UEMeasurementsAvailable_r16 }, + { &hf_nr_rrc_nonCriticalExtension_37, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_22 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RRCReestablishmentComplete_v1610_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_v1610_IEs, RRCReestablishmentComplete_v1610_IEs_sequence); return offset; } @@ -21558,7 +39516,7 @@ dissect_nr_rrc_T_nonCriticalExtension_16(tvbuff_t *tvb _U_, int offset _U_, asn1 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_24, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_16 }, + { &hf_nr_rrc_nonCriticalExtension_36, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReestablishmentComplete_v1610_IEs }, { NULL, 0, 0, NULL } }; @@ -21571,35 +39529,35 @@ dissect_nr_rrc_RRCReestablishmentComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, } -static const per_sequence_t T_criticalExtensionsFuture_15_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_21_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_) { +dissect_nr_rrc_T_criticalExtensionsFuture_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensionsFuture_15, T_criticalExtensionsFuture_15_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_21, T_criticalExtensionsFuture_21_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_15_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_21_vals[] = { { 0, "rrcReestablishmentComplete" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_15_choice[] = { +static const per_choice_t T_criticalExtensions_21_choice[] = { { 0, &hf_nr_rrc_rrcReestablishmentComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReestablishmentComplete_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_15, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_15 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_21, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_21 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_15(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_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_15, T_criticalExtensions_15_choice, + ett_nr_rrc_T_criticalExtensions_21, T_criticalExtensions_21_choice, NULL); return offset; @@ -21608,7 +39566,7 @@ dissect_nr_rrc_T_criticalExtensions_15(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t RRCReestablishmentComplete_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, - { &hf_nr_rrc_criticalExtensions_15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_15 }, + { &hf_nr_rrc_criticalExtensions_21, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_21 }, { NULL, 0, 0, NULL } }; @@ -21623,14 +39581,370 @@ dissect_nr_rrc_RRCReestablishmentComplete(tvbuff_t *tvb _U_, int offset _U_, asn } -static const per_sequence_t T_nonCriticalExtension_22_sequence[] = { +static const value_string nr_rrc_T_idleMeasAvailable_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_idleMeasAvailable_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_measIdleResultEUTRA_r16_sequence[] = { + { &hf_nr_rrc_rsrp_ResultEUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_RangeEUTRA }, + { &hf_nr_rrc_rsrq_ResultEUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_RangeEUTRA_r16 }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_measIdleResultEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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); + ett_nr_rrc_T_measIdleResultEUTRA_r16, T_measIdleResultEUTRA_r16_sequence); + + return offset; +} + + +static const per_sequence_t MeasResultsPerCellIdleEUTRA_r16_sequence[] = { + { &hf_nr_rrc_eutra_PhysCellId_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId }, + { &hf_nr_rrc_measIdleResultEUTRA_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measIdleResultEUTRA_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResultsPerCellIdleEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultsPerCellIdleEUTRA_r16, MeasResultsPerCellIdleEUTRA_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleEUTRA_r16_sequence_of[1] = { + { &hf_nr_rrc_measResultsPerCellListIdleEUTRA_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultsPerCellIdleEUTRA_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleEUTRA_r16, SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleEUTRA_r16_sequence_of, + 1, maxCellMeasIdle_r16, FALSE); + + return offset; +} + + +static const per_sequence_t MeasResultsPerCarrierIdleEUTRA_r16_sequence[] = { + { &hf_nr_rrc_carrierFreqEUTRA_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA }, + { &hf_nr_rrc_measResultsPerCellListIdleEUTRA_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleEUTRA_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResultsPerCarrierIdleEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultsPerCarrierIdleEUTRA_r16, MeasResultsPerCarrierIdleEUTRA_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleEUTRA_r16_sequence_of[1] = { + { &hf_nr_rrc_measResultsPerCarrierListIdleEUTRA_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultsPerCarrierIdleEUTRA_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleEUTRA_r16, SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleEUTRA_r16_sequence_of, + 1, maxFreqIdle_r16, FALSE); + + return offset; +} + + +static const per_sequence_t MeasResultIdleEUTRA_r16_sequence[] = { + { &hf_nr_rrc_measResultsPerCarrierListIdleEUTRA_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleEUTRA_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResultIdleEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultIdleEUTRA_r16, MeasResultIdleEUTRA_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_ssb_Results_r16_sequence[] = { + { &hf_nr_rrc_ssb_RSRP_Result_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range }, + { &hf_nr_rrc_ssb_RSRQ_Result_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_Range }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_ssb_Results_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_Results_r16, T_ssb_Results_r16_sequence); + + return offset; +} + + +static const per_sequence_t ResultsPerSSB_IndexIdle_r16_sequence[] = { + { &hf_nr_rrc_ssb_Index_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index }, + { &hf_nr_rrc_ssb_Results_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_Results_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ResultsPerSSB_IndexIdle_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_ResultsPerSSB_IndexIdle_r16, ResultsPerSSB_IndexIdle_r16_sequence); + + return offset; +} + + +static const per_sequence_t ResultsPerSSB_IndexList_r16_sequence_of[1] = { + { &hf_nr_rrc_ResultsPerSSB_IndexList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResultsPerSSB_IndexIdle_r16 }, +}; + +static int +dissect_nr_rrc_ResultsPerSSB_IndexList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_r16, ResultsPerSSB_IndexList_r16_sequence_of, + 1, maxNrofIndexesToReport, FALSE); + + return offset; +} + + +static const per_sequence_t T_measResultServingCell_r16_sequence[] = { + { &hf_nr_rrc_rsrp_Result_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range }, + { &hf_nr_rrc_rsrq_Result_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_Range }, + { &hf_nr_rrc_resultsSSB_Indexes_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ResultsPerSSB_IndexList_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_measResultServingCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_measResultServingCell_r16, T_measResultServingCell_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_measIdleResultNR_r16_sequence[] = { + { &hf_nr_rrc_rsrp_Result_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range }, + { &hf_nr_rrc_rsrq_Result_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_Range }, + { &hf_nr_rrc_resultsSSB_Indexes_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ResultsPerSSB_IndexList_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_measIdleResultNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_measIdleResultNR_r16, T_measIdleResultNR_r16_sequence); + + return offset; +} + + +static const per_sequence_t MeasResultsPerCellIdleNR_r16_sequence[] = { + { &hf_nr_rrc_physCellId_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, + { &hf_nr_rrc_measIdleResultNR_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measIdleResultNR_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResultsPerCellIdleNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultsPerCellIdleNR_r16, MeasResultsPerCellIdleNR_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleNR_r16_sequence_of[1] = { + { &hf_nr_rrc_measResultsPerCellListIdleNR_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultsPerCellIdleNR_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleNR_r16, SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleNR_r16_sequence_of, + 1, maxCellMeasIdle_r16, FALSE); + + return offset; +} + + +static const per_sequence_t MeasResultsPerCarrierIdleNR_r16_sequence[] = { + { &hf_nr_rrc_carrierFreq_r16_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, + { &hf_nr_rrc_measResultsPerCellListIdleNR_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleNR_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResultsPerCarrierIdleNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultsPerCarrierIdleNR_r16, MeasResultsPerCarrierIdleNR_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleNR_r16_sequence_of[1] = { + { &hf_nr_rrc_measResultsPerCarrierListIdleNR_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultsPerCarrierIdleNR_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleNR_r16, SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleNR_r16_sequence_of, + 1, maxFreqIdle_r16, FALSE); + + return offset; +} + + +static const per_sequence_t MeasResultIdleNR_r16_sequence[] = { + { &hf_nr_rrc_measResultServingCell_r16_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResultServingCell_r16 }, + { &hf_nr_rrc_measResultsPerCarrierListIdleNR_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleNR_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResultIdleNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultIdleNR_r16, MeasResultIdleNR_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_T_nr_SCG_Response_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_RRCReconfigurationComplete_PDU); + + return offset; +} + + + +static int +dissect_nr_rrc_T_eutra_SCG_Response_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *eutra_scg_response_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &eutra_scg_response_tvb); + + if (eutra_scg_response_tvb && lte_rrc_conn_reconf_compl_handle) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_eutra_SCG_Response); + nr_rrc_call_dissector(lte_rrc_conn_reconf_compl_handle, eutra_scg_response_tvb, actx->pinfo, subtree); + } + + + return offset; +} + + +static const value_string nr_rrc_T_scg_Response_r16_vals[] = { + { 0, "nr-SCG-Response" }, + { 1, "eutra-SCG-Response" }, + { 0, NULL } +}; + +static const per_choice_t T_scg_Response_r16_choice[] = { + { 0, &hf_nr_rrc_nr_SCG_Response_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nr_SCG_Response_01 }, + { 1, &hf_nr_rrc_eutra_SCG_Response_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eutra_SCG_Response_01 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_scg_Response_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_scg_Response_r16, T_scg_Response_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_mobilityHistoryAvail_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_mobilityHistoryAvail_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_mobilityState_r16_vals[] = { + { 0, "normal" }, + { 1, "medium" }, + { 2, "high" }, + { 3, "spare" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_mobilityState_r16(tvbuff_t *tvb _U_, int offset _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_nonCriticalExtension_28_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_nonCriticalExtension_28, T_nonCriticalExtension_28_sequence); + + return offset; +} + + +static const per_sequence_t RRCResumeComplete_v1610_IEs_sequence[] = { + { &hf_nr_rrc_idleMeasAvailable_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_idleMeasAvailable_r16 }, + { &hf_nr_rrc_measResultIdleEUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultIdleEUTRA_r16 }, + { &hf_nr_rrc_measResultIdleNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultIdleNR_r16 }, + { &hf_nr_rrc_scg_Response_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scg_Response_r16 }, + { &hf_nr_rrc_ueMeasurementsAvailable_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UEMeasurementsAvailable_r16 }, + { &hf_nr_rrc_mobilityHistoryAvail_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mobilityHistoryAvail_r16 }, + { &hf_nr_rrc_mobilityState_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mobilityState_r16 }, + { &hf_nr_rrc_needForGapsInfoNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NeedForGapsInfoNR_r16 }, + { &hf_nr_rrc_nonCriticalExtension_55, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_28 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RRCResumeComplete_v1610_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_v1610_IEs, RRCResumeComplete_v1610_IEs_sequence); return offset; } @@ -21641,7 +39955,7 @@ static const per_sequence_t RRCResumeComplete_IEs_sequence[] = { { &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_37, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_22 }, + { &hf_nr_rrc_nonCriticalExtension_54, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCResumeComplete_v1610_IEs }, { NULL, 0, 0, NULL } }; @@ -21654,35 +39968,35 @@ dissect_nr_rrc_RRCResumeComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } -static const per_sequence_t T_criticalExtensionsFuture_21_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_27_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensionsFuture_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_21, T_criticalExtensionsFuture_21_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_27, T_criticalExtensionsFuture_27_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_21_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_27_vals[] = { { 0, "rrcResumeComplete" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_21_choice[] = { +static const per_choice_t T_criticalExtensions_27_choice[] = { { 0, &hf_nr_rrc_rrcResumeComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCResumeComplete_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_21, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_21 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_27, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_27 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_21(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_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_21, T_criticalExtensions_21_choice, + ett_nr_rrc_T_criticalExtensions_27, T_criticalExtensions_27_choice, NULL); return offset; @@ -21691,7 +40005,7 @@ dissect_nr_rrc_T_criticalExtensions_21(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t RRCResumeComplete_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, - { &hf_nr_rrc_criticalExtensions_21, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_21 }, + { &hf_nr_rrc_criticalExtensions_27, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_27 }, { NULL, 0, 0, NULL } }; @@ -21706,14 +40020,14 @@ dissect_nr_rrc_RRCResumeComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } -static const per_sequence_t T_nonCriticalExtension_28_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_34_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_nonCriticalExtension_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_nonCriticalExtension_28, T_nonCriticalExtension_28_sequence); + ett_nr_rrc_T_nonCriticalExtension_34, T_nonCriticalExtension_34_sequence); return offset; } @@ -21721,7 +40035,7 @@ dissect_nr_rrc_T_nonCriticalExtension_28(tvbuff_t *tvb _U_, int offset _U_, asn1 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_45, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_28 }, + { &hf_nr_rrc_nonCriticalExtension_64, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_34 }, { NULL, 0, 0, NULL } }; @@ -21734,35 +40048,35 @@ dissect_nr_rrc_SecurityModeComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ } -static const per_sequence_t T_criticalExtensionsFuture_28_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_34_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_) { +dissect_nr_rrc_T_criticalExtensionsFuture_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensionsFuture_28, T_criticalExtensionsFuture_28_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_34, T_criticalExtensionsFuture_34_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_28_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_34_vals[] = { { 0, "securityModeComplete" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_28_choice[] = { +static const per_choice_t T_criticalExtensions_34_choice[] = { { 0, &hf_nr_rrc_securityModeComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SecurityModeComplete_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_28, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_28 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_34, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_34 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_28(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_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensions_28, T_criticalExtensions_28_choice, + ett_nr_rrc_T_criticalExtensions_34, T_criticalExtensions_34_choice, NULL); return offset; @@ -21771,7 +40085,7 @@ dissect_nr_rrc_T_criticalExtensions_28(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t SecurityModeComplete_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, - { &hf_nr_rrc_criticalExtensions_28, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_28 }, + { &hf_nr_rrc_criticalExtensions_34, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_34 }, { NULL, 0, 0, NULL } }; @@ -21786,14 +40100,14 @@ dissect_nr_rrc_SecurityModeComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } -static const per_sequence_t T_nonCriticalExtension_29_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_35_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_nonCriticalExtension_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_nonCriticalExtension_29, T_nonCriticalExtension_29_sequence); + ett_nr_rrc_T_nonCriticalExtension_35, T_nonCriticalExtension_35_sequence); return offset; } @@ -21801,7 +40115,7 @@ dissect_nr_rrc_T_nonCriticalExtension_29(tvbuff_t *tvb _U_, int offset _U_, asn1 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_46, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_29 }, + { &hf_nr_rrc_nonCriticalExtension_65, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_35 }, { NULL, 0, 0, NULL } }; @@ -21814,35 +40128,35 @@ dissect_nr_rrc_SecurityModeFailure_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_c } -static const per_sequence_t T_criticalExtensionsFuture_29_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_35_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_) { +dissect_nr_rrc_T_criticalExtensionsFuture_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensionsFuture_29, T_criticalExtensionsFuture_29_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_35, T_criticalExtensionsFuture_35_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_29_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_35_vals[] = { { 0, "securityModeFailure" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_29_choice[] = { +static const per_choice_t T_criticalExtensions_35_choice[] = { { 0, &hf_nr_rrc_securityModeFailure_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SecurityModeFailure_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_29, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_29 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_35, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_35 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_29(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_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensions_29, T_criticalExtensions_29_choice, + ett_nr_rrc_T_criticalExtensions_35, T_criticalExtensions_35_choice, NULL); return offset; @@ -21851,7 +40165,7 @@ dissect_nr_rrc_T_criticalExtensions_29(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t SecurityModeFailure_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, - { &hf_nr_rrc_criticalExtensions_29, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_29 }, + { &hf_nr_rrc_criticalExtensions_35, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_35 }, { NULL, 0, 0, NULL } }; @@ -21866,14 +40180,14 @@ dissect_nr_rrc_SecurityModeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const per_sequence_t T_nonCriticalExtension_35_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_45_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_nonCriticalExtension_45(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_nonCriticalExtension_35, T_nonCriticalExtension_35_sequence); + ett_nr_rrc_T_nonCriticalExtension_45, T_nonCriticalExtension_45_sequence); return offset; } @@ -21882,7 +40196,7 @@ dissect_nr_rrc_T_nonCriticalExtension_35(tvbuff_t *tvb _U_, int offset _U_, asn1 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_53, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_35 }, + { &hf_nr_rrc_nonCriticalExtension_79, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_45 }, { NULL, 0, 0, NULL } }; @@ -21895,35 +40209,35 @@ dissect_nr_rrc_ULInformationTransfer_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1 } -static const per_sequence_t T_criticalExtensionsFuture_34_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_44_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensionsFuture_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_criticalExtensionsFuture_44(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensionsFuture_34, T_criticalExtensionsFuture_34_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_44, T_criticalExtensionsFuture_44_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_34_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_44_vals[] = { { 0, "ulInformationTransfer" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_34_choice[] = { +static const per_choice_t T_criticalExtensions_44_choice[] = { { 0, &hf_nr_rrc_ulInformationTransfer_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_ULInformationTransfer_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_34, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_34 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_44, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_44 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_criticalExtensions_44(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensions_34, T_criticalExtensions_34_choice, + ett_nr_rrc_T_criticalExtensions_44, T_criticalExtensions_44_choice, NULL); return offset; @@ -21931,7 +40245,7 @@ dissect_nr_rrc_T_criticalExtensions_34(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t ULInformationTransfer_sequence[] = { - { &hf_nr_rrc_criticalExtensions_34, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_34 }, + { &hf_nr_rrc_criticalExtensions_44, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_44 }, { NULL, 0, 0, NULL } }; @@ -21975,15 +40289,95 @@ dissect_nr_rrc_EUTRA_RSTD_InfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } +static const value_string nr_rrc_T_nr_MeasPRS_RepetitionAndOffset_r16_vals[] = { + { 0, "ms20-r16" }, + { 1, "ms40-r16" }, + { 2, "ms80-r16" }, + { 3, "ms160-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_nr_MeasPRS_RepetitionAndOffset_r16_choice[] = { + { 0, &hf_nr_rrc_ms20_r16 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_19 }, + { 1, &hf_nr_rrc_ms40_r16 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_39 }, + { 2, &hf_nr_rrc_ms80_r16 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_79 }, + { 3, &hf_nr_rrc_ms160_r16 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_159 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nr_MeasPRS_RepetitionAndOffset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_nr_MeasPRS_RepetitionAndOffset_r16, T_nr_MeasPRS_RepetitionAndOffset_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_nr_MeasPRS_length_r16_vals[] = { + { 0, "ms1dot5" }, + { 1, "ms3" }, + { 2, "ms3dot5" }, + { 3, "ms4" }, + { 4, "ms5dot5" }, + { 5, "ms6" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nr_MeasPRS_length_r16(tvbuff_t *tvb _U_, int offset _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 NR_PRS_MeasurementInfo_r16_sequence[] = { + { &hf_nr_rrc_dl_PRS_ARFCN_PointA_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, + { &hf_nr_rrc_nr_MeasPRS_RepetitionAndOffset_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nr_MeasPRS_RepetitionAndOffset_r16 }, + { &hf_nr_rrc_nr_MeasPRS_length_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nr_MeasPRS_length_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_NR_PRS_MeasurementInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_NR_PRS_MeasurementInfo_r16, NR_PRS_MeasurementInfo_r16_sequence); + + return offset; +} + + +static const per_sequence_t NR_PRS_MeasurementInfoList_r16_sequence_of[1] = { + { &hf_nr_rrc_NR_PRS_MeasurementInfoList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_PRS_MeasurementInfo_r16 }, +}; + +static int +dissect_nr_rrc_NR_PRS_MeasurementInfoList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_PRS_MeasurementInfoList_r16, NR_PRS_MeasurementInfoList_r16_sequence_of, + 1, maxFreqLayers, FALSE); + + return offset; +} + + static const value_string nr_rrc_LocationMeasurementInfo_vals[] = { { 0, "eutra-RSTD" }, { 1, "eutra-FineTimingDetection" }, + { 2, "nr-PRS-Measurement-r16" }, { 0, NULL } }; static const per_choice_t LocationMeasurementInfo_choice[] = { { 0, &hf_nr_rrc_eutra_RSTD , ASN1_EXTENSION_ROOT , dissect_nr_rrc_EUTRA_RSTD_InfoList }, { 1, &hf_nr_rrc_eutra_FineTimingDetection, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_NULL }, + { 2, &hf_nr_rrc_nr_PRS_Measurement_r16, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_NR_PRS_MeasurementInfoList_r16 }, { 0, NULL, 0, NULL } }; @@ -22019,14 +40413,14 @@ dissect_nr_rrc_T_measurementIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_c } -static const per_sequence_t T_nonCriticalExtension_11_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_15_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_) { +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_11, T_nonCriticalExtension_11_sequence); + ett_nr_rrc_T_nonCriticalExtension_15, T_nonCriticalExtension_15_sequence); return offset; } @@ -22035,7 +40429,7 @@ dissect_nr_rrc_T_nonCriticalExtension_11(tvbuff_t *tvb _U_, int offset _U_, asn1 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_19, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_11 }, + { &hf_nr_rrc_nonCriticalExtension_28, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_15 }, { NULL, 0, 0, NULL } }; @@ -22048,35 +40442,35 @@ dissect_nr_rrc_LocationMeasurementIndication_IEs(tvbuff_t *tvb _U_, int offset _ } -static const per_sequence_t T_criticalExtensionsFuture_11_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_15_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_) { +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_11, T_criticalExtensionsFuture_11_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_15, T_criticalExtensionsFuture_15_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_11_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_15_vals[] = { { 0, "locationMeasurementIndication" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_11_choice[] = { +static const per_choice_t T_criticalExtensions_15_choice[] = { { 0, &hf_nr_rrc_locationMeasurementIndication_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_LocationMeasurementIndication_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_11, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_11 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_15, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_15 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_11(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_criticalExtensions_11, T_criticalExtensions_11_choice, + ett_nr_rrc_T_criticalExtensions_15, T_criticalExtensions_15_choice, NULL); return offset; @@ -22084,7 +40478,7 @@ dissect_nr_rrc_T_criticalExtensions_11(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t LocationMeasurementIndication_sequence[] = { - { &hf_nr_rrc_criticalExtensions_11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_11 }, + { &hf_nr_rrc_criticalExtensions_15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_15 }, { NULL, 0, 0, NULL } }; @@ -22099,14 +40493,14 @@ dissect_nr_rrc_LocationMeasurementIndication(tvbuff_t *tvb _U_, int offset _U_, } -static const per_sequence_t T_nonCriticalExtension_34_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_41_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_nonCriticalExtension_41(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_nonCriticalExtension_34, T_nonCriticalExtension_34_sequence); + ett_nr_rrc_T_nonCriticalExtension_41, T_nonCriticalExtension_41_sequence); return offset; } @@ -22115,7 +40509,7 @@ dissect_nr_rrc_T_nonCriticalExtension_34(tvbuff_t *tvb _U_, int offset _U_, asn1 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_52, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_34 }, + { &hf_nr_rrc_nonCriticalExtension_75, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_41 }, { NULL, 0, 0, NULL } }; @@ -22128,35 +40522,35 @@ dissect_nr_rrc_UECapabilityInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, as } -static const per_sequence_t T_criticalExtensionsFuture_33_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_40_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensionsFuture_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_criticalExtensionsFuture_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensionsFuture_33, T_criticalExtensionsFuture_33_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_40, T_criticalExtensionsFuture_40_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_33_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_40_vals[] = { { 0, "ueCapabilityInformation" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_33_choice[] = { +static const per_choice_t T_criticalExtensions_40_choice[] = { { 0, &hf_nr_rrc_ueCapabilityInformation_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UECapabilityInformation_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_33, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_33 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_40, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_40 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_criticalExtensions_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensions_33, T_criticalExtensions_33_choice, + ett_nr_rrc_T_criticalExtensions_40, T_criticalExtensions_40_choice, NULL); return offset; @@ -22165,7 +40559,7 @@ dissect_nr_rrc_T_criticalExtensions_33(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t UECapabilityInformation_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, - { &hf_nr_rrc_criticalExtensions_33, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_33 }, + { &hf_nr_rrc_criticalExtensions_40, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_40 }, { NULL, 0, 0, NULL } }; @@ -22236,7 +40630,7 @@ dissect_nr_rrc_T_nonCriticalExtension_08(tvbuff_t *tvb _U_, int offset _U_, asn1 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_16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_08 }, + { &hf_nr_rrc_nonCriticalExtension_19, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_08 }, { NULL, 0, 0, NULL } }; @@ -22354,167 +40748,784 @@ dissect_nr_rrc_DelayBudgetReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } -static const per_sequence_t T_reducedMaxCCs_sequence[] = { - { &hf_nr_rrc_reducedCCsDL , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 }, - { &hf_nr_rrc_reducedCCsUL , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 }, +static const value_string nr_rrc_T_interferenceDirection_r16_vals[] = { + { 0, "nr" }, + { 1, "other" }, + { 2, "both" }, + { 3, "spare" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_interferenceDirection_r16(tvbuff_t *tvb _U_, int offset _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 AffectedCarrierFreq_r16_sequence[] = { + { &hf_nr_rrc_carrierFreq_r16_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, + { &hf_nr_rrc_interferenceDirection_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_interferenceDirection_r16 }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_reducedMaxCCs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_AffectedCarrierFreq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_reducedMaxCCs, T_reducedMaxCCs_sequence); + ett_nr_rrc_AffectedCarrierFreq_r16, AffectedCarrierFreq_r16_sequence); return offset; } -static const value_string nr_rrc_ReducedAggregatedBandwidth_vals[] = { - { 0, "mhz0" }, - { 1, "mhz10" }, - { 2, "mhz20" }, - { 3, "mhz30" }, - { 4, "mhz40" }, - { 5, "mhz50" }, - { 6, "mhz60" }, - { 7, "mhz80" }, - { 8, "mhz100" }, - { 9, "mhz200" }, - { 10, "mhz300" }, - { 11, "mhz400" }, +static const per_sequence_t AffectedCarrierFreqList_r16_sequence_of[1] = { + { &hf_nr_rrc_AffectedCarrierFreqList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AffectedCarrierFreq_r16 }, +}; + +static int +dissect_nr_rrc_AffectedCarrierFreqList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_AffectedCarrierFreqList_r16, AffectedCarrierFreqList_r16_sequence_of, + 1, maxFreqIDC_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_2_maxNrofServingCells_OF_ARFCN_ValueNR_sequence_of[1] = { + { &hf_nr_rrc_affectedCarrierFreqComb_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_2_maxNrofServingCells_OF_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_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_2_maxNrofServingCells_OF_ARFCN_ValueNR, SEQUENCE_SIZE_2_maxNrofServingCells_OF_ARFCN_ValueNR_sequence_of, + 2, maxNrofServingCells, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_gps_r16_vals[] = { + { 0, "true" }, { 0, NULL } }; static int -dissect_nr_rrc_ReducedAggregatedBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_gps_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 12, NULL, FALSE, 0, NULL); + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_glonass_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_glonass_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_bds_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_galileo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_navIC_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_navIC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_wlan_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_reducedMaxBW_FR1_sequence[] = { - { &hf_nr_rrc_reducedBW_FR1_DL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReducedAggregatedBandwidth }, - { &hf_nr_rrc_reducedBW_FR1_UL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReducedAggregatedBandwidth }, +static const value_string nr_rrc_T_bluetooth_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_bluetooth_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_r16_sequence[] = { + { &hf_nr_rrc_gps_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_gps_r16 }, + { &hf_nr_rrc_glonass_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_glonass_r16 }, + { &hf_nr_rrc_bds_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_bds_r16 }, + { &hf_nr_rrc_galileo_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_galileo_r16 }, + { &hf_nr_rrc_navIC_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_navIC_r16 }, + { &hf_nr_rrc_wlan_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_wlan_r16 }, + { &hf_nr_rrc_bluetooth_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_bluetooth_r16 }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_reducedMaxBW_FR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_VictimSystemType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_reducedMaxBW_FR1, T_reducedMaxBW_FR1_sequence); + ett_nr_rrc_VictimSystemType_r16, VictimSystemType_r16_sequence); return offset; } -static const per_sequence_t T_reducedMaxBW_FR2_sequence[] = { - { &hf_nr_rrc_reducedBW_FR2_DL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReducedAggregatedBandwidth }, - { &hf_nr_rrc_reducedBW_FR2_UL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReducedAggregatedBandwidth }, +static const per_sequence_t AffectedCarrierFreqComb_r16_sequence[] = { + { &hf_nr_rrc_affectedCarrierFreqComb_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_2_maxNrofServingCells_OF_ARFCN_ValueNR }, + { &hf_nr_rrc_victimSystemType_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_VictimSystemType_r16 }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_reducedMaxBW_FR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_AffectedCarrierFreqComb_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_reducedMaxBW_FR2, T_reducedMaxBW_FR2_sequence); + ett_nr_rrc_AffectedCarrierFreqComb_r16, AffectedCarrierFreqComb_r16_sequence); return offset; } -static const value_string nr_rrc_MIMO_LayersDL_vals[] = { - { 0, "twoLayers" }, - { 1, "fourLayers" }, - { 2, "eightLayers" }, +static const per_sequence_t AffectedCarrierFreqCombList_r16_sequence_of[1] = { + { &hf_nr_rrc_AffectedCarrierFreqCombList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AffectedCarrierFreqComb_r16 }, +}; + +static int +dissect_nr_rrc_AffectedCarrierFreqCombList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_AffectedCarrierFreqCombList_r16, AffectedCarrierFreqCombList_r16_sequence_of, + 1, maxCombIDC_r16, FALSE); + + return offset; +} + + +static const per_sequence_t IDC_Assistance_r16_sequence[] = { + { &hf_nr_rrc_affectedCarrierFreqList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_AffectedCarrierFreqList_r16 }, + { &hf_nr_rrc_affectedCarrierFreqCombList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_AffectedCarrierFreqCombList_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_IDC_Assistance_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_IDC_Assistance_r16, IDC_Assistance_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_preferredDRX_InactivityTimer_r16_vals[] = { + { 0, "ms0" }, + { 1, "ms1" }, + { 2, "ms2" }, + { 3, "ms3" }, + { 4, "ms4" }, + { 5, "ms5" }, + { 6, "ms6" }, + { 7, "ms8" }, + { 8, "ms10" }, + { 9, "ms20" }, + { 10, "ms30" }, + { 11, "ms40" }, + { 12, "ms50" }, + { 13, "ms60" }, + { 14, "ms80" }, + { 15, "ms100" }, + { 16, "ms200" }, + { 17, "ms300" }, + { 18, "ms500" }, + { 19, "ms750" }, + { 20, "ms1280" }, + { 21, "ms1920" }, + { 22, "ms2560" }, + { 23, "spare9" }, + { 24, "spare8" }, + { 25, "spare7" }, + { 26, "spare6" }, + { 27, "spare5" }, + { 28, "spare4" }, + { 29, "spare3" }, + { 30, "spare2" }, + { 31, "spare1" }, { 0, NULL } }; +static value_string_ext nr_rrc_T_preferredDRX_InactivityTimer_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_preferredDRX_InactivityTimer_r16_vals); + static int -dissect_nr_rrc_MIMO_LayersDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_preferredDRX_InactivityTimer_r16(tvbuff_t *tvb _U_, int offset _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); + 32, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_MIMO_LayersUL_vals[] = { - { 0, "oneLayer" }, - { 1, "twoLayers" }, - { 2, "fourLayers" }, +static const value_string nr_rrc_T_preferredDRX_LongCycle_r16_vals[] = { + { 0, "ms10" }, + { 1, "ms20" }, + { 2, "ms32" }, + { 3, "ms40" }, + { 4, "ms60" }, + { 5, "ms64" }, + { 6, "ms70" }, + { 7, "ms80" }, + { 8, "ms128" }, + { 9, "ms160" }, + { 10, "ms256" }, + { 11, "ms320" }, + { 12, "ms512" }, + { 13, "ms640" }, + { 14, "ms1024" }, + { 15, "ms1280" }, + { 16, "ms2048" }, + { 17, "ms2560" }, + { 18, "ms5120" }, + { 19, "ms10240" }, + { 20, "spare12" }, + { 21, "spare11" }, + { 22, "spare10" }, + { 23, "spare9" }, + { 24, "spare8" }, + { 25, "spare7" }, + { 26, "spare6" }, + { 27, "spare5" }, + { 28, "spare4" }, + { 29, "spare3" }, + { 30, "spare2" }, + { 31, "spare1" }, { 0, NULL } }; +static value_string_ext nr_rrc_T_preferredDRX_LongCycle_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_preferredDRX_LongCycle_r16_vals); + static int -dissect_nr_rrc_MIMO_LayersUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_preferredDRX_LongCycle_r16(tvbuff_t *tvb _U_, int offset _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); + 32, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t T_reducedMaxMIMO_LayersFR1_sequence[] = { - { &hf_nr_rrc_reducedMIMO_LayersFR1_DL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_LayersDL }, - { &hf_nr_rrc_reducedMIMO_LayersFR1_UL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_LayersUL }, +static const value_string nr_rrc_T_preferredDRX_ShortCycle_r16_vals[] = { + { 0, "ms2" }, + { 1, "ms3" }, + { 2, "ms4" }, + { 3, "ms5" }, + { 4, "ms6" }, + { 5, "ms7" }, + { 6, "ms8" }, + { 7, "ms10" }, + { 8, "ms14" }, + { 9, "ms16" }, + { 10, "ms20" }, + { 11, "ms30" }, + { 12, "ms32" }, + { 13, "ms35" }, + { 14, "ms40" }, + { 15, "ms64" }, + { 16, "ms80" }, + { 17, "ms128" }, + { 18, "ms160" }, + { 19, "ms256" }, + { 20, "ms320" }, + { 21, "ms512" }, + { 22, "ms640" }, + { 23, "spare9" }, + { 24, "spare8" }, + { 25, "spare7" }, + { 26, "spare6" }, + { 27, "spare5" }, + { 28, "spare4" }, + { 29, "spare3" }, + { 30, "spare2" }, + { 31, "spare1" }, + { 0, NULL } +}; + +static value_string_ext nr_rrc_T_preferredDRX_ShortCycle_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_preferredDRX_ShortCycle_r16_vals); + + +static int +dissect_nr_rrc_T_preferredDRX_ShortCycle_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 32, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t DRX_Preference_r16_sequence[] = { + { &hf_nr_rrc_preferredDRX_InactivityTimer_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_preferredDRX_InactivityTimer_r16 }, + { &hf_nr_rrc_preferredDRX_LongCycle_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_preferredDRX_LongCycle_r16 }, + { &hf_nr_rrc_preferredDRX_ShortCycle_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_preferredDRX_ShortCycle_r16 }, + { &hf_nr_rrc_preferredDRX_ShortCycleTimer_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_16 }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_reducedMaxMIMO_LayersFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_DRX_Preference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_reducedMaxMIMO_LayersFR1, T_reducedMaxMIMO_LayersFR1_sequence); + ett_nr_rrc_DRX_Preference_r16, DRX_Preference_r16_sequence); return offset; } -static const per_sequence_t T_reducedMaxMIMO_LayersFR2_sequence[] = { - { &hf_nr_rrc_reducedMIMO_LayersFR2_DL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_LayersDL }, - { &hf_nr_rrc_reducedMIMO_LayersFR2_UL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_LayersUL }, +static const per_sequence_t MaxBW_Preference_r16_sequence[] = { + { &hf_nr_rrc_reducedMaxBW_FR1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ReducedMaxBW_FRx_r16 }, + { &hf_nr_rrc_reducedMaxBW_FR2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ReducedMaxBW_FRx_r16 }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_reducedMaxMIMO_LayersFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_MaxBW_Preference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_reducedMaxMIMO_LayersFR2, T_reducedMaxMIMO_LayersFR2_sequence); + ett_nr_rrc_MaxBW_Preference_r16, MaxBW_Preference_r16_sequence); return offset; } -static const per_sequence_t OverheatingAssistance_sequence[] = { - { &hf_nr_rrc_reducedMaxCCs, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reducedMaxCCs }, - { &hf_nr_rrc_reducedMaxBW_FR1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reducedMaxBW_FR1 }, - { &hf_nr_rrc_reducedMaxBW_FR2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reducedMaxBW_FR2 }, - { &hf_nr_rrc_reducedMaxMIMO_LayersFR1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reducedMaxMIMO_LayersFR1 }, - { &hf_nr_rrc_reducedMaxMIMO_LayersFR2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reducedMaxMIMO_LayersFR2 }, +static const per_sequence_t MaxCC_Preference_r16_sequence[] = { + { &hf_nr_rrc_reducedMaxCCs_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ReducedMaxCCs_r16 }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_OverheatingAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_MaxCC_Preference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_OverheatingAssistance, OverheatingAssistance_sequence); + ett_nr_rrc_MaxCC_Preference_r16, MaxCC_Preference_r16_sequence); return offset; } -static const per_sequence_t T_nonCriticalExtension_32_sequence[] = { +static const per_sequence_t T_reducedMaxMIMO_LayersFR1_r16_sequence[] = { + { &hf_nr_rrc_reducedMIMO_LayersFR1_DL_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, + { &hf_nr_rrc_reducedMIMO_LayersFR1_UL_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_reducedMaxMIMO_LayersFR1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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); + ett_nr_rrc_T_reducedMaxMIMO_LayersFR1_r16, T_reducedMaxMIMO_LayersFR1_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_reducedMaxMIMO_LayersFR2_r16_sequence[] = { + { &hf_nr_rrc_reducedMIMO_LayersFR2_DL_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, + { &hf_nr_rrc_reducedMIMO_LayersFR2_UL_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_reducedMaxMIMO_LayersFR2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_reducedMaxMIMO_LayersFR2_r16, T_reducedMaxMIMO_LayersFR2_r16_sequence); + + return offset; +} + + +static const per_sequence_t MaxMIMO_LayerPreference_r16_sequence[] = { + { &hf_nr_rrc_reducedMaxMIMO_LayersFR1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reducedMaxMIMO_LayersFR1_r16 }, + { &hf_nr_rrc_reducedMaxMIMO_LayersFR2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reducedMaxMIMO_LayersFR2_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MaxMIMO_LayerPreference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MaxMIMO_LayerPreference_r16, MaxMIMO_LayerPreference_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_preferredK0_SCS_15kHz_r16_vals[] = { + { 0, "sl1" }, + { 1, "sl2" }, + { 2, "sl4" }, + { 3, "sl6" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_preferredK0_SCS_15kHz_r16(tvbuff_t *tvb _U_, int offset _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_preferredK0_SCS_30kHz_r16_vals[] = { + { 0, "sl1" }, + { 1, "sl2" }, + { 2, "sl4" }, + { 3, "sl6" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_preferredK0_SCS_30kHz_r16(tvbuff_t *tvb _U_, int offset _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_preferredK0_SCS_60kHz_r16_vals[] = { + { 0, "sl2" }, + { 1, "sl4" }, + { 2, "sl8" }, + { 3, "sl12" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_preferredK0_SCS_60kHz_r16(tvbuff_t *tvb _U_, int offset _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_preferredK0_SCS_120kHz_r16_vals[] = { + { 0, "sl2" }, + { 1, "sl4" }, + { 2, "sl8" }, + { 3, "sl12" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_preferredK0_SCS_120kHz_r16(tvbuff_t *tvb _U_, int offset _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_preferredK0_r16_sequence[] = { + { &hf_nr_rrc_preferredK0_SCS_15kHz_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_preferredK0_SCS_15kHz_r16 }, + { &hf_nr_rrc_preferredK0_SCS_30kHz_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_preferredK0_SCS_30kHz_r16 }, + { &hf_nr_rrc_preferredK0_SCS_60kHz_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_preferredK0_SCS_60kHz_r16 }, + { &hf_nr_rrc_preferredK0_SCS_120kHz_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_preferredK0_SCS_120kHz_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_preferredK0_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_preferredK0_r16, T_preferredK0_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_preferredK2_SCS_15kHz_r16_vals[] = { + { 0, "sl1" }, + { 1, "sl2" }, + { 2, "sl4" }, + { 3, "sl6" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_preferredK2_SCS_15kHz_r16(tvbuff_t *tvb _U_, int offset _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_preferredK2_SCS_30kHz_r16_vals[] = { + { 0, "sl1" }, + { 1, "sl2" }, + { 2, "sl4" }, + { 3, "sl6" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_preferredK2_SCS_30kHz_r16(tvbuff_t *tvb _U_, int offset _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_preferredK2_SCS_60kHz_r16_vals[] = { + { 0, "sl2" }, + { 1, "sl4" }, + { 2, "sl8" }, + { 3, "sl12" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_preferredK2_SCS_60kHz_r16(tvbuff_t *tvb _U_, int offset _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_preferredK2_SCS_120kHz_r16_vals[] = { + { 0, "sl2" }, + { 1, "sl4" }, + { 2, "sl8" }, + { 3, "sl12" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_preferredK2_SCS_120kHz_r16(tvbuff_t *tvb _U_, int offset _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_preferredK2_r16_sequence[] = { + { &hf_nr_rrc_preferredK2_SCS_15kHz_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_preferredK2_SCS_15kHz_r16 }, + { &hf_nr_rrc_preferredK2_SCS_30kHz_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_preferredK2_SCS_30kHz_r16 }, + { &hf_nr_rrc_preferredK2_SCS_60kHz_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_preferredK2_SCS_60kHz_r16 }, + { &hf_nr_rrc_preferredK2_SCS_120kHz_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_preferredK2_SCS_120kHz_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_preferredK2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_preferredK2_r16, T_preferredK2_r16_sequence); + + return offset; +} + + +static const per_sequence_t MinSchedulingOffsetPreference_r16_sequence[] = { + { &hf_nr_rrc_preferredK0_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_preferredK0_r16 }, + { &hf_nr_rrc_preferredK2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_preferredK2_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MinSchedulingOffsetPreference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MinSchedulingOffsetPreference_r16, MinSchedulingOffsetPreference_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_preferredRRC_State_r16_vals[] = { + { 0, "idle" }, + { 1, "inactive" }, + { 2, "connected" }, + { 3, "outOfConnected" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_preferredRRC_State_r16(tvbuff_t *tvb _U_, int offset _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 ReleasePreference_r16_sequence[] = { + { &hf_nr_rrc_preferredRRC_State_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_preferredRRC_State_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ReleasePreference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_ReleasePreference_r16, ReleasePreference_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_trafficPeriodicity_r16_vals[] = { + { 0, "ms20" }, + { 1, "ms50" }, + { 2, "ms100" }, + { 3, "ms200" }, + { 4, "ms300" }, + { 5, "ms400" }, + { 6, "ms500" }, + { 7, "ms600" }, + { 8, "ms700" }, + { 9, "ms800" }, + { 10, "ms900" }, + { 11, "ms1000" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_trafficPeriodicity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 12, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SL_TrafficPatternInfo_r16_sequence[] = { + { &hf_nr_rrc_trafficPeriodicity_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_trafficPeriodicity_r16 }, + { &hf_nr_rrc_timingOffset_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10239 }, + { &hf_nr_rrc_messageSize_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_8 }, + { &hf_nr_rrc_sl_QoS_FlowIdentity_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_QoS_FlowIdentity_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_TrafficPatternInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_TrafficPatternInfo_r16, SL_TrafficPatternInfo_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_UE_AssistanceInformationNR_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_UE_AssistanceInformationNR_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_TrafficPatternInfo_r16 }, +}; + +static int +dissect_nr_rrc_SL_UE_AssistanceInformationNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_UE_AssistanceInformationNR_r16, SL_UE_AssistanceInformationNR_r16_sequence_of, + 1, maxNrofTrafficPattern_r16, FALSE); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_39_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_nonCriticalExtension_39, T_nonCriticalExtension_39_sequence); + + return offset; +} + + +static const per_sequence_t UEAssistanceInformation_v1610_IEs_sequence[] = { + { &hf_nr_rrc_idc_Assistance_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_IDC_Assistance_r16 }, + { &hf_nr_rrc_drx_Preference_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DRX_Preference_r16 }, + { &hf_nr_rrc_maxBW_Preference_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MaxBW_Preference_r16 }, + { &hf_nr_rrc_maxCC_Preference_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MaxCC_Preference_r16 }, + { &hf_nr_rrc_maxMIMO_LayerPreference_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MaxMIMO_LayerPreference_r16 }, + { &hf_nr_rrc_minSchedulingOffsetPreference_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MinSchedulingOffsetPreference_r16 }, + { &hf_nr_rrc_releasePreference_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ReleasePreference_r16 }, + { &hf_nr_rrc_sl_UE_AssistanceInformationNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SL_UE_AssistanceInformationNR_r16 }, + { &hf_nr_rrc_referenceTimeInfoPreference_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN }, + { &hf_nr_rrc_nonCriticalExtension_72, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_39 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UEAssistanceInformation_v1610_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_v1610_IEs, UEAssistanceInformation_v1610_IEs_sequence); return offset; } @@ -22522,7 +41533,7 @@ dissect_nr_rrc_T_nonCriticalExtension_32(tvbuff_t *tvb _U_, int offset _U_, asn1 static const per_sequence_t UEAssistanceInformation_v1540_IEs_sequence[] = { { &hf_nr_rrc_overheatingAssistance, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OverheatingAssistance }, - { &hf_nr_rrc_nonCriticalExtension_50, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_32 }, + { &hf_nr_rrc_nonCriticalExtension_71, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UEAssistanceInformation_v1610_IEs }, { NULL, 0, 0, NULL } }; @@ -22538,7 +41549,7 @@ dissect_nr_rrc_UEAssistanceInformation_v1540_IEs(tvbuff_t *tvb _U_, int offset _ static const per_sequence_t UEAssistanceInformation_IEs_sequence[] = { { &hf_nr_rrc_delayBudgetReport, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DelayBudgetReport }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, - { &hf_nr_rrc_nonCriticalExtension_49, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UEAssistanceInformation_v1540_IEs }, + { &hf_nr_rrc_nonCriticalExtension_70, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UEAssistanceInformation_v1540_IEs }, { NULL, 0, 0, NULL } }; @@ -22551,35 +41562,35 @@ dissect_nr_rrc_UEAssistanceInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, as } -static const per_sequence_t T_criticalExtensionsFuture_31_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_38_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensionsFuture_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_criticalExtensionsFuture_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensionsFuture_31, T_criticalExtensionsFuture_31_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_38, T_criticalExtensionsFuture_38_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_31_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_38_vals[] = { { 0, "ueAssistanceInformation" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_31_choice[] = { +static const per_choice_t T_criticalExtensions_38_choice[] = { { 0, &hf_nr_rrc_ueAssistanceInformation_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UEAssistanceInformation_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_31, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_31 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_38, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_38 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_criticalExtensions_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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, + ett_nr_rrc_T_criticalExtensions_38, T_criticalExtensions_38_choice, NULL); return offset; @@ -22587,7 +41598,7 @@ dissect_nr_rrc_T_criticalExtensions_31(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t UEAssistanceInformation_sequence[] = { - { &hf_nr_rrc_criticalExtensions_31, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_31 }, + { &hf_nr_rrc_criticalExtensions_38, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_38 }, { NULL, 0, 0, NULL } }; @@ -22638,14 +41649,61 @@ dissect_nr_rrc_FailureInfoRLC_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } -static const per_sequence_t T_nonCriticalExtension_10_sequence[] = { +static const value_string nr_rrc_T_failureType_r16_01_vals[] = { + { 0, "daps-failure" }, + { 1, "spare3" }, + { 2, "spare2" }, + { 3, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_failureType_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t FailureInfoDAPS_r16_sequence[] = { + { &hf_nr_rrc_failureType_r16_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureType_r16_01 }, { 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_) { +dissect_nr_rrc_FailureInfoDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_FailureInfoDAPS_r16, FailureInfoDAPS_r16_sequence); + + 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 FailureInformation_v1610_IEs_sequence[] = { + { &hf_nr_rrc_failureInfoDAPS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FailureInfoDAPS_r16 }, + { &hf_nr_rrc_nonCriticalExtension_26, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_13 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_FailureInformation_v1610_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_FailureInformation_v1610_IEs, FailureInformation_v1610_IEs_sequence); return offset; } @@ -22654,7 +41712,7 @@ dissect_nr_rrc_T_nonCriticalExtension_10(tvbuff_t *tvb _U_, int offset _U_, asn1 static const per_sequence_t FailureInformation_IEs_sequence[] = { { &hf_nr_rrc_failureInfoRLC_Bearer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FailureInfoRLC_Bearer }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, - { &hf_nr_rrc_nonCriticalExtension_18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_10 }, + { &hf_nr_rrc_nonCriticalExtension_25, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FailureInformation_v1610_IEs }, { NULL, 0, 0, NULL } }; @@ -22667,35 +41725,35 @@ dissect_nr_rrc_FailureInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const per_sequence_t T_criticalExtensionsFuture_10_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_13_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_) { +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_10, T_criticalExtensionsFuture_10_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_13, T_criticalExtensionsFuture_13_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_10_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_13_vals[] = { { 0, "failureInformation" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_10_choice[] = { +static const per_choice_t T_criticalExtensions_13_choice[] = { { 0, &hf_nr_rrc_failureInformation_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_FailureInformation_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_10, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_10 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_13, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_13 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_10(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_criticalExtensions_10, T_criticalExtensions_10_choice, + ett_nr_rrc_T_criticalExtensions_13, T_criticalExtensions_13_choice, NULL); return offset; @@ -22703,7 +41761,7 @@ dissect_nr_rrc_T_criticalExtensions_10(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t FailureInformation_sequence[] = { - { &hf_nr_rrc_criticalExtensions_10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_10 }, + { &hf_nr_rrc_criticalExtensions_13, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_13 }, { NULL, 0, 0, NULL } }; @@ -22754,14 +41812,14 @@ dissect_nr_rrc_T_ul_DCCH_MessageEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const per_sequence_t T_nonCriticalExtension_36_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_47_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_nonCriticalExtension_47(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_nonCriticalExtension_36, T_nonCriticalExtension_36_sequence); + ett_nr_rrc_T_nonCriticalExtension_47, T_nonCriticalExtension_47_sequence); return offset; } @@ -22771,7 +41829,7 @@ static const per_sequence_t ULInformationTransferMRDC_IEs_sequence[] = { { &hf_nr_rrc_ul_DCCH_MessageNR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_DCCH_MessageNR }, { &hf_nr_rrc_ul_DCCH_MessageEUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_DCCH_MessageEUTRA }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, - { &hf_nr_rrc_nonCriticalExtension_54, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_36 }, + { &hf_nr_rrc_nonCriticalExtension_81, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_47 }, { NULL, 0, 0, NULL } }; @@ -22784,7 +41842,7 @@ dissect_nr_rrc_ULInformationTransferMRDC_IEs(tvbuff_t *tvb _U_, int offset _U_, } -static const value_string nr_rrc_T_c1_14_vals[] = { +static const value_string nr_rrc_T_c1_16_vals[] = { { 0, "ulInformationTransferMRDC" }, { 1, "spare3" }, { 2, "spare2" }, @@ -22792,7 +41850,7 @@ static const value_string nr_rrc_T_c1_14_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_14_choice[] = { +static const per_choice_t T_c1_16_choice[] = { { 0, &hf_nr_rrc_ulInformationTransferMRDC_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_ULInformationTransferMRDC_IEs }, { 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, @@ -22801,44 +41859,44 @@ static const per_choice_t T_c1_14_choice[] = { }; static int -dissect_nr_rrc_T_c1_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_c1_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_c1_14, T_c1_14_choice, + ett_nr_rrc_T_c1_16, T_c1_16_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_35_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_46_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensionsFuture_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_criticalExtensionsFuture_46(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensionsFuture_35, T_criticalExtensionsFuture_35_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_46, T_criticalExtensionsFuture_46_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_35_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_46_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_35_choice[] = { - { 0, &hf_nr_rrc_c1_14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_14 }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_35, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_35 }, +static const per_choice_t T_criticalExtensions_46_choice[] = { + { 0, &hf_nr_rrc_c1_16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_16 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_46, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_46 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_criticalExtensions_46(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensions_35, T_criticalExtensions_35_choice, + ett_nr_rrc_T_criticalExtensions_46, T_criticalExtensions_46_choice, NULL); return offset; @@ -22846,7 +41904,7 @@ dissect_nr_rrc_T_criticalExtensions_35(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t ULInformationTransferMRDC_sequence[] = { - { &hf_nr_rrc_criticalExtensions_35, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_35 }, + { &hf_nr_rrc_criticalExtensions_46, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_46 }, { NULL, 0, 0, NULL } }; @@ -22868,7 +41926,7 @@ static const value_string nr_rrc_T_failureType_02_vals[] = { { 3, "synchReconfigFailureSCG" }, { 4, "scg-ReconfigFailure" }, { 5, "srb3-IntegrityFailure" }, - { 6, "spare2" }, + { 6, "other-r16" }, { 7, "spare1" }, { 0, NULL } }; @@ -22907,10 +41965,47 @@ dissect_nr_rrc_T_measResultSCG_Failure(tvbuff_t *tvb _U_, int offset _U_, asn1_c } +static const value_string nr_rrc_T_failureType_v1610_vals[] = { + { 0, "scg-lbtFailure-r16" }, + { 1, "beamFailureRecoveryFailure-r16" }, + { 2, "t312-Expiry-r16" }, + { 3, "bh-RLF-r16" }, + { 4, "spare4" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_failureType_v1610(tvbuff_t *tvb _U_, int offset _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 FailureReportSCG_eag_1_sequence[] = { + { &hf_nr_rrc_locationInfo_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_LocationInfo_r16 }, + { &hf_nr_rrc_failureType_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_failureType_v1610 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_FailureReportSCG_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, FailureReportSCG_eag_1_sequence); + + return offset; +} + + static const per_sequence_t FailureReportSCG_sequence[] = { { &hf_nr_rrc_failureType_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureType_02 }, { &hf_nr_rrc_measResultFreqList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultFreqList }, { &hf_nr_rrc_measResultSCG_Failure, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultSCG_Failure }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_FailureReportSCG_eag_1 }, { NULL, 0, 0, NULL } }; @@ -22923,14 +42018,14 @@ dissect_nr_rrc_FailureReportSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } -static const per_sequence_t T_nonCriticalExtension_25_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_31_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_) { +dissect_nr_rrc_T_nonCriticalExtension_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_nonCriticalExtension_25, T_nonCriticalExtension_25_sequence); + ett_nr_rrc_T_nonCriticalExtension_31, T_nonCriticalExtension_31_sequence); return offset; } @@ -22938,7 +42033,7 @@ dissect_nr_rrc_T_nonCriticalExtension_25(tvbuff_t *tvb _U_, int offset _U_, asn1 static const per_sequence_t SCGFailureInformation_v1590_IEs_sequence[] = { { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, - { &hf_nr_rrc_nonCriticalExtension_41, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_25 }, + { &hf_nr_rrc_nonCriticalExtension_60, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_31 }, { NULL, 0, 0, NULL } }; @@ -22953,7 +42048,7 @@ dissect_nr_rrc_SCGFailureInformation_v1590_IEs(tvbuff_t *tvb _U_, int offset _U_ static const per_sequence_t SCGFailureInformation_IEs_sequence[] = { { &hf_nr_rrc_failureReportSCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FailureReportSCG }, - { &hf_nr_rrc_nonCriticalExtension_40, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SCGFailureInformation_v1590_IEs }, + { &hf_nr_rrc_nonCriticalExtension_59, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SCGFailureInformation_v1590_IEs }, { NULL, 0, 0, NULL } }; @@ -22966,35 +42061,35 @@ dissect_nr_rrc_SCGFailureInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1 } -static const per_sequence_t T_criticalExtensionsFuture_25_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_31_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_) { +dissect_nr_rrc_T_criticalExtensionsFuture_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensionsFuture_25, T_criticalExtensionsFuture_25_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_31, T_criticalExtensionsFuture_31_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_25_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_31_vals[] = { { 0, "scgFailureInformation" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_25_choice[] = { +static const per_choice_t T_criticalExtensions_31_choice[] = { { 0, &hf_nr_rrc_scgFailureInformation_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SCGFailureInformation_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_25, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_25 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_31, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_31 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_25(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_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_25, T_criticalExtensions_25_choice, + ett_nr_rrc_T_criticalExtensions_31, T_criticalExtensions_31_choice, NULL); return offset; @@ -23002,7 +42097,7 @@ dissect_nr_rrc_T_criticalExtensions_25(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t SCGFailureInformation_sequence[] = { - { &hf_nr_rrc_criticalExtensions_25, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_25 }, + { &hf_nr_rrc_criticalExtensions_31, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_31 }, { NULL, 0, 0, NULL } }; @@ -23022,10 +42117,10 @@ static const value_string nr_rrc_T_failureType_03_vals[] = { { 1, "randomAccessProblem" }, { 2, "rlc-MaxNumRetx" }, { 3, "scg-ChangeFailure" }, - { 4, "spare4" }, - { 5, "spare3" }, - { 6, "spare2" }, - { 7, "spare1" }, + { 4, "scg-lbtFailure-r16" }, + { 5, "beamFailureRecoveryFailure-r16" }, + { 6, "t312-Expiry-r16" }, + { 7, "spare" }, { 0, NULL } }; @@ -23071,10 +42166,24 @@ dissect_nr_rrc_T_measResultSCG_FailureMRDC(tvbuff_t *tvb _U_, int offset _U_, as } +static const per_sequence_t FailureReportSCG_EUTRA_eag_1_sequence[] = { + { &hf_nr_rrc_locationInfo_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_LocationInfo_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_FailureReportSCG_EUTRA_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, FailureReportSCG_EUTRA_eag_1_sequence); + + return offset; +} + + static const per_sequence_t FailureReportSCG_EUTRA_sequence[] = { { &hf_nr_rrc_failureType_03, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureType_03 }, { &hf_nr_rrc_measResultFreqListMRDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultFreqListFailMRDC }, { &hf_nr_rrc_measResultSCG_FailureMRDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultSCG_FailureMRDC }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_FailureReportSCG_EUTRA_eag_1 }, { NULL, 0, 0, NULL } }; @@ -23087,14 +42196,14 @@ dissect_nr_rrc_FailureReportSCG_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const per_sequence_t T_nonCriticalExtension_26_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_32_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_) { +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_26, T_nonCriticalExtension_26_sequence); + ett_nr_rrc_T_nonCriticalExtension_32, T_nonCriticalExtension_32_sequence); return offset; } @@ -23102,7 +42211,7 @@ dissect_nr_rrc_T_nonCriticalExtension_26(tvbuff_t *tvb _U_, int offset _U_, asn1 static const per_sequence_t SCGFailureInformationEUTRA_v1590_IEs_sequence[] = { { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, - { &hf_nr_rrc_nonCriticalExtension_43, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_26 }, + { &hf_nr_rrc_nonCriticalExtension_62, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_32 }, { NULL, 0, 0, NULL } }; @@ -23117,7 +42226,7 @@ dissect_nr_rrc_SCGFailureInformationEUTRA_v1590_IEs(tvbuff_t *tvb _U_, int offse static const per_sequence_t SCGFailureInformationEUTRA_IEs_sequence[] = { { &hf_nr_rrc_failureReportSCG_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FailureReportSCG_EUTRA }, - { &hf_nr_rrc_nonCriticalExtension_42, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SCGFailureInformationEUTRA_v1590_IEs }, + { &hf_nr_rrc_nonCriticalExtension_61, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SCGFailureInformationEUTRA_v1590_IEs }, { NULL, 0, 0, NULL } }; @@ -23130,35 +42239,35 @@ dissect_nr_rrc_SCGFailureInformationEUTRA_IEs(tvbuff_t *tvb _U_, int offset _U_, } -static const per_sequence_t T_criticalExtensionsFuture_26_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_32_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_) { +dissect_nr_rrc_T_criticalExtensionsFuture_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensionsFuture_26, T_criticalExtensionsFuture_26_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_32, T_criticalExtensionsFuture_32_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_26_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_32_vals[] = { { 0, "scgFailureInformationEUTRA" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_26_choice[] = { +static const per_choice_t T_criticalExtensions_32_choice[] = { { 0, &hf_nr_rrc_scgFailureInformationEUTRA_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SCGFailureInformationEUTRA_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_26, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_26 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_32, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_32 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_criticalExtensions_26(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_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_criticalExtensions_26, T_criticalExtensions_26_choice, + ett_nr_rrc_T_criticalExtensions_32, T_criticalExtensions_32_choice, NULL); return offset; @@ -23166,7 +42275,7 @@ dissect_nr_rrc_T_criticalExtensions_26(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t SCGFailureInformationEUTRA_sequence[] = { - { &hf_nr_rrc_criticalExtensions_26, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_26 }, + { &hf_nr_rrc_criticalExtensions_32, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_32 }, { NULL, 0, 0, NULL } }; @@ -23231,14 +42340,2598 @@ dissect_nr_rrc_T_c1_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } -static const per_sequence_t T_messageClassExtension_07_sequence[] = { +static const value_string nr_rrc_T_rrc_MessageSegmentType_r16_01_vals[] = { + { 0, "notLastSegment" }, + { 1, "lastSegment" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_rrc_MessageSegmentType_r16_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_nonCriticalExtension_44_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_) { +dissect_nr_rrc_T_nonCriticalExtension_44(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_44, T_nonCriticalExtension_44_sequence); + + return offset; +} + + +static const per_sequence_t ULDedicatedMessageSegment_r16_IEs_sequence[] = { + { &hf_nr_rrc_segmentNumber_r16_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 }, + { &hf_nr_rrc_rrc_MessageSegmentContainer_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING }, + { &hf_nr_rrc_rrc_MessageSegmentType_r16_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rrc_MessageSegmentType_r16_01 }, + { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, + { &hf_nr_rrc_nonCriticalExtension_78, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_44 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ULDedicatedMessageSegment_r16_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_ULDedicatedMessageSegment_r16_IEs, ULDedicatedMessageSegment_r16_IEs_sequence); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_43_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensionsFuture_43(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_43, T_criticalExtensionsFuture_43_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_criticalExtensions_43_vals[] = { + { 0, "ulDedicatedMessageSegment-r16" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_43_choice[] = { + { 0, &hf_nr_rrc_ulDedicatedMessageSegment_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_ULDedicatedMessageSegment_r16_IEs }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_43, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_43 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensions_43(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_43, T_criticalExtensions_43_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ULDedicatedMessageSegment_r16_sequence[] = { + { &hf_nr_rrc_criticalExtensions_43, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_43 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ULDedicatedMessageSegment_r16(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 Dedicated MessageSegment"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_ULDedicatedMessageSegment_r16, ULDedicatedMessageSegment_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_SIB_ReqInfo_r16_vals[] = { + { 0, "sib12" }, + { 1, "sib13" }, + { 2, "sib14" }, + { 3, "spare5" }, + { 4, "spare4" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_SIB_ReqInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 8, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxOnDemandSIB_r16_OF_SIB_ReqInfo_r16_sequence_of[1] = { + { &hf_nr_rrc_requestedSIB_List_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB_ReqInfo_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandSIB_r16_OF_SIB_ReqInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandSIB_r16_OF_SIB_ReqInfo_r16, SEQUENCE_SIZE_1_maxOnDemandSIB_r16_OF_SIB_ReqInfo_r16_sequence_of, + 1, maxOnDemandSIB_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_posSibType_r16_vals[] = { + { 0, "posSibType1-1" }, + { 1, "posSibType1-2" }, + { 2, "posSibType1-3" }, + { 3, "posSibType1-4" }, + { 4, "posSibType1-5" }, + { 5, "posSibType1-6" }, + { 6, "posSibType1-7" }, + { 7, "posSibType1-8" }, + { 8, "posSibType2-1" }, + { 9, "posSibType2-2" }, + { 10, "posSibType2-3" }, + { 11, "posSibType2-4" }, + { 12, "posSibType2-5" }, + { 13, "posSibType2-6" }, + { 14, "posSibType2-7" }, + { 15, "posSibType2-8" }, + { 16, "posSibType2-9" }, + { 17, "posSibType2-10" }, + { 18, "posSibType2-11" }, + { 19, "posSibType2-12" }, + { 20, "posSibType2-13" }, + { 21, "posSibType2-14" }, + { 22, "posSibType2-15" }, + { 23, "posSibType2-16" }, + { 24, "posSibType2-17" }, + { 25, "posSibType2-18" }, + { 26, "posSibType2-19" }, + { 27, "posSibType2-20" }, + { 28, "posSibType2-21" }, + { 29, "posSibType2-22" }, + { 30, "posSibType2-23" }, + { 31, "posSibType3-1" }, + { 32, "posSibType4-1" }, + { 33, "posSibType5-1" }, + { 34, "posSibType6-1" }, + { 35, "posSibType6-2" }, + { 36, "posSibType6-3" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_posSibType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 37, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t PosSIB_ReqInfo_r16_sequence[] = { + { &hf_nr_rrc_gnss_id_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_GNSS_ID_r16 }, + { &hf_nr_rrc_sbas_id_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SBAS_ID_r16 }, + { &hf_nr_rrc_posSibType_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_posSibType_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PosSIB_ReqInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PosSIB_ReqInfo_r16, PosSIB_ReqInfo_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxOnDemandPosSIB_r16_OF_PosSIB_ReqInfo_r16_sequence_of[1] = { + { &hf_nr_rrc_requestedPosSIB_List_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PosSIB_ReqInfo_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandPosSIB_r16_OF_PosSIB_ReqInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandPosSIB_r16_OF_PosSIB_ReqInfo_r16, SEQUENCE_SIZE_1_maxOnDemandPosSIB_r16_OF_PosSIB_ReqInfo_r16_sequence_of, + 1, maxOnDemandPosSIB_r16, FALSE); + + return offset; +} + + +static const per_sequence_t T_onDemandSIB_RequestList_r16_sequence[] = { + { &hf_nr_rrc_requestedSIB_List_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandSIB_r16_OF_SIB_ReqInfo_r16 }, + { &hf_nr_rrc_requestedPosSIB_List_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandPosSIB_r16_OF_PosSIB_ReqInfo_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_onDemandSIB_RequestList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_onDemandSIB_RequestList_r16, T_onDemandSIB_RequestList_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_09_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_nonCriticalExtension_09, T_nonCriticalExtension_09_sequence); + + return offset; +} + + +static const per_sequence_t DedicatedSIBRequest_r16_IEs_sequence[] = { + { &hf_nr_rrc_onDemandSIB_RequestList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_onDemandSIB_RequestList_r16 }, + { &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_09 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_DedicatedSIBRequest_r16_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_DedicatedSIBRequest_r16_IEs, DedicatedSIBRequest_r16_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, "dedicatedSIBRequest-r16" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_09_choice[] = { + { 0, &hf_nr_rrc_dedicatedSIBRequest_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_DedicatedSIBRequest_r16_IEs }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_09, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_09 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensions_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_criticalExtensions_09, T_criticalExtensions_09_choice, + NULL); + + return offset; +} + + +static const per_sequence_t DedicatedSIBRequest_r16_sequence[] = { + { &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_DedicatedSIBRequest_r16(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, "Dedicated SIB Request"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_DedicatedSIBRequest_r16, DedicatedSIBRequest_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_failureType_r16_02_vals[] = { + { 0, "t310-Expiry" }, + { 1, "randomAccessProblem" }, + { 2, "rlc-MaxNumRetx" }, + { 3, "t312-Expiry-r16" }, + { 4, "lbt-Failure-r16" }, + { 5, "beamFailureRecoveryFailure-r16" }, + { 6, "bh-RLF-r16" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_failureType_r16_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 MeasResult2EUTRA_r16_sequence[] = { + { &hf_nr_rrc_carrierFreq_r16_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA }, + { &hf_nr_rrc_measResultList_r16_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultListEUTRA }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResult2EUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResult2EUTRA_r16, MeasResult2EUTRA_r16_sequence); + + return offset; +} + + +static const per_sequence_t MeasResultList2EUTRA_sequence_of[1] = { + { &hf_nr_rrc_MeasResultList2EUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2EUTRA_r16 }, +}; + +static int +dissect_nr_rrc_MeasResultList2EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultList2EUTRA, MeasResultList2EUTRA_sequence_of, + 1, maxFreq, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_T_measResultSCG_r16_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_MeasResultSCG_Failure_PDU); + + return offset; +} + + + +static int +dissect_nr_rrc_T_measResultSCG_EUTRA_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *meas_result_scg_fail_mrdc_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &meas_result_scg_fail_mrdc_tvb); + + if (meas_result_scg_fail_mrdc_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResultSCG_FailureMRDC); + dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(meas_result_scg_fail_mrdc_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + +static const per_sequence_t MeasResult2UTRA_FDD_r16_sequence[] = { + { &hf_nr_rrc_carrierFreq_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueUTRA_FDD_r16 }, + { &hf_nr_rrc_measResultNeighCellList_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultListUTRA_FDD_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResult2UTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResult2UTRA_FDD_r16, MeasResult2UTRA_FDD_r16_sequence); + + return offset; +} + + +static const per_sequence_t MeasResultList2UTRA_sequence_of[1] = { + { &hf_nr_rrc_MeasResultList2UTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2UTRA_FDD_r16 }, +}; + +static int +dissect_nr_rrc_MeasResultList2UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultList2UTRA, MeasResultList2UTRA_sequence_of, + 1, maxFreq, FALSE); + + return offset; +} + + +static const per_sequence_t FailureReportMCG_r16_sequence[] = { + { &hf_nr_rrc_failureType_r16_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_failureType_r16_02 }, + { &hf_nr_rrc_measResultFreqList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultList2NR }, + { &hf_nr_rrc_measResultFreqListEUTRA_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultList2EUTRA }, + { &hf_nr_rrc_measResultSCG_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultSCG_r16_01 }, + { &hf_nr_rrc_measResultSCG_EUTRA_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultSCG_EUTRA_r16_01 }, + { &hf_nr_rrc_measResultFreqListUTRA_FDD_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultList2UTRA }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_FailureReportMCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_FailureReportMCG_r16, FailureReportMCG_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_17_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_nonCriticalExtension_17, T_nonCriticalExtension_17_sequence); + + return offset; +} + + +static const per_sequence_t MCGFailureInformation_r16_IEs_sequence[] = { + { &hf_nr_rrc_failureReportMCG_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FailureReportMCG_r16 }, + { &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_17 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MCGFailureInformation_r16_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_MCGFailureInformation_r16_IEs, MCGFailureInformation_r16_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, "mcgFailureInformation-r16" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_17_choice[] = { + { 0, &hf_nr_rrc_mcgFailureInformation_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MCGFailureInformation_r16_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 MCGFailureInformation_r16_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_MCGFailureInformation_r16(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, "MCG Failure Information"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MCGFailureInformation_r16, MCGFailureInformation_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_7200(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 7200U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_1_maxNrofSSBs_r16(tvbuff_t *tvb _U_, int offset _U_, 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, maxNrofSSBs_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_resultsSSB_sequence[] = { + { &hf_nr_rrc_best_ssb_Index, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index }, + { &hf_nr_rrc_best_ssb_Results, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasQuantityResults }, + { &hf_nr_rrc_numberOfGoodSSB, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofSSBs_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_resultsSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_resultsSSB, T_resultsSSB_sequence); + + return offset; +} + + +static const per_sequence_t MeasResultServingCell_r16_sequence[] = { + { &hf_nr_rrc_resultsSSB_Cell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasQuantityResults }, + { &hf_nr_rrc_resultsSSB , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_resultsSSB }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResultServingCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultServingCell_r16, MeasResultServingCell_r16_sequence); + + return offset; +} + + +static const per_sequence_t MeasResultLoggingNR_r16_sequence[] = { + { &hf_nr_rrc_physCellId_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, + { &hf_nr_rrc_resultsSSB_Cell_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasQuantityResults }, + { &hf_nr_rrc_numberOfGoodSSB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofSSBs_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResultLoggingNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultLoggingNR_r16, MeasResultLoggingNR_r16_sequence); + + return offset; +} + + +static const per_sequence_t MeasResultListLoggingNR_r16_sequence_of[1] = { + { &hf_nr_rrc_MeasResultListLoggingNR_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultLoggingNR_r16 }, +}; + +static int +dissect_nr_rrc_MeasResultListLoggingNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultListLoggingNR_r16, MeasResultListLoggingNR_r16_sequence_of, + 1, maxCellReport, FALSE); + + return offset; +} + + +static const per_sequence_t MeasResultListLogging2NR_r16_sequence_of[1] = { + { &hf_nr_rrc_MeasResultListLogging2NR_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultListLoggingNR_r16 }, +}; + +static int +dissect_nr_rrc_MeasResultListLogging2NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultListLogging2NR_r16, MeasResultListLogging2NR_r16_sequence_of, + 1, maxFreq, FALSE); + + return offset; +} + + +static const per_sequence_t MeasResultList2EUTRA_r16_sequence_of[1] = { + { &hf_nr_rrc_MeasResultList2EUTRA_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2EUTRA_r16 }, +}; + +static int +dissect_nr_rrc_MeasResultList2EUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultList2EUTRA_r16, MeasResultList2EUTRA_r16_sequence_of, + 1, maxFreq, FALSE); + + return offset; +} + + +static const per_sequence_t T_measResultNeighCells_r16_sequence[] = { + { &hf_nr_rrc_measResultNeighCellListNR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultListLogging2NR_r16 }, + { &hf_nr_rrc_measResultNeighCellListEUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultList2EUTRA_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_measResultNeighCells_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_measResultNeighCells_r16, T_measResultNeighCells_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_anyCellSelectionDetected_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_anyCellSelectionDetected_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 LogMeasInfo_r16_sequence[] = { + { &hf_nr_rrc_locationInfo_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_LocationInfo_r16 }, + { &hf_nr_rrc_relativeTimeStamp_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7200 }, + { &hf_nr_rrc_servCellIdentity_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CGI_Info_Logging_r16 }, + { &hf_nr_rrc_measResultServingCell_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultServingCell_r16 }, + { &hf_nr_rrc_measResultNeighCells_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResultNeighCells_r16 }, + { &hf_nr_rrc_anyCellSelectionDetected_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_anyCellSelectionDetected_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_LogMeasInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_LogMeasInfo_r16, LogMeasInfo_r16_sequence); + + return offset; +} + + +static const per_sequence_t LogMeasInfoList_r16_sequence_of[1] = { + { &hf_nr_rrc_LogMeasInfoList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogMeasInfo_r16 }, +}; + +static int +dissect_nr_rrc_LogMeasInfoList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_LogMeasInfoList_r16, LogMeasInfoList_r16_sequence_of, + 1, maxLogMeasReport_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_logMeasAvailable_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_logMeasAvailable_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_logMeasAvailableBT_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_logMeasAvailableBT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_logMeasAvailableWLAN_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_logMeasAvailableWLAN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 LogMeasReport_r16_sequence[] = { + { &hf_nr_rrc_absoluteTimeStamp_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AbsoluteTimeInfo_r16 }, + { &hf_nr_rrc_traceReference_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TraceReference_r16 }, + { &hf_nr_rrc_traceRecordingSessionRef_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING_SIZE_2 }, + { &hf_nr_rrc_tce_Id_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING_SIZE_1 }, + { &hf_nr_rrc_logMeasInfoList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogMeasInfoList_r16 }, + { &hf_nr_rrc_logMeasAvailable_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_logMeasAvailable_r16 }, + { &hf_nr_rrc_logMeasAvailableBT_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_logMeasAvailableBT_r16 }, + { &hf_nr_rrc_logMeasAvailableWLAN_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_logMeasAvailableWLAN_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_LogMeasReport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_LogMeasReport_r16, LogMeasReport_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_cellResults_r16_sequence[] = { + { &hf_nr_rrc_resultsSSB_Cell_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasQuantityResults }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_cellResults_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_cellResults_r16, T_cellResults_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_rsIndexResults_r16_sequence[] = { + { &hf_nr_rrc_resultsSSB_Indexes_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResultsPerSSB_IndexList }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_rsIndexResults_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_rsIndexResults_r16, T_rsIndexResults_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_measResult_r16_sequence[] = { + { &hf_nr_rrc_cellResults_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellResults_r16 }, + { &hf_nr_rrc_rsIndexResults_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rsIndexResults_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_measResult_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_measResult_r16, T_measResult_r16_sequence); + + return offset; +} + + +static const per_sequence_t MeasResultFailedCell_r16_sequence[] = { + { &hf_nr_rrc_cgi_Info_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CGI_Info_Logging_r16 }, + { &hf_nr_rrc_measResult_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResult_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResultFailedCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultFailedCell_r16, MeasResultFailedCell_r16_sequence); + + return offset; +} + + +static const per_sequence_t MeasResult2NR_r16_sequence[] = { + { &hf_nr_rrc_ssbFrequency_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR }, + { &hf_nr_rrc_refFreqCSI_RS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR }, + { &hf_nr_rrc_measResultList_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultListNR }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResult2NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResult2NR_r16, MeasResult2NR_r16_sequence); + + return offset; +} + + +static const per_sequence_t MeasResultList2NR_r16_sequence_of[1] = { + { &hf_nr_rrc_MeasResultList2NR_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2NR_r16 }, +}; + +static int +dissect_nr_rrc_MeasResultList2NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultList2NR_r16, MeasResultList2NR_r16_sequence_of, + 1, maxFreq, FALSE); + + return offset; +} + + +static const per_sequence_t T_measResultNeighCells_r16_01_sequence[] = { + { &hf_nr_rrc_measResultNeighCellListNR_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultList2NR_r16 }, + { &hf_nr_rrc_measResultNeighCellListEUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultList2EUTRA_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_measResultNeighCells_r16_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_measResultNeighCells_r16_01, T_measResultNeighCells_r16_01_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_1_200(tvbuff_t *tvb _U_, int offset _U_, 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, 200U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t PerRAAttemptInfo_r16_sequence[] = { + { &hf_nr_rrc_contentionDetected_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN }, + { &hf_nr_rrc_dlRSRPAboveThreshold_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PerRAAttemptInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PerRAAttemptInfo_r16, PerRAAttemptInfo_r16_sequence); + + return offset; +} + + +static const per_sequence_t PerRAAttemptInfoList_r16_sequence_of[1] = { + { &hf_nr_rrc_PerRAAttemptInfoList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PerRAAttemptInfo_r16 }, +}; + +static int +dissect_nr_rrc_PerRAAttemptInfoList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PerRAAttemptInfoList_r16, PerRAAttemptInfoList_r16_sequence_of, + 1, 200, FALSE); + + return offset; +} + + +static const per_sequence_t PerRASSBInfo_r16_sequence[] = { + { &hf_nr_rrc_ssb_Index_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index }, + { &hf_nr_rrc_numberOfPreamblesSentOnSSB_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_200 }, + { &hf_nr_rrc_perRAAttemptInfoList_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PerRAAttemptInfoList_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PerRASSBInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PerRASSBInfo_r16, PerRASSBInfo_r16_sequence); + + return offset; +} + + +static const per_sequence_t PerRACSI_RSInfo_r16_sequence[] = { + { &hf_nr_rrc_csi_RS_Index_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Index }, + { &hf_nr_rrc_numberOfPreamblesSentOnCSI_RS_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_200 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PerRACSI_RSInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PerRACSI_RSInfo_r16, PerRACSI_RSInfo_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_PerRAInfo_r16_vals[] = { + { 0, "perRASSBInfoList-r16" }, + { 1, "perRACSI-RSInfoList-r16" }, + { 0, NULL } +}; + +static const per_choice_t PerRAInfo_r16_choice[] = { + { 0, &hf_nr_rrc_perRASSBInfoList_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_PerRASSBInfo_r16 }, + { 1, &hf_nr_rrc_perRACSI_RSInfoList_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_PerRACSI_RSInfo_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_PerRAInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PerRAInfo_r16, PerRAInfo_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t PerRAInfoList_r16_sequence_of[1] = { + { &hf_nr_rrc_PerRAInfoList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PerRAInfo_r16 }, +}; + +static int +dissect_nr_rrc_PerRAInfoList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PerRAInfoList_r16, PerRAInfoList_r16_sequence_of, + 1, 200, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_TimeSinceFailure_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 172800U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t ConnEstFailReport_r16_sequence[] = { + { &hf_nr_rrc_measResultFailedCell_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultFailedCell_r16 }, + { &hf_nr_rrc_locationInfo_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_LocationInfo_r16 }, + { &hf_nr_rrc_measResultNeighCells_r16_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResultNeighCells_r16_01 }, + { &hf_nr_rrc_numberOfConnFail_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, + { &hf_nr_rrc_perRAInfoList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PerRAInfoList_r16 }, + { &hf_nr_rrc_timeSinceFailure_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeSinceFailure_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ConnEstFailReport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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); + ett_nr_rrc_ConnEstFailReport_r16, ConnEstFailReport_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_msg1_FDM_r16_vals[] = { + { 0, "one" }, + { 1, "two" }, + { 2, "four" }, + { 3, "eight" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_msg1_FDM_r16(tvbuff_t *tvb _U_, int offset _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_msg1_FDMCFRA_r16_vals[] = { + { 0, "one" }, + { 1, "two" }, + { 2, "four" }, + { 3, "eight" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_msg1_FDMCFRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t RA_InformationCommon_r16_sequence[] = { + { &hf_nr_rrc_absoluteFrequencyPointA_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, + { &hf_nr_rrc_locationAndBandwidth_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_37949 }, + { &hf_nr_rrc_subcarrierSpacing_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, + { &hf_nr_rrc_msg1_FrequencyStart_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 }, + { &hf_nr_rrc_msg1_FrequencyStartCFRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 }, + { &hf_nr_rrc_msg1_SubcarrierSpacing_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing }, + { &hf_nr_rrc_msg1_SubcarrierSpacingCFRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing }, + { &hf_nr_rrc_msg1_FDM_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_msg1_FDM_r16 }, + { &hf_nr_rrc_msg1_FDMCFRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_msg1_FDMCFRA_r16 }, + { &hf_nr_rrc_perRAInfoList_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PerRAInfoList_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RA_InformationCommon_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_RA_InformationCommon_r16, RA_InformationCommon_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_raPurpose_r16_vals[] = { + { 0, "accessRelated" }, + { 1, "beamFailureRecovery" }, + { 2, "reconfigurationWithSync" }, + { 3, "ulUnSynchronized" }, + { 4, "schedulingRequestFailure" }, + { 5, "noPUCCHResourceAvailable" }, + { 6, "requestForOtherSI" }, + { 7, "spare9" }, + { 8, "spare8" }, + { 9, "spare7" }, + { 10, "spare6" }, + { 11, "spare5" }, + { 12, "spare4" }, + { 13, "spare3" }, + { 14, "spare2" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_raPurpose_r16(tvbuff_t *tvb _U_, int offset _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 RA_Report_r16_sequence[] = { + { &hf_nr_rrc_cellId_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CGI_Info_Logging_r16 }, + { &hf_nr_rrc_ra_InformationCommon_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RA_InformationCommon_r16 }, + { &hf_nr_rrc_raPurpose_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_raPurpose_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RA_Report_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_RA_Report_r16, RA_Report_r16_sequence); + + return offset; +} + + +static const per_sequence_t RA_ReportList_r16_sequence_of[1] = { + { &hf_nr_rrc_RA_ReportList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RA_Report_r16 }, +}; + +static int +dissect_nr_rrc_RA_ReportList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_RA_ReportList_r16, RA_ReportList_r16_sequence_of, + 1, maxRAReport_r16, FALSE); + + return offset; +} + + +static const per_sequence_t T_cellResults_r16_01_sequence[] = { + { &hf_nr_rrc_resultsSSB_Cell_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults }, + { &hf_nr_rrc_resultsCSI_RS_Cell_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_cellResults_r16_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_cellResults_r16_01, T_cellResults_r16_01_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_BIT_STRING_SIZE_96(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 96, 96, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const per_sequence_t T_rsIndexResults_r16_01_sequence[] = { + { &hf_nr_rrc_resultsSSB_Indexes_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ResultsPerSSB_IndexList }, + { &hf_nr_rrc_ssbRLMConfigBitmap_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_64 }, + { &hf_nr_rrc_resultsCSI_RS_Indexes_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ResultsPerCSI_RS_IndexList }, + { &hf_nr_rrc_csi_rsRLMConfigBitmap_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_96 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_rsIndexResults_r16_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_rsIndexResults_r16_01, T_rsIndexResults_r16_01_sequence); + + return offset; +} + + +static const per_sequence_t T_measResult_r16_01_sequence[] = { + { &hf_nr_rrc_cellResults_r16_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellResults_r16_01 }, + { &hf_nr_rrc_rsIndexResults_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rsIndexResults_r16_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_measResult_r16_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_measResult_r16_01, T_measResult_r16_01_sequence); + + return offset; +} + + +static const per_sequence_t MeasResultRLFNR_r16_sequence[] = { + { &hf_nr_rrc_measResult_r16_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResult_r16_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResultRLFNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasResultRLFNR_r16, MeasResultRLFNR_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_measResultNeighCells_r16_02_sequence[] = { + { &hf_nr_rrc_measResultListNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultList2NR_r16 }, + { &hf_nr_rrc_measResultListEUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultList2EUTRA_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_measResultNeighCells_r16_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_measResultNeighCells_r16_02, T_measResultNeighCells_r16_02_sequence); + + return offset; +} + + +static const per_sequence_t CGI_InfoEUTRALogging_sequence[] = { + { &hf_nr_rrc_plmn_Identity_eutra_5gc, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PLMN_Identity }, + { &hf_nr_rrc_trackingAreaCode_eutra_5gc, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_TrackingAreaCode }, + { &hf_nr_rrc_cellIdentity_eutra_5gc_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_28 }, + { &hf_nr_rrc_plmn_Identity_eutra_epc, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PLMN_Identity }, + { &hf_nr_rrc_trackingAreaCode_eutra_epc, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 }, + { &hf_nr_rrc_cellIdentity_eutra_epc, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_28 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CGI_InfoEUTRALogging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_InfoEUTRALogging, CGI_InfoEUTRALogging_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_previousPCellId_r16_vals[] = { + { 0, "nrPreviousCell-r16" }, + { 1, "eutraPreviousCell-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_previousPCellId_r16_choice[] = { + { 0, &hf_nr_rrc_nrPreviousCell_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_CGI_Info_Logging_r16 }, + { 1, &hf_nr_rrc_eutraPreviousCell_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_CGI_InfoEUTRALogging }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_previousPCellId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_previousPCellId_r16, T_previousPCellId_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_pci_arfcn_r16_sequence[] = { + { &hf_nr_rrc_physCellId_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, + { &hf_nr_rrc_carrierFreq_r16_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_pci_arfcn_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_pci_arfcn_r16, T_pci_arfcn_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_nrFailedPCellId_r16_vals[] = { + { 0, "cellGlobalId-r16" }, + { 1, "pci-arfcn-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_nrFailedPCellId_r16_choice[] = { + { 0, &hf_nr_rrc_cellGlobalId_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_CGI_Info_Logging_r16 }, + { 1, &hf_nr_rrc_pci_arfcn_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_pci_arfcn_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nrFailedPCellId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_nrFailedPCellId_r16, T_nrFailedPCellId_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_pci_arfcn_r16_01_sequence[] = { + { &hf_nr_rrc_physCellId_r16_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId }, + { &hf_nr_rrc_carrierFreq_r16_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_pci_arfcn_r16_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_pci_arfcn_r16_01, T_pci_arfcn_r16_01_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_eutraFailedPCellId_r16_vals[] = { + { 0, "cellGlobalId-r16" }, + { 1, "pci-arfcn-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_eutraFailedPCellId_r16_choice[] = { + { 0, &hf_nr_rrc_cellGlobalId_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_CGI_InfoEUTRALogging }, + { 1, &hf_nr_rrc_pci_arfcn_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_pci_arfcn_r16_01 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_eutraFailedPCellId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_eutraFailedPCellId_r16, T_eutraFailedPCellId_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_failedPCellId_r16_vals[] = { + { 0, "nrFailedPCellId-r16" }, + { 1, "eutraFailedPCellId-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_failedPCellId_r16_choice[] = { + { 0, &hf_nr_rrc_nrFailedPCellId_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nrFailedPCellId_r16 }, + { 1, &hf_nr_rrc_eutraFailedPCellId_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eutraFailedPCellId_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_failedPCellId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_failedPCellId_r16, T_failedPCellId_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_reconnectCellId_r16_vals[] = { + { 0, "nrReconnectCellId-r16" }, + { 1, "eutraReconnectCellId-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_reconnectCellId_r16_choice[] = { + { 0, &hf_nr_rrc_nrReconnectCellId_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_CGI_Info_Logging_r16 }, + { 1, &hf_nr_rrc_eutraReconnectCellId_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_CGI_InfoEUTRALogging }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_reconnectCellId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_reconnectCellId_r16, T_reconnectCellId_r16_choice, + NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_TimeUntilReconnection_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, + 0U, 172800U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_connectionFailureType_r16_vals[] = { + { 0, "rlf" }, + { 1, "hof" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_connectionFailureType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_rlf_Cause_r16_vals[] = { + { 0, "t310-Expiry" }, + { 1, "randomAccessProblem" }, + { 2, "rlc-MaxNumRetx" }, + { 3, "beamFailureRecoveryFailure" }, + { 4, "lbtFailure-r16" }, + { 5, "bh-rlfRecoveryFailure" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_rlf_Cause_r16(tvbuff_t *tvb _U_, int offset _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_noSuitableCellFound_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_noSuitableCellFound_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_nr_RLF_Report_r16_sequence[] = { + { &hf_nr_rrc_measResultLastServCell_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultRLFNR_r16 }, + { &hf_nr_rrc_measResultNeighCells_r16_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultNeighCells_r16_02 }, + { &hf_nr_rrc_c_RNTI_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value }, + { &hf_nr_rrc_previousPCellId_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_previousPCellId_r16 }, + { &hf_nr_rrc_failedPCellId_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failedPCellId_r16 }, + { &hf_nr_rrc_reconnectCellId_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reconnectCellId_r16 }, + { &hf_nr_rrc_timeUntilReconnection_16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_TimeUntilReconnection_16 }, + { &hf_nr_rrc_reestablishmentCellId_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CGI_Info_Logging_r16 }, + { &hf_nr_rrc_timeConnFailure_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1023 }, + { &hf_nr_rrc_timeSinceFailure_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeSinceFailure_r16 }, + { &hf_nr_rrc_connectionFailureType_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_connectionFailureType_r16 }, + { &hf_nr_rrc_rlf_Cause_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rlf_Cause_r16 }, + { &hf_nr_rrc_locationInfo_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_LocationInfo_r16 }, + { &hf_nr_rrc_noSuitableCellFound_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_noSuitableCellFound_r16 }, + { &hf_nr_rrc_ra_InformationCommon_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RA_InformationCommon_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nr_RLF_Report_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_nr_RLF_Report_r16, T_nr_RLF_Report_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_T_measResult_RLF_Report_EUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *meas_result_rlf_report_eutra_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &meas_result_rlf_report_eutra_tvb); + + if (meas_result_rlf_report_eutra_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResult_RLF_Report_EUTRA); + dissect_lte_rrc_RLF_Report_r9_PDU(meas_result_rlf_report_eutra_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + +static const per_sequence_t T_eutra_RLF_Report_r16_sequence[] = { + { &hf_nr_rrc_failedPCellId_EUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CGI_InfoEUTRALogging }, + { &hf_nr_rrc_measResult_RLF_Report_EUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResult_RLF_Report_EUTRA_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_eutra_RLF_Report_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_eutra_RLF_Report_r16, T_eutra_RLF_Report_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_RLF_Report_r16_vals[] = { + { 0, "nr-RLF-Report-r16" }, + { 1, "eutra-RLF-Report-r16" }, + { 0, NULL } +}; + +static const per_choice_t RLF_Report_r16_choice[] = { + { 0, &hf_nr_rrc_nr_RLF_Report_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nr_RLF_Report_r16 }, + { 1, &hf_nr_rrc_eutra_RLF_Report_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eutra_RLF_Report_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_RLF_Report_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_RLF_Report_r16, RLF_Report_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_pci_arfcn_r16_02_sequence[] = { + { &hf_nr_rrc_physCellId_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, + { &hf_nr_rrc_carrierFreq_r16_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_pci_arfcn_r16_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_pci_arfcn_r16_02, T_pci_arfcn_r16_02_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_nr_CellId_r16_vals[] = { + { 0, "cgi-Info" }, + { 1, "pci-arfcn-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_nr_CellId_r16_choice[] = { + { 0, &hf_nr_rrc_cgi_Info_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CGI_Info_Logging_r16 }, + { 1, &hf_nr_rrc_pci_arfcn_r16_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_pci_arfcn_r16_02 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nr_CellId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_nr_CellId_r16, T_nr_CellId_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_pci_arfcn_r16_03_sequence[] = { + { &hf_nr_rrc_physCellId_r16_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId }, + { &hf_nr_rrc_carrierFreq_r16_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_pci_arfcn_r16_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_pci_arfcn_r16_03, T_pci_arfcn_r16_03_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_eutra_CellId_r16_vals[] = { + { 0, "cellGlobalId-r16" }, + { 1, "pci-arfcn-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_eutra_CellId_r16_choice[] = { + { 0, &hf_nr_rrc_cellGlobalId_r16_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_CGI_InfoEUTRA }, + { 1, &hf_nr_rrc_pci_arfcn_r16_03, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_pci_arfcn_r16_03 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_eutra_CellId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_eutra_CellId_r16, T_eutra_CellId_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_visitedCellId_r16_vals[] = { + { 0, "nr-CellId-r16" }, + { 1, "eutra-CellId-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_visitedCellId_r16_choice[] = { + { 0, &hf_nr_rrc_nr_CellId_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nr_CellId_r16 }, + { 1, &hf_nr_rrc_eutra_CellId_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eutra_CellId_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_visitedCellId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_visitedCellId_r16, T_visitedCellId_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t VisitedCellInfo_r16_sequence[] = { + { &hf_nr_rrc_visitedCellId_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_visitedCellId_r16 }, + { &hf_nr_rrc_timeSpent_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4095 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_VisitedCellInfo_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_VisitedCellInfo_r16, VisitedCellInfo_r16_sequence); + + return offset; +} + + +static const per_sequence_t VisitedCellInfoList_r16_sequence_of[1] = { + { &hf_nr_rrc_VisitedCellInfoList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_VisitedCellInfo_r16 }, +}; + +static int +dissect_nr_rrc_VisitedCellInfoList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_VisitedCellInfoList_r16, VisitedCellInfoList_r16_sequence_of, + 1, maxCellHistory_r16, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_MobilityHistoryReport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_nr_rrc_VisitedCellInfoList_r16(tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_43_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_43(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_43, T_nonCriticalExtension_43_sequence); + + return offset; +} + + +static const per_sequence_t UEInformationResponse_r16_IEs_sequence[] = { + { &hf_nr_rrc_measResultIdleEUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultIdleEUTRA_r16 }, + { &hf_nr_rrc_measResultIdleNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultIdleNR_r16 }, + { &hf_nr_rrc_logMeasReport_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_LogMeasReport_r16 }, + { &hf_nr_rrc_connEstFailReport_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ConnEstFailReport_r16 }, + { &hf_nr_rrc_ra_ReportList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RA_ReportList_r16 }, + { &hf_nr_rrc_rlf_Report_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RLF_Report_r16 }, + { &hf_nr_rrc_mobilityHistoryReport_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MobilityHistoryReport_r16 }, + { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, + { &hf_nr_rrc_nonCriticalExtension_77, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_43 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UEInformationResponse_r16_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_UEInformationResponse_r16_IEs, UEInformationResponse_r16_IEs_sequence); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_42_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensionsFuture_42(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_42, T_criticalExtensionsFuture_42_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_criticalExtensions_42_vals[] = { + { 0, "ueInformationResponse-r16" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_42_choice[] = { + { 0, &hf_nr_rrc_ueInformationResponse_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UEInformationResponse_r16_IEs }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_42, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_42 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensions_42(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_42, T_criticalExtensions_42_choice, + NULL); + + return offset; +} + + +static const per_sequence_t UEInformationResponse_r16_sequence[] = { + { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, + { &hf_nr_rrc_criticalExtensions_42, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_42 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UEInformationResponse_r16(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 Information Response"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_UEInformationResponse_r16, UEInformationResponse_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_1_maxNrofFreqSL_r16(tvbuff_t *tvb _U_, int offset _U_, 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, maxNrofFreqSL_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SL_InterestedFreqList_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_InterestedFreqList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofFreqSL_r16 }, +}; + +static int +dissect_nr_rrc_SL_InterestedFreqList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_InterestedFreqList_r16, SL_InterestedFreqList_r16_sequence_of, + 1, maxNrofFreqSL_r16, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_SL_DestinationIdentity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 24, 24, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sl_CastType_r16_vals[] = { + { 0, "broadcast" }, + { 1, "groupcast" }, + { 2, "unicast" }, + { 3, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_CastType_r16(tvbuff_t *tvb _U_, int offset _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_sl_Mode_r16_vals[] = { + { 0, "sl-AM-Mode-r16" }, + { 1, "sl-UM-Mode-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_sl_Mode_r16_choice[] = { + { 0, &hf_nr_rrc_sl_AM_Mode_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_sl_UM_Mode_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_Mode_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_Mode_r16, T_sl_Mode_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SL_QoS_Info_r16_sequence[] = { + { &hf_nr_rrc_sl_QoS_FlowIdentity_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_QoS_FlowIdentity_r16 }, + { &hf_nr_rrc_sl_QoS_Profile_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SL_QoS_Profile_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_QoS_Info_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_QoS_Info_r16, SL_QoS_Info_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_QoS_InfoList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_QoS_Info_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16, SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16_sequence_of, + 1, maxNrofSL_QFIsPerDest_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SL_RLC_ModeIndication_r16_sequence[] = { + { &hf_nr_rrc_sl_Mode_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_Mode_r16 }, + { &hf_nr_rrc_sl_QoS_InfoList_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_RLC_ModeIndication_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_RLC_ModeIndication_r16, SL_RLC_ModeIndication_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RLC_ModeIndication_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_RLC_ModeIndicationList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_RLC_ModeIndication_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RLC_ModeIndication_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RLC_ModeIndication_r16, SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RLC_ModeIndication_r16_sequence_of, + 1, maxNrofSLRB_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_TypeTxSyncList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_TypeTxSync_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16, SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16_sequence_of, + 1, maxNrofFreqSL_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SL_TxInterestedFreqList_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_TxInterestedFreqList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofFreqSL_r16 }, +}; + +static int +dissect_nr_rrc_SL_TxInterestedFreqList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_TxInterestedFreqList_r16, SL_TxInterestedFreqList_r16_sequence_of, + 1, maxNrofFreqSL_r16, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_T_sl_CapabilityInformationSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *sl_cap_info_sidelink_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &sl_cap_info_sidelink_tvb); + + if (sl_cap_info_sidelink_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_CapabilityInformationSidelink); + dissect_UECapabilityInformationSidelink_PDU(sl_cap_info_sidelink_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + +static const per_sequence_t SL_TxResourceReq_r16_sequence[] = { + { &hf_nr_rrc_sl_DestinationIdentity_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_DestinationIdentity_r16 }, + { &hf_nr_rrc_sl_CastType_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_CastType_r16 }, + { &hf_nr_rrc_sl_RLC_ModeIndicationList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RLC_ModeIndication_r16 }, + { &hf_nr_rrc_sl_QoS_InfoList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16 }, + { &hf_nr_rrc_sl_TypeTxSyncList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16 }, + { &hf_nr_rrc_sl_TxInterestedFreqList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SL_TxInterestedFreqList_r16 }, + { &hf_nr_rrc_sl_CapabilityInformationSidelink_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_CapabilityInformationSidelink_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_TxResourceReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_TxResourceReq_r16, SL_TxResourceReq_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_TxResourceReqList_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_TxResourceReqList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_TxResourceReq_r16 }, +}; + +static int +dissect_nr_rrc_SL_TxResourceReqList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_TxResourceReqList_r16, SL_TxResourceReqList_r16_sequence_of, + 1, maxNrofSL_Dest_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_Failure_r16_vals[] = { + { 0, "rlf" }, + { 1, "configFailure" }, + { 2, "spare6" }, + { 3, "spare5" }, + { 4, "spare4" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_Failure_r16(tvbuff_t *tvb _U_, int offset _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 SL_Failure_r16_sequence[] = { + { &hf_nr_rrc_sl_DestinationIdentity_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_DestinationIdentity_r16 }, + { &hf_nr_rrc_sl_Failure_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sl_Failure_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_Failure_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_Failure_r16, SL_Failure_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_FailureList_r16_sequence_of[1] = { + { &hf_nr_rrc_SL_FailureList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_Failure_r16 }, +}; + +static int +dissect_nr_rrc_SL_FailureList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_FailureList_r16, SL_FailureList_r16_sequence_of, + 1, maxNrofSL_Dest_r16, FALSE); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_37_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_37(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_nonCriticalExtension_37, T_nonCriticalExtension_37_sequence); + + return offset; +} + + +static const per_sequence_t SidelinkUEInformationNR_r16_IEs_sequence[] = { + { &hf_nr_rrc_sl_RxInterestedFreqList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SL_InterestedFreqList_r16 }, + { &hf_nr_rrc_sl_TxResourceReqList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SL_TxResourceReqList_r16 }, + { &hf_nr_rrc_sl_FailureList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SL_FailureList_r16 }, + { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, + { &hf_nr_rrc_nonCriticalExtension_68, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_37 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SidelinkUEInformationNR_r16_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_SidelinkUEInformationNR_r16_IEs, SidelinkUEInformationNR_r16_IEs_sequence); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_36_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensionsFuture_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_criticalExtensionsFuture_36, T_criticalExtensionsFuture_36_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_criticalExtensions_36_vals[] = { + { 0, "sidelinkUEInformationNR-r16" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_36_choice[] = { + { 0, &hf_nr_rrc_sidelinkUEInformationNR_r16_03, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SidelinkUEInformationNR_r16_IEs }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_36, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_36 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensions_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_36, T_criticalExtensions_36_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SidelinkUEInformationNR_r16_sequence[] = { + { &hf_nr_rrc_criticalExtensions_36, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_36 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SidelinkUEInformationNR_r16(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, "Sidelink UE Information NR"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SidelinkUEInformationNR_r16, SidelinkUEInformationNR_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_T_ul_DCCH_MessageEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *ul_dcch_msg_eutra_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &ul_dcch_msg_eutra_tvb); + + if (ul_dcch_msg_eutra_tvb && lte_rrc_ul_dcch_handle) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_ul_DCCH_MessageEUTRA); + nr_rrc_call_dissector(lte_rrc_ul_dcch_handle, ul_dcch_msg_eutra_tvb, actx->pinfo, subtree); + } + + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_46_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_46(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_46, T_nonCriticalExtension_46_sequence); + + return offset; +} + + +static const per_sequence_t ULInformationTransferIRAT_r16_IEs_sequence[] = { + { &hf_nr_rrc_ul_DCCH_MessageEUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_DCCH_MessageEUTRA_r16 }, + { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, + { &hf_nr_rrc_nonCriticalExtension_80, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_46 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ULInformationTransferIRAT_r16_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_ULInformationTransferIRAT_r16_IEs, ULInformationTransferIRAT_r16_IEs_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_c1_15_vals[] = { + { 0, "ulInformationTransferIRAT-r16" }, + { 1, "spare3" }, + { 2, "spare2" }, + { 3, "spare1" }, + { 0, NULL } +}; + +static const per_choice_t T_c1_15_choice[] = { + { 0, &hf_nr_rrc_ulInformationTransferIRAT_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_ULInformationTransferIRAT_r16_IEs }, + { 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 3, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_c1_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_c1_15, T_c1_15_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_45_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensionsFuture_45(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_45, T_criticalExtensionsFuture_45_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_criticalExtensions_45_vals[] = { + { 0, "c1" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_45_choice[] = { + { 0, &hf_nr_rrc_c1_15 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_15 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_45, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_45 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensions_45(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_45, T_criticalExtensions_45_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ULInformationTransferIRAT_r16_sequence[] = { + { &hf_nr_rrc_criticalExtensions_45, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_45 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ULInformationTransferIRAT_r16(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 IRAT"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_ULInformationTransferIRAT_r16, ULInformationTransferIRAT_r16_sequence); + + return offset; +} + + +static const per_sequence_t IAB_IPAddressNumReq_r16_sequence[] = { + { &hf_nr_rrc_all_Traffic_NumReq_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, + { &hf_nr_rrc_f1_C_Traffic_NumReq_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, + { &hf_nr_rrc_f1_U_Traffic_NumReq_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, + { &hf_nr_rrc_non_F1_Traffic_NumReq_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_IAB_IPAddressNumReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_IAB_IPAddressNumReq_r16, IAB_IPAddressNumReq_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_all_Traffic_PrefixReq_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_all_Traffic_PrefixReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_f1_C_Traffic_PrefixReq_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_f1_C_Traffic_PrefixReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_f1_U_Traffic_PrefixReq_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_f1_U_Traffic_PrefixReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_non_F1_Traffic_PrefixReq_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_non_F1_Traffic_PrefixReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 IAB_IPAddressPrefixReq_r16_sequence[] = { + { &hf_nr_rrc_all_Traffic_PrefixReq_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_all_Traffic_PrefixReq_r16 }, + { &hf_nr_rrc_f1_C_Traffic_PrefixReq_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_f1_C_Traffic_PrefixReq_r16 }, + { &hf_nr_rrc_f1_U_Traffic_PrefixReq_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_f1_U_Traffic_PrefixReq_r16 }, + { &hf_nr_rrc_non_F1_Traffic_PrefixReq_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_non_F1_Traffic_PrefixReq_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_IAB_IPAddressPrefixReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_IAB_IPAddressPrefixReq_r16, IAB_IPAddressPrefixReq_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_iab_IPv6_AddressReq_r16_vals[] = { + { 0, "iab-IPv6-AddressNumReq-r16" }, + { 1, "iab-IPv6-AddressPrefixReq-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_iab_IPv6_AddressReq_r16_choice[] = { + { 0, &hf_nr_rrc_iab_IPv6_AddressNumReq_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_IAB_IPAddressNumReq_r16 }, + { 1, &hf_nr_rrc_iab_IPv6_AddressPrefixReq_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_IAB_IPAddressPrefixReq_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_iab_IPv6_AddressReq_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_iab_IPv6_AddressReq_r16, T_iab_IPv6_AddressReq_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_iab_IP_Request_r16_sequence[] = { + { &hf_nr_rrc_iab_IPv4_AddressNumReq_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_IAB_IPAddressNumReq_r16 }, + { &hf_nr_rrc_iab_IPv6_AddressReq_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_iab_IPv6_AddressReq_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_iab_IP_Request_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_iab_IP_Request_r16, T_iab_IP_Request_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16_sequence_of[1] = { + { &hf_nr_rrc_all_Traffic_IAB_IP_Address_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IAB_IP_Address_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16, SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16_sequence_of, + 1, 8, FALSE); + + return offset; +} + + +static const per_sequence_t IAB_IP_AddressAndTraffic_r16_sequence[] = { + { &hf_nr_rrc_all_Traffic_IAB_IP_Address_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16 }, + { &hf_nr_rrc_f1_C_Traffic_IP_Address_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16 }, + { &hf_nr_rrc_f1_U_Traffic_IP_Address_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16 }, + { &hf_nr_rrc_non_F1_Traffic_IP_Address_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_IAB_IP_AddressAndTraffic_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_IAB_IP_AddressAndTraffic_r16, IAB_IP_AddressAndTraffic_r16_sequence); + + return offset; +} + + +static const per_sequence_t IAB_IP_PrefixAndTraffic_r16_sequence[] = { + { &hf_nr_rrc_all_Traffic_IAB_IP_Address_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_IAB_IP_Address_r16 }, + { &hf_nr_rrc_f1_C_Traffic_IP_Address_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_IAB_IP_Address_r16 }, + { &hf_nr_rrc_f1_U_Traffic_IP_Address_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_IAB_IP_Address_r16 }, + { &hf_nr_rrc_non_F1_Traffic_IP_Address_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_IAB_IP_Address_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_IAB_IP_PrefixAndTraffic_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_IAB_IP_PrefixAndTraffic_r16, IAB_IP_PrefixAndTraffic_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_iab_IPv6_Report_r16_vals[] = { + { 0, "iab-IPv6-AddressReport-r16" }, + { 1, "iab-IPv6-PrefixReport-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_iab_IPv6_Report_r16_choice[] = { + { 0, &hf_nr_rrc_iab_IPv6_AddressReport_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_IAB_IP_AddressAndTraffic_r16 }, + { 1, &hf_nr_rrc_iab_IPv6_PrefixReport_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_IAB_IP_PrefixAndTraffic_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_iab_IPv6_Report_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_iab_IPv6_Report_r16, T_iab_IPv6_Report_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_iab_IP_Report_r16_sequence[] = { + { &hf_nr_rrc_iab_IPv4_AddressReport_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_IAB_IP_AddressAndTraffic_r16 }, + { &hf_nr_rrc_iab_IPv6_Report_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_iab_IPv6_Report_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_iab_IP_Report_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_iab_IP_Report_r16, T_iab_IP_Report_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_ip_InfoType_vals[] = { + { 0, "iab-IP-Request-r16" }, + { 1, "iab-IP-Report-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_ip_InfoType_choice[] = { + { 0, &hf_nr_rrc_iab_IP_Request_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_iab_IP_Request_r16 }, + { 1, &hf_nr_rrc_iab_IP_Report_r16, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_iab_IP_Report_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_ip_InfoType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_ip_InfoType, T_ip_InfoType_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_14_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_nonCriticalExtension_14, T_nonCriticalExtension_14_sequence); + + return offset; +} + + +static const per_sequence_t IABOtherInformation_r16_IEs_sequence[] = { + { &hf_nr_rrc_ip_InfoType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ip_InfoType }, + { &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_14 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_IABOtherInformation_r16_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_IABOtherInformation_r16_IEs, IABOtherInformation_r16_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, "iabOtherInformation-r16" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_14_choice[] = { + { 0, &hf_nr_rrc_iabOtherInformation_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_IABOtherInformation_r16_IEs }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_14, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_14 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensions_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_criticalExtensions_14, T_criticalExtensions_14_choice, + NULL); + + return offset; +} + + +static const per_sequence_t IABOtherInformation_r16_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_IABOtherInformation_r16(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, "IAB Other Information"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_IABOtherInformation_r16, IABOtherInformation_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_c2_vals[] = { + { 0, "ulDedicatedMessageSegment-r16" }, + { 1, "dedicatedSIBRequest-r16" }, + { 2, "mcgFailureInformation-r16" }, + { 3, "ueInformationResponse-r16" }, + { 4, "sidelinkUEInformationNR-r16" }, + { 5, "ulInformationTransferIRAT-r16" }, + { 6, "iabOtherInformation-r16" }, + { 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_c2_choice[] = { + { 0, &hf_nr_rrc_ulDedicatedMessageSegment_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_ULDedicatedMessageSegment_r16 }, + { 1, &hf_nr_rrc_dedicatedSIBRequest_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_DedicatedSIBRequest_r16 }, + { 2, &hf_nr_rrc_mcgFailureInformation_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MCGFailureInformation_r16 }, + { 3, &hf_nr_rrc_ueInformationResponse_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UEInformationResponse_r16 }, + { 4, &hf_nr_rrc_sidelinkUEInformationNR_r16_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SidelinkUEInformationNR_r16 }, + { 5, &hf_nr_rrc_ulInformationTransferIRAT_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_ULInformationTransferIRAT_r16 }, + { 6, &hf_nr_rrc_iabOtherInformation_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_IABOtherInformation_r16 }, + { 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_c2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_c2, T_c2_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_messageClassExtensionFuture_r16_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_messageClassExtensionFuture_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_messageClassExtensionFuture_r16, T_messageClassExtensionFuture_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_messageClassExtension_07_vals[] = { + { 0, "c2" }, + { 1, "messageClassExtensionFuture-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_messageClassExtension_07_choice[] = { + { 0, &hf_nr_rrc_c2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c2 }, + { 1, &hf_nr_rrc_messageClassExtensionFuture_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtensionFuture_r16 }, + { 0, NULL, 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_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_messageClassExtension_07, T_messageClassExtension_07_choice, + NULL); return offset; } @@ -23351,8 +45044,115 @@ dissect_nr_rrc_T_mrdc_Request(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } +static const value_string nr_rrc_T_type1_SinglePanel_r16_01_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_type1_SinglePanel_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_type1_MultiPanel_r16_01_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_type1_MultiPanel_r16_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_type2_r16_01_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_type2_r16_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_type2_PortSelection_r16_01_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_type2_PortSelection_r16_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_codebookTypeRequest_r16_sequence[] = { + { &hf_nr_rrc_type1_SinglePanel_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type1_SinglePanel_r16_01 }, + { &hf_nr_rrc_type1_MultiPanel_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type1_MultiPanel_r16_01 }, + { &hf_nr_rrc_type2_r16_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_r16_01 }, + { &hf_nr_rrc_type2_PortSelection_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_PortSelection_r16_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_codebookTypeRequest_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_codebookTypeRequest_r16, T_codebookTypeRequest_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_uplinkTxSwitchRequest_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_uplinkTxSwitchRequest_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t UE_CapabilityRequestFilterCommon_eag_1_sequence[] = { + { &hf_nr_rrc_codebookTypeRequest_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_codebookTypeRequest_r16 }, + { &hf_nr_rrc_uplinkTxSwitchRequest_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uplinkTxSwitchRequest_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UE_CapabilityRequestFilterCommon_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, UE_CapabilityRequestFilterCommon_eag_1_sequence); + + return offset; +} + + static const per_sequence_t UE_CapabilityRequestFilterCommon_sequence[] = { { &hf_nr_rrc_mrdc_Request , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mrdc_Request }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_CapabilityRequestFilterCommon_eag_1 }, { NULL, 0, 0, NULL } }; @@ -23365,14 +45165,44 @@ dissect_nr_rrc_UE_CapabilityRequestFilterCommon(tvbuff_t *tvb _U_, int offset _U } -static const per_sequence_t T_nonCriticalExtension_33_sequence[] = { +static const value_string nr_rrc_T_rrc_SegAllowed_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_rrc_SegAllowed_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_40_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_nonCriticalExtension_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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); + ett_nr_rrc_T_nonCriticalExtension_40, T_nonCriticalExtension_40_sequence); + + return offset; +} + + +static const per_sequence_t UECapabilityEnquiry_v1610_IEs_sequence[] = { + { &hf_nr_rrc_rrc_SegAllowed_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rrc_SegAllowed_r16 }, + { &hf_nr_rrc_nonCriticalExtension_74, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_40 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UECapabilityEnquiry_v1610_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_v1610_IEs, UECapabilityEnquiry_v1610_IEs_sequence); return offset; } @@ -23380,7 +45210,7 @@ dissect_nr_rrc_T_nonCriticalExtension_33(tvbuff_t *tvb _U_, int offset _U_, asn1 static const per_sequence_t UECapabilityEnquiry_v1560_IEs_sequence[] = { { &hf_nr_rrc_capabilityRequestFilterCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_CapabilityRequestFilterCommon }, - { &hf_nr_rrc_nonCriticalExtension_51, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_33 }, + { &hf_nr_rrc_nonCriticalExtension_73, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UECapabilityEnquiry_v1610_IEs }, { NULL, 0, 0, NULL } }; @@ -23415,26 +45245,170 @@ dissect_nr_rrc_Alpha(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr } -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 }, + +static int +dissect_nr_rrc_AvailabilityCombinationsPerCellIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxNrofDUCells_r16, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_maxAI_DCI_PayloadSize_r16_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, maxAI_DCI_PayloadSize_r16_1, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_AvailabilityCombinationId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxNrofAvailabilityCombinationsPerSet_r16_1, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_resourceAvailability_r16_sequence_of[1] = { + { &hf_nr_rrc_resourceAvailability_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 }, +}; + +static int +dissect_nr_rrc_T_resourceAvailability_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_resourceAvailability_r16, T_resourceAvailability_r16_sequence_of, + 1, maxNrofResourceAvailabilityPerCombination_r16, FALSE); + + return offset; +} + + +static const per_sequence_t AvailabilityCombination_r16_sequence[] = { + { &hf_nr_rrc_availabilityCombinationId_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AvailabilityCombinationId_r16 }, + { &hf_nr_rrc_resourceAvailability_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceAvailability_r16 }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_BFR_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_AvailabilityCombination_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_BFR_SSB_Resource, BFR_SSB_Resource_sequence); + ett_nr_rrc_AvailabilityCombination_r16, AvailabilityCombination_r16_sequence); return offset; } +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombination_r16_sequence_of[1] = { + { &hf_nr_rrc_availabilityCombinations_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AvailabilityCombination_r16 }, +}; 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_) { +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombination_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombination_r16, SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombination_r16_sequence_of, + 1, maxNrofAvailabilityCombinationsPerSet_r16, FALSE); + + return offset; +} + + +static const per_sequence_t AvailabilityCombinationsPerCell_r16_sequence[] = { + { &hf_nr_rrc_availabilityCombinationsPerCellIndex_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AvailabilityCombinationsPerCellIndex_r16 }, + { &hf_nr_rrc_iab_DU_CellIdentity_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellIdentity }, + { &hf_nr_rrc_positionInDCI_AI_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxAI_DCI_PayloadSize_r16_1 }, + { &hf_nr_rrc_availabilityCombinations_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombination_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_AvailabilityCombinationsPerCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_AvailabilityCombinationsPerCell_r16, AvailabilityCombinationsPerCell_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_AI_RNTI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_nr_rrc_RNTI_Value(tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_1_maxAI_DCI_PayloadSize_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_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); + 1U, maxAI_DCI_PayloadSize_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCell_r16_sequence_of[1] = { + { &hf_nr_rrc_availableCombToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AvailabilityCombinationsPerCell_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCell_r16, SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCell_r16_sequence_of, + 1, maxNrofDUCells_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCellIndex_r16_sequence_of[1] = { + { &hf_nr_rrc_availableCombToReleaseList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AvailabilityCombinationsPerCellIndex_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCellIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCellIndex_r16, SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCellIndex_r16_sequence_of, + 1, maxNrofDUCells_r16, FALSE); + + return offset; +} + + +static const per_sequence_t AvailabilityIndicator_r16_sequence[] = { + { &hf_nr_rrc_ai_RNTI_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AI_RNTI_r16 }, + { &hf_nr_rrc_dci_PayloadSizeAI_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxAI_DCI_PayloadSize_r16 }, + { &hf_nr_rrc_availableCombToAddModList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCell_r16 }, + { &hf_nr_rrc_availableCombToReleaseList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCellIndex_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_AvailabilityIndicator_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_AvailabilityIndicator_r16, AvailabilityIndicator_r16_sequence); + + return offset; +} + + +static const per_sequence_t BFR_SSB_Resource_sequence[] = { + { &hf_nr_rrc_ssb_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index }, + { &hf_nr_rrc_ra_PreambleIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_BFR_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BFR_SSB_Resource, BFR_SSB_Resource_sequence); return offset; } @@ -23538,87 +45512,86 @@ dissect_nr_rrc_T_ssb_perRACH_Occasion(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const value_string nr_rrc_T_powerRampingStepHighPriority_vals[] = { - { 0, "dB0" }, - { 1, "dB2" }, - { 2, "dB4" }, - { 3, "dB6" }, +static const value_string nr_rrc_T_beamFailureRecoveryTimer_vals[] = { + { 0, "ms10" }, + { 1, "ms20" }, + { 2, "ms40" }, + { 3, "ms60" }, + { 4, "ms80" }, + { 5, "ms100" }, + { 6, "ms150" }, + { 7, "ms200" }, { 0, NULL } }; static int -dissect_nr_rrc_T_powerRampingStepHighPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_beamFailureRecoveryTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); + 8, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_scalingFactorBI_vals[] = { - { 0, "zero" }, - { 1, "dot25" }, - { 2, "dot5" }, - { 3, "dot75" }, - { 0, NULL } +static const per_sequence_t BeamFailureRecoveryConfig_eag_1_sequence[] = { + { &hf_nr_rrc_msg1_SubcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing }, + { NULL, 0, 0, NULL } }; - static int -dissect_nr_rrc_T_scalingFactorBI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); +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 RA_Prioritization_sequence[] = { - { &hf_nr_rrc_powerRampingStepHighPriority, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_powerRampingStepHighPriority }, - { &hf_nr_rrc_scalingFactorBI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_scalingFactorBI }, - { NULL, 0, 0, NULL } +static const per_sequence_t CandidateBeamRSListExt_r16_sequence_of[1] = { + { &hf_nr_rrc_CandidateBeamRSListExt_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PRACH_ResourceDedicatedBFR }, }; static int -dissect_nr_rrc_RA_Prioritization(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_RA_Prioritization, RA_Prioritization_sequence); +dissect_nr_rrc_CandidateBeamRSListExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CandidateBeamRSListExt_r16, CandidateBeamRSListExt_r16_sequence_of, + 1, maxNrofCandidateBeamsExt_r16, FALSE); return offset; } -static const value_string nr_rrc_T_beamFailureRecoveryTimer_vals[] = { - { 0, "ms10" }, - { 1, "ms20" }, - { 2, "ms40" }, - { 3, "ms60" }, - { 4, "ms80" }, - { 5, "ms100" }, - { 6, "ms150" }, - { 7, "ms200" }, +static const value_string nr_rrc_T_candidateBeamRSListExt_v1610_vals[] = { + { 0, "release" }, + { 1, "setup" }, { 0, NULL } }; +static const per_choice_t T_candidateBeamRSListExt_v1610_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_CandidateBeamRSListExt_r16 }, + { 0, NULL, 0, NULL } +}; static int -dissect_nr_rrc_T_beamFailureRecoveryTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 8, NULL, FALSE, 0, NULL); +dissect_nr_rrc_T_candidateBeamRSListExt_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_candidateBeamRSListExt_v1610, T_candidateBeamRSListExt_v1610_choice, + NULL); return offset; } -static const per_sequence_t BeamFailureRecoveryConfig_eag_1_sequence[] = { - { &hf_nr_rrc_msg1_SubcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing }, +static const per_sequence_t BeamFailureRecoveryConfig_eag_2_sequence[] = { + { &hf_nr_rrc_ra_PrioritizationTwoStep_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RA_Prioritization }, + { &hf_nr_rrc_candidateBeamRSListExt_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_candidateBeamRSListExt_v1610 }, { 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); +dissect_nr_rrc_BeamFailureRecoveryConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BeamFailureRecoveryConfig_eag_2_sequence); return offset; } @@ -23635,6 +45608,7 @@ static const per_sequence_t BeamFailureRecoveryConfig_sequence[] = { { &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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BeamFailureRecoveryConfig_eag_2 }, { NULL, 0, 0, NULL } }; @@ -23647,6 +45621,72 @@ dissect_nr_rrc_BeamFailureRecoveryConfig(tvbuff_t *tvb _U_, int offset _U_, asn1 } +static const value_string nr_rrc_T_candidateBeamConfig_r16_vals[] = { + { 0, "ssb-r16" }, + { 1, "csi-RS-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_candidateBeamConfig_r16_choice[] = { + { 0, &hf_nr_rrc_ssb_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index }, + { 1, &hf_nr_rrc_csi_RS_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_candidateBeamConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_candidateBeamConfig_r16, T_candidateBeamConfig_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t CandidateBeamRS_r16_sequence[] = { + { &hf_nr_rrc_candidateBeamConfig_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_candidateBeamConfig_r16 }, + { &hf_nr_rrc_servingCellId, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CandidateBeamRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CandidateBeamRS_r16, CandidateBeamRS_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16_sequence_of[1] = { + { &hf_nr_rrc_candidateBeamRSSCellList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CandidateBeamRS_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16, SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16_sequence_of, + 1, maxNrofCandidateBeams_r16, FALSE); + + return offset; +} + + +static const per_sequence_t BeamFailureRecoverySCellConfig_r16_sequence[] = { + { &hf_nr_rrc_rsrp_ThresholdBFR_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range }, + { &hf_nr_rrc_candidateBeamRSSCellList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_BeamFailureRecoverySCellConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BeamFailureRecoverySCellConfig_r16, BeamFailureRecoverySCellConfig_r16_sequence); + + return offset; +} + + static const per_sequence_t BetaOffsets_sequence[] = { { &hf_nr_rrc_betaOffsetACK_Index1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 }, { &hf_nr_rrc_betaOffsetACK_Index2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 }, @@ -23667,29 +45707,396 @@ dissect_nr_rrc_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ } -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" }, + +static int +dissect_nr_rrc_BH_LogicalChannelIdentity_Ext_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 33U, maxLC_ID_Iab_r16, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_BH_LogicalChannelIdentity_r16_vals[] = { + { 0, "bh-LogicalChannelIdentity-r16" }, + { 1, "bh-LogicalChannelIdentityExt-r16" }, + { 0, NULL } +}; + +static const per_choice_t BH_LogicalChannelIdentity_r16_choice[] = { + { 0, &hf_nr_rrc_bh_LogicalChannelIdentity_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_LogicalChannelIdentity }, + { 1, &hf_nr_rrc_bh_LogicalChannelIdentityExt_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BH_LogicalChannelIdentity_Ext_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_BH_LogicalChannelIdentity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BH_LogicalChannelIdentity_r16, BH_LogicalChannelIdentity_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_reestablishRLC_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_reestablishRLC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_maxRetxThreshold_vals[] = { + { 0, "t1" }, + { 1, "t2" }, + { 2, "t3" }, + { 3, "t4" }, + { 4, "t6" }, + { 5, "t8" }, + { 6, "t16" }, + { 7, "t32" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxRetxThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 8, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t UL_AM_RLC_sequence[] = { + { &hf_nr_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthAM }, + { &hf_nr_rrc_t_PollRetransmit, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_PollRetransmit }, + { &hf_nr_rrc_pollPDU , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PollPDU }, + { &hf_nr_rrc_pollByte , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PollByte }, + { &hf_nr_rrc_maxRetxThreshold, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxRetxThreshold }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UL_AM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; + mapping->tempDirection = DIRECTION_UPLINK; + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_UL_AM_RLC, UL_AM_RLC_sequence); + + + + return offset; +} + + +static const value_string nr_rrc_T_Reassembly_vals[] = { + { 0, "ms0" }, + { 1, "ms5" }, + { 2, "ms10" }, + { 3, "ms15" }, + { 4, "ms20" }, + { 5, "ms25" }, + { 6, "ms30" }, + { 7, "ms35" }, + { 8, "ms40" }, + { 9, "ms45" }, + { 10, "ms50" }, + { 11, "ms55" }, + { 12, "ms60" }, + { 13, "ms65" }, + { 14, "ms70" }, + { 15, "ms75" }, + { 16, "ms80" }, + { 17, "ms85" }, + { 18, "ms90" }, + { 19, "ms95" }, + { 20, "ms100" }, + { 21, "ms110" }, + { 22, "ms120" }, + { 23, "ms130" }, + { 24, "ms140" }, + { 25, "ms150" }, + { 26, "ms160" }, + { 27, "ms170" }, + { 28, "ms180" }, + { 29, "ms190" }, + { 30, "ms200" }, + { 31, "spare1" }, + { 0, NULL } +}; + +static value_string_ext nr_rrc_T_Reassembly_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_Reassembly_vals); + + +static int +dissect_nr_rrc_T_Reassembly(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 32, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_StatusProhibit_vals[] = { + { 0, "ms0" }, + { 1, "ms5" }, + { 2, "ms10" }, + { 3, "ms15" }, + { 4, "ms20" }, + { 5, "ms25" }, + { 6, "ms30" }, + { 7, "ms35" }, + { 8, "ms40" }, + { 9, "ms45" }, + { 10, "ms50" }, + { 11, "ms55" }, + { 12, "ms60" }, + { 13, "ms65" }, + { 14, "ms70" }, + { 15, "ms75" }, + { 16, "ms80" }, + { 17, "ms85" }, + { 18, "ms90" }, + { 19, "ms95" }, + { 20, "ms100" }, + { 21, "ms105" }, + { 22, "ms110" }, + { 23, "ms115" }, + { 24, "ms120" }, + { 25, "ms125" }, + { 26, "ms130" }, + { 27, "ms135" }, + { 28, "ms140" }, + { 29, "ms145" }, + { 30, "ms150" }, + { 31, "ms155" }, + { 32, "ms160" }, + { 33, "ms165" }, + { 34, "ms170" }, + { 35, "ms175" }, + { 36, "ms180" }, + { 37, "ms185" }, + { 38, "ms190" }, + { 39, "ms195" }, + { 40, "ms200" }, + { 41, "ms205" }, + { 42, "ms210" }, + { 43, "ms215" }, + { 44, "ms220" }, + { 45, "ms225" }, + { 46, "ms230" }, + { 47, "ms235" }, + { 48, "ms240" }, + { 49, "ms245" }, + { 50, "ms250" }, + { 51, "ms300" }, + { 52, "ms350" }, + { 53, "ms400" }, + { 54, "ms450" }, + { 55, "ms500" }, + { 56, "ms800" }, + { 57, "ms1000" }, + { 58, "ms1200" }, + { 59, "ms1600" }, + { 60, "ms2000" }, + { 61, "ms2400" }, + { 62, "spare2" }, + { 63, "spare1" }, + { 0, NULL } +}; + +static value_string_ext nr_rrc_T_StatusProhibit_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_StatusProhibit_vals); + + +static int +dissect_nr_rrc_T_StatusProhibit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 64, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t DL_AM_RLC_sequence[] = { + { &hf_nr_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthAM }, + { &hf_nr_rrc_t_Reassembly , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reassembly }, + { &hf_nr_rrc_t_StatusProhibit, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_StatusProhibit }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_DL_AM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; + mapping->tempDirection = DIRECTION_DOWNLINK; + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_DL_AM_RLC, DL_AM_RLC_sequence); + + + + + return offset; +} + + +static const per_sequence_t T_am_sequence[] = { + { &hf_nr_rrc_ul_AM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_AM_RLC }, + { &hf_nr_rrc_dl_AM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_AM_RLC }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_am(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_am, T_am_sequence); + + return offset; +} + + +static const per_sequence_t UL_UM_RLC_sequence[] = { + { &hf_nr_rrc_sn_FieldLength_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthUM }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UL_UM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; + mapping->tempDirection = DIRECTION_UPLINK; + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_UL_UM_RLC, UL_UM_RLC_sequence); + + + + return offset; +} + + +static const per_sequence_t DL_UM_RLC_sequence[] = { + { &hf_nr_rrc_sn_FieldLength_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthUM }, + { &hf_nr_rrc_t_Reassembly , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reassembly }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_DL_UM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; + mapping->tempDirection = DIRECTION_DOWNLINK; + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_DL_UM_RLC, DL_UM_RLC_sequence); + + + + return offset; +} + + +static const per_sequence_t T_um_Bi_Directional_sequence[] = { + { &hf_nr_rrc_ul_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_UM_RLC }, + { &hf_nr_rrc_dl_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_UM_RLC }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_um_Bi_Directional(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_um_Bi_Directional, T_um_Bi_Directional_sequence); + + return offset; +} + + +static const per_sequence_t T_um_Uni_Directional_UL_sequence[] = { + { &hf_nr_rrc_ul_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_UM_RLC }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_um_Uni_Directional_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_um_Uni_Directional_UL, T_um_Uni_Directional_UL_sequence); + + return offset; +} + + +static const per_sequence_t T_um_Uni_Directional_DL_sequence[] = { + { &hf_nr_rrc_dl_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_UM_RLC }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_um_Uni_Directional_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_um_Uni_Directional_DL, T_um_Uni_Directional_DL_sequence); + + return offset; +} + + +static const value_string nr_rrc_RLC_Config_vals[] = { + { 0, "am" }, + { 1, "um-Bi-Directional" }, + { 2, "um-Uni-Directional-UL" }, + { 3, "um-Uni-Directional-DL" }, + { 0, NULL } +}; + +static const per_choice_t RLC_Config_choice[] = { + { 0, &hf_nr_rrc_am , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_am }, + { 1, &hf_nr_rrc_um_Bi_Directional, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_um_Bi_Directional }, + { 2, &hf_nr_rrc_um_Uni_Directional_UL, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_um_Uni_Directional_UL }, + { 3, &hf_nr_rrc_um_Uni_Directional_DL, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_um_Uni_Directional_DL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_RLC_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_RLC_Config, RLC_Config_choice, + &value); + + mapping->rlcMode = (value==0) ? RLC_AM_MODE : RLC_UM_MODE; + mapping->rlcMode_present = TRUE; + + + return offset; +} + + +static const value_string nr_rrc_T_prioritisedBitRate_vals[] = { + { 0, "kBps0" }, + { 1, "kBps8" }, + { 2, "kBps16" }, + { 3, "kBps32" }, + { 4, "kBps64" }, + { 5, "kBps128" }, + { 6, "kBps256" }, + { 7, "kBps512" }, + { 8, "kBps1024" }, + { 9, "kBps2048" }, + { 10, "kBps4096" }, + { 11, "kBps8192" }, + { 12, "kBps16384" }, + { 13, "kBps32768" }, + { 14, "kBps65536" }, { 15, "infinity" }, { 0, NULL } }; static int -dissect_nr_rrc_T_periodicBSR_Timer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_prioritisedBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); @@ -23697,18 +46104,18 @@ dissect_nr_rrc_T_periodicBSR_Timer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -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" }, +static const value_string nr_rrc_T_bucketSizeDuration_vals[] = { + { 0, "ms5" }, + { 1, "ms10" }, + { 2, "ms20" }, + { 3, "ms50" }, + { 4, "ms100" }, + { 5, "ms150" }, + { 6, "ms300" }, + { 7, "ms500" }, + { 8, "ms1000" }, + { 9, "spare7" }, + { 10, "spare6" }, { 11, "spare5" }, { 12, "spare4" }, { 13, "spare3" }, @@ -23719,7 +46126,7 @@ static const value_string nr_rrc_T_retxBSR_Timer_vals[] = { 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_) { +dissect_nr_rrc_T_bucketSizeDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); @@ -23727,21 +46134,35 @@ dissect_nr_rrc_T_retxBSR_Timer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } -static const value_string nr_rrc_T_logicalChannelSR_DelayTimer_vals[] = { - { 0, "sf20" }, - { 1, "sf40" }, - { 2, "sf64" }, - { 3, "sf128" }, - { 4, "sf512" }, - { 5, "sf1024" }, - { 6, "sf2560" }, +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex_sequence_of[1] = { + { &hf_nr_rrc_allowedServingCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex, SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex_sequence_of, + 1, maxNrofServingCells_1, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_maxPUSCH_Duration_vals[] = { + { 0, "ms0p02" }, + { 1, "ms0p04" }, + { 2, "ms0p0625" }, + { 3, "ms0p125" }, + { 4, "ms0p25" }, + { 5, "ms0p5" }, + { 6, "spare2" }, { 7, "spare1" }, { 0, NULL } }; static int -dissect_nr_rrc_T_logicalChannelSR_DelayTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_maxPUSCH_Duration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); @@ -23749,17 +46170,183 @@ dissect_nr_rrc_T_logicalChannelSR_DelayTimer(tvbuff_t *tvb _U_, int offset _U_, } -static const per_sequence_t BSR_Config_sequence[] = { - { &hf_nr_rrc_periodicBSR_Timer, ASN1_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 }, +static const value_string nr_rrc_T_configuredGrantType1Allowed_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_configuredGrantType1Allowed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static 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 int +dissect_nr_rrc_ConfiguredGrantConfigIndexMAC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxNrofConfiguredGrantConfigMAC_r16_1, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_r16_1_OF_ConfiguredGrantConfigIndexMAC_r16_sequence_of[1] = { + { &hf_nr_rrc_allowedCG_List_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfiguredGrantConfigIndexMAC_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_r16_1_OF_ConfiguredGrantConfigIndexMAC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_r16_1_OF_ConfiguredGrantConfigIndexMAC_r16, SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_r16_1_OF_ConfiguredGrantConfigIndexMAC_r16_sequence_of, + 0, maxNrofConfiguredGrantConfigMAC_r16_1, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_allowedPHY_PriorityIndex_r16_vals[] = { + { 0, "p0" }, + { 1, "p1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_allowedPHY_PriorityIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_eag_1_04_sequence[] = { + { &hf_nr_rrc_allowedCG_List_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_r16_1_OF_ConfiguredGrantConfigIndexMAC_r16 }, + { &hf_nr_rrc_allowedPHY_PriorityIndex_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_allowedPHY_PriorityIndex_r16 }, { 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_) { +dissect_nr_rrc_T_eag_1_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_eag(tvb, offset, actx, tree, T_eag_1_04_sequence); + + return offset; +} + + +static const per_sequence_t T_ul_SpecificParameters_sequence[] = { + { &hf_nr_rrc_priority , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 }, + { &hf_nr_rrc_prioritisedBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_prioritisedBitRate }, + { &hf_nr_rrc_bucketSizeDuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_bucketSizeDuration }, + { &hf_nr_rrc_allowedServingCells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex }, + { &hf_nr_rrc_allowedSCS_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing }, + { &hf_nr_rrc_maxPUSCH_Duration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxPUSCH_Duration }, + { &hf_nr_rrc_configuredGrantType1Allowed, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredGrantType1Allowed }, + { &hf_nr_rrc_logicalChannelGroup, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxLCG_ID }, + { &hf_nr_rrc_schedulingRequestID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SchedulingRequestId }, + { &hf_nr_rrc_logicalChannelSR_Mask, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { &hf_nr_rrc_logicalChannelSR_DelayTimerApplied, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { &hf_nr_rrc_bitRateQueryProhibitTimer, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_nr_rrc_T_bitRateQueryProhibitTimer }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1_04 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_ul_SpecificParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_BSR_Config, BSR_Config_sequence); + ett_nr_rrc_T_ul_SpecificParameters, T_ul_SpecificParameters_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_bitRateMultiplier_r16_vals[] = { + { 0, "x40" }, + { 1, "x70" }, + { 2, "x100" }, + { 3, "x200" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_bitRateMultiplier_r16(tvbuff_t *tvb _U_, int offset _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 LogicalChannelConfig_eag_1_sequence[] = { + { &hf_nr_rrc_channelAccessPriority_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_4 }, + { &hf_nr_rrc_bitRateMultiplier_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bitRateMultiplier_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_LogicalChannelConfig_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, LogicalChannelConfig_eag_1_sequence); + + return offset; +} + + +static const per_sequence_t LogicalChannelConfig_sequence[] = { + { &hf_nr_rrc_ul_SpecificParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_SpecificParameters }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelConfig_eag_1 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_LogicalChannelConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_LogicalChannelConfig, LogicalChannelConfig_sequence); + + return offset; +} + + +static const per_sequence_t BH_RLC_ChannelConfig_r16_sequence[] = { + { &hf_nr_rrc_bh_LogicalChannelIdentity_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BH_LogicalChannelIdentity_r16 }, + { &hf_nr_rrc_bh_RLC_ChannelID_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BH_RLC_ChannelID_r16 }, + { &hf_nr_rrc_reestablishRLC_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reestablishRLC_r16 }, + { &hf_nr_rrc_rlc_Config_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RLC_Config }, + { &hf_nr_rrc_mac_LogicalChannelConfig_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_LogicalChannelConfig }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_BH_RLC_ChannelConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BH_RLC_ChannelConfig_r16, BH_RLC_ChannelConfig_r16_sequence); return offset; } @@ -23911,7 +46498,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_29 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DownlinkPreemption }, + { 1, &hf_nr_rrc_setup_50 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DownlinkPreemption }, { 0, NULL, 0, NULL } }; @@ -23949,7 +46536,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_30 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_TPC_CommandConfig }, + { 1, &hf_nr_rrc_setup_51 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_TPC_CommandConfig }, { 0, NULL, 0, NULL } }; @@ -23986,7 +46573,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_31 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_TPC_CommandConfig }, + { 1, &hf_nr_rrc_setup_52 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_TPC_CommandConfig }, { 0, NULL, 0, NULL } }; @@ -24037,7 +46624,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_32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_TPC_CommandConfig }, + { 1, &hf_nr_rrc_setup_53 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_TPC_CommandConfig }, { 0, NULL, 0, NULL } }; @@ -24051,6 +46638,333 @@ dissect_nr_rrc_T_tpc_SRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ } +static const per_sequence_t SEQUENCE_SIZE_1_2_OF_ControlResourceSet_sequence_of[1] = { + { &hf_nr_rrc_controlResourceSetToAddModList2_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSet }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_ControlResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_ControlResourceSet, SEQUENCE_SIZE_1_2_OF_ControlResourceSet_sequence_of, + 1, 2, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_5_OF_ControlResourceSetId_r16_sequence_of[1] = { + { &hf_nr_rrc_controlResourceSetToReleaseList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSetId_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_5_OF_ControlResourceSetId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_5_OF_ControlResourceSetId_r16, SEQUENCE_SIZE_1_5_OF_ControlResourceSetId_r16_sequence_of, + 1, 5, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_r16_sequence_of[1] = { + { &hf_nr_rrc_searchSpacesToAddModListExt_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceExt_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_r16, SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_r16_sequence_of, + 1, 10, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_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_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 80U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CellGroupForSwitching_r16_sequence_of[1] = { + { &hf_nr_rrc_CellGroupForSwitching_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, +}; + +static int +dissect_nr_rrc_CellGroupForSwitching_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CellGroupForSwitching_r16, CellGroupForSwitching_r16_sequence_of, + 1, 16, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_4_OF_CellGroupForSwitching_r16_sequence_of[1] = { + { &hf_nr_rrc_cellGroupsForSwitchingList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupForSwitching_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_CellGroupForSwitching_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_CellGroupForSwitching_r16, SEQUENCE_SIZE_1_4_OF_CellGroupForSwitching_r16_sequence_of, + 1, 4, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_maxCI_DCI_PayloadSize_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxCI_DCI_PayloadSize_r16, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_maxCI_DCI_PayloadSize_r16_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, maxCI_DCI_PayloadSize_r16_1, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_ci_PayloadSize_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "n5" }, + { 4, "n7" }, + { 5, "n8" }, + { 6, "n10" }, + { 7, "n14" }, + { 8, "n16" }, + { 9, "n20" }, + { 10, "n28" }, + { 11, "n32" }, + { 12, "n35" }, + { 13, "n42" }, + { 14, "n56" }, + { 15, "n112" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ci_PayloadSize_r16(tvbuff_t *tvb _U_, int offset _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_timeDurationForCI_r16_vals[] = { + { 0, "n2" }, + { 1, "n4" }, + { 2, "n7" }, + { 3, "n14" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_timeDurationForCI_r16(tvbuff_t *tvb _U_, int offset _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_timeGranularityForCI_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "n7" }, + { 4, "n14" }, + { 5, "n28" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_timeGranularityForCI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 6, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_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, + 0U, 2U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_timeFrequencyRegion_r16_sequence[] = { + { &hf_nr_rrc_timeDurationForCI_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDurationForCI_r16 }, + { &hf_nr_rrc_timeGranularityForCI_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeGranularityForCI_r16 }, + { &hf_nr_rrc_frequencyRegionForCI_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_37949 }, + { &hf_nr_rrc_deltaOffset_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_timeFrequencyRegion_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_timeFrequencyRegion_r16, T_timeFrequencyRegion_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_uplinkCancellationPriority_v1610_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_uplinkCancellationPriority_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 CI_ConfigurationPerServingCell_r16_sequence[] = { + { &hf_nr_rrc_servingCellId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, + { &hf_nr_rrc_positionInDCI_r16_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxCI_DCI_PayloadSize_r16_1 }, + { &hf_nr_rrc_positionInDCI_ForSUL_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxCI_DCI_PayloadSize_r16_1 }, + { &hf_nr_rrc_ci_PayloadSize_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ci_PayloadSize_r16 }, + { &hf_nr_rrc_timeFrequencyRegion_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeFrequencyRegion_r16 }, + { &hf_nr_rrc_uplinkCancellationPriority_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uplinkCancellationPriority_v1610 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CI_ConfigurationPerServingCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CI_ConfigurationPerServingCell_r16, CI_ConfigurationPerServingCell_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_CI_ConfigurationPerServingCell_r16_sequence_of[1] = { + { &hf_nr_rrc_ci_ConfigurationPerServingCell_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CI_ConfigurationPerServingCell_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_CI_ConfigurationPerServingCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_CI_ConfigurationPerServingCell_r16, SEQUENCE_SIZE_1_maxNrofServingCells_OF_CI_ConfigurationPerServingCell_r16_sequence_of, + 1, maxNrofServingCells, FALSE); + + return offset; +} + + +static const per_sequence_t UplinkCancellation_r16_sequence[] = { + { &hf_nr_rrc_ci_RNTI_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value }, + { &hf_nr_rrc_dci_PayloadSizeForCI_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxCI_DCI_PayloadSize_r16 }, + { &hf_nr_rrc_ci_ConfigurationPerServingCell_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_CI_ConfigurationPerServingCell_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UplinkCancellation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_UplinkCancellation_r16, UplinkCancellation_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_uplinkCancellation_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_uplinkCancellation_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_54 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_UplinkCancellation_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_uplinkCancellation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_uplinkCancellation_r16, T_uplinkCancellation_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_monitoringCapabilityConfig_r16_vals[] = { + { 0, "r15monitoringcapability" }, + { 1, "r16monitoringcapability" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_monitoringCapabilityConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_10_52(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 10U, 52U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t PDCCH_Config_eag_1_sequence[] = { + { &hf_nr_rrc_controlResourceSetToAddModList2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_ControlResourceSet }, + { &hf_nr_rrc_controlResourceSetToReleaseList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_5_OF_ControlResourceSetId_r16 }, + { &hf_nr_rrc_searchSpacesToAddModListExt_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_r16 }, + { &hf_nr_rrc_searchSpaceSwitchingTimer_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_80 }, + { &hf_nr_rrc_cellGroupsForSwitchingList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_CellGroupForSwitching_r16 }, + { &hf_nr_rrc_uplinkCancellation_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uplinkCancellation_r16 }, + { &hf_nr_rrc_monitoringCapabilityConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_monitoringCapabilityConfig_r16 }, + { &hf_nr_rrc_searchSpaceSwitchingDelay_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_10_52 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PDCCH_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, PDCCH_Config_eag_1_sequence); + + return offset; +} + + static const per_sequence_t PDCCH_Config_sequence[] = { { &hf_nr_rrc_controlResourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet }, { &hf_nr_rrc_controlResourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId }, @@ -24060,6 +46974,7 @@ static const per_sequence_t PDCCH_Config_sequence[] = { { &hf_nr_rrc_tpc_PUSCH , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_PUSCH }, { &hf_nr_rrc_tpc_PUCCH , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_PUCCH }, { &hf_nr_rrc_tpc_SRS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_SRS }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_Config_eag_1 }, { NULL, 0, 0, NULL } }; @@ -24080,7 +46995,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_05 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_Config }, + { 1, &hf_nr_rrc_setup_16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_Config }, { 0, NULL, 0, NULL } }; @@ -24141,16 +47056,6 @@ 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 }, }; @@ -24165,16 +47070,6 @@ 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 }, }; @@ -24206,11 +47101,41 @@ dissect_nr_rrc_T_resourceElementOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_c } +static const value_string nr_rrc_T_maxNrofPorts_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNrofPorts_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 PTRS_DownlinkConfig_eag_1_sequence[] = { + { &hf_nr_rrc_maxNrofPorts_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNrofPorts_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PTRS_DownlinkConfig_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, PTRS_DownlinkConfig_eag_1_sequence); + + return offset; +} + + static const per_sequence_t PTRS_DownlinkConfig_sequence[] = { { &hf_nr_rrc_frequencyDensity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyDensity }, { &hf_nr_rrc_timeDensity , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDensity }, { &hf_nr_rrc_epre_Ratio , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_3 }, { &hf_nr_rrc_resourceElementOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_resourceElementOffset }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PTRS_DownlinkConfig_eag_1 }, { NULL, 0, 0, NULL } }; @@ -24231,7 +47156,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_21 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PTRS_DownlinkConfig }, + { 1, &hf_nr_rrc_setup_36 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PTRS_DownlinkConfig }, { 0, NULL, 0, NULL } }; @@ -24245,6 +47170,34 @@ dissect_nr_rrc_T_phaseTrackingRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } +static const value_string nr_rrc_T_dmrs_Downlink_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_dmrs_Downlink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 DMRS_DownlinkConfig_eag_1_sequence[] = { + { &hf_nr_rrc_dmrs_Downlink_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_Downlink_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_DMRS_DownlinkConfig_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, DMRS_DownlinkConfig_eag_1_sequence); + + return offset; +} + + static const per_sequence_t DMRS_DownlinkConfig_sequence[] = { { &hf_nr_rrc_dmrs_Type , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_Type }, { &hf_nr_rrc_dmrs_AdditionalPosition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_AdditionalPosition }, @@ -24252,6 +47205,7 @@ static const per_sequence_t DMRS_DownlinkConfig_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 }, { &hf_nr_rrc_phaseTrackingRS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_phaseTrackingRS }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_DMRS_DownlinkConfig_eag_1 }, { NULL, 0, 0, NULL } }; @@ -24272,7 +47226,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_34 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig }, + { 1, &hf_nr_rrc_setup_59 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig }, { 0, NULL, 0, NULL } }; @@ -24294,7 +47248,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_34 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig }, + { 1, &hf_nr_rrc_setup_59 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig }, { 0, NULL, 0, NULL } }; @@ -24450,7 +47404,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_35 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList }, + { 1, &hf_nr_rrc_setup_60 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList }, { 0, NULL, 0, NULL } }; @@ -24525,36 +47479,6 @@ dissect_nr_rrc_T_symbolsInResourceBlock(tvbuff_t *tvb _U_, int offset _U_, asn1_ static int -dissect_nr_rrc_BIT_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 2, 2, FALSE, NULL, 0, NULL, NULL); - - return offset; -} - - - -static int -dissect_nr_rrc_BIT_STRING_SIZE_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 5, 5, FALSE, NULL, 0, NULL, NULL); - - return offset; -} - - - -static int -dissect_nr_rrc_BIT_STRING_SIZE_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 10, 10, FALSE, NULL, 0, NULL, NULL); - - return offset; -} - - - -static int dissect_nr_rrc_BIT_STRING_SIZE_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 20, 20, FALSE, NULL, 0, NULL, NULL); @@ -24659,11 +47583,25 @@ dissect_nr_rrc_T_dummy_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } +static const per_sequence_t RateMatchPattern_eag_1_sequence[] = { + { &hf_nr_rrc_controlResourceSet_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ControlResourceSetId_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RateMatchPattern_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, RateMatchPattern_eag_1_sequence); + + return offset; +} + + static const per_sequence_t RateMatchPattern_sequence[] = { { &hf_nr_rrc_rateMatchPatternId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPatternId }, { &hf_nr_rrc_patternType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_patternType }, { &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_dummy_04 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dummy_01 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPattern_eag_1 }, { NULL, 0, 0, NULL } }; @@ -25013,7 +47951,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_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 3, &hf_nr_rrc_spare_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 0, NULL, 0, NULL } }; @@ -25235,7 +48173,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_36 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_ZP_CSI_RS_ResourceSet }, + { 1, &hf_nr_rrc_setup_61 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_ZP_CSI_RS_ResourceSet }, { 0, NULL, 0, NULL } }; @@ -25249,6 +48187,671 @@ dissect_nr_rrc_T_p_ZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1 } + +static int +dissect_nr_rrc_MaxMIMO_LayersDL_r16(tvbuff_t *tvb _U_, int offset _U_, 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_maxMIMO_Layers_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_maxMIMO_Layers_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_62 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MaxMIMO_LayersDL_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_maxMIMO_Layers_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_maxMIMO_Layers_r16, T_maxMIMO_Layers_r16_choice, + NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_maxK0_SchedulingOffset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxK0_SchedulingOffset_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t MinSchedulingOffsetK0_Values_r16_sequence_of[1] = { + { &hf_nr_rrc_MinSchedulingOffsetK0_Values_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxK0_SchedulingOffset_r16 }, +}; + +static int +dissect_nr_rrc_MinSchedulingOffsetK0_Values_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MinSchedulingOffsetK0_Values_r16, MinSchedulingOffsetK0_Values_r16_sequence_of, + 1, maxNrOfMinSchedulingOffsetValues_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_minimumSchedulingOffsetK0_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_minimumSchedulingOffsetK0_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_63 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MinSchedulingOffsetK0_Values_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_minimumSchedulingOffsetK0_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_minimumSchedulingOffsetK0_r16, T_minimumSchedulingOffsetK0_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_antennaPortsFieldPresenceForDCI_Format1_2_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_antennaPortsFieldPresenceForDCI_Format1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_DownlinkForPDSCH_MappingTypeA_ForDCI_Format1_2_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_dmrs_DownlinkForPDSCH_MappingTypeA_ForDCI_Format1_2_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_59 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_ForDCI_Format1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_ForDCI_Format1_2_r16, T_dmrs_DownlinkForPDSCH_MappingTypeA_ForDCI_Format1_2_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_ForDCI_Format1_2_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_dmrs_DownlinkForPDSCH_MappingTypeB_ForDCI_Format1_2_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_59 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_ForDCI_Format1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_ForDCI_Format1_2_r16, T_dmrs_DownlinkForPDSCH_MappingTypeB_ForDCI_Format1_2_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_dmrs_SequenceInitializationForDCI_Format1_2_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_dmrs_SequenceInitializationForDCI_Format1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_mcs_TableForDCI_Format1_2_r16_vals[] = { + { 0, "qam256" }, + { 1, "qam64LowSE" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_mcs_TableForDCI_Format1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_mappingType_r16_vals[] = { + { 0, "typeA" }, + { 1, "typeB" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_mappingType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_repetitionNumber_r16_vals[] = { + { 0, "n2" }, + { 1, "n3" }, + { 2, "n4" }, + { 3, "n5" }, + { 4, "n6" }, + { 5, "n7" }, + { 6, "n8" }, + { 7, "n16" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_repetitionNumber_r16(tvbuff_t *tvb _U_, int offset _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 PDSCH_TimeDomainResourceAllocation_r16_sequence[] = { + { &hf_nr_rrc_k0_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_32 }, + { &hf_nr_rrc_mappingType_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mappingType_r16 }, + { &hf_nr_rrc_startSymbolAndLength_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_127 }, + { &hf_nr_rrc_repetitionNumber_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_repetitionNumber_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_r16, PDSCH_TimeDomainResourceAllocation_r16_sequence); + + return offset; +} + + +static const per_sequence_t PDSCH_TimeDomainResourceAllocationList_r16_sequence_of[1] = { + { &hf_nr_rrc_PDSCH_TimeDomainResourceAllocationList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation_r16 }, +}; + +static int +dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_r16, PDSCH_TimeDomainResourceAllocationList_r16_sequence_of, + 1, maxNrofDL_Allocations, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_pdsch_TimeDomainAllocationListForDCI_Format1_2_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_pdsch_TimeDomainAllocationListForDCI_Format1_2_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_64 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_pdsch_TimeDomainAllocationListForDCI_Format1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_TimeDomainAllocationListForDCI_Format1_2_r16, T_pdsch_TimeDomainAllocationListForDCI_Format1_2_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_bundleSize_r16_vals[] = { + { 0, "n4" }, + { 1, "wideband" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_bundleSize_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_staticBundling_r16_sequence[] = { + { &hf_nr_rrc_bundleSize_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bundleSize_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_staticBundling_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_staticBundling_r16, T_staticBundling_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_bundleSizeSet1_r16_vals[] = { + { 0, "n4" }, + { 1, "wideband" }, + { 2, "n2-wideband" }, + { 3, "n4-wideband" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_bundleSizeSet1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_bundleSizeSet2_r16_vals[] = { + { 0, "n4" }, + { 1, "wideband" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_bundleSizeSet2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_dynamicBundling_r16_sequence[] = { + { &hf_nr_rrc_bundleSizeSet1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bundleSizeSet1_r16 }, + { &hf_nr_rrc_bundleSizeSet2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bundleSizeSet2_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_dynamicBundling_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_dynamicBundling_r16, T_dynamicBundling_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_prb_BundlingTypeForDCI_Format1_2_r16_vals[] = { + { 0, "staticBundling-r16" }, + { 1, "dynamicBundling-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_prb_BundlingTypeForDCI_Format1_2_r16_choice[] = { + { 0, &hf_nr_rrc_staticBundling_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_staticBundling_r16 }, + { 1, &hf_nr_rrc_dynamicBundling_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_dynamicBundling_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_prb_BundlingTypeForDCI_Format1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_prb_BundlingTypeForDCI_Format1_2_r16, T_prb_BundlingTypeForDCI_Format1_2_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_priorityIndicatorForDCI_Format1_2_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_priorityIndicatorForDCI_Format1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_resourceAllocationType1GranularityForDCI_Format1_2_r16_vals[] = { + { 0, "n2" }, + { 1, "n4" }, + { 2, "n8" }, + { 3, "n16" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_resourceAllocationType1GranularityForDCI_Format1_2_r16(tvbuff_t *tvb _U_, int offset _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_vrb_ToPRB_InterleaverForDCI_Format1_2_r16_vals[] = { + { 0, "n2" }, + { 1, "n4" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_vrb_ToPRB_InterleaverForDCI_Format1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_referenceOfSLIVForDCI_Format1_2_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_referenceOfSLIVForDCI_Format1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_resourceAllocationForDCI_Format1_2_r16_vals[] = { + { 0, "resourceAllocationType0" }, + { 1, "resourceAllocationType1" }, + { 2, "dynamicSwitch" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_resourceAllocationForDCI_Format1_2_r16(tvbuff_t *tvb _U_, int offset _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_priorityIndicatorForDCI_Format1_1_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_priorityIndicatorForDCI_Format1_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_pdsch_TimeDomainAllocationList_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_pdsch_TimeDomainAllocationList_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_64 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_pdsch_TimeDomainAllocationList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_pdsch_TimeDomainAllocationList_r16, T_pdsch_TimeDomainAllocationList_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_repetitionScheme_r16_vals[] = { + { 0, "fdmSchemeA" }, + { 1, "fdmSchemeB" }, + { 2, "tdmSchemeA" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_repetitionScheme_r16(tvbuff_t *tvb _U_, int offset _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 FDM_TDM_r16_sequence[] = { + { &hf_nr_rrc_repetitionScheme_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_repetitionScheme_r16 }, + { &hf_nr_rrc_startingSymbolOffsetK_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_7 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_FDM_TDM_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_FDM_TDM_r16, FDM_TDM_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_fdm_TDM_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_fdm_TDM_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_93 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_FDM_TDM_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_fdm_TDM_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_fdm_TDM_r16, T_fdm_TDM_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_tciMapping_r16_vals[] = { + { 0, "cyclicMapping" }, + { 1, "sequenticalMapping" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_tciMapping_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 SlotBased_r16_sequence[] = { + { &hf_nr_rrc_tciMapping_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_tciMapping_r16 }, + { &hf_nr_rrc_sequenceOffsetforRV_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_3 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SlotBased_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SlotBased_r16, SlotBased_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_slotBased_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_slotBased_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_94 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SlotBased_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_slotBased_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_slotBased_r16, T_slotBased_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_RepetitionSchemeConfig_r16_vals[] = { + { 0, "fdm-TDM-r16" }, + { 1, "slotBased-r16" }, + { 0, NULL } +}; + +static const per_choice_t RepetitionSchemeConfig_r16_choice[] = { + { 0, &hf_nr_rrc_fdm_TDM_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fdm_TDM_r16 }, + { 1, &hf_nr_rrc_slotBased_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_slotBased_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_RepetitionSchemeConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_RepetitionSchemeConfig_r16, RepetitionSchemeConfig_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_repetitionSchemeConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_repetitionSchemeConfig_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_65 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RepetitionSchemeConfig_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_repetitionSchemeConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_repetitionSchemeConfig_r16, T_repetitionSchemeConfig_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t PDSCH_Config_eag_1_sequence[] = { + { &hf_nr_rrc_maxMIMO_Layers_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxMIMO_Layers_r16 }, + { &hf_nr_rrc_minimumSchedulingOffsetK0_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_minimumSchedulingOffsetK0_r16 }, + { &hf_nr_rrc_antennaPortsFieldPresenceForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_antennaPortsFieldPresenceForDCI_Format1_2_r16 }, + { &hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToAddModListForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet }, + { &hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToReleaseListForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId }, + { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA_ForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_ForDCI_Format1_2_r16 }, + { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeB_ForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_ForDCI_Format1_2_r16 }, + { &hf_nr_rrc_dmrs_SequenceInitializationForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_SequenceInitializationForDCI_Format1_2_r16 }, + { &hf_nr_rrc_harq_ProcessNumberSizeForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_4 }, + { &hf_nr_rrc_mcs_TableForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_TableForDCI_Format1_2_r16 }, + { &hf_nr_rrc_numberOfBitsForRV_ForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_2 }, + { &hf_nr_rrc_pdsch_TimeDomainAllocationListForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_TimeDomainAllocationListForDCI_Format1_2_r16 }, + { &hf_nr_rrc_prb_BundlingTypeForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_prb_BundlingTypeForDCI_Format1_2_r16 }, + { &hf_nr_rrc_priorityIndicatorForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_priorityIndicatorForDCI_Format1_2_r16 }, + { &hf_nr_rrc_rateMatchPatternGroup1ForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RateMatchPatternGroup }, + { &hf_nr_rrc_rateMatchPatternGroup2ForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RateMatchPatternGroup }, + { &hf_nr_rrc_resourceAllocationType1GranularityForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_resourceAllocationType1GranularityForDCI_Format1_2_r16 }, + { &hf_nr_rrc_vrb_ToPRB_InterleaverForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_vrb_ToPRB_InterleaverForDCI_Format1_2_r16 }, + { &hf_nr_rrc_referenceOfSLIVForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_referenceOfSLIVForDCI_Format1_2_r16 }, + { &hf_nr_rrc_resourceAllocationForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_resourceAllocationForDCI_Format1_2_r16 }, + { &hf_nr_rrc_priorityIndicatorForDCI_Format1_1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_priorityIndicatorForDCI_Format1_1_r16 }, + { &hf_nr_rrc_dataScramblingIdentityPDSCH2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1023 }, + { &hf_nr_rrc_pdsch_TimeDomainAllocationList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_TimeDomainAllocationList_r16 }, + { &hf_nr_rrc_repetitionSchemeConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_repetitionSchemeConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PDSCH_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, PDSCH_Config_eag_1_sequence); + + return offset; +} + + static const per_sequence_t PDSCH_Config_sequence[] = { { &hf_nr_rrc_dataScramblingIdentityPDSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1023 }, { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA }, @@ -25274,6 +48877,7 @@ static const per_sequence_t PDSCH_Config_sequence[] = { { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet }, { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId }, { &hf_nr_rrc_p_ZP_CSI_RS_ResourceSet, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_p_ZP_CSI_RS_ResourceSet }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_Config_eag_1 }, { NULL, 0, 0, NULL } }; @@ -25294,7 +48898,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_06 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_Config }, + { 1, &hf_nr_rrc_setup_17 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_Config }, { 0, NULL, 0, NULL } }; @@ -25340,26 +48944,71 @@ dissect_nr_rrc_T_periodicity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } +static const value_string nr_rrc_T_mcs_Table_03_vals[] = { + { 0, "qam64LowSE" }, + { 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_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 int +dissect_nr_rrc_SPS_ConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_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, maxNrofSPS_Config_r16_1, NULL, FALSE); return offset; } -static const value_string nr_rrc_T_mcs_Table_03_vals[] = { - { 0, "qam64LowSE" }, + +static int +dissect_nr_rrc_INTEGER_1_5120(tvbuff_t *tvb _U_, int offset _U_, 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, 5120U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_pdsch_AggregationFactor_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "n8" }, { 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_) { +dissect_nr_rrc_T_pdsch_AggregationFactor_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 SPS_Config_eag_1_sequence[] = { + { &hf_nr_rrc_sps_ConfigIndex_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SPS_ConfigIndex_r16 }, + { &hf_nr_rrc_harq_ProcID_Offset_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 }, + { &hf_nr_rrc_periodicityExt_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_5120 }, + { &hf_nr_rrc_harq_CodebookID_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_2 }, + { &hf_nr_rrc_pdsch_AggregationFactor_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_AggregationFactor_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SPS_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, SPS_Config_eag_1_sequence); return offset; } @@ -25370,6 +49019,7 @@ static const per_sequence_t SPS_Config_sequence[] = { { &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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SPS_Config_eag_1 }, { NULL, 0, 0, NULL } }; @@ -25390,7 +49040,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_07 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SPS_Config }, + { 1, &hf_nr_rrc_setup_18 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SPS_Config }, { 0, NULL, 0, NULL } }; @@ -25566,7 +49216,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_08 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RadioLinkMonitoringConfig }, + { 1, &hf_nr_rrc_setup_19 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RadioLinkMonitoringConfig }, { 0, NULL, 0, NULL } }; @@ -25580,11 +49230,152 @@ dissect_nr_rrc_T_radioLinkMonitoringConfig(tvbuff_t *tvb _U_, int offset _U_, as } +static const per_sequence_t SPS_ConfigToAddModList_r16_sequence_of[1] = { + { &hf_nr_rrc_SPS_ConfigToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SPS_Config }, +}; + +static int +dissect_nr_rrc_SPS_ConfigToAddModList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SPS_ConfigToAddModList_r16, SPS_ConfigToAddModList_r16_sequence_of, + 1, maxNrofSPS_Config_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SPS_ConfigToReleaseList_r16_sequence_of[1] = { + { &hf_nr_rrc_SPS_ConfigToReleaseList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SPS_ConfigIndex_r16 }, +}; + +static int +dissect_nr_rrc_SPS_ConfigToReleaseList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SPS_ConfigToReleaseList_r16, SPS_ConfigToReleaseList_r16_sequence_of, + 1, maxNrofSPS_Config_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SPS_ConfigDeactivationState_r16_sequence_of[1] = { + { &hf_nr_rrc_SPS_ConfigDeactivationState_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SPS_ConfigIndex_r16 }, +}; + +static int +dissect_nr_rrc_SPS_ConfigDeactivationState_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SPS_ConfigDeactivationState_r16, SPS_ConfigDeactivationState_r16_sequence_of, + 1, maxNrofSPS_Config_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SPS_ConfigDeactivationStateList_r16_sequence_of[1] = { + { &hf_nr_rrc_SPS_ConfigDeactivationStateList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SPS_ConfigDeactivationState_r16 }, +}; + +static int +dissect_nr_rrc_SPS_ConfigDeactivationStateList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SPS_ConfigDeactivationStateList_r16, SPS_ConfigDeactivationStateList_r16_sequence_of, + 1, maxNrofSPS_DeactivationState, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_beamFailureRecoverySCellConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_beamFailureRecoverySCellConfig_r16_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_BeamFailureRecoverySCellConfig_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_beamFailureRecoverySCellConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_beamFailureRecoverySCellConfig_r16, T_beamFailureRecoverySCellConfig_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sl_PDCCH_Config_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_sl_PDCCH_Config_r16_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_PDCCH_Config }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_PDCCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_PDCCH_Config_r16, T_sl_PDCCH_Config_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sl_V2X_PDCCH_Config_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_sl_V2X_PDCCH_Config_r16_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_PDCCH_Config }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_V2X_PDCCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_V2X_PDCCH_Config_r16, T_sl_V2X_PDCCH_Config_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t BWP_DownlinkDedicated_eag_1_sequence[] = { + { &hf_nr_rrc_sps_ConfigToAddModList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SPS_ConfigToAddModList_r16 }, + { &hf_nr_rrc_sps_ConfigToReleaseList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SPS_ConfigToReleaseList_r16 }, + { &hf_nr_rrc_sps_ConfigDeactivationStateList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SPS_ConfigDeactivationStateList_r16 }, + { &hf_nr_rrc_beamFailureRecoverySCellConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_beamFailureRecoverySCellConfig_r16 }, + { &hf_nr_rrc_sl_PDCCH_Config_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_PDCCH_Config_r16 }, + { &hf_nr_rrc_sl_V2X_PDCCH_Config_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_V2X_PDCCH_Config_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_BWP_DownlinkDedicated_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, BWP_DownlinkDedicated_eag_1_sequence); + + return offset; +} + + static const per_sequence_t BWP_DownlinkDedicated_sequence[] = { { &hf_nr_rrc_pdcch_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_Config }, { &hf_nr_rrc_pdsch_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_Config }, { &hf_nr_rrc_sps_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sps_Config }, { &hf_nr_rrc_radioLinkMonitoringConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_radioLinkMonitoringConfig }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_DownlinkDedicated_eag_1 }, { NULL, 0, 0, NULL } }; @@ -25716,26 +49507,6 @@ dissect_nr_rrc_T_intraSlotFrequencyHopping(tvbuff_t *tvb _U_, int offset _U_, as } - -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 }, @@ -26081,7 +49852,7 @@ static const value_string nr_rrc_T_format1_vals[] = { static const per_choice_t T_format1_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, + { 1, &hf_nr_rrc_setup_75 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, { 0, NULL, 0, NULL } }; @@ -26103,7 +49874,7 @@ static const value_string nr_rrc_T_format2_vals[] = { static const per_choice_t T_format2_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, + { 1, &hf_nr_rrc_setup_75 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, { 0, NULL, 0, NULL } }; @@ -26125,7 +49896,7 @@ static const value_string nr_rrc_T_format3_vals[] = { static const per_choice_t T_format3_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, + { 1, &hf_nr_rrc_setup_75 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, { 0, NULL, 0, NULL } }; @@ -26147,7 +49918,7 @@ static const value_string nr_rrc_T_format4_vals[] = { static const per_choice_t T_format4_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, + { 1, &hf_nr_rrc_setup_75 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, { 0, NULL, 0, NULL } }; @@ -26171,16 +49942,6 @@ 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_) { - 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" }, @@ -26312,26 +50073,16 @@ dissect_nr_rrc_PUCCH_SpatialRelationInfoId(tvbuff_t *tvb _U_, int offset _U_, as } - -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[] = { +static const per_sequence_t PUCCH_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_) { +dissect_nr_rrc_PUCCH_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); + ett_nr_rrc_PUCCH_SRS, PUCCH_SRS_sequence); return offset; } @@ -26347,7 +50098,7 @@ static const value_string nr_rrc_T_referenceSignal_01_vals[] = { 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 }, + { 2, &hf_nr_rrc_srs , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_SRS }, { 0, NULL, 0, NULL } }; @@ -26444,16 +50195,6 @@ 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_) { - 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 }, @@ -26549,6 +50290,102 @@ dissect_nr_rrc_T_twoPUCCH_PC_AdjustmentStates(tvbuff_t *tvb _U_, int offset _U_, } + +static int +dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + maxNrofPUCCH_PathlossReferenceRSs, maxNrofPUCCH_PathlossReferenceRSs_1_r16, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_referenceSignal_r16_vals[] = { + { 0, "ssb-Index-r16" }, + { 1, "csi-RS-Index-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_referenceSignal_r16_choice[] = { + { 0, &hf_nr_rrc_ssb_Index_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index }, + { 1, &hf_nr_rrc_csi_RS_Index_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_referenceSignal_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_r16, T_referenceSignal_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t PUCCH_PathlossReferenceRS_r16_sequence[] = { + { &hf_nr_rrc_pucch_PathlossReferenceRS_Id_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id_v1610 }, + { &hf_nr_rrc_referenceSignal_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PUCCH_PathlossReferenceRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_r16, PUCCH_PathlossReferenceRS_r16_sequence); + + return offset; +} + + +static const per_sequence_t PathlossReferenceRSs_v1610_sequence_of[1] = { + { &hf_nr_rrc_PathlossReferenceRSs_v1610_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS_r16 }, +}; + +static int +dissect_nr_rrc_PathlossReferenceRSs_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PathlossReferenceRSs_v1610, PathlossReferenceRSs_v1610_sequence_of, + 1, maxNrofPUCCH_PathlossReferenceRSsDiff_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_pathlossReferenceRSs_v1610_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_pathlossReferenceRSs_v1610_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PathlossReferenceRSs_v1610 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_pathlossReferenceRSs_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_pathlossReferenceRSs_v1610, T_pathlossReferenceRSs_v1610_choice, + NULL); + + return offset; +} + + +static const per_sequence_t PUCCH_PowerControl_eag_1_sequence[] = { + { &hf_nr_rrc_pathlossReferenceRSs_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pathlossReferenceRSs_v1610 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PUCCH_PowerControl_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, PUCCH_PowerControl_eag_1_sequence); + + 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 }, @@ -26558,6 +50395,7 @@ static const per_sequence_t PUCCH_PowerControl_sequence[] = { { &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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PowerControl_eag_1 }, { NULL, 0, 0, NULL } }; @@ -26570,6 +50408,610 @@ dissect_nr_rrc_PUCCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } +static const value_string nr_rrc_T_interlace0_vals[] = { + { 0, "scs15" }, + { 1, "scs30" }, + { 0, NULL } +}; + +static const per_choice_t T_interlace0_choice[] = { + { 0, &hf_nr_rrc_scs15 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 }, + { 1, &hf_nr_rrc_scs30 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_interlace0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_interlace0, T_interlace0_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_interlaceAllocation_r16_sequence[] = { + { &hf_nr_rrc_rb_SetIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4 }, + { &hf_nr_rrc_interlace0 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_interlace0 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_interlaceAllocation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_interlaceAllocation_r16, T_interlaceAllocation_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_occ_Length_v1610_vals[] = { + { 0, "n2" }, + { 1, "n4" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_occ_Length_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_v1610_vals[] = { + { 0, "n0" }, + { 1, "n1" }, + { 2, "n2" }, + { 3, "n3" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_occ_Index_v1610(tvbuff_t *tvb _U_, int offset _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_occ_v1610_sequence[] = { + { &hf_nr_rrc_occ_Length_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_occ_Length_v1610 }, + { &hf_nr_rrc_occ_Index_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_occ_Index_v1610 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_occ_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_occ_v1610, T_occ_v1610_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_formatExt_v1610_vals[] = { + { 0, "interlace1-v1610" }, + { 1, "occ-v1610" }, + { 0, NULL } +}; + +static const per_choice_t T_formatExt_v1610_choice[] = { + { 0, &hf_nr_rrc_interlace1_v1610, ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 }, + { 1, &hf_nr_rrc_occ_v1610 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_occ_v1610 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_formatExt_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_formatExt_v1610, T_formatExt_v1610_choice, + NULL); + + return offset; +} + + +static const per_sequence_t PUCCH_ResourceExt_r16_sequence[] = { + { &hf_nr_rrc_interlaceAllocation_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_interlaceAllocation_r16 }, + { &hf_nr_rrc_formatExt_v1610, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_formatExt_v1610 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PUCCH_ResourceExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_ResourceExt_r16, PUCCH_ResourceExt_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceExt_r16_sequence_of[1] = { + { &hf_nr_rrc_resourceToAddModListExt_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceExt_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_ResourceExt_r16, SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceExt_r16_sequence_of, + 1, maxNrofPUCCH_Resources, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_M1_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, + -1, 15U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t DL_DataToUL_ACK_r16_sequence_of[1] = { + { &hf_nr_rrc_DL_DataToUL_ACK_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M1_15 }, +}; + +static int +dissect_nr_rrc_DL_DataToUL_ACK_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_DL_DataToUL_ACK_r16, DL_DataToUL_ACK_r16_sequence_of, + 1, 8, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_dl_DataToUL_ACK_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_dl_DataToUL_ACK_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_76 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DL_DataToUL_ACK_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_dl_DataToUL_ACK_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_dl_DataToUL_ACK_r16, T_dl_DataToUL_ACK_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t UL_AccessConfigListForDCI_Format1_1_r16_sequence_of[1] = { + { &hf_nr_rrc_UL_AccessConfigListForDCI_Format1_1_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 }, +}; + +static int +dissect_nr_rrc_UL_AccessConfigListForDCI_Format1_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_UL_AccessConfigListForDCI_Format1_1_r16, UL_AccessConfigListForDCI_Format1_1_r16_sequence_of, + 1, 16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_ul_AccessConfigListForDCI_Format_1_1_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_ul_AccessConfigListForDCI_Format_1_1_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_77 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_UL_AccessConfigListForDCI_Format1_1_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_ul_AccessConfigListForDCI_Format_1_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_ul_AccessConfigListForDCI_Format_1_1_r16, T_ul_AccessConfigListForDCI_Format_1_1_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_normalCP_r16_vals[] = { + { 0, "n2" }, + { 1, "n7" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_normalCP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_extendedCP_r16_vals[] = { + { 0, "n2" }, + { 1, "n6" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_extendedCP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_subslotLengthForPUCCH_r16_vals[] = { + { 0, "normalCP-r16" }, + { 1, "extendedCP-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_subslotLengthForPUCCH_r16_choice[] = { + { 0, &hf_nr_rrc_normalCP_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_normalCP_r16 }, + { 1, &hf_nr_rrc_extendedCP_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_extendedCP_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_subslotLengthForPUCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_subslotLengthForPUCCH_r16, T_subslotLengthForPUCCH_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t DL_DataToUL_ACK_ForDCI_Format1_2_r16_sequence_of[1] = { + { &hf_nr_rrc_DL_DataToUL_ACK_ForDCI_Format1_2_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 }, +}; + +static int +dissect_nr_rrc_DL_DataToUL_ACK_ForDCI_Format1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_DL_DataToUL_ACK_ForDCI_Format1_2_r16, DL_DataToUL_ACK_ForDCI_Format1_2_r16_sequence_of, + 1, 8, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_dl_DataToUL_ACK_ForDCI_Format1_2_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_dl_DataToUL_ACK_ForDCI_Format1_2_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_78 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DL_DataToUL_ACK_ForDCI_Format1_2_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_dl_DataToUL_ACK_ForDCI_Format1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_dl_DataToUL_ACK_ForDCI_Format1_2_r16, T_dl_DataToUL_ACK_ForDCI_Format1_2_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_dmrs_UplinkTransformPrecodingPUCCH_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_dmrs_UplinkTransformPrecodingPUCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfo_sequence_of[1] = { + { &hf_nr_rrc_spatialRelationInfoToAddModList2_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfo }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_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_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfo, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfo_sequence_of, + 1, maxNrofSpatialRelationInfosDiff_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfoId_sequence_of[1] = { + { &hf_nr_rrc_spatialRelationInfoToReleaseList2_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfoId }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_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_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfoId, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfoId_sequence_of, + 1, maxNrofSpatialRelationInfosDiff_r16, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_PUCCH_SpatialRelationInfoId_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + maxNrofSpatialRelationInfos_plus_1, maxNrofSpatialRelationInfos_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t PUCCH_SpatialRelationInfoExt_r16_sequence[] = { + { &hf_nr_rrc_pucch_SpatialRelationInfoId_v1610, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_SpatialRelationInfoId_v1610 }, + { &hf_nr_rrc_pucch_PathlossReferenceRS_Id_v1610, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id_v1610 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PUCCH_SpatialRelationInfoExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_SpatialRelationInfoExt_r16, PUCCH_SpatialRelationInfoExt_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoExt_r16_sequence_of[1] = { + { &hf_nr_rrc_spatialRelationInfoToAddModListExt_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfoExt_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoExt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_r16_OF_PUCCH_SpatialRelationInfoExt_r16, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoExt_r16_sequence_of, + 1, maxNrofSpatialRelationInfos_r16, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_PUCCH_SpatialRelationInfoId_r16(tvbuff_t *tvb _U_, int offset _U_, 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_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoId_r16_sequence_of[1] = { + { &hf_nr_rrc_spatialRelationInfoToReleaseList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfoId_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_r16_OF_PUCCH_SpatialRelationInfoId_r16, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoId_r16_sequence_of, + 1, maxNrofSpatialRelationInfos_r16, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_PUCCH_ResourceGroupId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ResourceGroups_1_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerGroup_r16_OF_PUCCH_ResourceId_sequence_of[1] = { + { &hf_nr_rrc_resourcePerGroupList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerGroup_r16_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_ResourcesPerGroup_r16_OF_PUCCH_ResourceId, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerGroup_r16_OF_PUCCH_ResourceId_sequence_of, + 1, maxNrofPUCCH_ResourcesPerGroup_r16, FALSE); + + return offset; +} + + +static const per_sequence_t PUCCH_ResourceGroup_r16_sequence[] = { + { &hf_nr_rrc_pucch_ResourceGroupId_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceGroupId_r16 }, + { &hf_nr_rrc_resourcePerGroupList_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerGroup_r16_OF_PUCCH_ResourceId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PUCCH_ResourceGroup_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_ResourceGroup_r16, PUCCH_ResourceGroup_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroup_r16_sequence_of[1] = { + { &hf_nr_rrc_resourceGroupToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceGroup_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroup_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_ResourceGroups_r16_OF_PUCCH_ResourceGroup_r16, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroup_r16_sequence_of, + 1, maxNrofPUCCH_ResourceGroups_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroupId_r16_sequence_of[1] = { + { &hf_nr_rrc_resourceGroupToReleaseList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceGroupId_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroupId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_ResourceGroups_r16_OF_PUCCH_ResourceGroupId_r16, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroupId_r16_sequence_of, + 1, maxNrofPUCCH_ResourceGroups_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SPS_PUCCH_AN_r16_sequence[] = { + { &hf_nr_rrc_sps_PUCCH_AN_ResourceID_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId }, + { &hf_nr_rrc_maxPayloadSize_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_4_256 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SPS_PUCCH_AN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SPS_PUCCH_AN_r16, SPS_PUCCH_AN_r16_sequence); + + return offset; +} + + +static const per_sequence_t SPS_PUCCH_AN_List_r16_sequence_of[1] = { + { &hf_nr_rrc_SPS_PUCCH_AN_List_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SPS_PUCCH_AN_r16 }, +}; + +static int +dissect_nr_rrc_SPS_PUCCH_AN_List_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SPS_PUCCH_AN_List_r16, SPS_PUCCH_AN_List_r16_sequence_of, + 1, 4, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sps_PUCCH_AN_List_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_sps_PUCCH_AN_List_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_79 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SPS_PUCCH_AN_List_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sps_PUCCH_AN_List_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sps_PUCCH_AN_List_r16, T_sps_PUCCH_AN_List_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_phy_PriorityIndex_r16_01_vals[] = { + { 0, "p0" }, + { 1, "p1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_phy_PriorityIndex_r16_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 SchedulingRequestResourceConfig_v1610_sequence[] = { + { &hf_nr_rrc_phy_PriorityIndex_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_phy_PriorityIndex_r16_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SchedulingRequestResourceConfig_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_v1610, SchedulingRequestResourceConfig_v1610_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_v1610_sequence_of[1] = { + { &hf_nr_rrc_schedulingRequestResourceToAddModList_v1610_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceConfig_v1610 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_v1610, SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_v1610_sequence_of, + 1, maxNrofSR_Resources, FALSE); + + return offset; +} + + +static const per_sequence_t PUCCH_Config_eag_1_sequence[] = { + { &hf_nr_rrc_resourceToAddModListExt_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceExt_r16 }, + { &hf_nr_rrc_dl_DataToUL_ACK_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_DataToUL_ACK_r16 }, + { &hf_nr_rrc_ul_AccessConfigListForDCI_Format_1_1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_AccessConfigListForDCI_Format_1_1_r16 }, + { &hf_nr_rrc_subslotLengthForPUCCH_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_subslotLengthForPUCCH_r16 }, + { &hf_nr_rrc_dl_DataToUL_ACK_ForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_DataToUL_ACK_ForDCI_Format1_2_r16 }, + { &hf_nr_rrc_numberOfBitsForPUCCH_ResourceIndicatorForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_3 }, + { &hf_nr_rrc_dmrs_UplinkTransformPrecodingPUCCH_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_UplinkTransformPrecodingPUCCH_r16 }, + { &hf_nr_rrc_spatialRelationInfoToAddModList2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfo }, + { &hf_nr_rrc_spatialRelationInfoToReleaseList2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfoId }, + { &hf_nr_rrc_spatialRelationInfoToAddModListExt_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoExt_r16 }, + { &hf_nr_rrc_spatialRelationInfoToReleaseList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoId_r16 }, + { &hf_nr_rrc_resourceGroupToAddModList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroup_r16 }, + { &hf_nr_rrc_resourceGroupToReleaseList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroupId_r16 }, + { &hf_nr_rrc_sps_PUCCH_AN_List_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sps_PUCCH_AN_List_r16 }, + { &hf_nr_rrc_schedulingRequestResourceToAddModList_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_v1610 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PUCCH_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, PUCCH_Config_eag_1_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 }, @@ -26586,6 +51028,7 @@ static const per_sequence_t PUCCH_Config_sequence[] = { { &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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Config_eag_1 }, { NULL, 0, 0, NULL } }; @@ -26606,7 +51049,7 @@ static const value_string nr_rrc_T_pucch_Config_vals[] = { static const per_choice_t T_pucch_Config_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_12 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_Config }, + { 1, &hf_nr_rrc_setup_25 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_Config }, { 0, NULL, 0, NULL } }; @@ -26832,7 +51275,7 @@ static const value_string nr_rrc_T_phaseTrackingRS_01_vals[] = { static const per_choice_t T_phaseTrackingRS_01_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_22 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PTRS_UplinkConfig }, + { 1, &hf_nr_rrc_setup_37 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PTRS_UplinkConfig }, { 0, NULL, 0, NULL } }; @@ -26861,9 +51304,38 @@ dissect_nr_rrc_T_maxLength_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } +static const value_string nr_rrc_T_dmrs_Uplink_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_dmrs_Uplink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_eag_1_02_sequence[] = { + { &hf_nr_rrc_dmrs_Uplink_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_Uplink_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_eag_1_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_eag(tvb, offset, actx, tree, T_eag_1_02_sequence); + + 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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1_02 }, { NULL, 0, 0, NULL } }; @@ -26916,10 +51388,61 @@ dissect_nr_rrc_T_sequenceHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } +static const per_sequence_t DMRS_UplinkTransformPrecoding_r16_sequence[] = { + { &hf_nr_rrc_pi2BPSK_ScramblingID0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 }, + { &hf_nr_rrc_pi2BPSK_ScramblingID1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_DMRS_UplinkTransformPrecoding_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_UplinkTransformPrecoding_r16, DMRS_UplinkTransformPrecoding_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_dmrs_UplinkTransformPrecoding_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_dmrs_UplinkTransformPrecoding_r16_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_DMRS_UplinkTransformPrecoding_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_dmrs_UplinkTransformPrecoding_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_UplinkTransformPrecoding_r16, T_dmrs_UplinkTransformPrecoding_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_eag_1_03_sequence[] = { + { &hf_nr_rrc_dmrs_UplinkTransformPrecoding_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_UplinkTransformPrecoding_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_eag_1_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_eag(tvb, offset, actx, tree, T_eag_1_03_sequence); + + 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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1_03 }, { NULL, 0, 0, NULL } }; @@ -26959,7 +51482,7 @@ static const value_string nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_vals[] = { static const per_choice_t T_dmrs_UplinkForPUSCH_MappingTypeA_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_41 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig }, + { 1, &hf_nr_rrc_setup_81 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig }, { 0, NULL, 0, NULL } }; @@ -26981,7 +51504,7 @@ static const value_string nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_vals[] = { static const per_choice_t T_dmrs_UplinkForPUSCH_MappingTypeB_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_41 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig }, + { 1, &hf_nr_rrc_setup_81 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig }, { 0, NULL, 0, NULL } }; @@ -27314,7 +51837,7 @@ static const value_string nr_rrc_T_pusch_TimeDomainAllocationList_vals[] = { static const per_choice_t T_pusch_TimeDomainAllocationList_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_42 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList }, + { 1, &hf_nr_rrc_setup_82 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList }, { 0, NULL, 0, NULL } }; @@ -27502,7 +52025,7 @@ static const value_string nr_rrc_T_uci_OnPUSCH_01_vals[] = { static const per_choice_t T_uci_OnPUSCH_01_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_43 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_UCI_OnPUSCH }, + { 1, &hf_nr_rrc_setup_83 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_UCI_OnPUSCH }, { 0, NULL, 0, NULL } }; @@ -27531,6 +52054,1094 @@ dissect_nr_rrc_T_tp_pi2BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } + +static int +dissect_nr_rrc_INTEGER_0_maxK2_SchedulingOffset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxK2_SchedulingOffset_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t MinSchedulingOffsetK2_Values_r16_sequence_of[1] = { + { &hf_nr_rrc_MinSchedulingOffsetK2_Values_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxK2_SchedulingOffset_r16 }, +}; + +static int +dissect_nr_rrc_MinSchedulingOffsetK2_Values_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MinSchedulingOffsetK2_Values_r16, MinSchedulingOffsetK2_Values_r16_sequence_of, + 1, maxNrOfMinSchedulingOffsetValues_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_minimumSchedulingOffsetK2_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_minimumSchedulingOffsetK2_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_84 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MinSchedulingOffsetK2_Values_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_minimumSchedulingOffsetK2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_minimumSchedulingOffsetK2_r16, T_minimumSchedulingOffsetK2_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t UL_AccessConfigListForDCI_Format0_1_r16_sequence_of[1] = { + { &hf_nr_rrc_UL_AccessConfigListForDCI_Format0_1_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 }, +}; + +static int +dissect_nr_rrc_UL_AccessConfigListForDCI_Format0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_UL_AccessConfigListForDCI_Format0_1_r16, UL_AccessConfigListForDCI_Format0_1_r16_sequence_of, + 1, 64, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_ul_AccessConfigListForDCI_Format0_1_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_ul_AccessConfigListForDCI_Format0_1_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_85 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_UL_AccessConfigListForDCI_Format0_1_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_ul_AccessConfigListForDCI_Format0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_ul_AccessConfigListForDCI_Format0_1_r16, T_ul_AccessConfigListForDCI_Format0_1_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_dmrs_SequenceInitializationForDCI_Format0_2_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_dmrs_SequenceInitializationForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_antennaPortsFieldPresenceForDCI_Format0_2_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_antennaPortsFieldPresenceForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_UplinkForPUSCH_MappingTypeA_ForDCI_Format0_2_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_dmrs_UplinkForPUSCH_MappingTypeA_ForDCI_Format0_2_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_81 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_ForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_ForDCI_Format0_2_r16, T_dmrs_UplinkForPUSCH_MappingTypeA_ForDCI_Format0_2_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_ForDCI_Format0_2_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_dmrs_UplinkForPUSCH_MappingTypeB_ForDCI_Format0_2_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_81 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_ForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_ForDCI_Format0_2_r16, T_dmrs_UplinkForPUSCH_MappingTypeB_ForDCI_Format0_2_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_pusch_RepTypeA_vals[] = { + { 0, "intraSlot" }, + { 1, "interSlot" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_pusch_RepTypeA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_pusch_RepTypeB_vals[] = { + { 0, "interRepetition" }, + { 1, "interSlot" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_pusch_RepTypeB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_frequencyHoppingForDCI_Format0_2_r16_vals[] = { + { 0, "pusch-RepTypeA" }, + { 1, "pusch-RepTypeB" }, + { 0, NULL } +}; + +static const per_choice_t T_frequencyHoppingForDCI_Format0_2_r16_choice[] = { + { 0, &hf_nr_rrc_pusch_RepTypeA, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_pusch_RepTypeA }, + { 1, &hf_nr_rrc_pusch_RepTypeB, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_pusch_RepTypeB }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_frequencyHoppingForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_frequencyHoppingForDCI_Format0_2_r16, T_frequencyHoppingForDCI_Format0_2_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t FrequencyHoppingOffsetListsForDCI_Format0_2_r16_sequence_of[1] = { + { &hf_nr_rrc_FrequencyHoppingOffsetListsForDCI_Format0_2_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1 }, +}; + +static int +dissect_nr_rrc_FrequencyHoppingOffsetListsForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_FrequencyHoppingOffsetListsForDCI_Format0_2_r16, FrequencyHoppingOffsetListsForDCI_Format0_2_r16_sequence_of, + 1, 4, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_frequencyHoppingOffsetListsForDCI_Format0_2_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_frequencyHoppingOffsetListsForDCI_Format0_2_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_86 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_FrequencyHoppingOffsetListsForDCI_Format0_2_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_frequencyHoppingOffsetListsForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_frequencyHoppingOffsetListsForDCI_Format0_2_r16, T_frequencyHoppingOffsetListsForDCI_Format0_2_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_codebookSubsetForDCI_Format0_2_r16_vals[] = { + { 0, "fullyAndPartialAndNonCoherent" }, + { 1, "partialAndNonCoherent" }, + { 2, "nonCoherent" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_codebookSubsetForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _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_invalidSymbolPatternIndicatorForDCI_Format0_2_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_invalidSymbolPatternIndicatorForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_mcs_TableForDCI_Format0_2_r16_vals[] = { + { 0, "qam256" }, + { 1, "qam64LowSE" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_mcs_TableForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_TableTransformPrecoderForDCI_Format0_2_r16_vals[] = { + { 0, "qam256" }, + { 1, "qam64LowSE" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_mcs_TableTransformPrecoderForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_priorityIndicatorForDCI_Format0_2_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_priorityIndicatorForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_pusch_RepTypeIndicatorForDCI_Format0_2_r16_vals[] = { + { 0, "pusch-RepTypeA" }, + { 1, "pusch-RepTypeB" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_pusch_RepTypeIndicatorForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_resourceAllocationForDCI_Format0_2_r16_vals[] = { + { 0, "resourceAllocationType0" }, + { 1, "resourceAllocationType1" }, + { 2, "dynamicSwitch" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_resourceAllocationForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _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_resourceAllocationType1GranularityForDCI_Format0_2_r16_vals[] = { + { 0, "n2" }, + { 1, "n4" }, + { 2, "n8" }, + { 3, "n16" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_resourceAllocationType1GranularityForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _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 SEQUENCE_SIZE_2_OF_BetaOffsets_sequence_of[1] = { + { &hf_nr_rrc_oneBit_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BetaOffsets }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_2_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_2_OF_BetaOffsets, SEQUENCE_SIZE_2_OF_BetaOffsets_sequence_of, + 2, 2, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_dynamicForDCI_Format0_2_r16_vals[] = { + { 0, "oneBit-r16" }, + { 1, "twoBits-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_dynamicForDCI_Format0_2_r16_choice[] = { + { 0, &hf_nr_rrc_oneBit_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_2_OF_BetaOffsets }, + { 1, &hf_nr_rrc_twoBits_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_dynamicForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_dynamicForDCI_Format0_2_r16, T_dynamicForDCI_Format0_2_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_betaOffsetsForDCI_Format0_2_r16_vals[] = { + { 0, "dynamicForDCI-Format0-2-r16" }, + { 1, "semiStaticForDCI-Format0-2-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_betaOffsetsForDCI_Format0_2_r16_choice[] = { + { 0, &hf_nr_rrc_dynamicForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_dynamicForDCI_Format0_2_r16 }, + { 1, &hf_nr_rrc_semiStaticForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BetaOffsets }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_betaOffsetsForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_betaOffsetsForDCI_Format0_2_r16, T_betaOffsetsForDCI_Format0_2_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scalingForDCI_Format0_2_r16_vals[] = { + { 0, "f0p5" }, + { 1, "f0p65" }, + { 2, "f0p8" }, + { 3, "f1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scalingForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _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_ForDCI_Format0_2_r16_sequence[] = { + { &hf_nr_rrc_betaOffsetsForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_betaOffsetsForDCI_Format0_2_r16 }, + { &hf_nr_rrc_scalingForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_scalingForDCI_Format0_2_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UCI_OnPUSCH_ForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_ForDCI_Format0_2_r16, UCI_OnPUSCH_ForDCI_Format0_2_r16_sequence); + + return offset; +} + + +static const per_sequence_t UCI_OnPUSCH_ListForDCI_Format0_2_r16_sequence_of[1] = { + { &hf_nr_rrc_UCI_OnPUSCH_ListForDCI_Format0_2_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UCI_OnPUSCH_ForDCI_Format0_2_r16 }, +}; + +static int +dissect_nr_rrc_UCI_OnPUSCH_ListForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_UCI_OnPUSCH_ListForDCI_Format0_2_r16, UCI_OnPUSCH_ListForDCI_Format0_2_r16_sequence_of, + 1, 2, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_uci_OnPUSCH_ListForDCI_Format0_2_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_uci_OnPUSCH_ListForDCI_Format0_2_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_87 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_UCI_OnPUSCH_ListForDCI_Format0_2_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_uci_OnPUSCH_ListForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_ListForDCI_Format0_2_r16, T_uci_OnPUSCH_ListForDCI_Format0_2_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_mappingType_r16_01_vals[] = { + { 0, "typeA" }, + { 1, "typeB" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_mappingType_r16_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_numberOfRepetitions_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n3" }, + { 3, "n4" }, + { 4, "n7" }, + { 5, "n8" }, + { 6, "n12" }, + { 7, "n16" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_numberOfRepetitions_r16(tvbuff_t *tvb _U_, int offset _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 PUSCH_Allocation_r16_sequence[] = { + { &hf_nr_rrc_mappingType_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mappingType_r16_01 }, + { &hf_nr_rrc_startSymbolAndLength_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_127 }, + { &hf_nr_rrc_startSymbol_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_13 }, + { &hf_nr_rrc_length_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_14 }, + { &hf_nr_rrc_numberOfRepetitions_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_numberOfRepetitions_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PUSCH_Allocation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_Allocation_r16, PUSCH_Allocation_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofMultiplePUSCHs_r16_OF_PUSCH_Allocation_r16_sequence_of[1] = { + { &hf_nr_rrc_puschAllocationList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_Allocation_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofMultiplePUSCHs_r16_OF_PUSCH_Allocation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofMultiplePUSCHs_r16_OF_PUSCH_Allocation_r16, SEQUENCE_SIZE_1_maxNrofMultiplePUSCHs_r16_OF_PUSCH_Allocation_r16_sequence_of, + 1, maxNrofMultiplePUSCHs_r16, FALSE); + + return offset; +} + + +static const per_sequence_t PUSCH_TimeDomainResourceAllocation_r16_sequence[] = { + { &hf_nr_rrc_k2_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_32 }, + { &hf_nr_rrc_puschAllocationList_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofMultiplePUSCHs_r16_OF_PUSCH_Allocation_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PUSCH_TimeDomainResourceAllocation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PUSCH_TimeDomainResourceAllocation_r16, PUSCH_TimeDomainResourceAllocation_r16_sequence); + + return offset; +} + + +static const per_sequence_t PUSCH_TimeDomainResourceAllocationList_r16_sequence_of[1] = { + { &hf_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_TimeDomainResourceAllocation_r16 }, +}; + +static int +dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16, PUSCH_TimeDomainResourceAllocationList_r16_sequence_of, + 1, maxNrofUL_Allocations_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_pusch_TimeDomainAllocationListForDCI_Format0_2_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_pusch_TimeDomainAllocationListForDCI_Format0_2_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_88 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_pusch_TimeDomainAllocationListForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_TimeDomainAllocationListForDCI_Format0_2_r16, T_pusch_TimeDomainAllocationListForDCI_Format0_2_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_pusch_TimeDomainAllocationListForDCI_Format0_1_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_pusch_TimeDomainAllocationListForDCI_Format0_1_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_88 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_pusch_TimeDomainAllocationListForDCI_Format0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_TimeDomainAllocationListForDCI_Format0_1_r16, T_pusch_TimeDomainAllocationListForDCI_Format0_1_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_invalidSymbolPatternIndicatorForDCI_Format0_1_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_invalidSymbolPatternIndicatorForDCI_Format0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_priorityIndicatorForDCI_Format0_1_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_priorityIndicatorForDCI_Format0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_pusch_RepTypeIndicatorForDCI_Format0_1_r16_vals[] = { + { 0, "pusch-RepTypeA" }, + { 1, "pusch-RepTypeB" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_pusch_RepTypeIndicatorForDCI_Format0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_frequencyHoppingForDCI_Format0_1_r16_vals[] = { + { 0, "interRepetition" }, + { 1, "interSlot" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_frequencyHoppingForDCI_Format0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 UCI_OnPUSCH_ListForDCI_Format0_1_r16_sequence_of[1] = { + { &hf_nr_rrc_UCI_OnPUSCH_ListForDCI_Format0_1_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UCI_OnPUSCH }, +}; + +static int +dissect_nr_rrc_UCI_OnPUSCH_ListForDCI_Format0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_UCI_OnPUSCH_ListForDCI_Format0_1_r16, UCI_OnPUSCH_ListForDCI_Format0_1_r16_sequence_of, + 1, 2, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_uci_OnPUSCH_ListForDCI_Format0_1_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_uci_OnPUSCH_ListForDCI_Format0_1_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_89 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_UCI_OnPUSCH_ListForDCI_Format0_1_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_uci_OnPUSCH_ListForDCI_Format0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_ListForDCI_Format0_1_r16, T_uci_OnPUSCH_ListForDCI_Format0_1_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_symbols_r16_vals[] = { + { 0, "oneSlot" }, + { 1, "twoSlots" }, + { 0, NULL } +}; + +static const per_choice_t T_symbols_r16_choice[] = { + { 0, &hf_nr_rrc_oneSlot , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_14 }, + { 1, &hf_nr_rrc_twoSlots , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_28 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_symbols_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_symbols_r16, T_symbols_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_periodicityAndPattern_r16_vals[] = { + { 0, "n2" }, + { 1, "n4" }, + { 2, "n5" }, + { 3, "n8" }, + { 4, "n10" }, + { 5, "n20" }, + { 6, "n40" }, + { 0, NULL } +}; + +static const per_choice_t T_periodicityAndPattern_r16_choice[] = { + { 0, &hf_nr_rrc_n2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_2 }, + { 1, &hf_nr_rrc_n4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 }, + { 2, &hf_nr_rrc_n5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_5 }, + { 3, &hf_nr_rrc_n8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 }, + { 4, &hf_nr_rrc_n10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_10 }, + { 5, &hf_nr_rrc_n20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_20 }, + { 6, &hf_nr_rrc_n40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_40 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_periodicityAndPattern_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_periodicityAndPattern_r16, T_periodicityAndPattern_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t InvalidSymbolPattern_r16_sequence[] = { + { &hf_nr_rrc_symbols_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_symbols_r16 }, + { &hf_nr_rrc_periodicityAndPattern_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_periodicityAndPattern_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_InvalidSymbolPattern_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_InvalidSymbolPattern_r16, InvalidSymbolPattern_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + maxNrofPUSCH_PathlossReferenceRSs, maxNrofPUSCH_PathlossReferenceRSs_1_r16, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_referenceSignal_r16_01_vals[] = { + { 0, "ssb-Index-r16" }, + { 1, "csi-RS-Index-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_referenceSignal_r16_01_choice[] = { + { 0, &hf_nr_rrc_ssb_Index_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index }, + { 1, &hf_nr_rrc_csi_RS_Index_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_referenceSignal_r16_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_r16_01, T_referenceSignal_r16_01_choice, + NULL); + + return offset; +} + + +static const per_sequence_t PUSCH_PathlossReferenceRS_r16_sequence[] = { + { &hf_nr_rrc_pusch_PathlossReferenceRS_Id_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id_v1610 }, + { &hf_nr_rrc_referenceSignal_r16_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_r16_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PUSCH_PathlossReferenceRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_r16, PUSCH_PathlossReferenceRS_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_r16_sequence_of[1] = { + { &hf_nr_rrc_pathlossReferenceRSToAddModList2_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_r16, SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_r16_sequence_of, + 1, maxNrofPUSCH_PathlossReferenceRSsDiff_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_Id_v1610_sequence_of[1] = { + { &hf_nr_rrc_pathlossReferenceRSToReleaseList2_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id_v1610 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_Id_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_Id_v1610, SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_Id_v1610_sequence_of, + 1, maxNrofPUSCH_PathlossReferenceRSsDiff_r16, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_P0_PUSCH_SetId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_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 int +dissect_nr_rrc_P0_PUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, 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 SEQUENCE_SIZE_1_maxNrofP0_PUSCH_Set_r16_OF_P0_PUSCH_r16_sequence_of[1] = { + { &hf_nr_rrc_p0_List_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_Set_r16_OF_P0_PUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_Set_r16_OF_P0_PUSCH_r16, SEQUENCE_SIZE_1_maxNrofP0_PUSCH_Set_r16_OF_P0_PUSCH_r16_sequence_of, + 1, maxNrofP0_PUSCH_Set_r16, FALSE); + + return offset; +} + + +static const per_sequence_t P0_PUSCH_Set_r16_sequence[] = { + { &hf_nr_rrc_p0_PUSCH_SetId_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_SetId_r16 }, + { &hf_nr_rrc_p0_List_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_Set_r16_OF_P0_PUSCH_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_P0_PUSCH_Set_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_Set_r16, P0_PUSCH_Set_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16_sequence_of[1] = { + { &hf_nr_rrc_p0_PUSCH_SetList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_Set_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_P0_PUSCH_Set_r16, SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16_sequence_of, + 1, maxNrofSRI_PUSCH_Mappings, FALSE); + + return offset; +} + + +static const per_sequence_t T_olpc_ParameterSet_sequence[] = { + { &hf_nr_rrc_olpc_ParameterSetForDCI_Format0_1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_2 }, + { &hf_nr_rrc_olpc_ParameterSetForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_2 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_olpc_ParameterSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_olpc_ParameterSet, T_olpc_ParameterSet_sequence); + + return offset; +} + + +static const per_sequence_t PUSCH_PowerControl_v1610_sequence[] = { + { &hf_nr_rrc_pathlossReferenceRSToAddModList2_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_r16 }, + { &hf_nr_rrc_pathlossReferenceRSToReleaseList2_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_Id_v1610 }, + { &hf_nr_rrc_p0_PUSCH_SetList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16 }, + { &hf_nr_rrc_olpc_ParameterSet, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_olpc_ParameterSet }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PUSCH_PowerControl_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_v1610, PUSCH_PowerControl_v1610_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_pusch_PowerControl_v1610_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_pusch_PowerControl_v1610_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_90 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_PowerControl_v1610 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_pusch_PowerControl_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_PowerControl_v1610, T_pusch_PowerControl_v1610_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_ul_FullPowerTransmission_r16_vals[] = { + { 0, "fullpower" }, + { 1, "fullpowerMode1" }, + { 2, "fullpoweMode2" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ul_FullPowerTransmission_r16(tvbuff_t *tvb _U_, int offset _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_TimeDomainAllocationListForMultiPUSCH_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_pusch_TimeDomainAllocationListForMultiPUSCH_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_88 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_pusch_TimeDomainAllocationListForMultiPUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_TimeDomainAllocationListForMultiPUSCH_r16, T_pusch_TimeDomainAllocationListForMultiPUSCH_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t PUSCH_Config_eag_1_sequence[] = { + { &hf_nr_rrc_minimumSchedulingOffsetK2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_minimumSchedulingOffsetK2_r16 }, + { &hf_nr_rrc_ul_AccessConfigListForDCI_Format0_1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_AccessConfigListForDCI_Format0_1_r16 }, + { &hf_nr_rrc_harq_ProcessNumberSizeForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_4 }, + { &hf_nr_rrc_dmrs_SequenceInitializationForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_SequenceInitializationForDCI_Format0_2_r16 }, + { &hf_nr_rrc_numberOfBitsForRV_ForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_2 }, + { &hf_nr_rrc_antennaPortsFieldPresenceForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_antennaPortsFieldPresenceForDCI_Format0_2_r16 }, + { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA_ForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_ForDCI_Format0_2_r16 }, + { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB_ForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_ForDCI_Format0_2_r16 }, + { &hf_nr_rrc_frequencyHoppingForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyHoppingForDCI_Format0_2_r16 }, + { &hf_nr_rrc_frequencyHoppingOffsetListsForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyHoppingOffsetListsForDCI_Format0_2_r16 }, + { &hf_nr_rrc_codebookSubsetForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_codebookSubsetForDCI_Format0_2_r16 }, + { &hf_nr_rrc_invalidSymbolPatternIndicatorForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_invalidSymbolPatternIndicatorForDCI_Format0_2_r16 }, + { &hf_nr_rrc_maxRankForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_4 }, + { &hf_nr_rrc_mcs_TableForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_TableForDCI_Format0_2_r16 }, + { &hf_nr_rrc_mcs_TableTransformPrecoderForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_TableTransformPrecoderForDCI_Format0_2_r16 }, + { &hf_nr_rrc_priorityIndicatorForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_priorityIndicatorForDCI_Format0_2_r16 }, + { &hf_nr_rrc_pusch_RepTypeIndicatorForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_RepTypeIndicatorForDCI_Format0_2_r16 }, + { &hf_nr_rrc_resourceAllocationForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_resourceAllocationForDCI_Format0_2_r16 }, + { &hf_nr_rrc_resourceAllocationType1GranularityForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_resourceAllocationType1GranularityForDCI_Format0_2_r16 }, + { &hf_nr_rrc_uci_OnPUSCH_ListForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uci_OnPUSCH_ListForDCI_Format0_2_r16 }, + { &hf_nr_rrc_pusch_TimeDomainAllocationListForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_TimeDomainAllocationListForDCI_Format0_2_r16 }, + { &hf_nr_rrc_pusch_TimeDomainAllocationListForDCI_Format0_1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_TimeDomainAllocationListForDCI_Format0_1_r16 }, + { &hf_nr_rrc_invalidSymbolPatternIndicatorForDCI_Format0_1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_invalidSymbolPatternIndicatorForDCI_Format0_1_r16 }, + { &hf_nr_rrc_priorityIndicatorForDCI_Format0_1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_priorityIndicatorForDCI_Format0_1_r16 }, + { &hf_nr_rrc_pusch_RepTypeIndicatorForDCI_Format0_1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_RepTypeIndicatorForDCI_Format0_1_r16 }, + { &hf_nr_rrc_frequencyHoppingForDCI_Format0_1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyHoppingForDCI_Format0_1_r16 }, + { &hf_nr_rrc_uci_OnPUSCH_ListForDCI_Format0_1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uci_OnPUSCH_ListForDCI_Format0_1_r16 }, + { &hf_nr_rrc_invalidSymbolPattern_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_InvalidSymbolPattern_r16 }, + { &hf_nr_rrc_pusch_PowerControl_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_PowerControl_v1610 }, + { &hf_nr_rrc_ul_FullPowerTransmission_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_FullPowerTransmission_r16 }, + { &hf_nr_rrc_pusch_TimeDomainAllocationListForMultiPUSCH_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_TimeDomainAllocationListForMultiPUSCH_r16 }, + { &hf_nr_rrc_numberOfInvalidSymbolsForDL_UL_Switching_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_4 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PUSCH_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, PUSCH_Config_eag_1_sequence); + + 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 }, @@ -27550,6 +53161,7 @@ static const per_sequence_t PUSCH_Config_sequence[] = { { &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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_Config_eag_1 }, { NULL, 0, 0, NULL } }; @@ -27570,7 +53182,7 @@ static const value_string nr_rrc_T_pusch_Config_vals[] = { static const per_choice_t T_pusch_Config_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_13 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_Config }, + { 1, &hf_nr_rrc_setup_26 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_Config }, { 0, NULL, 0, NULL } }; @@ -27676,7 +53288,7 @@ static const value_string nr_rrc_T_uci_OnPUSCH_vals[] = { static const per_choice_t T_uci_OnPUSCH_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_18 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CG_UCI_OnPUSCH }, + { 1, &hf_nr_rrc_setup_33 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CG_UCI_OnPUSCH }, { 0, NULL, 0, NULL } }; @@ -27870,6 +53482,68 @@ dissect_nr_rrc_INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1(tvbuff_t *tvb _U_, } +static const value_string nr_rrc_T_pusch_RepTypeIndicator_r16_vals[] = { + { 0, "pusch-RepTypeA" }, + { 1, "pusch-RepTypeB" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_pusch_RepTypeIndicator_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_frequencyHoppingPUSCH_RepTypeB_r16_vals[] = { + { 0, "interRepetition" }, + { 1, "interSlot" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_frequencyHoppingPUSCH_RepTypeB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_timeReferenceSFN_r16_vals[] = { + { 0, "sfn512" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_timeReferenceSFN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_eag_1_01_sequence[] = { + { &hf_nr_rrc_pusch_RepTypeIndicator_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_RepTypeIndicator_r16 }, + { &hf_nr_rrc_frequencyHoppingPUSCH_RepTypeB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyHoppingPUSCH_RepTypeB_r16 }, + { &hf_nr_rrc_timeReferenceSFN_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeReferenceSFN_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_eag_1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_01_sequence); + + return offset; +} + + static const per_sequence_t T_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 }, @@ -27881,6 +53555,7 @@ static const per_sequence_t T_rrc_ConfiguredUplinkGrant_sequence[] = { { &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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1_01 }, { NULL, 0, 0, NULL } }; @@ -27893,6 +53568,267 @@ dissect_nr_rrc_T_rrc_ConfiguredUplinkGrant(tvbuff_t *tvb _U_, int offset _U_, as } +static const value_string nr_rrc_T_cg_minDFI_Delay_r16_vals[] = { + { 0, "sym7" }, + { 1, "sym1x14" }, + { 2, "sym2x14" }, + { 3, "sym3x14" }, + { 4, "sym4x14" }, + { 5, "sym5x14" }, + { 6, "sym6x14" }, + { 7, "sym7x14" }, + { 8, "sym8x14" }, + { 9, "sym9x14" }, + { 10, "sym10x14" }, + { 11, "sym11x14" }, + { 12, "sym12x14" }, + { 13, "sym13x14" }, + { 14, "sym14x14" }, + { 15, "sym15x14" }, + { 16, "sym16x14" }, + { 0, NULL } +}; + +static value_string_ext nr_rrc_T_cg_minDFI_Delay_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_cg_minDFI_Delay_r16_vals); + + +static int +dissect_nr_rrc_T_cg_minDFI_Delay_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 17, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_1_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 7U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_1_40(tvbuff_t *tvb _U_, int offset _U_, 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, 40U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_cg_StartingFullBW_InsideCOT_r16_sequence_of[1] = { + { &hf_nr_rrc_cg_StartingFullBW_InsideCOT_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_6 }, +}; + +static int +dissect_nr_rrc_T_cg_StartingFullBW_InsideCOT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_cg_StartingFullBW_InsideCOT_r16, T_cg_StartingFullBW_InsideCOT_r16_sequence_of, + 1, 7, FALSE); + + return offset; +} + + +static const per_sequence_t T_cg_StartingFullBW_OutsideCOT_r16_sequence_of[1] = { + { &hf_nr_rrc_cg_StartingFullBW_OutsideCOT_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_6 }, +}; + +static int +dissect_nr_rrc_T_cg_StartingFullBW_OutsideCOT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_cg_StartingFullBW_OutsideCOT_r16, T_cg_StartingFullBW_OutsideCOT_r16_sequence_of, + 1, 7, FALSE); + + return offset; +} + + +static const per_sequence_t CG_StartingOffsets_r16_sequence[] = { + { &hf_nr_rrc_cg_StartingFullBW_InsideCOT_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cg_StartingFullBW_InsideCOT_r16 }, + { &hf_nr_rrc_cg_StartingFullBW_OutsideCOT_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cg_StartingFullBW_OutsideCOT_r16 }, + { &hf_nr_rrc_cg_StartingPartialBW_InsideCOT_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_6 }, + { &hf_nr_rrc_cg_StartingPartialBW_OutsideCOT_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_6 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CG_StartingOffsets_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CG_StartingOffsets_r16, CG_StartingOffsets_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_cg_UCI_Multiplexing_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_cg_UCI_Multiplexing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_1_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 39U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_cot_Sharing_r16_sequence[] = { + { &hf_nr_rrc_duration_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_39 }, + { &hf_nr_rrc_offset_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_39 }, + { &hf_nr_rrc_channelAccessPriority_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_cot_Sharing_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_cot_Sharing_r16, T_cot_Sharing_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_CG_COT_Sharing_r16_vals[] = { + { 0, "noCOT-Sharing-r16" }, + { 1, "cot-Sharing-r16" }, + { 0, NULL } +}; + +static const per_choice_t CG_COT_Sharing_r16_choice[] = { + { 0, &hf_nr_rrc_noCOT_Sharing_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_cot_Sharing_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_cot_Sharing_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_CG_COT_Sharing_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_COT_Sharing_r16, CG_COT_Sharing_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_1709_OF_CG_COT_Sharing_r16_sequence_of[1] = { + { &hf_nr_rrc_cg_COT_SharingList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CG_COT_Sharing_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_1709_OF_CG_COT_Sharing_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_1709_OF_CG_COT_Sharing_r16, SEQUENCE_SIZE_1_1709_OF_CG_COT_Sharing_r16_sequence_of, + 1, 1709, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_ConfiguredGrantConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxNrofConfiguredGrantConfig_r16_1, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_startingFromRV0_r16_vals[] = { + { 0, "on" }, + { 1, "off" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_startingFromRV0_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_phy_PriorityIndex_r16_vals[] = { + { 0, "p0" }, + { 1, "p1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_phy_PriorityIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_autonomousTx_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_autonomousTx_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 ConfiguredGrantConfig_eag_1_sequence[] = { + { &hf_nr_rrc_cg_RetransmissionTimer_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_64 }, + { &hf_nr_rrc_cg_minDFI_Delay_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cg_minDFI_Delay_r16 }, + { &hf_nr_rrc_cg_nrofPUSCH_InSlot_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_7 }, + { &hf_nr_rrc_cg_nrofSlots_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_40 }, + { &hf_nr_rrc_cg_StartingOffsets_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CG_StartingOffsets_r16 }, + { &hf_nr_rrc_cg_UCI_Multiplexing, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cg_UCI_Multiplexing }, + { &hf_nr_rrc_cg_COT_SharingOffset_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_39 }, + { &hf_nr_rrc_betaOffsetCG_UCI_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 }, + { &hf_nr_rrc_cg_COT_SharingList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_1709_OF_CG_COT_Sharing_r16 }, + { &hf_nr_rrc_harq_ProcID_Offset_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 }, + { &hf_nr_rrc_harq_ProcID_Offset2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 }, + { &hf_nr_rrc_configuredGrantConfigIndex_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ConfiguredGrantConfigIndex_r16 }, + { &hf_nr_rrc_configuredGrantConfigIndexMAC_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ConfiguredGrantConfigIndexMAC_r16 }, + { &hf_nr_rrc_periodicityExt_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_5120 }, + { &hf_nr_rrc_startingFromRV0_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_startingFromRV0_r16 }, + { &hf_nr_rrc_phy_PriorityIndex_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_phy_PriorityIndex_r16 }, + { &hf_nr_rrc_autonomousTx_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_autonomousTx_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ConfiguredGrantConfig_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, ConfiguredGrantConfig_eag_1_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 }, @@ -27910,6 +53846,7 @@ static const per_sequence_t ConfiguredGrantConfig_sequence[] = { { &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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfiguredGrantConfig_eag_1 }, { NULL, 0, 0, NULL } }; @@ -27930,7 +53867,7 @@ static const value_string nr_rrc_T_configuredGrantConfig_vals[] = { static const per_choice_t T_configuredGrantConfig_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_ConfiguredGrantConfig }, + { 1, &hf_nr_rrc_setup_27 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_ConfiguredGrantConfig }, { 0, NULL, 0, NULL } }; @@ -27992,16 +53929,6 @@ 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_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 32U, NULL, FALSE); - - return offset; -} - - static const per_sequence_t T_aperiodicSRS_ResourceTriggerList_sequence_of[1] = { { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofSRS_TriggerStates_1 }, }; @@ -28016,14 +53943,14 @@ dissect_nr_rrc_T_aperiodicSRS_ResourceTriggerList(tvbuff_t *tvb _U_, int offset } -static const per_sequence_t T_eag_1_01_sequence[] = { +static const per_sequence_t T_eag_1_06_sequence[] = { { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aperiodicSRS_ResourceTriggerList }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_eag_1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_01_sequence); +dissect_nr_rrc_T_eag_1_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_eag(tvb, offset, actx, tree, T_eag_1_06_sequence); return offset; } @@ -28033,7 +53960,7 @@ static const per_sequence_t T_aperiodic_01_sequence[] = { { &hf_nr_rrc_aperiodicSRS_ResourceTrigger, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofSRS_TriggerStates_1 }, { &hf_nr_rrc_csi_RS_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_NZP_CSI_RS_ResourceId }, { &hf_nr_rrc_slotOffset , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_32 }, - { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1_01 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1_06 }, { NULL, 0, 0, NULL } }; @@ -28116,22 +54043,22 @@ dissect_nr_rrc_T_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } -static const value_string nr_rrc_T_pathlossReferenceRS_vals[] = { +static const value_string nr_rrc_PathlossReferenceRS_Config_vals[] = { { 0, "ssb-Index" }, { 1, "csi-RS-Index" }, { 0, NULL } }; -static const per_choice_t T_pathlossReferenceRS_choice[] = { +static const per_choice_t PathlossReferenceRS_Config_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_) { +dissect_nr_rrc_PathlossReferenceRS_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_pathlossReferenceRS, T_pathlossReferenceRS_choice, + ett_nr_rrc_PathlossReferenceRS_Config, PathlossReferenceRS_Config_choice, NULL); return offset; @@ -28154,6 +54081,80 @@ dissect_nr_rrc_T_srs_PowerControlAdjustmentStates(tvbuff_t *tvb _U_, int offset } + +static int +dissect_nr_rrc_SRS_PathlossReferenceRS_Id_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_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_PathlossReferenceRS_1_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t PathlossReferenceRS_r16_sequence[] = { + { &hf_nr_rrc_srs_PathlossReferenceRS_Id_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PathlossReferenceRS_Id_r16 }, + { &hf_nr_rrc_pathlossReferenceRS_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PathlossReferenceRS_Config }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PathlossReferenceRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PathlossReferenceRS_r16, PathlossReferenceRS_r16_sequence); + + return offset; +} + + +static const per_sequence_t PathlossReferenceRSList_r16_sequence_of[1] = { + { &hf_nr_rrc_PathlossReferenceRSList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PathlossReferenceRS_r16 }, +}; + +static int +dissect_nr_rrc_PathlossReferenceRSList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PathlossReferenceRSList_r16, PathlossReferenceRSList_r16_sequence_of, + 1, maxNrofSRS_PathlossReferenceRS_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_pathlossReferenceRSList_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_pathlossReferenceRSList_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_108 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PathlossReferenceRSList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_pathlossReferenceRSList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_pathlossReferenceRSList_r16, T_pathlossReferenceRSList_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SRS_ResourceSet_eag_1_sequence[] = { + { &hf_nr_rrc_pathlossReferenceRSList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pathlossReferenceRSList_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SRS_ResourceSet_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_ResourceSet_eag_1_sequence); + + 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 }, @@ -28161,8 +54162,9 @@ static const per_sequence_t SRS_ResourceSet_sequence[] = { { &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_pathlossReferenceRS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PathlossReferenceRS_Config }, { &hf_nr_rrc_srs_PowerControlAdjustmentStates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_PowerControlAdjustmentStates }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSet_eag_1 }, { NULL, 0, 0, NULL } }; @@ -28203,1298 +54205,1162 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId(tvbuff_t * } -static const value_string nr_rrc_T_nrofSRS_Ports_vals[] = { - { 0, "port1" }, - { 1, "ports2" }, - { 2, "ports4" }, +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_nrofSRS_Ports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_tpc_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, - 3, NULL, FALSE, 0, NULL); + 1, 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_SRS_PosResourceSetId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_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_PosResourceSets_1_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16_sequence_of[1] = { + { &hf_nr_rrc_srs_PosResourceSetToReleaseList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PosResourceSetId_r16 }, }; +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16, SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16_sequence_of, + 1, maxNrofSRS_PosResourceSets_r16, FALSE); + + return offset; +} + + 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_SRS_PosResourceId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_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_PosResources_1_r16, NULL, FALSE); 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 const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_PosResourceId_r16_sequence_of[1] = { + { &hf_nr_rrc_srs_PosResourceIdList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PosResourceId_r16 }, }; 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); +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_PosResourceId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_PosResourceId_r16, SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_PosResourceId_r16_sequence_of, + 1, maxNrofSRS_ResourcesPerSet, FALSE); 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_aperiodicSRS_ResourceTriggerList_r16_sequence_of[1] = { + { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofSRS_TriggerStates_1 }, +}; + +static int +dissect_nr_rrc_T_aperiodicSRS_ResourceTriggerList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_r16, T_aperiodicSRS_ResourceTriggerList_r16_sequence_of, + 1, maxNrofSRS_TriggerStates_1, FALSE); + + return offset; +} + + +static const per_sequence_t T_aperiodic_r16_sequence[] = { + { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_aperiodicSRS_ResourceTriggerList_r16 }, { 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_aperiodic_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_aperiodic_r16, T_aperiodic_r16_sequence); return offset; } -static const value_string nr_rrc_T_transmissionComb_vals[] = { - { 0, "n2" }, - { 1, "n4" }, - { 0, NULL } +static const per_sequence_t T_semi_persistent_r16_sequence[] = { + { NULL, ASN1_EXTENSION_ROOT, 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_semi_persistent_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_r16, T_semi_persistent_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_periodic_r16_sequence[] = { + { NULL, ASN1_EXTENSION_ROOT, 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); +dissect_nr_rrc_T_periodic_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_r16, T_periodic_r16_sequence); return offset; } +static const value_string nr_rrc_T_resourceType_r16_vals[] = { + { 0, "aperiodic-r16" }, + { 1, "semi-persistent-r16" }, + { 2, "periodic-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_resourceType_r16_choice[] = { + { 0, &hf_nr_rrc_aperiodic_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_aperiodic_r16 }, + { 1, &hf_nr_rrc_semi_persistent_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semi_persistent_r16 }, + { 2, &hf_nr_rrc_periodic_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_periodic_r16 }, + { 0, NULL, 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_T_resourceType_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_r16, T_resourceType_r16_choice, + NULL); return offset; } -static const value_string nr_rrc_T_nrofSymbols_vals[] = { - { 0, "n1" }, - { 1, "n2" }, - { 2, "n4" }, +static const value_string nr_rrc_T_halfFrameIndex_r16_vals[] = { + { 0, "zero" }, + { 1, "one" }, { 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_) { +dissect_nr_rrc_T_halfFrameIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 3, NULL, FALSE, 0, NULL); + 2, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_repetitionFactor_vals[] = { - { 0, "n1" }, - { 1, "n2" }, - { 2, "n4" }, +static const value_string nr_rrc_T_ssb_Periodicity_r16_vals[] = { + { 0, "ms5" }, + { 1, "ms10" }, + { 2, "ms20" }, + { 3, "ms40" }, + { 4, "ms80" }, + { 5, "ms160" }, + { 6, "spare2" }, + { 7, "spare1" }, { 0, NULL } }; static int -dissect_nr_rrc_T_repetitionFactor(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_Periodicity_r16(tvbuff_t *tvb _U_, int offset _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_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 T_sfn0_Offset_r16_sequence[] = { + { &hf_nr_rrc_sfn_Offset_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 }, + { &hf_nr_rrc_integerSubframeOffset_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_9 }, { 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_T_sfn0_Offset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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); + ett_nr_rrc_T_sfn0_Offset_r16, T_sfn0_Offset_r16_sequence); return offset; } +static const per_sequence_t SSB_Configuration_r16_sequence[] = { + { &hf_nr_rrc_ssb_Freq_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, + { &hf_nr_rrc_halfFrameIndex_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_halfFrameIndex_r16 }, + { &hf_nr_rrc_ssbSubcarrierSpacing_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, + { &hf_nr_rrc_ssb_Periodicity_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_Periodicity_r16 }, + { &hf_nr_rrc_sfn0_Offset_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sfn0_Offset_r16 }, + { &hf_nr_rrc_sfn_SSB_Offset_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 }, + { &hf_nr_rrc_ss_PBCH_BlockPower_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M60_50 }, + { 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_SSB_Configuration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_Configuration_r16, SSB_Configuration_r16_sequence); return offset; } +static const per_sequence_t SSB_InfoNcell_r16_sequence[] = { + { &hf_nr_rrc_physicalCellId_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, + { &hf_nr_rrc_ssb_IndexNcell_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_Index }, + { &hf_nr_rrc_ssb_Configuration_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_Configuration_r16 }, + { 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_SSB_InfoNcell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_InfoNcell_r16, SSB_InfoNcell_r16_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 DL_PRS_Info_r16_sequence[] = { + { &hf_nr_rrc_dl_PRS_ID_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_255 }, + { &hf_nr_rrc_dl_PRS_ResourceSetId_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 }, + { &hf_nr_rrc_dl_PRS_ResourceId_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_63 }, { 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_DL_PRS_Info_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_DL_PRS_Info_r16, DL_PRS_Info_r16_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_pathlossReferenceRS_Pos_r16_vals[] = { + { 0, "ssb-IndexServing-r16" }, + { 1, "ssb-Ncell-r16" }, + { 2, "dl-PRS-r16" }, { 0, NULL } }; +static const per_choice_t T_pathlossReferenceRS_Pos_r16_choice[] = { + { 0, &hf_nr_rrc_ssb_IndexServing_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index }, + { 1, &hf_nr_rrc_ssb_Ncell_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_InfoNcell_r16 }, + { 2, &hf_nr_rrc_dl_PRS_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DL_PRS_Info_r16 }, + { 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_pathlossReferenceRS_Pos_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_Pos_r16, T_pathlossReferenceRS_Pos_r16_choice, + NULL); return offset; } -static const per_sequence_t T_aperiodic_02_sequence[] = { - { NULL, ASN1_EXTENSION_ROOT, 0, NULL } +static const per_sequence_t SRS_PosResourceSet_r16_sequence[] = { + { &hf_nr_rrc_srs_PosResourceSetId_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PosResourceSetId_r16 }, + { &hf_nr_rrc_srs_PosResourceIdList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_PosResourceId_r16 }, + { &hf_nr_rrc_resourceType_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType_r16 }, + { &hf_nr_rrc_alpha_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_Alpha }, + { &hf_nr_rrc_p0_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M202_24 }, + { &hf_nr_rrc_pathlossReferenceRS_Pos_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pathlossReferenceRS_Pos_r16 }, + { 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_SRS_PosResourceSet_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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); + ett_nr_rrc_SRS_PosResourceSet_r16, SRS_PosResourceSet_r16_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 const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16_sequence_of[1] = { + { &hf_nr_rrc_srs_PosResourceSetToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PosResourceSet_r16 }, }; 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); +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_PosResourceSets_r16_OF_SRS_PosResourceSet_r16, SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16_sequence_of, + 1, maxNrofSRS_PosResourceSets_r16, FALSE); 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 const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16_sequence_of[1] = { + { &hf_nr_rrc_srs_PosResourceToReleaseList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PosResourceId_r16 }, }; 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); +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_PosResources_r16_OF_SRS_PosResourceId_r16, SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16_sequence_of, + 1, maxNrofSRS_PosResources_r16, FALSE); 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 T_n2_r16_sequence[] = { + { &hf_nr_rrc_combOffset_n2_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1 }, + { &hf_nr_rrc_cyclicShift_n2_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 }, { 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_T_n2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_T_n2_r16, T_n2_r16_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 const per_sequence_t T_n4_r16_sequence[] = { + { &hf_nr_rrc_combOffset_n4_16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 }, + { &hf_nr_rrc_cyclicShift_n4_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 }, + { NULL, 0, 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); +dissect_nr_rrc_T_n4_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_r16, T_n4_r16_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_n8_r16_sequence[] = { + { &hf_nr_rrc_combOffset_n8_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 }, + { &hf_nr_rrc_cyclicShift_n8_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_5 }, { 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_n8_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_n8_r16, T_n8_r16_sequence); return offset; } -static const value_string nr_rrc_T_referenceSignal_03_vals[] = { - { 0, "ssb-Index" }, - { 1, "csi-RS-Index" }, - { 2, "srs" }, +static const value_string nr_rrc_T_transmissionComb_r16_vals[] = { + { 0, "n2-r16" }, + { 1, "n4-r16" }, + { 2, "n8-r16" }, { 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_transmissionComb_r16_choice[] = { + { 0, &hf_nr_rrc_n2_r16 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_n2_r16 }, + { 1, &hf_nr_rrc_n4_r16 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_n4_r16 }, + { 2, &hf_nr_rrc_n8_r16 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_n8_r16 }, { 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_transmissionComb_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_transmissionComb_r16, T_transmissionComb_r16_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 const value_string nr_rrc_T_nrofSymbols_r16_01_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "n8" }, + { 4, "n12" }, + { 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); +dissect_nr_rrc_T_nrofSymbols_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 5, NULL, FALSE, 0, NULL); return offset; } -static const 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 }, +static const per_sequence_t T_resourceMapping_r16_01_sequence[] = { + { &hf_nr_rrc_startPosition_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 }, + { &hf_nr_rrc_nrofSymbols_r16_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofSymbols_r16_01 }, { 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_T_resourceMapping_r16_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_SRS_Resource, SRS_Resource_sequence); + ett_nr_rrc_T_resourceMapping_r16_01, T_resourceMapping_r16_01_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 T_freqHopping_r16_sequence[] = { + { &hf_nr_rrc_c_SRS_r16 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 }, + { NULL, 0, 0, NULL } }; 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); +dissect_nr_rrc_T_freqHopping_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_r16, T_freqHopping_r16_sequence); return offset; } -static const value_string nr_rrc_T_tpc_Accumulation_01_vals[] = { - { 0, "disabled" }, +static const value_string nr_rrc_T_groupOrSequenceHopping_r16_vals[] = { + { 0, "neither" }, + { 1, "groupHopping" }, + { 2, "sequenceHopping" }, { 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_groupOrSequenceHopping_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); + 3, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t SRS_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 per_sequence_t T_aperiodic_r16_01_sequence[] = { + { &hf_nr_rrc_slotOffset_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_32 }, { 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_aperiodic_r16_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_SRS_Config, SRS_Config_sequence); + ett_nr_rrc_T_aperiodic_r16_01, T_aperiodic_r16_01_sequence); return offset; } -static const value_string nr_rrc_T_srs_Config_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_srs_Config_choice[] = { - { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_15 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_Config }, - { 0, NULL, 0, NULL } -}; static int -dissect_nr_rrc_T_srs_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_srs_Config, T_srs_Config_choice, - NULL); +dissect_nr_rrc_INTEGER_0_40959(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 40959U, NULL, FALSE); return offset; } -static const value_string nr_rrc_T_beamFailureRecoveryConfig_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; -static const per_choice_t T_beamFailureRecoveryConfig_choice[] = { - { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BeamFailureRecoveryConfig }, +static int +dissect_nr_rrc_INTEGER_0_81919(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 81919U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_SRS_PeriodicityAndOffset_r16_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" }, + { 17, "sl5120" }, + { 18, "sl10240" }, + { 19, "sl40960" }, + { 20, "sl81920" }, + { 0, NULL } +}; + +static value_string_ext nr_rrc_SRS_PeriodicityAndOffset_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_SRS_PeriodicityAndOffset_r16_vals); + +static const per_choice_t SRS_PeriodicityAndOffset_r16_choice[] = { + { 0, &hf_nr_rrc_sl1 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_sl2 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_1 }, + { 2, &hf_nr_rrc_sl4 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_3 }, + { 3, &hf_nr_rrc_sl5 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_4 }, + { 4, &hf_nr_rrc_sl8 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_7 }, + { 5, &hf_nr_rrc_sl10 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_9 }, + { 6, &hf_nr_rrc_sl16 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_15 }, + { 7, &hf_nr_rrc_sl20 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_19 }, + { 8, &hf_nr_rrc_sl32 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_31 }, + { 9, &hf_nr_rrc_sl40 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_39 }, + { 10, &hf_nr_rrc_sl64 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_63 }, + { 11, &hf_nr_rrc_sl80 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_79 }, + { 12, &hf_nr_rrc_sl160 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_159 }, + { 13, &hf_nr_rrc_sl320 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_319 }, + { 14, &hf_nr_rrc_sl640 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_639 }, + { 15, &hf_nr_rrc_sl1280 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_1279 }, + { 16, &hf_nr_rrc_sl2560 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_2559 }, + { 17, &hf_nr_rrc_sl5120 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_5119 }, + { 18, &hf_nr_rrc_sl10240 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_10239 }, + { 19, &hf_nr_rrc_sl40960 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_40959 }, + { 20, &hf_nr_rrc_sl81920 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_INTEGER_0_81919 }, { 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_) { +dissect_nr_rrc_SRS_PeriodicityAndOffset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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, + ett_nr_rrc_SRS_PeriodicityAndOffset_r16, SRS_PeriodicityAndOffset_r16_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 }, +static const per_sequence_t T_semi_persistent_r16_01_sequence[] = { + { &hf_nr_rrc_periodicityAndOffset_sp_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PeriodicityAndOffset_r16 }, { 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_) { +dissect_nr_rrc_T_semi_persistent_r16_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_BWP_UplinkDedicated, BWP_UplinkDedicated_sequence); + ett_nr_rrc_T_semi_persistent_r16_01, T_semi_persistent_r16_01_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 }, +static const per_sequence_t T_periodic_r16_01_sequence[] = { + { &hf_nr_rrc_periodicityAndOffset_p_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PeriodicityAndOffset_r16 }, { 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_) { +dissect_nr_rrc_T_periodic_r16_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_BWP_Uplink, BWP_Uplink_sequence); + ett_nr_rrc_T_periodic_r16_01, T_periodic_r16_01_sequence); return offset; } -static const value_string nr_rrc_T_servedRadioBearer_vals[] = { - { 0, "srb-Identity" }, - { 1, "drb-Identity" }, +static const value_string nr_rrc_T_resourceType_r16_01_vals[] = { + { 0, "aperiodic-r16" }, + { 1, "semi-persistent-r16" }, + { 2, "periodic-r16" }, { 0, NULL } }; -static const per_choice_t T_servedRadioBearer_choice[] = { - { 0, &hf_nr_rrc_srb_Identity , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRB_Identity }, - { 1, &hf_nr_rrc_drb_Identity , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DRB_Identity }, +static const per_choice_t T_resourceType_r16_01_choice[] = { + { 0, &hf_nr_rrc_aperiodic_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_aperiodic_r16_01 }, + { 1, &hf_nr_rrc_semi_persistent_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semi_persistent_r16_01 }, + { 2, &hf_nr_rrc_periodic_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_periodic_r16_01 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_T_servedRadioBearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_resourceType_r16_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_servedRadioBearer, T_servedRadioBearer_choice, + ett_nr_rrc_T_resourceType_r16_01, T_resourceType_r16_01_choice, NULL); return offset; } -static const value_string nr_rrc_T_reestablishRLC_vals[] = { - { 0, "true" }, +static const value_string nr_rrc_T_resourceSelection_r16_vals[] = { + { 0, "srs-ResourceId-r16" }, + { 1, "srs-PosResourceId-r16" }, { 0, NULL } }; +static const per_choice_t T_resourceSelection_r16_choice[] = { + { 0, &hf_nr_rrc_srs_ResourceId_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_ResourceId }, + { 1, &hf_nr_rrc_srs_PosResourceId_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_PosResourceId_r16 }, + { 0, NULL, 0, NULL } +}; static int -dissect_nr_rrc_T_reestablishRLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); +dissect_nr_rrc_T_resourceSelection_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_resourceSelection_r16, T_resourceSelection_r16_choice, + NULL); return offset; } -static const value_string nr_rrc_SN_FieldLengthAM_vals[] = { - { 0, "size12" }, - { 1, "size18" }, - { 0, NULL } +static const per_sequence_t T_srs_SpatialRelation_r16_sequence[] = { + { &hf_nr_rrc_resourceSelection_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceSelection_r16 }, + { &hf_nr_rrc_uplinkBWP_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id }, + { NULL, 0, 0, NULL } }; - static int -dissect_nr_rrc_SN_FieldLengthAM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, &value, FALSE, 0, NULL); - - nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; - if (mapping->tempDirection == DIRECTION_UPLINK) { - mapping->rlcUlSnLength_present = TRUE; - mapping->rlcUlSnLength = (value=0) ? 12 : 18; - } - else { - mapping->rlcDlSnLength_present = TRUE; - mapping->rlcDlSnLength = (value=0) ? 12 : 18; - } - +dissect_nr_rrc_T_srs_SpatialRelation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_SpatialRelation_r16, T_srs_SpatialRelation_r16_sequence); return offset; } -static const value_string nr_rrc_T_PollRetransmit_vals[] = { - { 0, "ms5" }, - { 1, "ms10" }, - { 2, "ms15" }, - { 3, "ms20" }, - { 4, "ms25" }, - { 5, "ms30" }, - { 6, "ms35" }, - { 7, "ms40" }, - { 8, "ms45" }, - { 9, "ms50" }, - { 10, "ms55" }, - { 11, "ms60" }, - { 12, "ms65" }, - { 13, "ms70" }, - { 14, "ms75" }, - { 15, "ms80" }, - { 16, "ms85" }, - { 17, "ms90" }, - { 18, "ms95" }, - { 19, "ms100" }, - { 20, "ms105" }, - { 21, "ms110" }, - { 22, "ms115" }, - { 23, "ms120" }, - { 24, "ms125" }, - { 25, "ms130" }, - { 26, "ms135" }, - { 27, "ms140" }, - { 28, "ms145" }, - { 29, "ms150" }, - { 30, "ms155" }, - { 31, "ms160" }, - { 32, "ms165" }, - { 33, "ms170" }, - { 34, "ms175" }, - { 35, "ms180" }, - { 36, "ms185" }, - { 37, "ms190" }, - { 38, "ms195" }, - { 39, "ms200" }, - { 40, "ms205" }, - { 41, "ms210" }, - { 42, "ms215" }, - { 43, "ms220" }, - { 44, "ms225" }, - { 45, "ms230" }, - { 46, "ms235" }, - { 47, "ms240" }, - { 48, "ms245" }, - { 49, "ms250" }, - { 50, "ms300" }, - { 51, "ms350" }, - { 52, "ms400" }, - { 53, "ms450" }, - { 54, "ms500" }, - { 55, "ms800" }, - { 56, "ms1000" }, - { 57, "ms2000" }, - { 58, "ms4000" }, - { 59, "spare5" }, - { 60, "spare4" }, - { 61, "spare3" }, - { 62, "spare2" }, - { 63, "spare1" }, +static const value_string nr_rrc_T_referenceSignal_r16_02_vals[] = { + { 0, "ssb-IndexServing-r16" }, + { 1, "csi-RS-IndexServing-r16" }, + { 2, "srs-SpatialRelation-r16" }, { 0, NULL } }; -static value_string_ext nr_rrc_T_PollRetransmit_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_PollRetransmit_vals); +static const per_choice_t T_referenceSignal_r16_02_choice[] = { + { 0, &hf_nr_rrc_ssb_IndexServing_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index }, + { 1, &hf_nr_rrc_csi_RS_IndexServing_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId }, + { 2, &hf_nr_rrc_srs_SpatialRelation_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_srs_SpatialRelation_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_referenceSignal_r16_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_r16_02, T_referenceSignal_r16_02_choice, + NULL); + + return offset; +} +static const per_sequence_t T_servingRS_r16_sequence[] = { + { &hf_nr_rrc_servingCellId, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex }, + { &hf_nr_rrc_referenceSignal_r16_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_r16_02 }, + { NULL, 0, 0, NULL } +}; + static int -dissect_nr_rrc_T_PollRetransmit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 64, NULL, FALSE, 0, NULL); +dissect_nr_rrc_T_servingRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_servingRS_r16, T_servingRS_r16_sequence); return offset; } -static const value_string nr_rrc_PollPDU_vals[] = { - { 0, "p4" }, - { 1, "p8" }, - { 2, "p16" }, - { 3, "p32" }, - { 4, "p64" }, - { 5, "p128" }, - { 6, "p256" }, - { 7, "p512" }, - { 8, "p1024" }, - { 9, "p2048" }, - { 10, "p4096" }, - { 11, "p6144" }, - { 12, "p8192" }, - { 13, "p12288" }, - { 14, "p16384" }, - { 15, "p20480" }, - { 16, "p24576" }, - { 17, "p28672" }, - { 18, "p32768" }, - { 19, "p40960" }, - { 20, "p49152" }, - { 21, "p57344" }, - { 22, "p65536" }, - { 23, "infinity" }, - { 24, "spare8" }, - { 25, "spare7" }, - { 26, "spare6" }, - { 27, "spare5" }, - { 28, "spare4" }, - { 29, "spare3" }, - { 30, "spare2" }, - { 31, "spare1" }, +static const value_string nr_rrc_SRS_SpatialRelationInfoPos_r16_vals[] = { + { 0, "servingRS-r16" }, + { 1, "ssb-Ncell-r16" }, + { 2, "dl-PRS-r16" }, { 0, NULL } }; -static value_string_ext nr_rrc_PollPDU_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_PollPDU_vals); - +static const per_choice_t SRS_SpatialRelationInfoPos_r16_choice[] = { + { 0, &hf_nr_rrc_servingRS_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_servingRS_r16 }, + { 1, &hf_nr_rrc_ssb_Ncell_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_InfoNcell_r16 }, + { 2, &hf_nr_rrc_dl_PRS_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DL_PRS_Info_r16 }, + { 0, NULL, 0, NULL } +}; static int -dissect_nr_rrc_PollPDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 32, NULL, FALSE, 0, NULL); +dissect_nr_rrc_SRS_SpatialRelationInfoPos_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_SpatialRelationInfoPos_r16, SRS_SpatialRelationInfoPos_r16_choice, + NULL); return offset; } -static const value_string nr_rrc_PollByte_vals[] = { - { 0, "kB1" }, - { 1, "kB2" }, - { 2, "kB5" }, - { 3, "kB8" }, - { 4, "kB10" }, - { 5, "kB15" }, - { 6, "kB25" }, - { 7, "kB50" }, - { 8, "kB75" }, - { 9, "kB100" }, - { 10, "kB125" }, - { 11, "kB250" }, - { 12, "kB375" }, - { 13, "kB500" }, - { 14, "kB750" }, - { 15, "kB1000" }, - { 16, "kB1250" }, - { 17, "kB1500" }, - { 18, "kB2000" }, - { 19, "kB3000" }, - { 20, "kB4000" }, - { 21, "kB4500" }, - { 22, "kB5000" }, - { 23, "kB5500" }, - { 24, "kB6000" }, - { 25, "kB6500" }, - { 26, "kB7000" }, - { 27, "kB7500" }, - { 28, "mB8" }, - { 29, "mB9" }, - { 30, "mB10" }, - { 31, "mB11" }, - { 32, "mB12" }, - { 33, "mB13" }, - { 34, "mB14" }, - { 35, "mB15" }, - { 36, "mB16" }, - { 37, "mB17" }, - { 38, "mB18" }, - { 39, "mB20" }, - { 40, "mB25" }, - { 41, "mB30" }, - { 42, "mB40" }, - { 43, "infinity" }, - { 44, "spare20" }, - { 45, "spare19" }, - { 46, "spare18" }, - { 47, "spare17" }, - { 48, "spare16" }, - { 49, "spare15" }, - { 50, "spare14" }, - { 51, "spare13" }, - { 52, "spare12" }, - { 53, "spare11" }, - { 54, "spare10" }, - { 55, "spare9" }, - { 56, "spare8" }, - { 57, "spare7" }, - { 58, "spare6" }, - { 59, "spare5" }, - { 60, "spare4" }, - { 61, "spare3" }, - { 62, "spare2" }, - { 63, "spare1" }, - { 0, NULL } +static const per_sequence_t SRS_PosResource_r16_sequence[] = { + { &hf_nr_rrc_srs_PosResourceId_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PosResourceId_r16 }, + { &hf_nr_rrc_transmissionComb_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_transmissionComb_r16 }, + { &hf_nr_rrc_resourceMapping_r16_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceMapping_r16_01 }, + { &hf_nr_rrc_freqDomainShift_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_268 }, + { &hf_nr_rrc_freqHopping_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_freqHopping_r16 }, + { &hf_nr_rrc_groupOrSequenceHopping_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_groupOrSequenceHopping_r16 }, + { &hf_nr_rrc_resourceType_r16_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType_r16_01 }, + { &hf_nr_rrc_sequenceId_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_65535 }, + { &hf_nr_rrc_spatialRelationInfoPos_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SRS_SpatialRelationInfoPos_r16 }, + { NULL, 0, 0, NULL } }; -static value_string_ext nr_rrc_PollByte_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_PollByte_vals); +static int +dissect_nr_rrc_SRS_PosResource_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_PosResource_r16, SRS_PosResource_r16_sequence); + + return offset; +} + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16_sequence_of[1] = { + { &hf_nr_rrc_srs_PosResourceToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PosResource_r16 }, +}; static int -dissect_nr_rrc_PollByte(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 64, NULL, FALSE, 0, NULL); +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_PosResources_r16_OF_SRS_PosResource_r16, SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16_sequence_of, + 1, maxNrofSRS_PosResources_r16, FALSE); return offset; } -static const value_string nr_rrc_T_maxRetxThreshold_vals[] = { - { 0, "t1" }, - { 1, "t2" }, - { 2, "t3" }, - { 3, "t4" }, - { 4, "t6" }, - { 5, "t8" }, - { 6, "t16" }, - { 7, "t32" }, - { 0, NULL } +static const per_sequence_t SRS_Config_eag_1_sequence[] = { + { &hf_nr_rrc_srs_RequestForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_2 }, + { &hf_nr_rrc_srs_RequestForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_2 }, + { &hf_nr_rrc_srs_ResourceSetToAddModListForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet }, + { &hf_nr_rrc_srs_ResourceSetToReleaseListForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId }, + { &hf_nr_rrc_srs_PosResourceSetToReleaseList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16 }, + { &hf_nr_rrc_srs_PosResourceSetToAddModList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16 }, + { &hf_nr_rrc_srs_PosResourceToReleaseList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16 }, + { &hf_nr_rrc_srs_PosResourceToAddModList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16 }, + { NULL, 0, 0, NULL } }; - static int -dissect_nr_rrc_T_maxRetxThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 8, NULL, FALSE, 0, NULL); +dissect_nr_rrc_SRS_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, SRS_Config_eag_1_sequence); return offset; } -static const per_sequence_t UL_AM_RLC_sequence[] = { - { &hf_nr_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthAM }, - { &hf_nr_rrc_t_PollRetransmit, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_PollRetransmit }, - { &hf_nr_rrc_pollPDU , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PollPDU }, - { &hf_nr_rrc_pollByte , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PollByte }, - { &hf_nr_rrc_maxRetxThreshold, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxRetxThreshold }, +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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_Config_eag_1 }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_UL_AM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; - mapping->tempDirection = DIRECTION_UPLINK; +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_UL_AM_RLC, UL_AM_RLC_sequence); - - + ett_nr_rrc_SRS_Config, SRS_Config_sequence); return offset; } -static const value_string nr_rrc_T_Reassembly_vals[] = { - { 0, "ms0" }, - { 1, "ms5" }, - { 2, "ms10" }, - { 3, "ms15" }, - { 4, "ms20" }, - { 5, "ms25" }, - { 6, "ms30" }, - { 7, "ms35" }, - { 8, "ms40" }, - { 9, "ms45" }, - { 10, "ms50" }, - { 11, "ms55" }, - { 12, "ms60" }, - { 13, "ms65" }, - { 14, "ms70" }, - { 15, "ms75" }, - { 16, "ms80" }, - { 17, "ms85" }, - { 18, "ms90" }, - { 19, "ms95" }, - { 20, "ms100" }, - { 21, "ms110" }, - { 22, "ms120" }, - { 23, "ms130" }, - { 24, "ms140" }, - { 25, "ms150" }, - { 26, "ms160" }, - { 27, "ms170" }, - { 28, "ms180" }, - { 29, "ms190" }, - { 30, "ms200" }, - { 31, "spare1" }, +static const value_string nr_rrc_T_srs_Config_vals[] = { + { 0, "release" }, + { 1, "setup" }, { 0, NULL } }; -static value_string_ext nr_rrc_T_Reassembly_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_Reassembly_vals); - +static const per_choice_t T_srs_Config_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_28 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_Config }, + { 0, NULL, 0, NULL } +}; static int -dissect_nr_rrc_T_Reassembly(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 32, NULL, FALSE, 0, NULL); +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_StatusProhibit_vals[] = { - { 0, "ms0" }, - { 1, "ms5" }, - { 2, "ms10" }, - { 3, "ms15" }, - { 4, "ms20" }, - { 5, "ms25" }, - { 6, "ms30" }, - { 7, "ms35" }, - { 8, "ms40" }, - { 9, "ms45" }, - { 10, "ms50" }, - { 11, "ms55" }, - { 12, "ms60" }, - { 13, "ms65" }, - { 14, "ms70" }, - { 15, "ms75" }, - { 16, "ms80" }, - { 17, "ms85" }, - { 18, "ms90" }, - { 19, "ms95" }, - { 20, "ms100" }, - { 21, "ms105" }, - { 22, "ms110" }, - { 23, "ms115" }, - { 24, "ms120" }, - { 25, "ms125" }, - { 26, "ms130" }, - { 27, "ms135" }, - { 28, "ms140" }, - { 29, "ms145" }, - { 30, "ms150" }, - { 31, "ms155" }, - { 32, "ms160" }, - { 33, "ms165" }, - { 34, "ms170" }, - { 35, "ms175" }, - { 36, "ms180" }, - { 37, "ms185" }, - { 38, "ms190" }, - { 39, "ms195" }, - { 40, "ms200" }, - { 41, "ms205" }, - { 42, "ms210" }, - { 43, "ms215" }, - { 44, "ms220" }, - { 45, "ms225" }, - { 46, "ms230" }, - { 47, "ms235" }, - { 48, "ms240" }, - { 49, "ms245" }, - { 50, "ms250" }, - { 51, "ms300" }, - { 52, "ms350" }, - { 53, "ms400" }, - { 54, "ms450" }, - { 55, "ms500" }, - { 56, "ms800" }, - { 57, "ms1000" }, - { 58, "ms1200" }, - { 59, "ms1600" }, - { 60, "ms2000" }, - { 61, "ms2400" }, - { 62, "spare2" }, - { 63, "spare1" }, +static const value_string nr_rrc_T_beamFailureRecoveryConfig_vals[] = { + { 0, "release" }, + { 1, "setup" }, { 0, NULL } }; -static value_string_ext nr_rrc_T_StatusProhibit_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_StatusProhibit_vals); - +static const per_choice_t T_beamFailureRecoveryConfig_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_29 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BeamFailureRecoveryConfig }, + { 0, NULL, 0, NULL } +}; static int -dissect_nr_rrc_T_StatusProhibit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 64, NULL, FALSE, 0, NULL); +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 DL_AM_RLC_sequence[] = { - { &hf_nr_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthAM }, - { &hf_nr_rrc_t_Reassembly , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reassembly }, - { &hf_nr_rrc_t_StatusProhibit, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_StatusProhibit }, - { NULL, 0, 0, NULL } +static const value_string nr_rrc_T_sl_PUCCH_Config_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } }; -static int -dissect_nr_rrc_DL_AM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; - mapping->tempDirection = DIRECTION_DOWNLINK; - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_DL_AM_RLC, DL_AM_RLC_sequence); - - +static const per_choice_t T_sl_PUCCH_Config_r16_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_PUCCH_Config }, + { 0, NULL, 0, NULL } +}; +static int +dissect_nr_rrc_T_sl_PUCCH_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_PUCCH_Config_r16, T_sl_PUCCH_Config_r16_choice, + NULL); return offset; } -static const per_sequence_t T_am_sequence[] = { - { &hf_nr_rrc_ul_AM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_AM_RLC }, - { &hf_nr_rrc_dl_AM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_AM_RLC }, - { NULL, 0, 0, NULL } -}; static int -dissect_nr_rrc_T_am(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_am, T_am_sequence); +dissect_nr_rrc_INTEGER_1_28(tvbuff_t *tvb _U_, int offset _U_, 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, 28U, NULL, FALSE); return offset; } -static const value_string nr_rrc_SN_FieldLengthUM_vals[] = { - { 0, "size6" }, - { 1, "size12" }, +static const value_string nr_rrc_T_useInterlacePUCCH_PUSCH_r16_01_vals[] = { + { 0, "enabled" }, { 0, NULL } }; static int -dissect_nr_rrc_SN_FieldLengthUM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; +dissect_nr_rrc_T_useInterlacePUCCH_PUSCH_r16_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, &value, FALSE, 0, NULL); - - nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; - if (mapping->tempDirection == DIRECTION_UPLINK) { - mapping->rlcUlSnLength_present = TRUE; - mapping->rlcUlSnLength = (value=0) ? 6 : 12; - } - else { - mapping->rlcDlSnLength_present = TRUE; - mapping->rlcDlSnLength = (value=0) ? 6 : 12; - } - + 1, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t UL_UM_RLC_sequence[] = { - { &hf_nr_rrc_sn_FieldLength_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthUM }, - { NULL, 0, 0, NULL } +static const per_sequence_t PUCCH_ConfigurationList_r16_sequence_of[1] = { + { &hf_nr_rrc_PUCCH_ConfigurationList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Config }, }; static int -dissect_nr_rrc_UL_UM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; - mapping->tempDirection = DIRECTION_UPLINK; - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_UL_UM_RLC, UL_UM_RLC_sequence); - - +dissect_nr_rrc_PUCCH_ConfigurationList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PUCCH_ConfigurationList_r16, PUCCH_ConfigurationList_r16_sequence_of, + 1, 2, FALSE); return offset; } -static const per_sequence_t DL_UM_RLC_sequence[] = { - { &hf_nr_rrc_sn_FieldLength_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthUM }, - { &hf_nr_rrc_t_Reassembly , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reassembly }, - { NULL, 0, 0, NULL } +static const value_string nr_rrc_T_pucch_ConfigurationList_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } }; -static int -dissect_nr_rrc_DL_UM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; - mapping->tempDirection = DIRECTION_DOWNLINK; - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_DL_UM_RLC, DL_UM_RLC_sequence); - +static const per_choice_t T_pucch_ConfigurationList_r16_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_PUCCH_ConfigurationList_r16 }, + { 0, NULL, 0, NULL } +}; +static int +dissect_nr_rrc_T_pucch_ConfigurationList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_ConfigurationList_r16, T_pucch_ConfigurationList_r16_choice, + NULL); return offset; } -static const per_sequence_t T_um_Bi_Directional_sequence[] = { - { &hf_nr_rrc_ul_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_UM_RLC }, - { &hf_nr_rrc_dl_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_UM_RLC }, - { NULL, 0, 0, NULL } +static const value_string nr_rrc_T_lbt_FailureInstanceMaxCount_r16_vals[] = { + { 0, "n4" }, + { 1, "n8" }, + { 2, "n16" }, + { 3, "n32" }, + { 4, "n64" }, + { 5, "n128" }, + { 0, NULL } }; + static int -dissect_nr_rrc_T_um_Bi_Directional(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_um_Bi_Directional, T_um_Bi_Directional_sequence); +dissect_nr_rrc_T_lbt_FailureInstanceMaxCount_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 6, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t T_um_Uni_Directional_UL_sequence[] = { - { &hf_nr_rrc_ul_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_UM_RLC }, - { NULL, 0, 0, NULL } +static const value_string nr_rrc_T_lbt_FailureDetectionTimer_r16_vals[] = { + { 0, "ms10" }, + { 1, "ms20" }, + { 2, "ms40" }, + { 3, "ms80" }, + { 4, "ms160" }, + { 5, "ms320" }, + { 0, NULL } }; + static int -dissect_nr_rrc_T_um_Uni_Directional_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_um_Uni_Directional_UL, T_um_Uni_Directional_UL_sequence); +dissect_nr_rrc_T_lbt_FailureDetectionTimer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 6, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t T_um_Uni_Directional_DL_sequence[] = { - { &hf_nr_rrc_dl_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_UM_RLC }, +static const per_sequence_t LBT_FailureRecoveryConfig_r16_sequence[] = { + { &hf_nr_rrc_lbt_FailureInstanceMaxCount_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_lbt_FailureInstanceMaxCount_r16 }, + { &hf_nr_rrc_lbt_FailureDetectionTimer_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_lbt_FailureDetectionTimer_r16 }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_um_Uni_Directional_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_LBT_FailureRecoveryConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_um_Uni_Directional_DL, T_um_Uni_Directional_DL_sequence); + ett_nr_rrc_LBT_FailureRecoveryConfig_r16, LBT_FailureRecoveryConfig_r16_sequence); return offset; } -static const value_string nr_rrc_RLC_Config_vals[] = { - { 0, "am" }, - { 1, "um-Bi-Directional" }, - { 2, "um-Uni-Directional-UL" }, - { 3, "um-Uni-Directional-DL" }, +static const value_string nr_rrc_T_lbt_FailureRecoveryConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, { 0, NULL } }; -static const per_choice_t RLC_Config_choice[] = { - { 0, &hf_nr_rrc_am , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_am }, - { 1, &hf_nr_rrc_um_Bi_Directional, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_um_Bi_Directional }, - { 2, &hf_nr_rrc_um_Uni_Directional_UL, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_um_Uni_Directional_UL }, - { 3, &hf_nr_rrc_um_Uni_Directional_DL, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_um_Uni_Directional_DL }, +static const per_choice_t T_lbt_FailureRecoveryConfig_r16_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_LBT_FailureRecoveryConfig_r16 }, { 0, NULL, 0, NULL } }; static int -dissect_nr_rrc_RLC_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; +dissect_nr_rrc_T_lbt_FailureRecoveryConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_RLC_Config, RLC_Config_choice, - &value); + ett_nr_rrc_T_lbt_FailureRecoveryConfig_r16, T_lbt_FailureRecoveryConfig_r16_choice, + NULL); - mapping->rlcMode = (value==0) ? RLC_AM_MODE : RLC_UM_MODE; - mapping->rlcMode_present = TRUE; + return offset; +} + + +static const per_sequence_t ConfiguredGrantConfigToAddModList_r16_sequence_of[1] = { + { &hf_nr_rrc_ConfiguredGrantConfigToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfiguredGrantConfig }, +}; +static int +dissect_nr_rrc_ConfiguredGrantConfigToAddModList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_ConfiguredGrantConfigToAddModList_r16, ConfiguredGrantConfigToAddModList_r16_sequence_of, + 1, maxNrofConfiguredGrantConfig_r16, FALSE); return offset; } -static const value_string nr_rrc_T_prioritisedBitRate_vals[] = { - { 0, "kBps0" }, - { 1, "kBps8" }, - { 2, "kBps16" }, - { 3, "kBps32" }, - { 4, "kBps64" }, - { 5, "kBps128" }, - { 6, "kBps256" }, - { 7, "kBps512" }, - { 8, "kBps1024" }, - { 9, "kBps2048" }, - { 10, "kBps4096" }, - { 11, "kBps8192" }, - { 12, "kBps16384" }, - { 13, "kBps32768" }, - { 14, "kBps65536" }, - { 15, "infinity" }, - { 0, NULL } +static const per_sequence_t ConfiguredGrantConfigToReleaseList_r16_sequence_of[1] = { + { &hf_nr_rrc_ConfiguredGrantConfigToReleaseList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfiguredGrantConfigIndex_r16 }, }; - static int -dissect_nr_rrc_T_prioritisedBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 16, NULL, FALSE, 0, NULL); +dissect_nr_rrc_ConfiguredGrantConfigToReleaseList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_ConfiguredGrantConfigToReleaseList_r16, ConfiguredGrantConfigToReleaseList_r16_sequence_of, + 1, maxNrofConfiguredGrantConfig_r16, FALSE); return offset; } -static const value_string nr_rrc_T_bucketSizeDuration_vals[] = { - { 0, "ms5" }, - { 1, "ms10" }, - { 2, "ms20" }, - { 3, "ms50" }, - { 4, "ms100" }, - { 5, "ms150" }, - { 6, "ms300" }, - { 7, "ms500" }, - { 8, "ms1000" }, - { 9, "spare7" }, - { 10, "spare6" }, - { 11, "spare5" }, - { 12, "spare4" }, - { 13, "spare3" }, - { 14, "spare2" }, - { 15, "spare1" }, - { 0, NULL } +static const per_sequence_t ConfiguredGrantConfigType2DeactivationState_r16_sequence_of[1] = { + { &hf_nr_rrc_ConfiguredGrantConfigType2DeactivationState_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfiguredGrantConfigIndex_r16 }, }; - static int -dissect_nr_rrc_T_bucketSizeDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 16, NULL, FALSE, 0, NULL); +dissect_nr_rrc_ConfiguredGrantConfigType2DeactivationState_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_ConfiguredGrantConfigType2DeactivationState_r16, ConfiguredGrantConfigType2DeactivationState_r16_sequence_of, + 1, maxNrofConfiguredGrantConfig_r16, FALSE); return offset; } -static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex_sequence_of[1] = { - { &hf_nr_rrc_allowedServingCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, +static const per_sequence_t ConfiguredGrantConfigType2DeactivationStateList_r16_sequence_of[1] = { + { &hf_nr_rrc_ConfiguredGrantConfigType2DeactivationStateList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfiguredGrantConfigType2DeactivationState_r16 }, }; static int -dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_ConfiguredGrantConfigType2DeactivationStateList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex, SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex_sequence_of, - 1, maxNrofServingCells_1, FALSE); + ett_nr_rrc_ConfiguredGrantConfigType2DeactivationStateList_r16, ConfiguredGrantConfigType2DeactivationStateList_r16_sequence_of, + 1, maxNrofCG_Type2DeactivationState, FALSE); return offset; } -static const per_sequence_t SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing_sequence_of[1] = { - { &hf_nr_rrc_allowedSCS_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, +static const per_sequence_t BWP_UplinkDedicated_eag_1_sequence[] = { + { &hf_nr_rrc_sl_PUCCH_Config_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_PUCCH_Config_r16 }, + { &hf_nr_rrc_cp_ExtensionC2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_28 }, + { &hf_nr_rrc_cp_ExtensionC3_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_28 }, + { &hf_nr_rrc_useInterlacePUCCH_PUSCH_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_useInterlacePUCCH_PUSCH_r16_01 }, + { &hf_nr_rrc_pucch_ConfigurationList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_ConfigurationList_r16 }, + { &hf_nr_rrc_lbt_FailureRecoveryConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_lbt_FailureRecoveryConfig_r16 }, + { &hf_nr_rrc_configuredGrantConfigToAddModList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ConfiguredGrantConfigToAddModList_r16 }, + { &hf_nr_rrc_configuredGrantConfigToReleaseList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ConfiguredGrantConfigToReleaseList_r16 }, + { &hf_nr_rrc_configuredGrantConfigType2DeactivationStateList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ConfiguredGrantConfigType2DeactivationStateList_r16 }, + { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing, SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing_sequence_of, - 1, maxSCSs, FALSE); +dissect_nr_rrc_BWP_UplinkDedicated_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, BWP_UplinkDedicated_eag_1_sequence); return offset; } -static const value_string nr_rrc_T_maxPUSCH_Duration_vals[] = { - { 0, "ms0p02" }, - { 1, "ms0p04" }, - { 2, "ms0p0625" }, - { 3, "ms0p125" }, - { 4, "ms0p25" }, - { 5, "ms0p5" }, - { 6, "spare2" }, - { 7, "spare1" }, - { 0, NULL } +static 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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_UplinkDedicated_eag_1 }, + { 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_T_maxPUSCH_Duration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 8, NULL, FALSE, 0, NULL); +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_configuredGrantType1Allowed_vals[] = { - { 0, "true" }, +static const value_string nr_rrc_T_servedRadioBearer_vals[] = { + { 0, "srb-Identity" }, + { 1, "drb-Identity" }, { 0, NULL } }; +static const per_choice_t T_servedRadioBearer_choice[] = { + { 0, &hf_nr_rrc_srb_Identity , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRB_Identity }, + { 1, &hf_nr_rrc_drb_Identity , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DRB_Identity }, + { 0, NULL, 0, NULL } +}; static int -dissect_nr_rrc_T_configuredGrantType1Allowed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); +dissect_nr_rrc_T_servedRadioBearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_servedRadioBearer, T_servedRadioBearer_choice, + NULL); return offset; } +static const value_string nr_rrc_T_reestablishRLC_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + static int -dissect_nr_rrc_INTEGER_0_maxLCG_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, maxLCG_ID, NULL, FALSE); +dissect_nr_rrc_T_reestablishRLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); return offset; } -static const value_string nr_rrc_T_bitRateQueryProhibitTimer_vals[] = { - { 0, "s0" }, - { 1, "s0dot4" }, - { 2, "s0dot8" }, - { 3, "s1dot6" }, - { 4, "s3" }, - { 5, "s6" }, - { 6, "s12" }, - { 7, "s30" }, +static const value_string nr_rrc_T_StatusProhibit_v1610_vals[] = { + { 0, "ms1" }, + { 1, "ms2" }, + { 2, "ms3" }, + { 3, "ms4" }, + { 4, "spare4" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, { 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_) { +dissect_nr_rrc_T_StatusProhibit_v1610(tvbuff_t *tvb _U_, int offset _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); @@ -29502,40 +55368,42 @@ dissect_nr_rrc_T_bitRateQueryProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, as } -static const per_sequence_t T_ul_SpecificParameters_sequence[] = { - { &hf_nr_rrc_priority , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 }, - { &hf_nr_rrc_prioritisedBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_prioritisedBitRate }, - { &hf_nr_rrc_bucketSizeDuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_bucketSizeDuration }, - { &hf_nr_rrc_allowedServingCells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex }, - { &hf_nr_rrc_allowedSCS_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing }, - { &hf_nr_rrc_maxPUSCH_Duration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxPUSCH_Duration }, - { &hf_nr_rrc_configuredGrantType1Allowed, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredGrantType1Allowed }, - { &hf_nr_rrc_logicalChannelGroup, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxLCG_ID }, - { &hf_nr_rrc_schedulingRequestID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SchedulingRequestId }, - { &hf_nr_rrc_logicalChannelSR_Mask, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, - { &hf_nr_rrc_logicalChannelSR_DelayTimerApplied, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, - { &hf_nr_rrc_bitRateQueryProhibitTimer, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_nr_rrc_T_bitRateQueryProhibitTimer }, +static const per_sequence_t DL_AM_RLC_v1610_sequence[] = { + { &hf_nr_rrc_t_StatusProhibit_v1610, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_StatusProhibit_v1610 }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_ul_SpecificParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_DL_AM_RLC_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_ul_SpecificParameters, T_ul_SpecificParameters_sequence); + ett_nr_rrc_DL_AM_RLC_v1610, DL_AM_RLC_v1610_sequence); return offset; } -static const per_sequence_t LogicalChannelConfig_sequence[] = { - { &hf_nr_rrc_ul_SpecificParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_SpecificParameters }, +static const per_sequence_t RLC_Config_v1610_sequence[] = { + { &hf_nr_rrc_dl_AM_RLC_v1610, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_AM_RLC_v1610 }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_LogicalChannelConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_RLC_Config_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_LogicalChannelConfig, LogicalChannelConfig_sequence); + ett_nr_rrc_RLC_Config_v1610, RLC_Config_v1610_sequence); + + return offset; +} + + +static const per_sequence_t RLC_BearerConfig_eag_1_sequence[] = { + { &hf_nr_rrc_rlc_Config_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RLC_Config_v1610 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RLC_BearerConfig_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, RLC_BearerConfig_eag_1_sequence); return offset; } @@ -29547,6 +55415,7 @@ static const per_sequence_t RLC_BearerConfig_sequence[] = { { &hf_nr_rrc_reestablishRLC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reestablishRLC }, { &hf_nr_rrc_rlc_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RLC_Config }, { &hf_nr_rrc_mac_LogicalChannelConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_LogicalChannelConfig }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RLC_BearerConfig_eag_1 }, { NULL, 0, 0, NULL } }; @@ -29608,7 +55477,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_23 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DRX_Config }, + { 1, &hf_nr_rrc_setup_39 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DRX_Config }, { 0, NULL, 0, NULL } }; @@ -29899,7 +55768,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_24 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PHR_Config }, + { 1, &hf_nr_rrc_setup_40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PHR_Config }, { 0, NULL, 0, NULL } }; @@ -29951,7 +55820,7 @@ static const value_string nr_rrc_T_dataInactivityTimer_vals[] = { static const per_choice_t T_dataInactivityTimer_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_25 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DataInactivityTimer }, + { 1, &hf_nr_rrc_setup_41 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DataInactivityTimer }, { 0, NULL, 0, NULL } }; @@ -29979,6 +55848,208 @@ dissect_nr_rrc_MAC_CellGroupConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1 } +static const value_string nr_rrc_T_usePreBSR_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_usePreBSR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_BasedPrioritization_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_lch_BasedPrioritization_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_milliSeconds_02_vals[] = { + { 0, "ms1" }, + { 1, "ms2" }, + { 2, "ms3" }, + { 3, "ms4" }, + { 4, "ms5" }, + { 5, "ms6" }, + { 6, "ms8" }, + { 7, "ms10" }, + { 8, "ms20" }, + { 9, "ms30" }, + { 10, "ms40" }, + { 11, "ms50" }, + { 12, "ms60" }, + { 13, "ms80" }, + { 14, "ms100" }, + { 15, "ms200" }, + { 16, "ms300" }, + { 17, "ms400" }, + { 18, "ms500" }, + { 19, "ms600" }, + { 20, "ms800" }, + { 21, "ms1000" }, + { 22, "ms1200" }, + { 23, "ms1600" }, + { 24, "spare8" }, + { 25, "spare7" }, + { 26, "spare6" }, + { 27, "spare5" }, + { 28, "spare4" }, + { 29, "spare3" }, + { 30, "spare2" }, + { 31, "spare1" }, + { 0, NULL } +}; + +static value_string_ext nr_rrc_T_milliSeconds_02_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_milliSeconds_02_vals); + + +static int +dissect_nr_rrc_T_milliSeconds_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, + 32, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_drx_onDurationTimer_02_vals[] = { + { 0, "subMilliSeconds" }, + { 1, "milliSeconds" }, + { 0, NULL } +}; + +static const per_choice_t T_drx_onDurationTimer_02_choice[] = { + { 0, &hf_nr_rrc_subMilliSeconds, ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_31 }, + { 1, &hf_nr_rrc_milliSeconds_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_milliSeconds_02 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_drx_onDurationTimer_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_drx_onDurationTimer_02, T_drx_onDurationTimer_02_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_drx_InactivityTimer_01_vals[] = { + { 0, "ms0" }, + { 1, "ms1" }, + { 2, "ms2" }, + { 3, "ms3" }, + { 4, "ms4" }, + { 5, "ms5" }, + { 6, "ms6" }, + { 7, "ms8" }, + { 8, "ms10" }, + { 9, "ms20" }, + { 10, "ms30" }, + { 11, "ms40" }, + { 12, "ms50" }, + { 13, "ms60" }, + { 14, "ms80" }, + { 15, "ms100" }, + { 16, "ms200" }, + { 17, "ms300" }, + { 18, "ms500" }, + { 19, "ms750" }, + { 20, "ms1280" }, + { 21, "ms1920" }, + { 22, "ms2560" }, + { 23, "spare9" }, + { 24, "spare8" }, + { 25, "spare7" }, + { 26, "spare6" }, + { 27, "spare5" }, + { 28, "spare4" }, + { 29, "spare3" }, + { 30, "spare2" }, + { 31, "spare1" }, + { 0, NULL } +}; + +static value_string_ext nr_rrc_T_drx_InactivityTimer_01_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_InactivityTimer_01_vals); + + +static int +dissect_nr_rrc_T_drx_InactivityTimer_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 32, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t DRX_ConfigSecondaryGroup_sequence[] = { + { &hf_nr_rrc_drx_onDurationTimer_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_onDurationTimer_02 }, + { &hf_nr_rrc_drx_InactivityTimer_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_InactivityTimer_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_DRX_ConfigSecondaryGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_DRX_ConfigSecondaryGroup, DRX_ConfigSecondaryGroup_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_drx_ConfigSecondaryGroup_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_drx_ConfigSecondaryGroup_r16_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_DRX_ConfigSecondaryGroup }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_drx_ConfigSecondaryGroup_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_drx_ConfigSecondaryGroup_r16, T_drx_ConfigSecondaryGroup_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t MAC_CellGroupConfig_eag_2_sequence[] = { + { &hf_nr_rrc_usePreBSR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_usePreBSR_r16 }, + { &hf_nr_rrc_schedulingRequestID_LBT_SCell_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SchedulingRequestId }, + { &hf_nr_rrc_lch_BasedPrioritization_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_lch_BasedPrioritization_r16 }, + { &hf_nr_rrc_schedulingRequestID_BFR_SCell_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SchedulingRequestId }, + { &hf_nr_rrc_drx_ConfigSecondaryGroup_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_drx_ConfigSecondaryGroup_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MAC_CellGroupConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_CellGroupConfig_eag_2_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 }, @@ -29987,6 +56058,7 @@ static const per_sequence_t MAC_CellGroupConfig_sequence[] = { { &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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_CellGroupConfig_eag_2 }, { NULL, 0, 0, NULL } }; @@ -30053,7 +56125,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_38 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RNTI_Value }, + { 1, &hf_nr_rrc_setup_68 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RNTI_Value }, { 0, NULL, 0, NULL } }; @@ -30130,7 +56202,7 @@ static const value_string nr_rrc_T_pdcch_BlindDetection_vals[] = { static const per_choice_t T_pdcch_BlindDetection_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_39 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_BlindDetection }, + { 1, &hf_nr_rrc_setup_69 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_BlindDetection }, { 0, NULL, 0, NULL } }; @@ -30157,6 +56229,543 @@ dissect_nr_rrc_PhysicalCellGroupConfig_eag_3(tvbuff_t *tvb _U_, int offset _U_, } + +static int +dissect_nr_rrc_INTEGER_1_120(tvbuff_t *tvb _U_, int offset _U_, 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, 120U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_1_maxDCI_2_6_Size_r16(tvbuff_t *tvb _U_, int offset _U_, 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, maxDCI_2_6_Size_r16, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_maxDCI_2_6_Size_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxDCI_2_6_Size_1_r16, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_ps_WakeUp_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ps_WakeUp_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_ps_TransmitPeriodicL1_RSRP_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ps_TransmitPeriodicL1_RSRP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_ps_TransmitOtherPeriodicCSI_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ps_TransmitOtherPeriodicCSI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 DCP_Config_r16_sequence[] = { + { &hf_nr_rrc_ps_RNTI_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value }, + { &hf_nr_rrc_ps_Offset_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_120 }, + { &hf_nr_rrc_sizeDCI_2_6_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxDCI_2_6_Size_r16 }, + { &hf_nr_rrc_ps_PositionDCI_2_6_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxDCI_2_6_Size_1_r16 }, + { &hf_nr_rrc_ps_WakeUp_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ps_WakeUp_r16 }, + { &hf_nr_rrc_ps_TransmitPeriodicL1_RSRP_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ps_TransmitPeriodicL1_RSRP_r16 }, + { &hf_nr_rrc_ps_TransmitOtherPeriodicCSI_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ps_TransmitOtherPeriodicCSI_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_DCP_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_DCP_Config_r16, DCP_Config_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_dcp_Config_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_dcp_Config_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_70 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DCP_Config_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_dcp_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_dcp_Config_r16, T_dcp_Config_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_harq_ACK_SpatialBundlingPUCCH_secondaryPUCCH_group_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUCCH_secondaryPUCCH_group_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_harq_ACK_SpatialBundlingPUSCH_secondaryPUCCH_group_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUSCH_secondaryPUCCH_group_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_pdsch_HARQ_ACK_Codebook_secondaryPUCCH_group_r16_vals[] = { + { 0, "semiStatic" }, + { 1, "dynamic" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_pdsch_HARQ_ACK_Codebook_secondaryPUCCH_group_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_nrdc_PCmode_FR1_r16_vals[] = { + { 0, "semi-static-mode1" }, + { 1, "semi-static-mode2" }, + { 2, "dynamic" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nrdc_PCmode_FR1_r16(tvbuff_t *tvb _U_, int offset _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_nrdc_PCmode_FR2_r16_vals[] = { + { 0, "semi-static-mode1" }, + { 1, "semi-static-mode2" }, + { 2, "dynamic" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nrdc_PCmode_FR2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_pdsch_HARQ_ACK_Codebook_r16_vals[] = { + { 0, "enhancedDynamic" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_pdsch_HARQ_ACK_Codebook_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_nfi_TotalDAI_Included_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nfi_TotalDAI_Included_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_ul_TotalDAI_Included_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ul_TotalDAI_Included_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedback_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedback_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackNDI_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackNDI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackCBG_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackCBG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_downlinkAssignmentIndexForDCI_Format0_2_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_downlinkAssignmentIndexForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_downlinkAssignmentIndexForDCI_Format1_2_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_downlinkAssignmentIndexForDCI_Format1_2_r16(tvbuff_t *tvb _U_, int offset _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_PDSCH_HARQ_ACK_CodebookList_r16_item_vals[] = { + { 0, "semiStatic" }, + { 1, "dynamic" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_HARQ_ACK_CodebookList_r16_sequence_of[1] = { + { &hf_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16_item }, +}; + +static int +dissect_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_HARQ_ACK_CodebookList_r16, PDSCH_HARQ_ACK_CodebookList_r16_sequence_of, + 1, 2, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_pdsch_HARQ_ACK_CodebookList_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_pdsch_HARQ_ACK_CodebookList_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_71 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_pdsch_HARQ_ACK_CodebookList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_HARQ_ACK_CodebookList_r16, T_pdsch_HARQ_ACK_CodebookList_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_ackNackFeedbackMode_r16_vals[] = { + { 0, "joint" }, + { 1, "separate" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ackNackFeedbackMode_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 PDCCH_BlindDetectionCA_CombIndicator_r16_sequence[] = { + { &hf_nr_rrc_pdcch_BlindDetectionCA1_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_15 }, + { &hf_nr_rrc_pdcch_BlindDetectionCA2_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_15 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PDCCH_BlindDetectionCA_CombIndicator_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_BlindDetectionCA_CombIndicator_r16, PDCCH_BlindDetectionCA_CombIndicator_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_pdcch_BlindDetectionCA_CombIndicator_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_72 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_BlindDetectionCA_CombIndicator_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_BlindDetectionCA_CombIndicator_r16, T_pdcch_BlindDetectionCA_CombIndicator_r16_choice, + NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_PDCCH_BlindDetection2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 15U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_pdcch_BlindDetection2_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_pdcch_BlindDetection2_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_73 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_BlindDetection2_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_pdcch_BlindDetection2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_BlindDetection2_r16, T_pdcch_BlindDetection2_r16_choice, + NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_PDCCH_BlindDetection3_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 15U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_pdcch_BlindDetection3_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_pdcch_BlindDetection3_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_74 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_BlindDetection3_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_pdcch_BlindDetection3_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_BlindDetection3_r16, T_pdcch_BlindDetection3_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_bdFactorR_r16_vals[] = { + { 0, "n1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_bdFactorR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 PhysicalCellGroupConfig_eag_4_sequence[] = { + { &hf_nr_rrc_dcp_Config_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dcp_Config_r16 }, + { &hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH_secondaryPUCCH_group_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUCCH_secondaryPUCCH_group_r16 }, + { &hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH_secondaryPUCCH_group_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUSCH_secondaryPUCCH_group_r16 }, + { &hf_nr_rrc_pdsch_HARQ_ACK_Codebook_secondaryPUCCH_group_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_HARQ_ACK_Codebook_secondaryPUCCH_group_r16 }, + { &hf_nr_rrc_p_NR_FR2_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, + { &hf_nr_rrc_p_UE_FR2_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, + { &hf_nr_rrc_nrdc_PCmode_FR1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrdc_PCmode_FR1_r16 }, + { &hf_nr_rrc_nrdc_PCmode_FR2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrdc_PCmode_FR2_r16 }, + { &hf_nr_rrc_pdsch_HARQ_ACK_Codebook_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_HARQ_ACK_Codebook_r16 }, + { &hf_nr_rrc_nfi_TotalDAI_Included_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nfi_TotalDAI_Included_r16 }, + { &hf_nr_rrc_ul_TotalDAI_Included_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_TotalDAI_Included_r16 }, + { &hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedback_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedback_r16 }, + { &hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedbackNDI_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackNDI_r16 }, + { &hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedbackCBG_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackCBG_r16 }, + { &hf_nr_rrc_downlinkAssignmentIndexForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_downlinkAssignmentIndexForDCI_Format0_2_r16 }, + { &hf_nr_rrc_downlinkAssignmentIndexForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_downlinkAssignmentIndexForDCI_Format1_2_r16 }, + { &hf_nr_rrc_pdsch_HARQ_ACK_CodebookList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_HARQ_ACK_CodebookList_r16 }, + { &hf_nr_rrc_ackNackFeedbackMode_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ackNackFeedbackMode_r16 }, + { &hf_nr_rrc_pdcch_BlindDetectionCA_CombIndicator_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r16 }, + { &hf_nr_rrc_pdcch_BlindDetection2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_BlindDetection2_r16 }, + { &hf_nr_rrc_pdcch_BlindDetection3_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_BlindDetection3_r16 }, + { &hf_nr_rrc_bdFactorR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bdFactorR_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PhysicalCellGroupConfig_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalCellGroupConfig_eag_4_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 }, @@ -30170,6 +56779,7 @@ static const per_sequence_t PhysicalCellGroupConfig_sequence[] = { { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysicalCellGroupConfig_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysicalCellGroupConfig_eag_2 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysicalCellGroupConfig_eag_3 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysicalCellGroupConfig_eag_4 }, { NULL, 0, 0, NULL } }; @@ -30533,7 +57143,7 @@ static const value_string nr_rrc_T_lte_CRS_ToMatchAround_01_vals[] = { static const per_choice_t T_lte_CRS_ToMatchAround_01_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, - { 1, &hf_nr_rrc_setup_48 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RateMatchPatternLTE_CRS }, + { 1, &hf_nr_rrc_setup_99 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RateMatchPatternLTE_CRS }, { 0, NULL, 0, NULL } }; @@ -30547,6 +57157,64 @@ dissect_nr_rrc_T_lte_CRS_ToMatchAround_01(tvbuff_t *tvb _U_, int offset _U_, asn } +static const value_string nr_rrc_T_channelAccessMode_r16_vals[] = { + { 0, "dynamic" }, + { 1, "semiStatic" }, + { 0, NULL } +}; + +static const per_choice_t T_channelAccessMode_r16_choice[] = { + { 0, &hf_nr_rrc_dynamic_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_semiStatic_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SemiStaticChannelAccessConfig }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_channelAccessMode_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_channelAccessMode_r16, T_channelAccessMode_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_discoveryBurstWindowLength_r16_vals[] = { + { 0, "ms0dot5" }, + { 1, "ms1" }, + { 2, "ms2" }, + { 3, "ms3" }, + { 4, "ms4" }, + { 5, "ms5" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_discoveryBurstWindowLength_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 6, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ServingCellConfigCommon_eag_1_sequence[] = { + { &hf_nr_rrc_channelAccessMode_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_channelAccessMode_r16 }, + { &hf_nr_rrc_discoveryBurstWindowLength_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_discoveryBurstWindowLength_r16 }, + { &hf_nr_rrc_ssb_PositionQCL_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_PositionQCL_Relation_r16 }, + { &hf_nr_rrc_highSpeedConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_HighSpeedConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ServingCellConfigCommon_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, ServingCellConfigCommon_eag_1_sequence); + + return offset; +} + + static const per_sequence_t ServingCellConfigCommon_sequence[] = { { &hf_nr_rrc_physCellId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PhysCellId }, { &hf_nr_rrc_downlinkConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_DownlinkConfigCommon }, @@ -30562,6 +57230,7 @@ static const per_sequence_t ServingCellConfigCommon_sequence[] = { { &hf_nr_rrc_ssbSubcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_tdd_UL_DL_ConfigurationCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigCommon }, { &hf_nr_rrc_ss_PBCH_BlockPower, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M60_50 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfigCommon_eag_1 }, { NULL, 0, 0, NULL } }; @@ -30633,9 +57302,33 @@ dissect_nr_rrc_T_occasions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ } + +static int +dissect_nr_rrc_INTEGER_0_3071(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 3071U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CFRA_SSB_Resource_eag_1_sequence[] = { + { &hf_nr_rrc_msgA_PUSCH_resource_Index_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_3071 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CFRA_SSB_Resource_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_SSB_Resource_eag_1_sequence); + + return offset; +} + + static const per_sequence_t CFRA_SSB_Resource_sequence[] = { { &hf_nr_rrc_ssb_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index }, { &hf_nr_rrc_ra_PreambleIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CFRA_SSB_Resource_eag_1 }, { NULL, 0, 0, NULL } }; @@ -30787,9 +57480,117 @@ dissect_nr_rrc_CFRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro } +static const value_string nr_rrc_T_ssb_PerRACH_OccasionTwoStepRA_r16_vals[] = { + { 0, "oneEighth" }, + { 1, "oneFourth" }, + { 2, "oneHalf" }, + { 3, "one" }, + { 4, "two" }, + { 5, "four" }, + { 6, "eight" }, + { 7, "sixteen" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ssb_PerRACH_OccasionTwoStepRA_r16(tvbuff_t *tvb _U_, int offset _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_occasionsTwoStepRA_r16_sequence[] = { + { &hf_nr_rrc_rach_ConfigGenericTwoStepRA_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigGenericTwoStepRA_r16 }, + { &hf_nr_rrc_ssb_PerRACH_OccasionTwoStepRA_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ssb_PerRACH_OccasionTwoStepRA_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_occasionsTwoStepRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_occasionsTwoStepRA_r16, T_occasionsTwoStepRA_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_msgA_TransMax_r16_01_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "n6" }, + { 4, "n8" }, + { 5, "n10" }, + { 6, "n20" }, + { 7, "n50" }, + { 8, "n100" }, + { 9, "n200" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_msgA_TransMax_r16_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, + 10, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_resourcesTwoStep_r16_sequence[] = { + { &hf_nr_rrc_ssb_ResourceList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource }, + { &hf_nr_rrc_ra_ssb_OccasionMaskIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_resourcesTwoStep_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_resourcesTwoStep_r16, T_resourcesTwoStep_r16_sequence); + + return offset; +} + + +static const per_sequence_t CFRA_TwoStep_r16_sequence[] = { + { &hf_nr_rrc_occasionsTwoStepRA_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_occasionsTwoStepRA_r16 }, + { &hf_nr_rrc_msgA_CFRA_PUSCH_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MsgA_PUSCH_Resource_r16 }, + { &hf_nr_rrc_msgA_TransMax_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_msgA_TransMax_r16_01 }, + { &hf_nr_rrc_resourcesTwoStep_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourcesTwoStep_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CFRA_TwoStep_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CFRA_TwoStep_r16, CFRA_TwoStep_r16_sequence); + + return offset; +} + + +static const per_sequence_t RACH_ConfigDedicated_eag_1_sequence[] = { + { &hf_nr_rrc_ra_PrioritizationTwoStep_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RA_Prioritization }, + { &hf_nr_rrc_cfra_TwoStep_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CFRA_TwoStep_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RACH_ConfigDedicated_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, RACH_ConfigDedicated_eag_1_sequence); + + return offset; +} + + static const per_sequence_t RACH_ConfigDedicated_sequence[] = { { &hf_nr_rrc_cfra , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CFRA }, { &hf_nr_rrc_ra_Prioritization, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RA_Prioritization }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigDedicated_eag_1 }, { NULL, 0, 0, NULL } }; @@ -30837,12 +57638,59 @@ dissect_nr_rrc_ReconfigurationWithSync_eag_1(tvbuff_t *tvb _U_, int offset _U_, } +static const value_string nr_rrc_T_uplinkPowerSharingDAPS_Mode_r16_01_vals[] = { + { 0, "semi-static-mode1" }, + { 1, "semi-static-mode2" }, + { 2, "dynamic" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_uplinkPowerSharingDAPS_Mode_r16_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 DAPS_UplinkPowerConfig_r16_sequence[] = { + { &hf_nr_rrc_p_DAPS_Source_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P_Max }, + { &hf_nr_rrc_p_DAPS_Target_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P_Max }, + { &hf_nr_rrc_uplinkPowerSharingDAPS_Mode_r16_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_uplinkPowerSharingDAPS_Mode_r16_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_DAPS_UplinkPowerConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_DAPS_UplinkPowerConfig_r16, DAPS_UplinkPowerConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t ReconfigurationWithSync_eag_2_sequence[] = { + { &hf_nr_rrc_daps_UplinkPowerConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DAPS_UplinkPowerConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ReconfigurationWithSync_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReconfigurationWithSync_eag_2_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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReconfigurationWithSync_eag_2 }, { NULL, 0, 0, NULL } }; @@ -30981,7 +57829,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_17 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RLF_TimersAndConstants }, + { 1, &hf_nr_rrc_setup_32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RLF_TimersAndConstants }, { 0, NULL, 0, NULL } }; @@ -31256,7 +58104,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_44 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_CodeBlockGroupTransmission }, + { 1, &hf_nr_rrc_setup_91 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_CodeBlockGroupTransmission }, { 0, NULL, 0, NULL } }; @@ -31316,11 +58164,57 @@ dissect_nr_rrc_PUSCH_ServingCellConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, } + +static int +dissect_nr_rrc_MaxMIMO_LayersForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 4U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_maxMIMO_LayersForDCI_Format0_2_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_maxMIMO_LayersForDCI_Format0_2_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_92 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MaxMIMO_LayersForDCI_Format0_2_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_maxMIMO_LayersForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_maxMIMO_LayersForDCI_Format0_2_r16, T_maxMIMO_LayersForDCI_Format0_2_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t PUSCH_ServingCellConfig_eag_2_sequence[] = { + { &hf_nr_rrc_maxMIMO_LayersForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxMIMO_LayersForDCI_Format0_2_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PUSCH_ServingCellConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PUSCH_ServingCellConfig_eag_2_sequence); + + return offset; +} + + static const per_sequence_t PUSCH_ServingCellConfig_sequence[] = { { &hf_nr_rrc_codeBlockGroupTransmission_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_codeBlockGroupTransmission_01 }, { &hf_nr_rrc_rateMatching , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatching }, { &hf_nr_rrc_xOverhead_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_xOverhead_01 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_ServingCellConfig_eag_1 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_ServingCellConfig_eag_2 }, { NULL, 0, 0, NULL } }; @@ -31341,7 +58235,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_49 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_ServingCellConfig }, + { 1, &hf_nr_rrc_setup_103 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_ServingCellConfig }, { 0, NULL, 0, NULL } }; @@ -31489,7 +58383,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_50 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_CarrierSwitching }, + { 1, &hf_nr_rrc_setup_104 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_CarrierSwitching }, { 0, NULL, 0, NULL } }; @@ -31517,6 +58411,136 @@ dissect_nr_rrc_UplinkConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } +static const value_string nr_rrc_T_enablePLRS_UpdateForPUSCH_SRS_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_enablePLRS_UpdateForPUSCH_SRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_enableDefaultBeamPL_ForPUSCH0_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_enableDefaultBeamPL_ForPUSCH0_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_enableDefaultBeamPL_ForPUCCH_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_enableDefaultBeamPL_ForPUCCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_enableDefaultBeamPL_ForSRS_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_enableDefaultBeamPL_ForSRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_uplinkTxSwitchingCarrier_r16_vals[] = { + { 0, "carrier1" }, + { 1, "carrier2" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_uplinkTxSwitchingCarrier_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 UplinkTxSwitching_r16_sequence[] = { + { &hf_nr_rrc_uplinkTxSwitchingPeriodLocation_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { &hf_nr_rrc_uplinkTxSwitchingCarrier_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_uplinkTxSwitchingCarrier_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UplinkTxSwitching_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_UplinkTxSwitching_r16, UplinkTxSwitching_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_uplinkTxSwitching_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_uplinkTxSwitching_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_105 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_UplinkTxSwitching_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_uplinkTxSwitching_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_uplinkTxSwitching_r16, T_uplinkTxSwitching_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t UplinkConfig_eag_2_sequence[] = { + { &hf_nr_rrc_enablePLRS_UpdateForPUSCH_SRS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_enablePLRS_UpdateForPUSCH_SRS_r16 }, + { &hf_nr_rrc_enableDefaultBeamPL_ForPUSCH0_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_enableDefaultBeamPL_ForPUSCH0_r16 }, + { &hf_nr_rrc_enableDefaultBeamPL_ForPUCCH_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_enableDefaultBeamPL_ForPUCCH_r16 }, + { &hf_nr_rrc_enableDefaultBeamPL_ForSRS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_enableDefaultBeamPL_ForSRS_r16 }, + { &hf_nr_rrc_uplinkTxSwitching_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uplinkTxSwitching_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UplinkConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, UplinkConfig_eag_2_sequence); + + return offset; +} + + static const per_sequence_t UplinkConfig_sequence[] = { { &hf_nr_rrc_initialUplinkBWP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_UplinkDedicated }, { &hf_nr_rrc_uplinkBWP_ToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id }, @@ -31525,6 +58549,7 @@ static const per_sequence_t UplinkConfig_sequence[] = { { &hf_nr_rrc_pusch_ServingCellConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_ServingCellConfig }, { &hf_nr_rrc_carrierSwitching, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_carrierSwitching }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_UplinkConfig_eag_1 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_UplinkConfig_eag_2 }, { NULL, 0, 0, NULL } }; @@ -31610,12 +58635,41 @@ dissect_nr_rrc_INTEGER_0_maxSFI_DCI_PayloadSize_1(tvbuff_t *tvb _U_, int offset } +static const value_string nr_rrc_T_enableConfiguredUL_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_enableConfiguredUL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 SlotFormatCombinationsPerCell_eag_1_sequence[] = { + { &hf_nr_rrc_enableConfiguredUL_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_enableConfiguredUL_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SlotFormatCombinationsPerCell_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, SlotFormatCombinationsPerCell_eag_1_sequence); + + return offset; +} + + static const per_sequence_t SlotFormatCombinationsPerCell_sequence[] = { { &hf_nr_rrc_servingCellId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, { &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_subcarrierSpacing2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_slotFormatCombinations, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination }, { &hf_nr_rrc_positionInDCI_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxSFI_DCI_PayloadSize_1 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatCombinationsPerCell_eag_1 }, { NULL, 0, 0, NULL } }; @@ -31656,11 +58710,157 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellInd } +static const per_sequence_t AvailableRB_SetsPerCell_r16_sequence[] = { + { &hf_nr_rrc_servingCellId_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, + { &hf_nr_rrc_positionInDCI_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxSFI_DCI_PayloadSize_1 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_AvailableRB_SetsPerCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_AvailableRB_SetsPerCell_r16, AvailableRB_SetsPerCell_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_AvailableRB_SetsPerCell_r16_sequence_of[1] = { + { &hf_nr_rrc_availableRB_SetsToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AvailableRB_SetsPerCell_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_AvailableRB_SetsPerCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_AvailableRB_SetsPerCell_r16, SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_AvailableRB_SetsPerCell_r16_sequence_of, + 1, maxNrofAggregatedCellsPerCellGroup, FALSE); + + return offset; +} + + +static const per_sequence_t SearchSpaceSwitchTrigger_r16_sequence[] = { + { &hf_nr_rrc_servingCellId_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, + { &hf_nr_rrc_positionInDCI_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxSFI_DCI_PayloadSize_1 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SearchSpaceSwitchTrigger_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SearchSpaceSwitchTrigger_r16, SearchSpaceSwitchTrigger_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_4_OF_SearchSpaceSwitchTrigger_r16_sequence_of[1] = { + { &hf_nr_rrc_searchSpaceSwitchTriggerToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceSwitchTrigger_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceSwitchTrigger_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_SearchSpaceSwitchTrigger_r16, SEQUENCE_SIZE_1_4_OF_SearchSpaceSwitchTrigger_r16_sequence_of, + 1, 4, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_4_OF_ServCellIndex_sequence_of[1] = { + { &hf_nr_rrc_searchSpaceSwitchTriggerToReleaseList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_ServCellIndex, SEQUENCE_SIZE_1_4_OF_ServCellIndex_sequence_of, + 1, 4, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_CO_Duration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 1120U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_64_OF_CO_Duration_r16_sequence_of[1] = { + { &hf_nr_rrc_co_DurationList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CO_Duration_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_64_OF_CO_Duration_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_64_OF_CO_Duration_r16, SEQUENCE_SIZE_1_64_OF_CO_Duration_r16_sequence_of, + 1, 64, FALSE); + + return offset; +} + + +static const per_sequence_t CO_DurationsPerCell_r16_sequence[] = { + { &hf_nr_rrc_servingCellId_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, + { &hf_nr_rrc_positionInDCI_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxSFI_DCI_PayloadSize_1 }, + { &hf_nr_rrc_subcarrierSpacing_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, + { &hf_nr_rrc_co_DurationList_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_64_OF_CO_Duration_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CO_DurationsPerCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CO_DurationsPerCell_r16, CO_DurationsPerCell_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r16_sequence_of[1] = { + { &hf_nr_rrc_co_DurationsPerCellToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CO_DurationsPerCell_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r16, SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r16_sequence_of, + 1, maxNrofAggregatedCellsPerCellGroup, FALSE); + + return offset; +} + + +static const per_sequence_t SlotFormatIndicator_eag_1_sequence[] = { + { &hf_nr_rrc_availableRB_SetsToAddModList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_AvailableRB_SetsPerCell_r16 }, + { &hf_nr_rrc_availableRB_SetsToRelease_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex }, + { &hf_nr_rrc_searchSpaceSwitchTriggerToAddModList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceSwitchTrigger_r16 }, + { &hf_nr_rrc_searchSpaceSwitchTriggerToReleaseList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_ServCellIndex }, + { &hf_nr_rrc_co_DurationsPerCellToAddModList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r16 }, + { &hf_nr_rrc_co_DurationsPerCellToReleaseList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SlotFormatIndicator_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, SlotFormatIndicator_eag_1_sequence); + + return offset; +} + + static const per_sequence_t SlotFormatIndicator_sequence[] = { { &hf_nr_rrc_sfi_RNTI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value }, { &hf_nr_rrc_dci_PayloadSize_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxSFI_DCI_PayloadSize }, { &hf_nr_rrc_slotFormatCombToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell }, { &hf_nr_rrc_slotFormatCombToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatIndicator_eag_1 }, { NULL, 0, 0, NULL } }; @@ -31681,7 +58881,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_33 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SlotFormatIndicator }, + { 1, &hf_nr_rrc_setup_55 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SlotFormatIndicator }, { 0, NULL, 0, NULL } }; @@ -31695,8 +58895,45 @@ dissect_nr_rrc_T_slotFormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } +static const value_string nr_rrc_T_availabilityIndicator_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_availabilityIndicator_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_56 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_AvailabilityIndicator_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_availabilityIndicator_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_availabilityIndicator_r16, T_availabilityIndicator_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t PDCCH_ServingCellConfig_eag_1_sequence[] = { + { &hf_nr_rrc_availabilityIndicator_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_availabilityIndicator_r16 }, + { &hf_nr_rrc_searchSpaceSwitchingTimer_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_80 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PDCCH_ServingCellConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCCH_ServingCellConfig_eag_1_sequence); + + return offset; +} + + static const per_sequence_t PDCCH_ServingCellConfig_sequence[] = { { &hf_nr_rrc_slotFormatIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_slotFormatIndicator }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_ServingCellConfig_eag_1 }, { NULL, 0, 0, NULL } }; @@ -31717,7 +58954,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_45 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_ServingCellConfig }, + { 1, &hf_nr_rrc_setup_96 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_ServingCellConfig }, { 0, NULL, 0, NULL } }; @@ -31772,7 +59009,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_37 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_CodeBlockGroupTransmission }, + { 1, &hf_nr_rrc_setup_66 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_CodeBlockGroupTransmission }, { 0, NULL, 0, NULL } }; @@ -31837,12 +59074,62 @@ dissect_nr_rrc_PDSCH_ServingCellConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, } +static const per_sequence_t PDSCH_CodeBlockGroupTransmissionList_r16_sequence_of[1] = { + { &hf_nr_rrc_PDSCH_CodeBlockGroupTransmissionList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_CodeBlockGroupTransmission }, +}; + +static int +dissect_nr_rrc_PDSCH_CodeBlockGroupTransmissionList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_CodeBlockGroupTransmissionList_r16, PDSCH_CodeBlockGroupTransmissionList_r16_sequence_of, + 1, 2, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_pdsch_CodeBlockGroupTransmissionList_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_pdsch_CodeBlockGroupTransmissionList_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_67 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_CodeBlockGroupTransmissionList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_pdsch_CodeBlockGroupTransmissionList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_CodeBlockGroupTransmissionList_r16, T_pdsch_CodeBlockGroupTransmissionList_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t PDSCH_ServingCellConfig_eag_2_sequence[] = { + { &hf_nr_rrc_pdsch_CodeBlockGroupTransmissionList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_CodeBlockGroupTransmissionList_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PDSCH_ServingCellConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDSCH_ServingCellConfig_eag_2_sequence); + + return offset; +} + + static const per_sequence_t PDSCH_ServingCellConfig_sequence[] = { { &hf_nr_rrc_codeBlockGroupTransmission, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_codeBlockGroupTransmission }, { &hf_nr_rrc_xOverhead , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_xOverhead }, { &hf_nr_rrc_nrofHARQ_ProcessesForPDSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofHARQ_ProcessesForPDSCH }, { &hf_nr_rrc_pucch_Cell , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_ServingCellConfig_eag_1 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_ServingCellConfig_eag_2 }, { NULL, 0, 0, NULL } }; @@ -31863,7 +59150,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_46 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_ServingCellConfig }, + { 1, &hf_nr_rrc_setup_97 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_ServingCellConfig }, { 0, NULL, 0, NULL } }; @@ -32018,12 +59305,26 @@ dissect_nr_rrc_T_trs_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } +static const per_sequence_t NZP_CSI_RS_ResourceSet_eag_1_sequence[] = { + { &hf_nr_rrc_aperiodicTriggeringOffset_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_NZP_CSI_RS_ResourceSet_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, NZP_CSI_RS_ResourceSet_eag_1_sequence); + + return offset; +} + + static const per_sequence_t NZP_CSI_RS_ResourceSet_sequence[] = { { &hf_nr_rrc_nzp_CSI_ResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSetId }, { &hf_nr_rrc_nzp_CSI_RS_Resources, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId }, { &hf_nr_rrc_repetition , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_repetition }, { &hf_nr_rrc_aperiodicTriggeringOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_6 }, { &hf_nr_rrc_trs_Info , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_trs_Info }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSet_eag_1 }, { NULL, 0, 0, NULL } }; @@ -32813,16 +60114,6 @@ dissect_nr_rrc_T_pmi_FormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx static int -dissect_nr_rrc_BIT_STRING_SIZE_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 11, 11, FALSE, NULL, 0, NULL, NULL); - - return offset; -} - - - -static int dissect_nr_rrc_BIT_STRING_SIZE_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 13, 13, FALSE, NULL, 0, NULL, NULL); @@ -32979,26 +60270,6 @@ dissect_nr_rrc_T_two(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr static int -dissect_nr_rrc_BIT_STRING_SIZE_96(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 96, 96, FALSE, NULL, 0, NULL, NULL); - - return offset; -} - - - -static int -dissect_nr_rrc_BIT_STRING_SIZE_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 128, 128, FALSE, NULL, 0, NULL, NULL); - - return offset; -} - - - -static int dissect_nr_rrc_BIT_STRING_SIZE_192(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 192, 192, FALSE, NULL, 0, NULL, NULL); @@ -33007,16 +60278,6 @@ dissect_nr_rrc_BIT_STRING_SIZE_192(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } - -static int -dissect_nr_rrc_BIT_STRING_SIZE_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 48, 48, FALSE, NULL, 0, NULL, NULL); - - return offset; -} - - static const value_string nr_rrc_T_n1_n2_vals[] = { { 0, "two-one-TypeI-SinglePanel-Restriction" }, { 1, "two-two-TypeI-SinglePanel-Restriction" }, @@ -33874,6 +61135,294 @@ dissect_nr_rrc_CSI_ReportConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } +static const per_sequence_t T_reportSlotOffsetListForDCI_Format0_2_r16_sequence_of[1] = { + { &hf_nr_rrc_reportSlotOffsetListForDCI_Format0_2_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_32 }, +}; + +static int +dissect_nr_rrc_T_reportSlotOffsetListForDCI_Format0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_reportSlotOffsetListForDCI_Format0_2_r16, T_reportSlotOffsetListForDCI_Format0_2_r16_sequence_of, + 1, maxNrofUL_Allocations_r16, FALSE); + + return offset; +} + + +static const per_sequence_t T_reportSlotOffsetListForDCI_Format0_1_r16_sequence_of[1] = { + { &hf_nr_rrc_reportSlotOffsetListForDCI_Format0_1_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_32 }, +}; + +static int +dissect_nr_rrc_T_reportSlotOffsetListForDCI_Format0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_reportSlotOffsetListForDCI_Format0_1_r16, T_reportSlotOffsetListForDCI_Format0_1_r16_sequence_of, + 1, maxNrofUL_Allocations_r16, FALSE); + + return offset; +} + + +static const per_sequence_t T_semiPersistentOnPUSCH_v1610_sequence[] = { + { &hf_nr_rrc_reportSlotOffsetListForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reportSlotOffsetListForDCI_Format0_2_r16 }, + { &hf_nr_rrc_reportSlotOffsetListForDCI_Format0_1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reportSlotOffsetListForDCI_Format0_1_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_semiPersistentOnPUSCH_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_v1610, T_semiPersistentOnPUSCH_v1610_sequence); + + return offset; +} + + +static const per_sequence_t T_reportSlotOffsetListForDCI_Format0_2_r16_01_sequence_of[1] = { + { &hf_nr_rrc_reportSlotOffsetListForDCI_Format0_2_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_32 }, +}; + +static int +dissect_nr_rrc_T_reportSlotOffsetListForDCI_Format0_2_r16_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_reportSlotOffsetListForDCI_Format0_2_r16_01, T_reportSlotOffsetListForDCI_Format0_2_r16_01_sequence_of, + 1, maxNrofUL_Allocations_r16, FALSE); + + return offset; +} + + +static const per_sequence_t T_reportSlotOffsetListForDCI_Format0_1_r16_01_sequence_of[1] = { + { &hf_nr_rrc_reportSlotOffsetListForDCI_Format0_1_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_32 }, +}; + +static int +dissect_nr_rrc_T_reportSlotOffsetListForDCI_Format0_1_r16_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_reportSlotOffsetListForDCI_Format0_1_r16_01, T_reportSlotOffsetListForDCI_Format0_1_r16_01_sequence_of, + 1, maxNrofUL_Allocations_r16, FALSE); + + return offset; +} + + +static const per_sequence_t T_aperiodic_v1610_sequence[] = { + { &hf_nr_rrc_reportSlotOffsetListForDCI_Format0_2_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reportSlotOffsetListForDCI_Format0_2_r16_01 }, + { &hf_nr_rrc_reportSlotOffsetListForDCI_Format0_1_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reportSlotOffsetListForDCI_Format0_1_r16_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_aperiodic_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_v1610, T_aperiodic_v1610_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_reportQuantity_r16_vals[] = { + { 0, "cri-SINR-r16" }, + { 1, "ssb-Index-SINR-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_reportQuantity_r16_choice[] = { + { 0, &hf_nr_rrc_cri_SINR_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_ssb_Index_SINR_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_reportQuantity_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_reportQuantity_r16, T_reportQuantity_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_n1_n2_codebookSubsetRestriction_r16_vals[] = { + { 0, "two-one" }, + { 1, "two-two" }, + { 2, "four-one" }, + { 3, "three-two" }, + { 4, "six-one" }, + { 5, "four-two" }, + { 6, "eight-one" }, + { 7, "four-three" }, + { 8, "six-two" }, + { 9, "twelve-one" }, + { 10, "four-four" }, + { 11, "eight-two" }, + { 12, "sixteen-one" }, + { 0, NULL } +}; + +static const per_choice_t T_n1_n2_codebookSubsetRestriction_r16_choice[] = { + { 0, &hf_nr_rrc_two_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_16 }, + { 1, &hf_nr_rrc_two_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_43 }, + { 2, &hf_nr_rrc_four_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_32 }, + { 3, &hf_nr_rrc_three_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_59 }, + { 4, &hf_nr_rrc_six_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_48 }, + { 5, &hf_nr_rrc_four_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_75 }, + { 6, &hf_nr_rrc_eight_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 }, + { 7, &hf_nr_rrc_four_three , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_107 }, + { 8, &hf_nr_rrc_six_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_107 }, + { 9, &hf_nr_rrc_twelve_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_96 }, + { 10, &hf_nr_rrc_four_four , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_139 }, + { 11, &hf_nr_rrc_eight_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_139 }, + { 12, &hf_nr_rrc_sixteen_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_128 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_n1_n2_codebookSubsetRestriction_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_n1_n2_codebookSubsetRestriction_r16, T_n1_n2_codebookSubsetRestriction_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_typeII_r16_sequence[] = { + { &hf_nr_rrc_n1_n2_codebookSubsetRestriction_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n1_n2_codebookSubsetRestriction_r16 }, + { &hf_nr_rrc_typeII_RI_Restriction_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_4 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_typeII_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_typeII_r16, T_typeII_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_portSelectionSamplingSize_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n3" }, + { 3, "n4" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_portSelectionSamplingSize_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_typeII_PortSelection_r16_sequence[] = { + { &hf_nr_rrc_portSelectionSamplingSize_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_portSelectionSamplingSize_r16 }, + { &hf_nr_rrc_typeII_PortSelectionRI_Restriction_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_4 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_typeII_PortSelection_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_typeII_PortSelection_r16, T_typeII_PortSelection_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_subType_02_vals[] = { + { 0, "typeII-r16" }, + { 1, "typeII-PortSelection-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_subType_02_choice[] = { + { 0, &hf_nr_rrc_typeII_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_typeII_r16 }, + { 1, &hf_nr_rrc_typeII_PortSelection_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_typeII_PortSelection_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_subType_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_subType_02, T_subType_02_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_type2_01_sequence[] = { + { &hf_nr_rrc_subType_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subType_02 }, + { &hf_nr_rrc_numberOfPMI_SubbandsPerCQI_Subband_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 }, + { &hf_nr_rrc_paramCombination_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_type2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_type2_01, T_type2_01_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_codebookType_01_vals[] = { + { 0, "type2" }, + { 0, NULL } +}; + +static const per_choice_t T_codebookType_01_choice[] = { + { 0, &hf_nr_rrc_type2_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_type2_01 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_codebookType_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_codebookType_01, T_codebookType_01_choice, + NULL); + + return offset; +} + + +static const per_sequence_t CodebookConfig_r16_sequence[] = { + { &hf_nr_rrc_codebookType_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_codebookType_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CodebookConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CodebookConfig_r16, CodebookConfig_r16_sequence); + + return offset; +} + + +static const per_sequence_t CSI_ReportConfig_eag_2_sequence[] = { + { &hf_nr_rrc_semiPersistentOnPUSCH_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_semiPersistentOnPUSCH_v1610 }, + { &hf_nr_rrc_aperiodic_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aperiodic_v1610 }, + { &hf_nr_rrc_reportQuantity_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reportQuantity_r16 }, + { &hf_nr_rrc_codebookConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CodebookConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CSI_ReportConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_ReportConfig_eag_2_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 }, @@ -33892,6 +61441,7 @@ static const per_sequence_t CSI_ReportConfig_sequence[] = { { &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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfig_eag_2 }, { NULL, 0, 0, NULL } }; @@ -34080,7 +61630,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_19 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_AperiodicTriggerStateList }, + { 1, &hf_nr_rrc_setup_34 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_AperiodicTriggerStateList }, { 0, NULL, 0, NULL } }; @@ -34130,7 +61680,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_20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList }, + { 1, &hf_nr_rrc_setup_35 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList }, { 0, NULL, 0, NULL } }; @@ -34144,6 +61694,19 @@ dissect_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList(tvbuff_t *tvb _U_, int o } +static const per_sequence_t CSI_MeasConfig_eag_1_sequence[] = { + { &hf_nr_rrc_reportTriggerSizeForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_6 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CSI_MeasConfig_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_MeasConfig_eag_1_sequence); + + return offset; +} + + static const per_sequence_t CSI_MeasConfig_sequence[] = { { &hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource }, { &hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId }, @@ -34162,6 +61725,7 @@ static const per_sequence_t CSI_MeasConfig_sequence[] = { { &hf_nr_rrc_reportTriggerSize, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_6 }, { &hf_nr_rrc_aperiodicTriggerStateList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_aperiodicTriggerStateList }, { &hf_nr_rrc_semiPersistentOnPUSCH_TriggerStateList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_MeasConfig_eag_1 }, { NULL, 0, 0, NULL } }; @@ -34182,7 +61746,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_47 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_MeasConfig }, + { 1, &hf_nr_rrc_setup_98 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_MeasConfig }, { 0, NULL, 0, NULL } }; @@ -34240,16 +61804,6 @@ dissect_nr_rrc_T_own(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr } - -static int -dissect_nr_rrc_INTEGER_1_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 7U, NULL, FALSE); - - return offset; -} - - static const per_sequence_t T_other_sequence[] = { { &hf_nr_rrc_schedulingCellId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, { &hf_nr_rrc_cif_InSchedulingCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_7 }, @@ -34287,8 +61841,37 @@ dissect_nr_rrc_T_schedulingCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } +static const per_sequence_t T_carrierIndicatorSize_sequence[] = { + { &hf_nr_rrc_carrierIndicatorSizeForDCI_Format1_2_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 }, + { &hf_nr_rrc_carrierIndicatorSizeForDCI_Format0_2_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_carrierIndicatorSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_carrierIndicatorSize, T_carrierIndicatorSize_sequence); + + return offset; +} + + +static const per_sequence_t CrossCarrierSchedulingConfig_eag_1_sequence[] = { + { &hf_nr_rrc_carrierIndicatorSize, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_carrierIndicatorSize }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CrossCarrierSchedulingConfig_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, CrossCarrierSchedulingConfig_eag_1_sequence); + + return offset; +} + + static const per_sequence_t CrossCarrierSchedulingConfig_sequence[] = { { &hf_nr_rrc_schedulingCellInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_schedulingCellInfo }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CrossCarrierSchedulingConfig_eag_1 }, { NULL, 0, 0, NULL } }; @@ -34340,7 +61923,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_48 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RateMatchPatternLTE_CRS }, + { 1, &hf_nr_rrc_setup_99 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RateMatchPatternLTE_CRS }, { 0, NULL, 0, NULL } }; @@ -34370,6 +61953,613 @@ dissect_nr_rrc_ServingCellConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_c } +static const value_string nr_rrc_T_supplementaryUplinkRelease_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_supplementaryUplinkRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_explicit_r16_sequence[] = { + { &hf_nr_rrc_nrofDownlinkSymbols_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1 }, + { &hf_nr_rrc_nrofUplinkSymbols_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_explicit_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_explicit_r16, T_explicit_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_explicit_IAB_MT_r16_sequence[] = { + { &hf_nr_rrc_nrofDownlinkSymbols_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1 }, + { &hf_nr_rrc_nrofUplinkSymbols_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_explicit_IAB_MT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_explicit_IAB_MT_r16, T_explicit_IAB_MT_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_symbols_IAB_MT_r16_vals[] = { + { 0, "allDownlink-r16" }, + { 1, "allUplink-r16" }, + { 2, "explicit-r16" }, + { 3, "explicit-IAB-MT-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_symbols_IAB_MT_r16_choice[] = { + { 0, &hf_nr_rrc_allDownlink_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_allUplink_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 2, &hf_nr_rrc_explicit_r16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_explicit_r16 }, + { 3, &hf_nr_rrc_explicit_IAB_MT_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_explicit_IAB_MT_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_symbols_IAB_MT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_symbols_IAB_MT_r16, T_symbols_IAB_MT_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t TDD_UL_DL_SlotConfig_IAB_MT_r16_sequence[] = { + { &hf_nr_rrc_slotIndex_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_SlotIndex }, + { &hf_nr_rrc_symbols_IAB_MT_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_symbols_IAB_MT_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_TDD_UL_DL_SlotConfig_IAB_MT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_TDD_UL_DL_SlotConfig_IAB_MT_r16, TDD_UL_DL_SlotConfig_IAB_MT_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_IAB_MT_r16_sequence_of[1] = { + { &hf_nr_rrc_slotSpecificConfigurationsToAddModList_IAB_MT_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_SlotConfig_IAB_MT_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_IAB_MT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_IAB_MT_r16, SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_IAB_MT_r16_sequence_of, + 1, maxNrofSlots, FALSE); + + return offset; +} + + +static const per_sequence_t TDD_UL_DL_ConfigDedicated_IAB_MT_r16_sequence[] = { + { &hf_nr_rrc_slotSpecificConfigurationsToAddModList_IAB_MT_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_IAB_MT_r16 }, + { &hf_nr_rrc_slotSpecificConfigurationsToReleaseList_IAB_MT_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_TDD_UL_DL_ConfigDedicated_IAB_MT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_TDD_UL_DL_ConfigDedicated_IAB_MT_r16, TDD_UL_DL_ConfigDedicated_IAB_MT_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_DormancyGroupID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 4U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t WithinActiveTimeConfig_r16_sequence[] = { + { &hf_nr_rrc_firstWithinActiveTimeBWP_Id_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BWP_Id }, + { &hf_nr_rrc_dormancyGroupWithinActiveTime_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DormancyGroupID_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_WithinActiveTimeConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_WithinActiveTimeConfig_r16, WithinActiveTimeConfig_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_withinActiveTimeConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_withinActiveTimeConfig_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_106 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_WithinActiveTimeConfig_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_withinActiveTimeConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_withinActiveTimeConfig_r16, T_withinActiveTimeConfig_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t OutsideActiveTimeConfig_r16_sequence[] = { + { &hf_nr_rrc_firstOutsideActiveTimeBWP_Id_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BWP_Id }, + { &hf_nr_rrc_dormancyGroupOutsideActiveTime_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DormancyGroupID_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_OutsideActiveTimeConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_OutsideActiveTimeConfig_r16, OutsideActiveTimeConfig_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_outsideActiveTimeConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_outsideActiveTimeConfig_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_107 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_OutsideActiveTimeConfig_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_outsideActiveTimeConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_outsideActiveTimeConfig_r16, T_outsideActiveTimeConfig_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t DormantBWP_Config_r16_sequence[] = { + { &hf_nr_rrc_dormantBWP_Id_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BWP_Id }, + { &hf_nr_rrc_withinActiveTimeConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_withinActiveTimeConfig_r16 }, + { &hf_nr_rrc_outsideActiveTimeConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_outsideActiveTimeConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_DormantBWP_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_DormantBWP_Config_r16, DormantBWP_Config_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_dormantBWP_Config_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_dormantBWP_Config_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_100 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DormantBWP_Config_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_dormantBWP_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_dormantBWP_Config_r16, T_dormantBWP_Config_r16_choice, + NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_M2_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, + -2, 2U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_M5_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, + -5, 5U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_M10_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, + -10, 10U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_M20_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -20, 20U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_ca_SlotOffset_r16_vals[] = { + { 0, "refSCS15kHz" }, + { 1, "refSCS30KHz" }, + { 2, "refSCS60KHz" }, + { 3, "refSCS120KHz" }, + { 0, NULL } +}; + +static const per_choice_t T_ca_SlotOffset_r16_choice[] = { + { 0, &hf_nr_rrc_refSCS15kHz , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M2_2 }, + { 1, &hf_nr_rrc_refSCS30KHz , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M5_5 }, + { 2, &hf_nr_rrc_refSCS60KHz , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M10_10 }, + { 3, &hf_nr_rrc_refSCS120KHz , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M20_20 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_ca_SlotOffset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_ca_SlotOffset_r16, T_ca_SlotOffset_r16_choice, + NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_M85_M52(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -85, -52, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_M20_M13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -20, -13, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_absenceOfAnyOtherTechnology_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_absenceOfAnyOtherTechnology_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 ChannelAccessConfig_r16_sequence[] = { + { &hf_nr_rrc_maxEnergyDetectionThreshold_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M85_M52 }, + { &hf_nr_rrc_energyDetectionThresholdOffset_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M20_M13 }, + { &hf_nr_rrc_ul_toDL_COT_SharingED_Threshold_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M85_M52 }, + { &hf_nr_rrc_absenceOfAnyOtherTechnology_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_absenceOfAnyOtherTechnology_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ChannelAccessConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_ChannelAccessConfig_r16, ChannelAccessConfig_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_channelAccessConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_channelAccessConfig_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_101 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_ChannelAccessConfig_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_channelAccessConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_channelAccessConfig_r16, T_channelAccessConfig_r16_choice, + NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_274(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 274U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t GuardBand_r16_sequence[] = { + { &hf_nr_rrc_startCRB_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_274 }, + { &hf_nr_rrc_nrofCRBs_r16 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_GuardBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_GuardBand_r16, GuardBand_r16_sequence); + + return offset; +} + + +static const per_sequence_t IntraCellGuardBands_r16_sequence_of[1] = { + { &hf_nr_rrc_IntraCellGuardBands_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_GuardBand_r16 }, +}; + +static int +dissect_nr_rrc_IntraCellGuardBands_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_IntraCellGuardBands_r16, IntraCellGuardBands_r16_sequence_of, + 1, 4, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_csi_RS_ValidationWith_DCI_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_csi_RS_ValidationWith_DCI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 LTE_CRS_PatternList_r16_sequence_of[1] = { + { &hf_nr_rrc_LTE_CRS_PatternList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPatternLTE_CRS }, +}; + +static int +dissect_nr_rrc_LTE_CRS_PatternList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_LTE_CRS_PatternList_r16, LTE_CRS_PatternList_r16_sequence_of, + 1, maxLTE_CRS_Patterns_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_lte_CRS_PatternList1_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_lte_CRS_PatternList1_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_102 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_LTE_CRS_PatternList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_lte_CRS_PatternList1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_lte_CRS_PatternList1_r16, T_lte_CRS_PatternList1_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_lte_CRS_PatternList2_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_lte_CRS_PatternList2_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_102 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_LTE_CRS_PatternList_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_lte_CRS_PatternList2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_lte_CRS_PatternList2_r16, T_lte_CRS_PatternList2_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_crs_RateMatch_PerCORESETPoolIndex_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_crs_RateMatch_PerCORESETPoolIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_enableTwoDefaultTCIStates_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_enableTwoDefaultTCIStates_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_enableDefaultTCIStatePerCoresetPoolIndex_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_enableDefaultTCIStatePerCoresetPoolIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_enableBeamSwitchTiming_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_enableBeamSwitchTiming_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_cbg_TxDiffTBsProcessingType1_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_cbg_TxDiffTBsProcessingType1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_cbg_TxDiffTBsProcessingType2_r16_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_cbg_TxDiffTBsProcessingType2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 ServingCellConfig_eag_2_sequence[] = { + { &hf_nr_rrc_supplementaryUplinkRelease, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_supplementaryUplinkRelease }, + { &hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated_iab_mt_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigDedicated_IAB_MT_r16 }, + { &hf_nr_rrc_dormantBWP_Config_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dormantBWP_Config_r16 }, + { &hf_nr_rrc_ca_SlotOffset_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ca_SlotOffset_r16 }, + { &hf_nr_rrc_channelAccessConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_channelAccessConfig_r16 }, + { &hf_nr_rrc_intraCellGuardBandsUL_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_IntraCellGuardBands_r16 }, + { &hf_nr_rrc_intraCellGuardBandsDL_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_IntraCellGuardBands_r16 }, + { &hf_nr_rrc_csi_RS_ValidationWith_DCI_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_ValidationWith_DCI_r16 }, + { &hf_nr_rrc_lte_CRS_PatternList1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_lte_CRS_PatternList1_r16 }, + { &hf_nr_rrc_lte_CRS_PatternList2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_lte_CRS_PatternList2_r16 }, + { &hf_nr_rrc_crs_RateMatch_PerCORESETPoolIndex_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_crs_RateMatch_PerCORESETPoolIndex_r16 }, + { &hf_nr_rrc_enableTwoDefaultTCIStates_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_enableTwoDefaultTCIStates_r16 }, + { &hf_nr_rrc_enableDefaultTCIStatePerCoresetPoolIndex_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_enableDefaultTCIStatePerCoresetPoolIndex_r16 }, + { &hf_nr_rrc_enableBeamSwitchTiming_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_enableBeamSwitchTiming_r16 }, + { &hf_nr_rrc_cbg_TxDiffTBsProcessingType1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cbg_TxDiffTBsProcessingType1_r16 }, + { &hf_nr_rrc_cbg_TxDiffTBsProcessingType2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cbg_TxDiffTBsProcessingType2_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ServingCellConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ServingCellConfig_eag_2_sequence); + + return offset; +} + + static const per_sequence_t ServingCellConfig_sequence[] = { { &hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigDedicated }, { &hf_nr_rrc_initialDownlinkBWP_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_DownlinkDedicated }, @@ -34390,6 +62580,7 @@ static const per_sequence_t ServingCellConfig_sequence[] = { { &hf_nr_rrc_pathlossReferenceLinking, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pathlossReferenceLinking }, { &hf_nr_rrc_servingCellMO, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasObjectId }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfig_eag_1 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfig_eag_2 }, { NULL, 0, 0, NULL } }; @@ -34443,11 +62634,56 @@ dissect_nr_rrc_SCellConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } +static const value_string nr_rrc_T_sCellState_r16_vals[] = { + { 0, "activated" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sCellState_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_secondaryDRX_GroupConfig_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_secondaryDRX_GroupConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 SCellConfig_eag_2_sequence[] = { + { &hf_nr_rrc_sCellState_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sCellState_r16 }, + { &hf_nr_rrc_secondaryDRX_GroupConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_secondaryDRX_GroupConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SCellConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SCellConfig_eag_2_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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellConfig_eag_2 }, { NULL, 0, 0, NULL } }; @@ -34516,6 +62752,102 @@ dissect_nr_rrc_CellGroupConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } +static const per_sequence_t SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelConfig_r16_sequence_of[1] = { + { &hf_nr_rrc_bh_RLC_ChannelToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BH_RLC_ChannelConfig_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelConfig_r16, SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelConfig_r16_sequence_of, + 1, maxBH_RLC_ChannelID_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelID_r16_sequence_of[1] = { + { &hf_nr_rrc_bh_RLC_ChannelToReleaseList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BH_RLC_ChannelID_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelID_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelID_r16, SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelID_r16_sequence_of, + 1, maxBH_RLC_ChannelID_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_f1c_TransferPath_r16_vals[] = { + { 0, "lte" }, + { 1, "nr" }, + { 2, "both" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_f1c_TransferPath_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex_sequence_of[1] = { + { &hf_nr_rrc_simultaneousTCI_UpdateList1_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex, SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex_sequence_of, + 1, maxNrofServingCellsTCI_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_uplinkTxSwitchingOption_r16_vals[] = { + { 0, "switchedUL" }, + { 1, "dualUL" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_uplinkTxSwitchingOption_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 CellGroupConfig_eag_2_sequence[] = { + { &hf_nr_rrc_bap_Address_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, + { &hf_nr_rrc_bh_RLC_ChannelToAddModList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelConfig_r16 }, + { &hf_nr_rrc_bh_RLC_ChannelToReleaseList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelID_r16 }, + { &hf_nr_rrc_f1c_TransferPath_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_f1c_TransferPath_r16 }, + { &hf_nr_rrc_simultaneousTCI_UpdateList1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex }, + { &hf_nr_rrc_simultaneousTCI_UpdateList2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex }, + { &hf_nr_rrc_simultaneousSpatial_UpdatedList1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex }, + { &hf_nr_rrc_simultaneousSpatial_UpdatedList2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex }, + { &hf_nr_rrc_uplinkTxSwitchingOption_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uplinkTxSwitchingOption_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CellGroupConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CellGroupConfig_eag_2_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 }, @@ -34526,6 +62858,7 @@ static const per_sequence_t CellGroupConfig_sequence[] = { { &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 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupConfig_eag_2 }, { NULL, 0, 0, NULL } }; @@ -34540,8 +62873,22 @@ dissect_nr_rrc_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } +static const per_sequence_t MeasResultSCG_Failure_eag_1_sequence[] = { + { &hf_nr_rrc_locationInfo_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_LocationInfo_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasResultSCG_Failure_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, MeasResultSCG_Failure_eag_1_sequence); + + return offset; +} + + static const per_sequence_t MeasResultSCG_Failure_sequence[] = { { &hf_nr_rrc_measResultPerMOList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultList2NR }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultSCG_Failure_eag_1 }, { NULL, 0, 0, NULL } }; @@ -34556,7 +62903,7 @@ dissect_nr_rrc_MeasResultSCG_Failure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx static const value_string nr_rrc_AccessStratumRelease_vals[] = { { 0, "rel15" }, - { 1, "spare7" }, + { 1, "rel16" }, { 2, "spare6" }, { 3, "spare5" }, { 4, "spare4" }, @@ -35118,6 +63465,193 @@ dissect_nr_rrc_MRDC_Parameters_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } +static const value_string nr_rrc_T_eutra_TDD_Config0_r16_vals[] = { + { 0, "n20" }, + { 1, "n40" }, + { 2, "n50" }, + { 3, "n60" }, + { 4, "n70" }, + { 5, "n80" }, + { 6, "n90" }, + { 7, "n100" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_eutra_TDD_Config0_r16(tvbuff_t *tvb _U_, int offset _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_eutra_TDD_Config1_r16_vals[] = { + { 0, "n20" }, + { 1, "n40" }, + { 2, "n50" }, + { 3, "n60" }, + { 4, "n70" }, + { 5, "n80" }, + { 6, "n90" }, + { 7, "n100" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_eutra_TDD_Config1_r16(tvbuff_t *tvb _U_, int offset _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_eutra_TDD_Config2_r16_vals[] = { + { 0, "n20" }, + { 1, "n40" }, + { 2, "n50" }, + { 3, "n60" }, + { 4, "n70" }, + { 5, "n80" }, + { 6, "n90" }, + { 7, "n100" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_eutra_TDD_Config2_r16(tvbuff_t *tvb _U_, int offset _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_eutra_TDD_Config3_r16_vals[] = { + { 0, "n20" }, + { 1, "n40" }, + { 2, "n50" }, + { 3, "n60" }, + { 4, "n70" }, + { 5, "n80" }, + { 6, "n90" }, + { 7, "n100" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_eutra_TDD_Config3_r16(tvbuff_t *tvb _U_, int offset _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_eutra_TDD_Config4_r16_vals[] = { + { 0, "n20" }, + { 1, "n40" }, + { 2, "n50" }, + { 3, "n60" }, + { 4, "n70" }, + { 5, "n80" }, + { 6, "n90" }, + { 7, "n100" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_eutra_TDD_Config4_r16(tvbuff_t *tvb _U_, int offset _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_eutra_TDD_Config5_r16_vals[] = { + { 0, "n20" }, + { 1, "n40" }, + { 2, "n50" }, + { 3, "n60" }, + { 4, "n70" }, + { 5, "n80" }, + { 6, "n90" }, + { 7, "n100" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_eutra_TDD_Config5_r16(tvbuff_t *tvb _U_, int offset _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_eutra_TDD_Config6_r16_vals[] = { + { 0, "n20" }, + { 1, "n40" }, + { 2, "n50" }, + { 3, "n60" }, + { 4, "n70" }, + { 5, "n80" }, + { 6, "n90" }, + { 7, "n100" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_eutra_TDD_Config6_r16(tvbuff_t *tvb _U_, int offset _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_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16_sequence[] = { + { &hf_nr_rrc_eutra_TDD_Config0_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eutra_TDD_Config0_r16 }, + { &hf_nr_rrc_eutra_TDD_Config1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eutra_TDD_Config1_r16 }, + { &hf_nr_rrc_eutra_TDD_Config2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eutra_TDD_Config2_r16 }, + { &hf_nr_rrc_eutra_TDD_Config3_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eutra_TDD_Config3_r16 }, + { &hf_nr_rrc_eutra_TDD_Config4_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eutra_TDD_Config4_r16 }, + { &hf_nr_rrc_eutra_TDD_Config5_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eutra_TDD_Config5_r16 }, + { &hf_nr_rrc_eutra_TDD_Config6_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eutra_TDD_Config6_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16, T_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16_sequence); + + return offset; +} + + +static const per_sequence_t MRDC_Parameters_eag_2_sequence[] = { + { &hf_nr_rrc_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MRDC_Parameters_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MRDC_Parameters_eag_2_sequence); + + return offset; +} + + static const per_sequence_t MRDC_Parameters_sequence[] = { { &hf_nr_rrc_singleUL_Transmission, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_singleUL_Transmission }, { &hf_nr_rrc_dynamicPowerSharingENDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicPowerSharingENDC }, @@ -35127,6 +63661,7 @@ static const per_sequence_t MRDC_Parameters_sequence[] = { { &hf_nr_rrc_simultaneousRxTxInterBandENDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRxTxInterBandENDC }, { &hf_nr_rrc_asyncIntraBandENDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_asyncIntraBandENDC }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MRDC_Parameters_eag_1 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MRDC_Parameters_eag_2 }, { NULL, 0, 0, NULL } }; @@ -35892,6 +64427,1222 @@ dissect_nr_rrc_BandCombinationList_v1590(tvbuff_t *tvb _U_, int offset _U_, asn1 } +static const value_string nr_rrc_T_supportedSRS_TxPortSwitch_v1610_vals[] = { + { 0, "t1r1-t1r2" }, + { 1, "t1r1-t1r2-t1r4" }, + { 2, "t1r1-t1r2-t2r2-t2r4" }, + { 3, "t1r1-t1r2-t2r2-t1r4-t2r4" }, + { 4, "t1r1-t2r2" }, + { 5, "t1r1-t2r2-t4r4" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_supportedSRS_TxPortSwitch_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 6, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_srs_TxSwitch_v1610_sequence[] = { + { &hf_nr_rrc_supportedSRS_TxPortSwitch_v1610, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedSRS_TxPortSwitch_v1610 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_srs_TxSwitch_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_srs_TxSwitch_v1610, T_srs_TxSwitch_v1610_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_intraFreqDiffSCS_DAPS_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_intraFreqDiffSCS_DAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_intraFreqDAPS_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_intraFreqDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_intraFreqAsyncDAPS_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_intraFreqAsyncDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_intraFreqMultiUL_TransmissionDAPS_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_intraFreqMultiUL_TransmissionDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_intraFreqTwoTAGs_DAPS_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_intraFreqTwoTAGs_DAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_intraFreqSemiStaticPowerSharingDAPS_Mode1_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_intraFreqSemiStaticPowerSharingDAPS_Mode1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_intraFreqSemiStaticPowerSharingDAPS_Mode2_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_intraFreqSemiStaticPowerSharingDAPS_Mode2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_intraFreqDynamicPowersharingDAPS_r16_vals[] = { + { 0, "short" }, + { 1, "long" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_intraFreqDynamicPowersharingDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_intraFreqDAPS_Parameters_r16_sequence[] = { + { &hf_nr_rrc_intraFreqDiffSCS_DAPS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraFreqDiffSCS_DAPS_r16 }, + { &hf_nr_rrc_intraFreqDAPS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraFreqDAPS_r16 }, + { &hf_nr_rrc_intraFreqAsyncDAPS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraFreqAsyncDAPS_r16 }, + { &hf_nr_rrc_intraFreqMultiUL_TransmissionDAPS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraFreqMultiUL_TransmissionDAPS_r16 }, + { &hf_nr_rrc_intraFreqTwoTAGs_DAPS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraFreqTwoTAGs_DAPS_r16 }, + { &hf_nr_rrc_intraFreqSemiStaticPowerSharingDAPS_Mode1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraFreqSemiStaticPowerSharingDAPS_Mode1_r16 }, + { &hf_nr_rrc_intraFreqSemiStaticPowerSharingDAPS_Mode2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraFreqSemiStaticPowerSharingDAPS_Mode2_r16 }, + { &hf_nr_rrc_intraFreqDynamicPowersharingDAPS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraFreqDynamicPowersharingDAPS_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_intraFreqDAPS_Parameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_intraFreqDAPS_Parameters_r16, T_intraFreqDAPS_Parameters_r16_sequence); + + return offset; +} + + +static const per_sequence_t BandParameters_v1610_sequence[] = { + { &hf_nr_rrc_srs_TxSwitch_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_TxSwitch_v1610 }, + { &hf_nr_rrc_intraFreqDAPS_Parameters_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraFreqDAPS_Parameters_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_BandParameters_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BandParameters_v1610, BandParameters_v1610_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1610_sequence_of[1] = { + { &hf_nr_rrc_bandList_v1610_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParameters_v1610 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1610, SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1610_sequence_of, + 1, maxSimultaneousBands, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_parallelTxMsgA_SRS_PUCCH_PUSCH_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_parallelTxMsgA_SRS_PUCCH_PUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_msgA_SUL_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_msgA_SUL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_jointSearchSpaceGroupSwitchingAcrossCells_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_jointSearchSpaceGroupSwitchingAcrossCells_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_half_DuplexTDD_CA_SameSCS_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_half_DuplexTDD_CA_SameSCS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scellDormancyWithinActiveTime_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scellDormancyWithinActiveTime_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scellDormancyOutsideActiveTime_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scellDormancyOutsideActiveTime_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_crossCarrierA_CSI_trigDiffSCS_r16_vals[] = { + { 0, "higherA-CSI-SCS" }, + { 1, "lowerA-CSI-SCS" }, + { 2, "both" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_crossCarrierA_CSI_trigDiffSCS_r16(tvbuff_t *tvb _U_, int offset _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_defaultQCL_CrossCarrierA_CSI_Trig_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_defaultQCL_CrossCarrierA_CSI_Trig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_interCA_NonAlignedFrame_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_interCA_NonAlignedFrame_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_asyncDAPS_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_asyncDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_interFreqDAPS_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_interFreqDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_interFreqDiffSCS_DAPS_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_interFreqDiffSCS_DAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_multiUL_TransmissionDAPS_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_multiUL_TransmissionDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_semiStaticPowerSharingDAPS_Mode1_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_semiStaticPowerSharingDAPS_Mode1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_semiStaticPowerSharingDAPS_Mode2_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_semiStaticPowerSharingDAPS_Mode2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_dynamicPowersharingDAPS_r16_vals[] = { + { 0, "short" }, + { 1, "long" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_dynamicPowersharingDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_ul_TransCancellationDAPS_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ul_TransCancellationDAPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_daps_Parameters_r16_sequence[] = { + { &hf_nr_rrc_asyncDAPS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_asyncDAPS_r16 }, + { &hf_nr_rrc_interFreqDAPS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interFreqDAPS_r16 }, + { &hf_nr_rrc_interFreqDiffSCS_DAPS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interFreqDiffSCS_DAPS_r16 }, + { &hf_nr_rrc_multiUL_TransmissionDAPS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_multiUL_TransmissionDAPS_r16 }, + { &hf_nr_rrc_semiStaticPowerSharingDAPS_Mode1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_semiStaticPowerSharingDAPS_Mode1_r16 }, + { &hf_nr_rrc_semiStaticPowerSharingDAPS_Mode2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_semiStaticPowerSharingDAPS_Mode2_r16 }, + { &hf_nr_rrc_dynamicPowersharingDAPS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicPowersharingDAPS_r16 }, + { &hf_nr_rrc_ul_TransCancellationDAPS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_TransCancellationDAPS_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_daps_Parameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_daps_Parameters_r16, T_daps_Parameters_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxNrofCSI_RS_ResourcesAlt_1_r16, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_type1_SinglePanel_r16_sequence_of[1] = { + { &hf_nr_rrc_type1_SinglePanel_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 }, +}; + +static int +dissect_nr_rrc_T_type1_SinglePanel_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_type1_SinglePanel_r16, T_type1_SinglePanel_r16_sequence_of, + 1, maxNrofCSI_RS_Resources, FALSE); + + return offset; +} + + +static const per_sequence_t T_type1_MultiPanel_r16_sequence_of[1] = { + { &hf_nr_rrc_type1_MultiPanel_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 }, +}; + +static int +dissect_nr_rrc_T_type1_MultiPanel_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_type1_MultiPanel_r16, T_type1_MultiPanel_r16_sequence_of, + 1, maxNrofCSI_RS_Resources, FALSE); + + return offset; +} + + +static const per_sequence_t T_type2_r16_sequence_of[1] = { + { &hf_nr_rrc_type2_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 }, +}; + +static int +dissect_nr_rrc_T_type2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_type2_r16, T_type2_r16_sequence_of, + 1, maxNrofCSI_RS_Resources, FALSE); + + return offset; +} + + +static const per_sequence_t T_type2_PortSelection_r16_sequence_of[1] = { + { &hf_nr_rrc_type2_PortSelection_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16 }, +}; + +static int +dissect_nr_rrc_T_type2_PortSelection_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_type2_PortSelection_r16, T_type2_PortSelection_r16_sequence_of, + 1, maxNrofCSI_RS_Resources, FALSE); + + return offset; +} + + +static const per_sequence_t T_supportedCSI_RS_ResourceListAlt_r16_sequence[] = { + { &hf_nr_rrc_type1_SinglePanel_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type1_SinglePanel_r16 }, + { &hf_nr_rrc_type1_MultiPanel_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type1_MultiPanel_r16 }, + { &hf_nr_rrc_type2_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_r16 }, + { &hf_nr_rrc_type2_PortSelection_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_PortSelection_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_supportedCSI_RS_ResourceListAlt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_supportedCSI_RS_ResourceListAlt_r16, T_supportedCSI_RS_ResourceListAlt_r16_sequence); + + return offset; +} + + +static const per_sequence_t CodebookParameters_v1610_sequence[] = { + { &hf_nr_rrc_supportedCSI_RS_ResourceListAlt_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_supportedCSI_RS_ResourceListAlt_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CodebookParameters_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CodebookParameters_v1610, CodebookParameters_v1610_sequence); + + return offset; +} + + +static const per_sequence_t CA_ParametersNR_v1610_sequence[] = { + { &hf_nr_rrc_parallelTxMsgA_SRS_PUCCH_PUSCH_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_parallelTxMsgA_SRS_PUCCH_PUSCH_r16 }, + { &hf_nr_rrc_msgA_SUL_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_msgA_SUL_r16 }, + { &hf_nr_rrc_jointSearchSpaceGroupSwitchingAcrossCells_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_jointSearchSpaceGroupSwitchingAcrossCells_r16 }, + { &hf_nr_rrc_half_DuplexTDD_CA_SameSCS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_half_DuplexTDD_CA_SameSCS_r16 }, + { &hf_nr_rrc_scellDormancyWithinActiveTime_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scellDormancyWithinActiveTime_r16 }, + { &hf_nr_rrc_scellDormancyOutsideActiveTime_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scellDormancyOutsideActiveTime_r16 }, + { &hf_nr_rrc_crossCarrierA_CSI_trigDiffSCS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_crossCarrierA_CSI_trigDiffSCS_r16 }, + { &hf_nr_rrc_defaultQCL_CrossCarrierA_CSI_Trig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_defaultQCL_CrossCarrierA_CSI_Trig_r16 }, + { &hf_nr_rrc_interCA_NonAlignedFrame_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interCA_NonAlignedFrame_r16 }, + { &hf_nr_rrc_simul_SRS_Trans_InterBandCA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_2 }, + { &hf_nr_rrc_daps_Parameters_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_daps_Parameters_r16 }, + { &hf_nr_rrc_codebookParametersPerBC_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CodebookParameters_v1610 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CA_ParametersNR_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CA_ParametersNR_v1610, CA_ParametersNR_v1610_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_intraFR_NR_DC_PwrSharingMode1_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_intraFR_NR_DC_PwrSharingMode1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_intraFR_NR_DC_PwrSharingMode2_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_intraFR_NR_DC_PwrSharingMode2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_intraFR_NR_DC_DynamicPwrSharing_r16_vals[] = { + { 0, "short" }, + { 1, "long" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_intraFR_NR_DC_DynamicPwrSharing_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 CA_ParametersNRDC_v1610_sequence[] = { + { &hf_nr_rrc_intraFR_NR_DC_PwrSharingMode1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraFR_NR_DC_PwrSharingMode1_r16 }, + { &hf_nr_rrc_intraFR_NR_DC_PwrSharingMode2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraFR_NR_DC_PwrSharingMode2_r16 }, + { &hf_nr_rrc_intraFR_NR_DC_DynamicPwrSharing_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraFR_NR_DC_DynamicPwrSharing_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CA_ParametersNRDC_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CA_ParametersNRDC_v1610, CA_ParametersNRDC_v1610_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_powerClass_v1610_vals[] = { + { 0, "pc1dot5" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_powerClass_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t BandCombination_v1610_sequence[] = { + { &hf_nr_rrc_bandList_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1610 }, + { &hf_nr_rrc_ca_ParametersNR_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_ParametersNR_v1610 }, + { &hf_nr_rrc_ca_ParametersNRDC_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_ParametersNRDC_v1610 }, + { &hf_nr_rrc_powerClass_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_powerClass_v1610 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_BandCombination_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BandCombination_v1610, BandCombination_v1610_sequence); + + return offset; +} + + +static const per_sequence_t BandCombinationList_v1610_sequence_of[1] = { + { &hf_nr_rrc_BandCombinationList_v1610_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1610 }, +}; + +static int +dissect_nr_rrc_BandCombinationList_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BandCombinationList_v1610, BandCombinationList_v1610_sequence_of, + 1, maxBandComb, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_1_maxSimultaneousBands(tvbuff_t *tvb _U_, int offset _U_, 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, maxSimultaneousBands, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_uplinkTxSwitchingPeriod_r16_vals[] = { + { 0, "n35us" }, + { 1, "n140us" }, + { 2, "n210us" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_uplinkTxSwitchingPeriod_r16(tvbuff_t *tvb _U_, int offset _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_BIT_STRING_SIZE_1_maxSimultaneousBands(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, maxSimultaneousBands, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const per_sequence_t ULTxSwitchingBandPair_r16_sequence[] = { + { &hf_nr_rrc_bandIndexUL1_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxSimultaneousBands }, + { &hf_nr_rrc_bandIndexUL2_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxSimultaneousBands }, + { &hf_nr_rrc_uplinkTxSwitchingPeriod_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_uplinkTxSwitchingPeriod_r16 }, + { &hf_nr_rrc_uplinkTxSwitching_DL_Interruption_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_1_maxSimultaneousBands }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_ULTxSwitchingBandPair_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_ULTxSwitchingBandPair_r16, ULTxSwitchingBandPair_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_r16_sequence_of[1] = { + { &hf_nr_rrc_supportedBandPairListNR_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ULTxSwitchingBandPair_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_r16, SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_r16_sequence_of, + 1, maxULTxSwitchingBandPairs, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_uplinkTxSwitching_OptionSupport_r16_vals[] = { + { 0, "switchedUL" }, + { 1, "dualUL" }, + { 2, "both" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_uplinkTxSwitching_OptionSupport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t BandCombination_UplinkTxSwitch_r16_sequence[] = { + { &hf_nr_rrc_bandCombination_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination }, + { &hf_nr_rrc_bandCombination_v1540, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombination_v1540 }, + { &hf_nr_rrc_bandCombination_v1560, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombination_v1560 }, + { &hf_nr_rrc_bandCombination_v1570, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombination_v1570 }, + { &hf_nr_rrc_bandCombination_v1580, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombination_v1580 }, + { &hf_nr_rrc_bandCombination_v1590, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombination_v1590 }, + { &hf_nr_rrc_bandCombination_v1610, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombination_v1610 }, + { &hf_nr_rrc_supportedBandPairListNR_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_r16 }, + { &hf_nr_rrc_uplinkTxSwitching_OptionSupport_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_uplinkTxSwitching_OptionSupport_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_BandCombination_UplinkTxSwitch_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BandCombination_UplinkTxSwitch_r16, BandCombination_UplinkTxSwitch_r16_sequence); + + return offset; +} + + +static const per_sequence_t BandCombinationList_UplinkTxSwitch_r16_sequence_of[1] = { + { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_UplinkTxSwitch_r16 }, +}; + +static int +dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BandCombinationList_UplinkTxSwitch_r16, BandCombinationList_UplinkTxSwitch_r16_sequence_of, + 1, maxBandComb, FALSE); + + return offset; +} + + +static const per_sequence_t BandParametersSidelink_r16_sequence[] = { + { &hf_nr_rrc_freqBandSidelink_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_BandParametersSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BandParametersSidelink_r16, BandParametersSidelink_r16_sequence); + + return offset; +} + + +static const per_sequence_t BandCombinationParametersSidelink_r16_sequence_of[1] = { + { &hf_nr_rrc_BandCombinationParametersSidelink_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParametersSidelink_r16 }, +}; + +static int +dissect_nr_rrc_BandCombinationParametersSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BandCombinationParametersSidelink_r16, BandCombinationParametersSidelink_r16_sequence_of, + 1, maxSimultaneousBands, FALSE); + + return offset; +} + + +static const per_sequence_t SupportedBandCombinationListSidelink_r16_sequence_of[1] = { + { &hf_nr_rrc_SupportedBandCombinationListSidelink_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationParametersSidelink_r16 }, +}; + +static int +dissect_nr_rrc_SupportedBandCombinationListSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SupportedBandCombinationListSidelink_r16, SupportedBandCombinationListSidelink_r16_sequence_of, + 1, maxBandComb, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_T_bandCombinationListEUTRA1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *band_comb_list_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &band_comb_list_tvb); + + if (band_comb_list_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_bandCombinationListEUTRA1_r16); + dissect_lte_rrc_V2X_SupportedBandCombination_r14_PDU(band_comb_list_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + + +static int +dissect_nr_rrc_T_bandCombinationListEUTRA2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *band_comb_list_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &band_comb_list_tvb); + + if (band_comb_list_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_bandCombinationListEUTRA2_r16); + dissect_lte_rrc_V2X_SupportedBandCombination_v1530_PDU(band_comb_list_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + +static const per_sequence_t SupportedBandCombinationListSidelinkEUTRA_r16_sequence[] = { + { &hf_nr_rrc_bandCombinationListEUTRA1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bandCombinationListEUTRA1_r16 }, + { &hf_nr_rrc_bandCombinationListEUTRA2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bandCombinationListEUTRA2_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SupportedBandCombinationListSidelinkEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SupportedBandCombinationListSidelinkEUTRA_r16, SupportedBandCombinationListSidelinkEUTRA_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_T_bandParametersSidelinkEUTRA1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *band_params_sl_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &band_params_sl_tvb); + + if (band_params_sl_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_bandParametersSidelinkEUTRA1_r16); + dissect_lte_rrc_V2X_BandParameters_r14_PDU(band_params_sl_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + + +static int +dissect_nr_rrc_T_bandParametersSidelinkEUTRA2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *band_params_sl_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &band_params_sl_tvb); + + if (band_params_sl_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_bandParametersSidelinkEUTRA2_r16); + dissect_lte_rrc_V2X_BandParameters_v1530_PDU(band_params_sl_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + +static const per_sequence_t T_eutra_02_sequence[] = { + { &hf_nr_rrc_bandParametersSidelinkEUTRA1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bandParametersSidelinkEUTRA1_r16 }, + { &hf_nr_rrc_bandParametersSidelinkEUTRA2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bandParametersSidelinkEUTRA2_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_eutra_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_eutra_02, T_eutra_02_sequence); + + return offset; +} + + +static const per_sequence_t T_nr_02_sequence[] = { + { &hf_nr_rrc_bandParametersSidelinkNR_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParametersSidelink_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nr_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_nr_02, T_nr_02_sequence); + + return offset; +} + + +static const value_string nr_rrc_BandParametersSidelinkEUTRA_NR_r16_vals[] = { + { 0, "eutra" }, + { 1, "nr" }, + { 0, NULL } +}; + +static const per_choice_t BandParametersSidelinkEUTRA_NR_r16_choice[] = { + { 0, &hf_nr_rrc_eutra_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eutra_02 }, + { 1, &hf_nr_rrc_nr_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nr_02 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_BandParametersSidelinkEUTRA_NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BandParametersSidelinkEUTRA_NR_r16, BandParametersSidelinkEUTRA_NR_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t BandCombinationParametersSidelinkEUTRA_NR_r16_sequence_of[1] = { + { &hf_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParametersSidelinkEUTRA_NR_r16 }, +}; + +static int +dissect_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_r16, BandCombinationParametersSidelinkEUTRA_NR_r16_sequence_of, + 1, maxSimultaneousBands, FALSE); + + return offset; +} + + +static const per_sequence_t SupportedBandCombinationListSidelinkEUTRA_NR_r16_sequence_of[1] = { + { &hf_nr_rrc_SupportedBandCombinationListSidelinkEUTRA_NR_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_r16 }, +}; + +static int +dissect_nr_rrc_SupportedBandCombinationListSidelinkEUTRA_NR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SupportedBandCombinationListSidelinkEUTRA_NR_r16, SupportedBandCombinationListSidelinkEUTRA_NR_r16_sequence_of, + 1, maxBandComb, FALSE); + + return offset; +} + + +static const per_sequence_t BandCombinationListSidelink_r16_sequence[] = { + { &hf_nr_rrc_supportedBandCombinationListSidelink_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SupportedBandCombinationListSidelink_r16 }, + { &hf_nr_rrc_supportedBandCombinationListSidelinkEUTRA_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SupportedBandCombinationListSidelinkEUTRA_r16 }, + { &hf_nr_rrc_supportedBandCombinationListSidelinkEUTRA_NR_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SupportedBandCombinationListSidelinkEUTRA_NR_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_BandCombinationListSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BandCombinationListSidelink_r16, BandCombinationListSidelink_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_fr1fdd_FR1TDD_CA_SpCellOnFR1FDD_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_fr1fdd_FR1TDD_CA_SpCellOnFR1FDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_fr1fdd_FR1TDD_CA_SpCellOnFR1TDD_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_fr1fdd_FR1TDD_CA_SpCellOnFR1TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_fr1fdd_FR2TDD_CA_SpCellOnFR1FDD_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_fr1fdd_FR2TDD_CA_SpCellOnFR1FDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_fr1fdd_FR2TDD_CA_SpCellOnFR2TDD_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_fr1fdd_FR2TDD_CA_SpCellOnFR2TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_fr1tdd_FR2TDD_CA_SpCellOnFR1TDD_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_fr1tdd_FR2TDD_CA_SpCellOnFR1TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_fr1tdd_FR2TDD_CA_SpCellOnFR2TDD_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_fr1tdd_FR2TDD_CA_SpCellOnFR2TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1FDD_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1FDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1TDD_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR2TDD_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR2TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 CarrierAggregationVariant_sequence[] = { + { &hf_nr_rrc_fr1fdd_FR1TDD_CA_SpCellOnFR1FDD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_fr1fdd_FR1TDD_CA_SpCellOnFR1FDD }, + { &hf_nr_rrc_fr1fdd_FR1TDD_CA_SpCellOnFR1TDD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_fr1fdd_FR1TDD_CA_SpCellOnFR1TDD }, + { &hf_nr_rrc_fr1fdd_FR2TDD_CA_SpCellOnFR1FDD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_fr1fdd_FR2TDD_CA_SpCellOnFR1FDD }, + { &hf_nr_rrc_fr1fdd_FR2TDD_CA_SpCellOnFR2TDD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_fr1fdd_FR2TDD_CA_SpCellOnFR2TDD }, + { &hf_nr_rrc_fr1tdd_FR2TDD_CA_SpCellOnFR1TDD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_fr1tdd_FR2TDD_CA_SpCellOnFR1TDD }, + { &hf_nr_rrc_fr1tdd_FR2TDD_CA_SpCellOnFR2TDD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_fr1tdd_FR2TDD_CA_SpCellOnFR2TDD }, + { &hf_nr_rrc_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1FDD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1FDD }, + { &hf_nr_rrc_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1TDD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1TDD }, + { &hf_nr_rrc_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR2TDD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR2TDD }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_CarrierAggregationVariant(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CarrierAggregationVariant, CarrierAggregationVariant_sequence); + + return offset; +} + + static const value_string nr_rrc_T_maxNumberTxPortsPerResource_vals[] = { { 0, "p2" }, { 1, "p4" }, @@ -36040,16 +65791,6 @@ dissect_nr_rrc_T_type1_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } - -static int -dissect_nr_rrc_INTEGER_2_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 2U, 4U, NULL, FALSE); - - return offset; -} - - static const value_string nr_rrc_T_amplitudeScalingType_vals[] = { { 0, "wideband" }, { 1, "widebandAndSubband" }, @@ -36081,7 +65822,7 @@ dissect_nr_rrc_T_amplitudeSubsetRestriction(tvbuff_t *tvb _U_, int offset _U_, a } -static const per_sequence_t T_type2_01_sequence[] = { +static const per_sequence_t T_type2_02_sequence[] = { { &hf_nr_rrc_supportedCSI_RS_ResourceList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource }, { &hf_nr_rrc_parameterLx , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_4 }, { &hf_nr_rrc_amplitudeScalingType, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_amplitudeScalingType }, @@ -36090,9 +65831,9 @@ static const per_sequence_t T_type2_01_sequence[] = { }; static int -dissect_nr_rrc_T_type2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_type2_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_type2_01, T_type2_01_sequence); + ett_nr_rrc_T_type2_02, T_type2_02_sequence); return offset; } @@ -36132,7 +65873,7 @@ dissect_nr_rrc_T_type2_PortSelection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx static const per_sequence_t CodebookParameters_sequence[] = { { &hf_nr_rrc_type1_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_type1_02 }, - { &hf_nr_rrc_type2_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_01 }, + { &hf_nr_rrc_type2_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_02 }, { &hf_nr_rrc_type2_PortSelection, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_PortSelection }, { NULL, 0, 0, NULL } }; @@ -36146,6 +65887,20 @@ dissect_nr_rrc_CodebookParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } +static const per_sequence_t CodebookVariantsList_r16_sequence_of[1] = { + { &hf_nr_rrc_CodebookVariantsList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SupportedCSI_RS_Resource }, +}; + +static int +dissect_nr_rrc_CodebookVariantsList_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_CodebookVariantsList_r16, CodebookVariantsList_r16_sequence_of, + 1, maxNrofCSI_RS_ResourcesAlt_r16, FALSE); + + return offset; +} + + static int dissect_nr_rrc_FeatureSetEUTRA_DownlinkId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -36166,16 +65921,16 @@ dissect_nr_rrc_FeatureSetEUTRA_UplinkId(tvbuff_t *tvb _U_, int offset _U_, asn1_ } -static const per_sequence_t T_eutra_02_sequence[] = { +static const per_sequence_t T_eutra_03_sequence[] = { { &hf_nr_rrc_downlinkSetEUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetEUTRA_DownlinkId }, { &hf_nr_rrc_uplinkSetEUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetEUTRA_UplinkId }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_eutra_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_eutra_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_eutra_02, T_eutra_02_sequence); + ett_nr_rrc_T_eutra_03, T_eutra_03_sequence); return offset; } @@ -36201,16 +65956,16 @@ dissect_nr_rrc_FeatureSetUplinkId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const per_sequence_t T_nr_02_sequence[] = { +static const per_sequence_t T_nr_03_sequence[] = { { &hf_nr_rrc_downlinkSetNR, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlinkId }, { &hf_nr_rrc_uplinkSetNR , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplinkId }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nr_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_nr_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_nr_02, T_nr_02_sequence); + ett_nr_rrc_T_nr_03, T_nr_03_sequence); return offset; } @@ -36223,8 +65978,8 @@ static const value_string nr_rrc_FeatureSet_vals[] = { }; static const per_choice_t FeatureSet_choice[] = { - { 0, &hf_nr_rrc_eutra_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eutra_02 }, - { 1, &hf_nr_rrc_nr_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nr_02 }, + { 0, &hf_nr_rrc_eutra_04 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eutra_03 }, + { 1, &hf_nr_rrc_nr_04 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nr_03 }, { 0, NULL, 0, NULL } }; @@ -37421,6 +67176,317 @@ dissect_nr_rrc_FeatureSetDownlink_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ } +static const value_string nr_rrc_T_maxNumberAperiodicSRS_PerBWP_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "n8" }, + { 4, "n16" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberAperiodicSRS_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 5, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_1_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 6U, NULL, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_maxNumberPeriodicSRS_PerBWP_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "n8" }, + { 4, "n16" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberPeriodicSRS_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 5, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_maxNumberSemiPersistentSRS_PerBWP_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "n8" }, + { 4, "n16" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberSemiPersistentSRS_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 5, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_maxNumberSRS_Ports_PerResource_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberSRS_Ports_PerResource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SRS_Resources_sequence[] = { + { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberAperiodicSRS_PerBWP }, + { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP_PerSlot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_6 }, + { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPeriodicSRS_PerBWP }, + { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP_PerSlot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_6 }, + { &hf_nr_rrc_maxNumberSemiPersistentSRS_PerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSemiPersistentSRS_PerBWP }, + { &hf_nr_rrc_maxNumberSemiPersistentSRS_PerBWP_PerSlot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_6 }, + { &hf_nr_rrc_maxNumberSRS_Ports_PerResource, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_Ports_PerResource }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SRS_Resources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SRS_Resources, SRS_Resources_sequence); + + return offset; +} + + +static const per_sequence_t FeatureSetDownlink_v15a0_sequence[] = { + { &hf_nr_rrc_supportedSRS_Resources, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SRS_Resources }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_FeatureSetDownlink_v15a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_FeatureSetDownlink_v15a0, FeatureSetDownlink_v15a0_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_scs_15kHz_02_vals[] = { + { 0, "one-pdsch" }, + { 1, "upto2" }, + { 2, "upto4" }, + { 3, "upto7" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_15kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scs_30kHz_02_vals[] = { + { 0, "one-pdsch" }, + { 1, "upto2" }, + { 2, "upto4" }, + { 3, "upto7" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_30kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scs_60kHz_03_vals[] = { + { 0, "one-pdsch" }, + { 1, "upto2" }, + { 2, "upto4" }, + { 3, "upto7" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_60kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scs_120kHz_03_vals[] = { + { 0, "one-pdsch" }, + { 1, "upto2" }, + { 2, "upto4" }, + { 3, "upto7" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_120kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_sequence[] = { + { &hf_nr_rrc_scs_15kHz_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_02 }, + { &hf_nr_rrc_scs_30kHz_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_02 }, + { &hf_nr_rrc_scs_60kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_03 }, + { &hf_nr_rrc_scs_120kHz_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_03 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot, T_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_scs_15kHz_03_vals[] = { + { 0, "one-pdsch" }, + { 1, "upto2" }, + { 2, "upto4" }, + { 3, "upto7" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_15kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scs_30kHz_03_vals[] = { + { 0, "one-pdsch" }, + { 1, "upto2" }, + { 2, "upto4" }, + { 3, "upto7" }, + { 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, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scs_60kHz_04_vals[] = { + { 0, "one-pdsch" }, + { 1, "upto2" }, + { 2, "upto4" }, + { 3, "upto7" }, + { 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, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scs_120kHz_04_vals[] = { + { 0, "one-pdsch" }, + { 1, "upto2" }, + { 2, "upto4" }, + { 3, "upto7" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_120kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_sequence[] = { + { &hf_nr_rrc_scs_15kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_03 }, + { &hf_nr_rrc_scs_30kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_03 }, + { &hf_nr_rrc_scs_60kHz_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_04 }, + { &hf_nr_rrc_scs_120kHz_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_04 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot, T_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_sequence); + + return offset; +} + + +static const per_sequence_t FeatureSetDownlink_v1610_sequence[] = { + { &hf_nr_rrc_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot }, + { &hf_nr_rrc_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_FeatureSetDownlink_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_FeatureSetDownlink_v1610, FeatureSetDownlink_v1610_sequence); + + return offset; +} + + static const value_string nr_rrc_T_fr1_04_vals[] = { { 0, "mhz5" }, { 1, "mhz10" }, @@ -37687,110 +67753,6 @@ dissect_nr_rrc_DummyI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p } -static const value_string nr_rrc_T_maxNumberAperiodicSRS_PerBWP_vals[] = { - { 0, "n1" }, - { 1, "n2" }, - { 2, "n4" }, - { 3, "n8" }, - { 4, "n16" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_maxNumberAperiodicSRS_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 5, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_nr_rrc_INTEGER_1_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 6U, NULL, FALSE); - - return offset; -} - - -static const value_string nr_rrc_T_maxNumberPeriodicSRS_PerBWP_vals[] = { - { 0, "n1" }, - { 1, "n2" }, - { 2, "n4" }, - { 3, "n8" }, - { 4, "n16" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_maxNumberPeriodicSRS_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 5, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string nr_rrc_T_maxNumberSemiPersistentSRS_PerBWP_vals[] = { - { 0, "n1" }, - { 1, "n2" }, - { 2, "n4" }, - { 3, "n8" }, - { 4, "n16" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_maxNumberSemiPersistentSRS_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 5, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string nr_rrc_T_maxNumberSRS_Ports_PerResource_vals[] = { - { 0, "n1" }, - { 1, "n2" }, - { 2, "n4" }, - { 0, NULL } -}; - - -static int -dissect_nr_rrc_T_maxNumberSRS_Ports_PerResource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 3, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t SRS_Resources_sequence[] = { - { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberAperiodicSRS_PerBWP }, - { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP_PerSlot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_6 }, - { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPeriodicSRS_PerBWP }, - { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP_PerSlot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_6 }, - { &hf_nr_rrc_maxNumberSemiPersistentSRS_PerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSemiPersistentSRS_PerBWP }, - { &hf_nr_rrc_maxNumberSemiPersistentSRS_PerBWP_PerSlot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_6 }, - { &hf_nr_rrc_maxNumberSRS_Ports_PerResource, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_Ports_PerResource }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_nr_rrc_SRS_Resources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_SRS_Resources, SRS_Resources_sequence); - - return offset; -} - - static const value_string nr_rrc_T_twoPUCCH_Group_vals[] = { { 0, "supported" }, { 0, NULL } @@ -37836,7 +67798,7 @@ dissect_nr_rrc_T_simultaneousTxSUL_NonSUL(tvbuff_t *tvb _U_, int offset _U_, asn } -static const value_string nr_rrc_T_scs_15kHz_02_vals[] = { +static const value_string nr_rrc_T_scs_15kHz_04_vals[] = { { 0, "upto2" }, { 1, "upto4" }, { 2, "upto7" }, @@ -37845,7 +67807,7 @@ static const value_string nr_rrc_T_scs_15kHz_02_vals[] = { 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_scs_15kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); @@ -37853,7 +67815,7 @@ dissect_nr_rrc_T_scs_15kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const value_string nr_rrc_T_scs_30kHz_02_vals[] = { +static const value_string nr_rrc_T_scs_30kHz_04_vals[] = { { 0, "upto2" }, { 1, "upto4" }, { 2, "upto7" }, @@ -37862,7 +67824,7 @@ static const value_string nr_rrc_T_scs_30kHz_02_vals[] = { 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_scs_30kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); @@ -37870,7 +67832,7 @@ dissect_nr_rrc_T_scs_30kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const value_string nr_rrc_T_scs_60kHz_03_vals[] = { +static const value_string nr_rrc_T_scs_60kHz_05_vals[] = { { 0, "upto2" }, { 1, "upto4" }, { 2, "upto7" }, @@ -37879,7 +67841,7 @@ static const value_string nr_rrc_T_scs_60kHz_03_vals[] = { 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, 3, NULL, FALSE, 0, NULL); @@ -37887,7 +67849,7 @@ dissect_nr_rrc_T_scs_60kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const value_string nr_rrc_T_scs_120kHz_03_vals[] = { +static const value_string nr_rrc_T_scs_120kHz_05_vals[] = { { 0, "upto2" }, { 1, "upto4" }, { 2, "upto7" }, @@ -37896,7 +67858,7 @@ static const value_string nr_rrc_T_scs_120kHz_03_vals[] = { 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_scs_120kHz_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); @@ -37905,10 +67867,10 @@ dissect_nr_rrc_T_scs_120kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static const per_sequence_t T_pusch_ProcessingType1_DifferentTB_PerSlot_sequence[] = { - { &hf_nr_rrc_scs_15kHz_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_02 }, - { &hf_nr_rrc_scs_30kHz_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_02 }, - { &hf_nr_rrc_scs_60kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_03 }, - { &hf_nr_rrc_scs_120kHz_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_03 }, + { &hf_nr_rrc_scs_15kHz_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_04 }, + { &hf_nr_rrc_scs_30kHz_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_04 }, + { &hf_nr_rrc_scs_60kHz_06 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_05 }, + { &hf_nr_rrc_scs_120kHz_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_05 }, { NULL, 0, 0, NULL } }; @@ -38220,12 +68182,644 @@ dissect_nr_rrc_FeatureSets_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } +static const per_sequence_t SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v15a0_sequence_of[1] = { + { &hf_nr_rrc_featureSetsDownlink_v15a0_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlink_v15a0 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v15a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_v15a0, SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v15a0_sequence_of, + 1, maxDownlinkFeatureSets, FALSE); + + return offset; +} + + +static const per_sequence_t FeatureSets_eag_2_sequence[] = { + { &hf_nr_rrc_featureSetsDownlink_v15a0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v15a0 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_FeatureSets_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, FeatureSets_eag_2_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1610_sequence_of[1] = { + { &hf_nr_rrc_featureSetsDownlink_v1610_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlink_v1610 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_v1610, SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1610_sequence_of, + 1, maxDownlinkFeatureSets, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_maxNumberPUSCH_Tx_r16_vals[] = { + { 0, "n2" }, + { 1, "n3" }, + { 2, "n4" }, + { 3, "n7" }, + { 4, "n8" }, + { 5, "n12" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberPUSCH_Tx_r16(tvbuff_t *tvb _U_, int offset _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_hoppingScheme_r16_vals[] = { + { 0, "interSlotHopping" }, + { 1, "interRepetitionHopping" }, + { 2, "both" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_hoppingScheme_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_pusch_RepetitionTypeB_r16_sequence[] = { + { &hf_nr_rrc_maxNumberPUSCH_Tx_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPUSCH_Tx_r16 }, + { &hf_nr_rrc_hoppingScheme_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_hoppingScheme_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_pusch_RepetitionTypeB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_pusch_RepetitionTypeB_r16, T_pusch_RepetitionTypeB_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_ul_CancellationSelfCarrier_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ul_CancellationSelfCarrier_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_ul_CancellationCrossCarrier_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ul_CancellationCrossCarrier_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_ul_FullPwrMode2_MaxSRS_ResInSet_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ul_FullPwrMode2_MaxSRS_ResInSet(tvbuff_t *tvb _U_, int offset _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_15kHz_05_vals[] = { + { 0, "one-pusch" }, + { 1, "upto2" }, + { 2, "upto4" }, + { 3, "upto7" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_15kHz_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, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scs_30kHz_05_vals[] = { + { 0, "one-pusch" }, + { 1, "upto2" }, + { 2, "upto4" }, + { 3, "upto7" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_30kHz_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, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scs_60kHz_06_vals[] = { + { 0, "one-pusch" }, + { 1, "upto2" }, + { 2, "upto4" }, + { 3, "upto7" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_60kHz_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scs_120kHz_06_vals[] = { + { 0, "one-pusch" }, + { 1, "upto2" }, + { 2, "upto4" }, + { 3, "upto7" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_120kHz_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_sequence[] = { + { &hf_nr_rrc_scs_15kHz_06 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_05 }, + { &hf_nr_rrc_scs_30kHz_06 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_05 }, + { &hf_nr_rrc_scs_60kHz_07 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_06 }, + { &hf_nr_rrc_scs_120kHz_06, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_06 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot, T_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_scs_15kHz_06_vals[] = { + { 0, "one-pusch" }, + { 1, "upto2" }, + { 2, "upto4" }, + { 3, "upto7" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_15kHz_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scs_30kHz_06_vals[] = { + { 0, "one-pusch" }, + { 1, "upto2" }, + { 2, "upto4" }, + { 3, "upto7" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_30kHz_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scs_60kHz_07_vals[] = { + { 0, "one-pusch" }, + { 1, "upto2" }, + { 2, "upto4" }, + { 3, "upto7" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_60kHz_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scs_120kHz_07_vals[] = { + { 0, "one-pusch" }, + { 1, "upto2" }, + { 2, "upto4" }, + { 3, "upto7" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_120kHz_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_sequence[] = { + { &hf_nr_rrc_scs_15kHz_07 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_06 }, + { &hf_nr_rrc_scs_30kHz_07 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_06 }, + { &hf_nr_rrc_scs_60kHz_08 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_07 }, + { &hf_nr_rrc_scs_120kHz_07, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_07 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot, T_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_maxNumberSRS_PosResourceSetPerBWP_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "n8" }, + { 4, "n12" }, + { 5, "n16" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberSRS_PosResourceSetPerBWP_r16(tvbuff_t *tvb _U_, int offset _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_maxNumberSRS_PosResourcesPerBWP_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "n8" }, + { 4, "n16" }, + { 5, "n32" }, + { 6, "n64" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberSRS_PosResourcesPerBWP_r16(tvbuff_t *tvb _U_, int offset _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_maxNumberSRS_ResourcesPerBWP_PerSlot_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n3" }, + { 3, "n4" }, + { 4, "n5" }, + { 5, "n6" }, + { 6, "n8" }, + { 7, "n10" }, + { 8, "n12" }, + { 9, "n14" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberSRS_ResourcesPerBWP_PerSlot_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 10, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "n8" }, + { 4, "n16" }, + { 5, "n32" }, + { 6, "n64" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_r16(tvbuff_t *tvb _U_, int offset _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_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n3" }, + { 3, "n4" }, + { 4, "n5" }, + { 5, "n6" }, + { 6, "n8" }, + { 7, "n10" }, + { 8, "n12" }, + { 9, "n14" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 10, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SRS_PosResources_r16_sequence[] = { + { &hf_nr_rrc_maxNumberSRS_PosResourceSetPerBWP_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_PosResourceSetPerBWP_r16 }, + { &hf_nr_rrc_maxNumberSRS_PosResourcesPerBWP_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_PosResourcesPerBWP_r16 }, + { &hf_nr_rrc_maxNumberSRS_ResourcesPerBWP_PerSlot_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_ResourcesPerBWP_PerSlot_r16 }, + { &hf_nr_rrc_maxNumberPeriodicSRS_PosResourcesPerBWP_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_r16 }, + { &hf_nr_rrc_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SRS_PosResources_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_PosResources_r16, SRS_PosResources_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_maxNumberAP_SRS_PosResourcesPerBWP_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "n8" }, + { 4, "n16" }, + { 5, "n32" }, + { 6, "n64" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberAP_SRS_PosResourcesPerBWP_r16(tvbuff_t *tvb _U_, int offset _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_maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n3" }, + { 3, "n4" }, + { 4, "n5" }, + { 5, "n6" }, + { 6, "n8" }, + { 7, "n10" }, + { 8, "n12" }, + { 9, "n14" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 10, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SRS_PosResourceAP_r16_sequence[] = { + { &hf_nr_rrc_maxNumberAP_SRS_PosResourcesPerBWP_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberAP_SRS_PosResourcesPerBWP_r16 }, + { &hf_nr_rrc_maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SRS_PosResourceAP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_PosResourceAP_r16, SRS_PosResourceAP_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_maxNumberSP_SRS_PosResourcesPerBWP_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "n8" }, + { 4, "n16" }, + { 5, "n32" }, + { 6, "n64" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberSP_SRS_PosResourcesPerBWP_r16(tvbuff_t *tvb _U_, int offset _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_maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n3" }, + { 3, "n4" }, + { 4, "n5" }, + { 5, "n6" }, + { 6, "n8" }, + { 7, "n10" }, + { 8, "n12" }, + { 9, "n14" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 10, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SRS_PosResourceSP_r16_sequence[] = { + { &hf_nr_rrc_maxNumberSP_SRS_PosResourcesPerBWP_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSP_SRS_PosResourcesPerBWP_r16 }, + { &hf_nr_rrc_maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SRS_PosResourceSP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_PosResourceSP_r16, SRS_PosResourceSP_r16_sequence); + + return offset; +} + + +static const per_sequence_t SRS_AllPosResources_r16_sequence[] = { + { &hf_nr_rrc_srs_PosResources_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PosResources_r16 }, + { &hf_nr_rrc_srs_PosResourceAP_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SRS_PosResourceAP_r16 }, + { &hf_nr_rrc_srs_PosResourceSP_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SRS_PosResourceSP_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SRS_AllPosResources_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_AllPosResources_r16, SRS_AllPosResources_r16_sequence); + + return offset; +} + + +static const per_sequence_t FeatureSetUplink_v1610_sequence[] = { + { &hf_nr_rrc_pusch_RepetitionTypeB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_RepetitionTypeB_r16 }, + { &hf_nr_rrc_ul_CancellationSelfCarrier_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_CancellationSelfCarrier_r16 }, + { &hf_nr_rrc_ul_CancellationCrossCarrier_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_CancellationCrossCarrier_r16 }, + { &hf_nr_rrc_ul_FullPwrMode2_MaxSRS_ResInSet, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_FullPwrMode2_MaxSRS_ResInSet }, + { &hf_nr_rrc_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot }, + { &hf_nr_rrc_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot }, + { &hf_nr_rrc_supportedSRS_PosResources_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SRS_AllPosResources_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_FeatureSetUplink_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_FeatureSetUplink_v1610, FeatureSetUplink_v1610_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1610_sequence_of[1] = { + { &hf_nr_rrc_featureSetsUplink_v1610_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplink_v1610 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_v1610, SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1610_sequence_of, + 1, maxUplinkFeatureSets, FALSE); + + return offset; +} + + +static const per_sequence_t FeatureSets_eag_3_sequence[] = { + { &hf_nr_rrc_featureSetsDownlink_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1610 }, + { &hf_nr_rrc_featureSetsUplink_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1610 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_FeatureSets_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, FeatureSets_eag_3_sequence); + + return offset; +} + + static const per_sequence_t FeatureSets_sequence[] = { { &hf_nr_rrc_featureSetsDownlink, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink }, { &hf_nr_rrc_featureSetsDownlinkPerCC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC }, { &hf_nr_rrc_featureSetsUplink, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink }, { &hf_nr_rrc_featureSetsUplinkPerCC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSets_eag_1 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSets_eag_2 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSets_eag_3 }, { NULL, 0, 0, NULL } }; @@ -38350,6 +68944,51 @@ dissect_nr_rrc_FreqBandList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } +static const value_string nr_rrc_T_measurementEnhancement_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_measurementEnhancement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_demodulationEnhancement_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_demodulationEnhancement_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 HighSpeedParameters_r16_sequence[] = { + { &hf_nr_rrc_measurementEnhancement_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_measurementEnhancement_r16 }, + { &hf_nr_rrc_demodulationEnhancement_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_demodulationEnhancement_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_HighSpeedParameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_HighSpeedParameters_r16, HighSpeedParameters_r16_sequence); + + return offset; +} + + static const value_string nr_rrc_T_voiceOverEUTRA_5GC_vals[] = { { 0, "supported" }, { 0, NULL } @@ -38393,9 +69032,38 @@ dissect_nr_rrc_IMS_ParametersCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn } +static const value_string nr_rrc_T_voiceFallbackIndicationEPS_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_voiceFallbackIndicationEPS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t IMS_ParametersCommon_eag_2_sequence[] = { + { &hf_nr_rrc_voiceFallbackIndicationEPS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_voiceFallbackIndicationEPS_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_IMS_ParametersCommon_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, IMS_ParametersCommon_eag_2_sequence); + + return offset; +} + + static const per_sequence_t IMS_ParametersCommon_sequence[] = { { &hf_nr_rrc_voiceOverEUTRA_5GC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_voiceOverEUTRA_5GC }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_IMS_ParametersCommon_eag_1 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_IMS_ParametersCommon_eag_2 }, { NULL, 0, 0, NULL } }; @@ -38539,12 +69207,41 @@ dissect_nr_rrc_EUTRA_ParametersCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, a } +static const value_string nr_rrc_T_nr_HO_ToEN_DC_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nr_HO_ToEN_DC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t EUTRA_ParametersCommon_eag_2_sequence[] = { + { &hf_nr_rrc_nr_HO_ToEN_DC_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nr_HO_ToEN_DC_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_EUTRA_ParametersCommon_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, EUTRA_ParametersCommon_eag_2_sequence); + + return offset; +} + + static const per_sequence_t EUTRA_ParametersCommon_sequence[] = { { &hf_nr_rrc_mfbi_EUTRA , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mfbi_EUTRA }, { &hf_nr_rrc_modifiedMPR_BehaviorEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_32 }, { &hf_nr_rrc_multiNS_Pmax_EUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multiNS_Pmax_EUTRA }, { &hf_nr_rrc_rs_SINR_MeasEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rs_SINR_MeasEUTRA }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_ParametersCommon_eag_1 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_ParametersCommon_eag_2 }, { NULL, 0, 0, NULL } }; @@ -38602,8 +69299,98 @@ dissect_nr_rrc_EUTRA_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } +static const value_string nr_rrc_SupportedBandUTRA_FDD_r16_vals[] = { + { 0, "bandI" }, + { 1, "bandII" }, + { 2, "bandIII" }, + { 3, "bandIV" }, + { 4, "bandV" }, + { 5, "bandVI" }, + { 6, "bandVII" }, + { 7, "bandVIII" }, + { 8, "bandIX" }, + { 9, "bandX" }, + { 10, "bandXI" }, + { 11, "bandXII" }, + { 12, "bandXIII" }, + { 13, "bandXIV" }, + { 14, "bandXV" }, + { 15, "bandXVI" }, + { 16, "bandXVII" }, + { 17, "bandXVIII" }, + { 18, "bandXIX" }, + { 19, "bandXX" }, + { 20, "bandXXI" }, + { 21, "bandXXII" }, + { 22, "bandXXIII" }, + { 23, "bandXXIV" }, + { 24, "bandXXV" }, + { 25, "bandXXVI" }, + { 26, "bandXXVII" }, + { 27, "bandXXVIII" }, + { 28, "bandXXIX" }, + { 29, "bandXXX" }, + { 30, "bandXXXI" }, + { 31, "bandXXXII" }, + { 0, NULL } +}; + +static value_string_ext nr_rrc_SupportedBandUTRA_FDD_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_SupportedBandUTRA_FDD_r16_vals); + + +static int +dissect_nr_rrc_SupportedBandUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 32, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxBandsUTRA_FDD_r16_OF_SupportedBandUTRA_FDD_r16_sequence_of[1] = { + { &hf_nr_rrc_supportedBandListUTRA_FDD_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SupportedBandUTRA_FDD_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandsUTRA_FDD_r16_OF_SupportedBandUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsUTRA_FDD_r16_OF_SupportedBandUTRA_FDD_r16, SEQUENCE_SIZE_1_maxBandsUTRA_FDD_r16_OF_SupportedBandUTRA_FDD_r16_sequence_of, + 1, maxBandsUTRA_FDD_r16, FALSE); + + return offset; +} + + +static const per_sequence_t UTRA_FDD_Parameters_r16_sequence[] = { + { &hf_nr_rrc_supportedBandListUTRA_FDD_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandsUTRA_FDD_r16_OF_SupportedBandUTRA_FDD_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UTRA_FDD_Parameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_UTRA_FDD_Parameters_r16, UTRA_FDD_Parameters_r16_sequence); + + return offset; +} + + +static const per_sequence_t InterRAT_Parameters_eag_1_sequence[] = { + { &hf_nr_rrc_utra_FDD_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UTRA_FDD_Parameters_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_InterRAT_Parameters_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, InterRAT_Parameters_eag_1_sequence); + + return offset; +} + + static const per_sequence_t InterRAT_Parameters_sequence[] = { - { &hf_nr_rrc_eutra_04 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_Parameters }, + { &hf_nr_rrc_eutra_05 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_Parameters }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterRAT_Parameters_eag_1 }, { NULL, 0, 0, NULL } }; @@ -38705,11 +69492,168 @@ dissect_nr_rrc_MAC_ParametersCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn } +static const value_string nr_rrc_T_recommendedBitRateMultiplier_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_recommendedBitRateMultiplier_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_secondaryDRX_Group_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_secondaryDRX_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_preEmptiveBSR_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_preEmptiveBSR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_autonomousTransmission_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_autonomousTransmission_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_PriorityBasedPrioritization_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_lch_PriorityBasedPrioritization_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_ToConfiguredGrantMapping_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_lch_ToConfiguredGrantMapping_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_ToGrantPriorityRestriction_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_lch_ToGrantPriorityRestriction_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_singlePHR_P_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_singlePHR_P_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_ul_LBT_FailureDetectionRecovery_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ul_LBT_FailureDetectionRecovery_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_2_sequence[] = { + { &hf_nr_rrc_recommendedBitRateMultiplier_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_recommendedBitRateMultiplier_r16 }, + { &hf_nr_rrc_secondaryDRX_Group, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_secondaryDRX_Group }, + { &hf_nr_rrc_preEmptiveBSR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_preEmptiveBSR_r16 }, + { &hf_nr_rrc_autonomousTransmission_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_autonomousTransmission_r16 }, + { &hf_nr_rrc_lch_PriorityBasedPrioritization_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_lch_PriorityBasedPrioritization_r16 }, + { &hf_nr_rrc_lch_ToConfiguredGrantMapping_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_lch_ToConfiguredGrantMapping_r16 }, + { &hf_nr_rrc_lch_ToGrantPriorityRestriction_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_lch_ToGrantPriorityRestriction_r16 }, + { &hf_nr_rrc_singlePHR_P_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_singlePHR_P_r16 }, + { &hf_nr_rrc_ul_LBT_FailureDetectionRecovery_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_LBT_FailureDetectionRecovery_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MAC_ParametersCommon_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_ParametersCommon_eag_2_sequence); + + return offset; +} + + static const per_sequence_t MAC_ParametersCommon_sequence[] = { { &hf_nr_rrc_lcp_Restriction, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_lcp_Restriction }, { &hf_nr_rrc_dummy_09 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dummy_05 }, { &hf_nr_rrc_lch_ToSCellRestriction, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_lch_ToSCellRestriction }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_ParametersCommon_eag_1 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_ParametersCommon_eag_2 }, { NULL, 0, 0, NULL } }; @@ -38846,6 +69790,194 @@ dissect_nr_rrc_MAC_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } +static const value_string nr_rrc_T_directMCG_SCellActivation_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_directMCG_SCellActivation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_directMCG_SCellActivationResume_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_directMCG_SCellActivationResume_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_directSCG_SCellActivation_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_directSCG_SCellActivation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_directSCG_SCellActivationResume_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_directSCG_SCellActivationResume_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_r16_vals[] = { + { 0, "sl1" }, + { 1, "sl3" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_15kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_scs_30kHz_r16_vals[] = { + { 0, "sl1" }, + { 1, "sl6" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_30kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_scs_60kHz_r16_vals[] = { + { 0, "sl1" }, + { 1, "sl12" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_60kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_scs_120kHz_r16_vals[] = { + { 0, "sl2" }, + { 1, "sl24" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_120kHz_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 MinTimeGap_r16_sequence[] = { + { &hf_nr_rrc_scs_15kHz_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_r16 }, + { &hf_nr_rrc_scs_30kHz_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_r16 }, + { &hf_nr_rrc_scs_60kHz_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_r16 }, + { &hf_nr_rrc_scs_120kHz_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MinTimeGap_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MinTimeGap_r16, MinTimeGap_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_drx_Adaptation_r16_sequence[] = { + { &hf_nr_rrc_licensedBand_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MinTimeGap_r16 }, + { &hf_nr_rrc_unlicensedBand_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MinTimeGap_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_drx_Adaptation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_drx_Adaptation_r16, T_drx_Adaptation_r16_sequence); + + return offset; +} + + +static const per_sequence_t MAC_ParametersFRX_Diff_r16_sequence[] = { + { &hf_nr_rrc_directMCG_SCellActivation_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_directMCG_SCellActivation_r16 }, + { &hf_nr_rrc_directMCG_SCellActivationResume_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_directMCG_SCellActivationResume_r16 }, + { &hf_nr_rrc_directSCG_SCellActivation_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_directSCG_SCellActivation_r16 }, + { &hf_nr_rrc_directSCG_SCellActivationResume_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_directSCG_SCellActivationResume_r16 }, + { &hf_nr_rrc_drx_Adaptation_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_drx_Adaptation_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MAC_ParametersFRX_Diff_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_ParametersFRX_Diff_r16, MAC_ParametersFRX_Diff_r16_sequence); + + return offset; +} + + +static const per_sequence_t MAC_Parameters_v1610_sequence[] = { + { &hf_nr_rrc_mac_ParametersFRX_Diff_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersFRX_Diff_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MAC_Parameters_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_v1610, MAC_Parameters_v1610_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_) { @@ -39071,6 +70203,325 @@ dissect_nr_rrc_MeasAndMobParametersCommon_eag_3(tvbuff_t *tvb _U_, int offset _U } +static const value_string nr_rrc_T_eutra_CGI_Reporting_NEDC_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_eutra_CGI_Reporting_NEDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_eutra_CGI_Reporting_NRDC_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_eutra_CGI_Reporting_NRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_NEDC_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nr_CGI_Reporting_NEDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_nr_CGI_Reporting_NRDC_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nr_CGI_Reporting_NRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_4_sequence[] = { + { &hf_nr_rrc_eutra_CGI_Reporting_NEDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eutra_CGI_Reporting_NEDC }, + { &hf_nr_rrc_eutra_CGI_Reporting_NRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eutra_CGI_Reporting_NRDC }, + { &hf_nr_rrc_nr_CGI_Reporting_NEDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nr_CGI_Reporting_NEDC }, + { &hf_nr_rrc_nr_CGI_Reporting_NRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nr_CGI_Reporting_NRDC }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasAndMobParametersCommon_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersCommon_eag_4_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_reportAddNeighMeasForPeriodic_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_reportAddNeighMeasForPeriodic_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_condHandoverFDD_TDD_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_condHandoverFDD_TDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_condHandoverFR1_FR2_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_condHandoverFR1_FR2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_condHandoverParametersCommon_r16_sequence[] = { + { &hf_nr_rrc_condHandoverFDD_TDD_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condHandoverFDD_TDD_r16 }, + { &hf_nr_rrc_condHandoverFR1_FR2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condHandoverFR1_FR2_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_condHandoverParametersCommon_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_condHandoverParametersCommon_r16, T_condHandoverParametersCommon_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_nr_NeedForGap_Reporting_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nr_NeedForGap_Reporting_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_supportedGapPattern_NRonly_NEDC_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_supportedGapPattern_NRonly_NEDC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_maxNumberCLI_RSSI_r16_vals[] = { + { 0, "n8" }, + { 1, "n16" }, + { 2, "n32" }, + { 3, "n64" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberCLI_RSSI_r16(tvbuff_t *tvb _U_, int offset _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_maxNumberCLI_SRS_RSRP_r16_vals[] = { + { 0, "n4" }, + { 1, "n8" }, + { 2, "n16" }, + { 3, "n32" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberCLI_SRS_RSRP_r16(tvbuff_t *tvb _U_, int offset _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_maxNumberPerSlotCLI_SRS_RSRP_r16_vals[] = { + { 0, "n2" }, + { 1, "n4" }, + { 2, "n8" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberPerSlotCLI_SRS_RSRP_r16(tvbuff_t *tvb _U_, int offset _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_mfbi_IAB_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_mfbi_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_multipleNS_And_Pmax_IAB_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_multipleNS_And_Pmax_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_NPN_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nr_CGI_Reporting_NPN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_idleInactiveEUTRA_MeasReport_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_idleInactiveEUTRA_MeasReport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_idleInactive_ValidityArea_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_idleInactive_ValidityArea_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_5_sequence[] = { + { &hf_nr_rrc_reportAddNeighMeasForPeriodic_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reportAddNeighMeasForPeriodic_r16 }, + { &hf_nr_rrc_condHandoverParametersCommon_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condHandoverParametersCommon_r16 }, + { &hf_nr_rrc_nr_NeedForGap_Reporting_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nr_NeedForGap_Reporting_r16 }, + { &hf_nr_rrc_supportedGapPattern_NRonly_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, + { &hf_nr_rrc_supportedGapPattern_NRonly_NEDC_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_supportedGapPattern_NRonly_NEDC_r16 }, + { &hf_nr_rrc_maxNumberCLI_RSSI_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberCLI_RSSI_r16 }, + { &hf_nr_rrc_maxNumberCLI_SRS_RSRP_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberCLI_SRS_RSRP_r16 }, + { &hf_nr_rrc_maxNumberPerSlotCLI_SRS_RSRP_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberPerSlotCLI_SRS_RSRP_r16 }, + { &hf_nr_rrc_mfbi_IAB_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mfbi_IAB_r16 }, + { &hf_nr_rrc_multipleNS_And_Pmax_IAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleNS_And_Pmax_IAB_r16 }, + { &hf_nr_rrc_nr_CGI_Reporting_NPN_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nr_CGI_Reporting_NPN_r16 }, + { &hf_nr_rrc_idleInactiveEUTRA_MeasReport_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_idleInactiveEUTRA_MeasReport_r16 }, + { &hf_nr_rrc_idleInactive_ValidityArea_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_idleInactive_ValidityArea_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasAndMobParametersCommon_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersCommon_eag_5_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 }, @@ -39078,6 +70529,8 @@ static const per_sequence_t MeasAndMobParametersCommon_sequence[] = { { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersCommon_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersCommon_eag_2 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersCommon_eag_3 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersCommon_eag_4 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersCommon_eag_5 }, { NULL, 0, 0, NULL } }; @@ -39224,11 +70677,246 @@ dissect_nr_rrc_MeasAndMobParametersXDD_Diff_eag_2(tvbuff_t *tvb _U_, int offset } +static const value_string nr_rrc_T_condHandover_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_condHandover_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_condHandoverFailure_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_condHandoverFailure_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_condHandoverTwoTriggerEvents_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_condHandoverTwoTriggerEvents_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_condHandoverParametersXDD_Diff_r16_sequence[] = { + { &hf_nr_rrc_condHandover_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condHandover_r16 }, + { &hf_nr_rrc_condHandoverFailure_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condHandoverFailure_r16 }, + { &hf_nr_rrc_condHandoverTwoTriggerEvents_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condHandoverTwoTriggerEvents_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_condHandoverParametersXDD_Diff_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_condHandoverParametersXDD_Diff_r16, T_condHandoverParametersXDD_Diff_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_pcellT312_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_pcellT312_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_handoverIntraF_IAB_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_handoverIntraF_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_AutonomousGaps_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_eutra_AutonomousGaps_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_AutonomousGapsNEDC_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_eutra_AutonomousGapsNEDC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_AutonomousGapsNRDC_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_eutra_AutonomousGapsNRDC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_AutonomousGaps_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nr_AutonomousGaps_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_AutonomousGaps_ENDC_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nr_AutonomousGaps_ENDC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_AutonomousGapsNEDC_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nr_AutonomousGapsNEDC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_AutonomousGapsNRDC_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nr_AutonomousGapsNRDC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_handoverUTRA_FDD_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_handoverUTRA_FDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_3_sequence[] = { + { &hf_nr_rrc_condHandoverParametersXDD_Diff_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condHandoverParametersXDD_Diff_r16 }, + { &hf_nr_rrc_pcellT312_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pcellT312_r16 }, + { &hf_nr_rrc_handoverIntraF_IAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_handoverIntraF_IAB_r16 }, + { &hf_nr_rrc_eutra_AutonomousGaps_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eutra_AutonomousGaps_r16 }, + { &hf_nr_rrc_eutra_AutonomousGapsNEDC_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eutra_AutonomousGapsNEDC_r16 }, + { &hf_nr_rrc_eutra_AutonomousGapsNRDC_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eutra_AutonomousGapsNRDC_r16 }, + { &hf_nr_rrc_nr_AutonomousGaps_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nr_AutonomousGaps_r16 }, + { &hf_nr_rrc_nr_AutonomousGaps_ENDC_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nr_AutonomousGaps_ENDC_r16 }, + { &hf_nr_rrc_nr_AutonomousGapsNEDC_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nr_AutonomousGapsNEDC_r16 }, + { &hf_nr_rrc_nr_AutonomousGapsNRDC_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nr_AutonomousGapsNRDC_r16 }, + { &hf_nr_rrc_handoverUTRA_FDD_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_handoverUTRA_FDD_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasAndMobParametersXDD_Diff_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersXDD_Diff_eag_3_sequence); + + return offset; +} + + static const per_sequence_t MeasAndMobParametersXDD_Diff_sequence[] = { { &hf_nr_rrc_intraAndInterF_MeasAndReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_intraAndInterF_MeasAndReport }, { &hf_nr_rrc_eventA_MeasAndReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_eventA_MeasAndReport }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersXDD_Diff_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersXDD_Diff_eag_2 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersXDD_Diff_eag_3 }, { NULL, 0, 0, NULL } }; @@ -39435,6 +71123,240 @@ dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_3(tvbuff_t *tvb _U_, int offset } +static const value_string nr_rrc_T_nr_AutonomousGaps_r16_01_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nr_AutonomousGaps_r16_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_nr_AutonomousGaps_ENDC_r16_01_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_nr_AutonomousGaps_ENDC_r16_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_handoverUTRA_FDD_r16_01_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_handoverUTRA_FDD_r16_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_cli_RSSI_Meas_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_cli_RSSI_Meas_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_cli_SRS_RSRP_Meas_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_cli_SRS_RSRP_Meas_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_condHandover_r16_01_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_condHandover_r16_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_condHandoverFailure_r16_01_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_condHandoverFailure_r16_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_condHandoverTwoTriggerEvents_r16_01_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_condHandoverTwoTriggerEvents_r16_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_condHandoverParametersFRX_Diff_r16_sequence[] = { + { &hf_nr_rrc_condHandover_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condHandover_r16_01 }, + { &hf_nr_rrc_condHandoverFailure_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condHandoverFailure_r16_01 }, + { &hf_nr_rrc_condHandoverTwoTriggerEvents_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condHandoverTwoTriggerEvents_r16_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_condHandoverParametersFRX_Diff_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_condHandoverParametersFRX_Diff_r16, T_condHandoverParametersFRX_Diff_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_pcellT312_r16_01_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_pcellT312_r16_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_interFrequencyMeas_Nogap_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_interFrequencyMeas_Nogap_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_Inter_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_Inter_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_handoverIntraF_IAB_r16_01_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_handoverIntraF_IAB_r16_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_idleInactiveNR_MeasReport_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_idleInactiveNR_MeasReport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_4_sequence[] = { + { &hf_nr_rrc_nr_AutonomousGaps_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nr_AutonomousGaps_r16_01 }, + { &hf_nr_rrc_nr_AutonomousGaps_ENDC_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nr_AutonomousGaps_ENDC_r16_01 }, + { &hf_nr_rrc_handoverUTRA_FDD_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_handoverUTRA_FDD_r16_01 }, + { &hf_nr_rrc_cli_RSSI_Meas_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cli_RSSI_Meas_r16 }, + { &hf_nr_rrc_cli_SRS_RSRP_Meas_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cli_SRS_RSRP_Meas_r16 }, + { &hf_nr_rrc_condHandoverParametersFRX_Diff_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condHandoverParametersFRX_Diff_r16 }, + { &hf_nr_rrc_pcellT312_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pcellT312_r16_01 }, + { &hf_nr_rrc_interFrequencyMeas_Nogap_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interFrequencyMeas_Nogap_r16 }, + { &hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology_Inter_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_Inter_r16 }, + { &hf_nr_rrc_handoverIntraF_IAB_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_handoverIntraF_IAB_r16_01 }, + { &hf_nr_rrc_idleInactiveNR_MeasReport_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_idleInactiveNR_MeasReport_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersFRX_Diff_eag_4_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 }, @@ -39444,6 +71366,7 @@ static const per_sequence_t MeasAndMobParametersFRX_Diff_sequence[] = { { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_2 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_3 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_4 }, { NULL, 0, 0, NULL } }; @@ -39634,6 +71557,247 @@ dissect_nr_rrc_MeasAndMobParametersMRDC_v1560(tvbuff_t *tvb _U_, int offset _U_, } +static const value_string nr_rrc_T_condPSCellChangeFDD_TDD_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_condPSCellChangeFDD_TDD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_condPSCellChangeFR1_FR2_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_condPSCellChangeFR1_FR2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_condPSCellChangeParametersCommon_r16_sequence[] = { + { &hf_nr_rrc_condPSCellChangeFDD_TDD_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condPSCellChangeFDD_TDD_r16 }, + { &hf_nr_rrc_condPSCellChangeFR1_FR2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condPSCellChangeFR1_FR2_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_condPSCellChangeParametersCommon_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_condPSCellChangeParametersCommon_r16, T_condPSCellChangeParametersCommon_r16_sequence); + + return offset; +} + + +static const per_sequence_t MeasAndMobParametersMRDC_Common_v1610_sequence[] = { + { &hf_nr_rrc_condPSCellChangeParametersCommon_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condPSCellChangeParametersCommon_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasAndMobParametersMRDC_Common_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasAndMobParametersMRDC_Common_v1610, MeasAndMobParametersMRDC_Common_v1610_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_condPSCellChange_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_condPSCellChange_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_condPSCellChangeTwoTriggerEvents_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_condPSCellChangeTwoTriggerEvents_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_condPSCellChangeParametersXDD_Diff_r16_sequence[] = { + { &hf_nr_rrc_condPSCellChange_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condPSCellChange_r16 }, + { &hf_nr_rrc_condPSCellChangeTwoTriggerEvents_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condPSCellChangeTwoTriggerEvents_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_condPSCellChangeParametersXDD_Diff_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_condPSCellChangeParametersXDD_Diff_r16, T_condPSCellChangeParametersXDD_Diff_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_pscellT312_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_pscellT312_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_v1610_sequence[] = { + { &hf_nr_rrc_condPSCellChangeParametersXDD_Diff_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condPSCellChangeParametersXDD_Diff_r16 }, + { &hf_nr_rrc_pscellT312_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pscellT312_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff_v1610, MeasAndMobParametersMRDC_XDD_Diff_v1610_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_condPSCellChange_r16_01_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_condPSCellChange_r16_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_condPSCellChangeTwoTriggerEvents_r16_01_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_condPSCellChangeTwoTriggerEvents_r16_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_condPSCellChangeParametersFRX_Diff_r16_sequence[] = { + { &hf_nr_rrc_condPSCellChange_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condPSCellChange_r16_01 }, + { &hf_nr_rrc_condPSCellChangeTwoTriggerEvents_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condPSCellChangeTwoTriggerEvents_r16_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_condPSCellChangeParametersFRX_Diff_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_condPSCellChangeParametersFRX_Diff_r16, T_condPSCellChangeParametersFRX_Diff_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_pscellT312_r16_01_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_pscellT312_r16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t MeasAndMobParametersMRDC_FRX_Diff_v1610_sequence[] = { + { &hf_nr_rrc_condPSCellChangeParametersFRX_Diff_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_condPSCellChangeParametersFRX_Diff_r16 }, + { &hf_nr_rrc_pscellT312_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pscellT312_r16_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff_v1610, MeasAndMobParametersMRDC_FRX_Diff_v1610_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_interNR_MeasEUTRA_IAB_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_interNR_MeasEUTRA_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_v1610_sequence[] = { + { &hf_nr_rrc_measAndMobParametersMRDC_Common_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC_Common_v1610 }, + { &hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff_v1610 }, + { &hf_nr_rrc_measAndMobParametersMRDC_FRX_Diff_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff_v1610 }, + { &hf_nr_rrc_interNR_MeasEUTRA_IAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interNR_MeasEUTRA_IAB_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasAndMobParametersMRDC_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_v1610, MeasAndMobParametersMRDC_v1610_sequence); + + return offset; +} + + static const value_string nr_rrc_T_maxNumberConfiguredTCIstatesPerCC_vals[] = { { 0, "n4" }, { 1, "n8" }, @@ -39875,7 +72039,7 @@ dissect_nr_rrc_INTEGER_2_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ } -static const value_string nr_rrc_T_scs_15kHz_03_vals[] = { +static const value_string nr_rrc_T_scs_15kHz_07_vals[] = { { 0, "n4" }, { 1, "n7" }, { 2, "n14" }, @@ -39884,7 +72048,7 @@ static const value_string nr_rrc_T_scs_15kHz_03_vals[] = { 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_) { +dissect_nr_rrc_T_scs_15kHz_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); @@ -39892,7 +72056,7 @@ dissect_nr_rrc_T_scs_15kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const value_string nr_rrc_T_scs_30kHz_03_vals[] = { +static const value_string nr_rrc_T_scs_30kHz_07_vals[] = { { 0, "n4" }, { 1, "n7" }, { 2, "n14" }, @@ -39901,7 +72065,7 @@ static const value_string nr_rrc_T_scs_30kHz_03_vals[] = { static int -dissect_nr_rrc_T_scs_30kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_scs_30kHz_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); @@ -39909,7 +72073,7 @@ dissect_nr_rrc_T_scs_30kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const value_string nr_rrc_T_scs_60kHz_04_vals[] = { +static const value_string nr_rrc_T_scs_60kHz_08_vals[] = { { 0, "n4" }, { 1, "n7" }, { 2, "n14" }, @@ -39918,7 +72082,7 @@ static const value_string nr_rrc_T_scs_60kHz_04_vals[] = { 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_scs_60kHz_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); @@ -39926,7 +72090,7 @@ dissect_nr_rrc_T_scs_60kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const value_string nr_rrc_T_scs_120kHz_04_vals[] = { +static const value_string nr_rrc_T_scs_120kHz_08_vals[] = { { 0, "n4" }, { 1, "n7" }, { 2, "n14" }, @@ -39935,7 +72099,7 @@ static const value_string nr_rrc_T_scs_120kHz_04_vals[] = { static int -dissect_nr_rrc_T_scs_120kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_scs_120kHz_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); @@ -39961,10 +72125,10 @@ dissect_nr_rrc_T_scs_240kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static const per_sequence_t T_maxNumberRxTxBeamSwitchDL_sequence[] = { - { &hf_nr_rrc_scs_15kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_03 }, - { &hf_nr_rrc_scs_30kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_03 }, - { &hf_nr_rrc_scs_60kHz_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_04 }, - { &hf_nr_rrc_scs_120kHz_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_04 }, + { &hf_nr_rrc_scs_15kHz_08 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_07 }, + { &hf_nr_rrc_scs_30kHz_08 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_07 }, + { &hf_nr_rrc_scs_60kHz_09 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_08 }, + { &hf_nr_rrc_scs_120kHz_08, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_08 }, { &hf_nr_rrc_scs_240kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_240kHz }, { NULL, 0, 0, NULL } }; @@ -40083,7 +72247,7 @@ dissect_nr_rrc_T_twoPortsPTRS_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } -static const value_string nr_rrc_T_scs_15kHz_04_vals[] = { +static const value_string nr_rrc_T_scs_15kHz_08_vals[] = { { 0, "sym2" }, { 1, "sym4" }, { 2, "sym8" }, @@ -40092,7 +72256,7 @@ static const value_string nr_rrc_T_scs_15kHz_04_vals[] = { static int -dissect_nr_rrc_T_scs_15kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_scs_15kHz_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); @@ -40100,7 +72264,7 @@ dissect_nr_rrc_T_scs_15kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const value_string nr_rrc_T_scs_30kHz_04_vals[] = { +static const value_string nr_rrc_T_scs_30kHz_08_vals[] = { { 0, "sym4" }, { 1, "sym8" }, { 2, "sym14" }, @@ -40110,7 +72274,7 @@ static const value_string nr_rrc_T_scs_30kHz_04_vals[] = { static int -dissect_nr_rrc_T_scs_30kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_scs_30kHz_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); @@ -40118,7 +72282,7 @@ dissect_nr_rrc_T_scs_30kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const value_string nr_rrc_T_scs_60kHz_05_vals[] = { +static const value_string nr_rrc_T_scs_60kHz_09_vals[] = { { 0, "sym8" }, { 1, "sym14" }, { 2, "sym28" }, @@ -40127,7 +72291,7 @@ static const value_string nr_rrc_T_scs_60kHz_05_vals[] = { static int -dissect_nr_rrc_T_scs_60kHz_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_scs_60kHz_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); @@ -40135,7 +72299,7 @@ dissect_nr_rrc_T_scs_60kHz_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const value_string nr_rrc_T_scs_120kHz_05_vals[] = { +static const value_string nr_rrc_T_scs_120kHz_09_vals[] = { { 0, "sym14" }, { 1, "sym28" }, { 2, "sym56" }, @@ -40144,7 +72308,7 @@ static const value_string nr_rrc_T_scs_120kHz_05_vals[] = { static int -dissect_nr_rrc_T_scs_120kHz_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_scs_120kHz_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); @@ -40153,10 +72317,10 @@ dissect_nr_rrc_T_scs_120kHz_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static const per_sequence_t T_beamReportTiming_sequence[] = { - { &hf_nr_rrc_scs_15kHz_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_04 }, - { &hf_nr_rrc_scs_30kHz_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_04 }, - { &hf_nr_rrc_scs_60kHz_06 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_05 }, - { &hf_nr_rrc_scs_120kHz_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_05 }, + { &hf_nr_rrc_scs_15kHz_09 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_08 }, + { &hf_nr_rrc_scs_30kHz_09 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_08 }, + { &hf_nr_rrc_scs_60kHz_10 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_09 }, + { &hf_nr_rrc_scs_120kHz_09, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_09 }, { NULL, 0, 0, NULL } }; @@ -40188,10 +72352,10 @@ dissect_nr_rrc_PTRS_DensityRecommendationDL(tvbuff_t *tvb _U_, int offset _U_, a static const per_sequence_t T_ptrs_DensityRecommendationSetDL_sequence[] = { - { &hf_nr_rrc_scs_15kHz_06 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL }, - { &hf_nr_rrc_scs_30kHz_06 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL }, - { &hf_nr_rrc_scs_60kHz_07 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL }, - { &hf_nr_rrc_scs_120kHz_06, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL }, + { &hf_nr_rrc_scs_15kHz_10 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL }, + { &hf_nr_rrc_scs_30kHz_10 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL }, + { &hf_nr_rrc_scs_60kHz_11 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL }, + { &hf_nr_rrc_scs_120kHz_10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL }, { NULL, 0, 0, NULL } }; @@ -40228,10 +72392,10 @@ dissect_nr_rrc_PTRS_DensityRecommendationUL(tvbuff_t *tvb _U_, int offset _U_, a static const per_sequence_t T_ptrs_DensityRecommendationSetUL_sequence[] = { - { &hf_nr_rrc_scs_15kHz_07 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL }, - { &hf_nr_rrc_scs_30kHz_07 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL }, - { &hf_nr_rrc_scs_60kHz_08 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL }, - { &hf_nr_rrc_scs_120kHz_07, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL }, + { &hf_nr_rrc_scs_15kHz_11 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL }, + { &hf_nr_rrc_scs_30kHz_11 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL }, + { &hf_nr_rrc_scs_60kHz_12 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL }, + { &hf_nr_rrc_scs_120kHz_11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL }, { NULL, 0, 0, NULL } }; @@ -40416,7 +72580,7 @@ dissect_nr_rrc_BeamManagementSSB_CSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ } -static const value_string nr_rrc_T_scs_60kHz_06_vals[] = { +static const value_string nr_rrc_T_scs_60kHz_10_vals[] = { { 0, "sym14" }, { 1, "sym28" }, { 2, "sym48" }, @@ -40427,7 +72591,7 @@ static const value_string nr_rrc_T_scs_60kHz_06_vals[] = { static int -dissect_nr_rrc_T_scs_60kHz_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_scs_60kHz_10(tvbuff_t *tvb _U_, int offset _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); @@ -40435,7 +72599,7 @@ dissect_nr_rrc_T_scs_60kHz_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const value_string nr_rrc_T_scs_120kHz_06_vals[] = { +static const value_string nr_rrc_T_scs_120kHz_10_vals[] = { { 0, "sym14" }, { 1, "sym28" }, { 2, "sym48" }, @@ -40446,7 +72610,7 @@ static const value_string nr_rrc_T_scs_120kHz_06_vals[] = { static int -dissect_nr_rrc_T_scs_120kHz_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_scs_120kHz_10(tvbuff_t *tvb _U_, int offset _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); @@ -40455,8 +72619,8 @@ dissect_nr_rrc_T_scs_120kHz_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static const per_sequence_t T_beamSwitchTiming_sequence[] = { - { &hf_nr_rrc_scs_60kHz_09 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_06 }, - { &hf_nr_rrc_scs_120kHz_08, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_06 }, + { &hf_nr_rrc_scs_60kHz_13 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_10 }, + { &hf_nr_rrc_scs_120kHz_12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_10 }, { NULL, 0, 0, NULL } }; @@ -40694,6 +72858,35 @@ dissect_nr_rrc_MIMO_ParametersPerBand_eag_1(tvbuff_t *tvb _U_, int offset _U_, a } +static const value_string nr_rrc_T_defaultQCL_TwoTCI_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_defaultQCL_TwoTCI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t MIMO_ParametersPerBand_eag_2_sequence[] = { + { &hf_nr_rrc_defaultQCL_TwoTCI_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_defaultQCL_TwoTCI_r16 }, + { &hf_nr_rrc_codebookParametersPerBand_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CodebookParameters_v1610 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MIMO_ParametersPerBand_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MIMO_ParametersPerBand_eag_2_sequence); + + return offset; +} + + static const per_sequence_t MIMO_ParametersPerBand_sequence[] = { { &hf_nr_rrc_tci_StatePDSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tci_StatePDSCH }, { &hf_nr_rrc_additionalActiveTCI_StatePDCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_additionalActiveTCI_StatePDCCH }, @@ -40722,6 +72915,7 @@ static const per_sequence_t MIMO_ParametersPerBand_sequence[] = { { &hf_nr_rrc_dummy4_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_DummyH }, { &hf_nr_rrc_aperiodicTRS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_aperiodicTRS }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_ParametersPerBand_eag_1 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_ParametersPerBand_eag_2 }, { NULL, 0, 0, NULL } }; @@ -40903,6 +73097,100 @@ dissect_nr_rrc_NRDC_Parameters_v1570(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } +static const per_sequence_t NRDC_Parameters_v1610_sequence[] = { + { &hf_nr_rrc_measAndMobParametersNRDC_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC_v1610 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_NRDC_Parameters_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_NRDC_Parameters_v1610, NRDC_Parameters_v1610_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_olpc_SRS_PosBasedOnPRS_Serving_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_olpc_SRS_PosBasedOnPRS_Serving_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_olpc_SRS_PosBasedOnSSB_Neigh_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_olpc_SRS_PosBasedOnSSB_Neigh_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_olpc_SRS_PosBasedOnPRS_Neigh_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_olpc_SRS_PosBasedOnPRS_Neigh_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_maxNumberPathLossEstimatePerServing_r16_vals[] = { + { 0, "n1" }, + { 1, "n4" }, + { 2, "n8" }, + { 3, "n16" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberPathLossEstimatePerServing_r16(tvbuff_t *tvb _U_, int offset _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 OLPC_SRS_Pos_r16_sequence[] = { + { &hf_nr_rrc_olpc_SRS_PosBasedOnPRS_Serving_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_olpc_SRS_PosBasedOnPRS_Serving_r16 }, + { &hf_nr_rrc_olpc_SRS_PosBasedOnSSB_Neigh_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_olpc_SRS_PosBasedOnSSB_Neigh_r16 }, + { &hf_nr_rrc_olpc_SRS_PosBasedOnPRS_Neigh_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_olpc_SRS_PosBasedOnPRS_Neigh_r16 }, + { &hf_nr_rrc_maxNumberPathLossEstimatePerServing_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberPathLossEstimatePerServing_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_OLPC_SRS_Pos_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_OLPC_SRS_Pos_r16, OLPC_SRS_Pos_r16_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 }, @@ -41046,6 +73334,161 @@ dissect_nr_rrc_T_pdcp_DuplicationMCG_OrSCG_DRB(tvbuff_t *tvb _U_, int offset _U_ } +static const value_string nr_rrc_T_drb_IAB_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_drb_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_non_DRB_IAB_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_non_DRB_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_extendedDiscardTimer_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_extendedDiscardTimer_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_continueEHC_Context_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_continueEHC_Context_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_ehc_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ehc_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_maxNumberEHC_Contexts_r16_vals[] = { + { 0, "cs2" }, + { 1, "cs4" }, + { 2, "cs8" }, + { 3, "cs16" }, + { 4, "cs32" }, + { 5, "cs64" }, + { 6, "cs128" }, + { 7, "cs256" }, + { 8, "cs512" }, + { 9, "cs1024" }, + { 10, "cs2048" }, + { 11, "cs4096" }, + { 12, "cs8192" }, + { 13, "cs16384" }, + { 14, "cs32768" }, + { 15, "cs65536" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberEHC_Contexts_r16(tvbuff_t *tvb _U_, int offset _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_jointEHC_ROHC_Config_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_jointEHC_ROHC_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_DuplicationMoreThanTwoRLC_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_pdcp_DuplicationMoreThanTwoRLC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_eag_1_sequence[] = { + { &hf_nr_rrc_drb_IAB_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_drb_IAB_r16 }, + { &hf_nr_rrc_non_DRB_IAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_non_DRB_IAB_r16 }, + { &hf_nr_rrc_extendedDiscardTimer_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_extendedDiscardTimer_r16 }, + { &hf_nr_rrc_continueEHC_Context_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_continueEHC_Context_r16 }, + { &hf_nr_rrc_ehc_r16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ehc_r16 }, + { &hf_nr_rrc_maxNumberEHC_Contexts_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberEHC_Contexts_r16 }, + { &hf_nr_rrc_jointEHC_ROHC_Config_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_jointEHC_ROHC_Config_r16 }, + { &hf_nr_rrc_pdcp_DuplicationMoreThanTwoRLC_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_DuplicationMoreThanTwoRLC_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PDCP_Parameters_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCP_Parameters_eag_1_sequence); + + 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 }, @@ -41055,6 +73498,7 @@ static const per_sequence_t PDCP_Parameters_sequence[] = { { &hf_nr_rrc_shortSN , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_shortSN }, { &hf_nr_rrc_pdcp_DuplicationSRB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_DuplicationSRB }, { &hf_nr_rrc_pdcp_DuplicationMCG_OrSCG_DRB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_DuplicationMCG_OrSCG_DRB }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCP_Parameters_eag_1 }, { NULL, 0, 0, NULL } }; @@ -41112,6 +73556,35 @@ dissect_nr_rrc_PDCP_ParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } +static const value_string nr_rrc_T_scg_DRB_NR_IAB_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scg_DRB_NR_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_v1610_sequence[] = { + { &hf_nr_rrc_scg_DRB_NR_IAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scg_DRB_NR_IAB_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PDCP_ParametersMRDC_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PDCP_ParametersMRDC_v1610, PDCP_ParametersMRDC_v1610_sequence); + + return offset; +} + + static const value_string nr_rrc_T_csi_RS_CFRA_ForHO_vals[] = { { 0, "supported" }, { 0, NULL } @@ -41711,6 +74184,422 @@ dissect_nr_rrc_Phy_ParametersCommon_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn } +static const per_sequence_t Phy_ParametersCommon_eag_3_sequence[] = { + { &hf_nr_rrc_spCellPlacement, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CarrierAggregationVariant }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_Phy_ParametersCommon_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersCommon_eag_3_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_twoStepRACH_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_twoStepRACH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_dci_Format1_2And0_2_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_dci_Format1_2And0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_monitoringDCI_SameSearchSpace_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_monitoringDCI_SameSearchSpace_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_type2_CG_ReleaseDCI_0_1_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_type2_CG_ReleaseDCI_0_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_type2_CG_ReleaseDCI_0_2_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_type2_CG_ReleaseDCI_0_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sps_ReleaseDCI_1_1_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sps_ReleaseDCI_1_1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sps_ReleaseDCI_1_2_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sps_ReleaseDCI_1_2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_TriggerStateNon_ActiveBWP_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_csi_TriggerStateNon_ActiveBWP_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_seperateSMTC_InterIAB_Support_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_seperateSMTC_InterIAB_Support_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_seperateRACH_IAB_Support_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_seperateRACH_IAB_Support_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_ul_flexibleDL_SlotFormatSemiStatic_IAB_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ul_flexibleDL_SlotFormatSemiStatic_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_ul_flexibleDL_SlotFormatDynamics_IAB_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ul_flexibleDL_SlotFormatDynamics_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_dft_S_OFDM_WaveformUL_IAB_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_dft_S_OFDM_WaveformUL_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_dci_25_AI_RNTI_Support_IAB_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_dci_25_AI_RNTI_Support_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_t_DeltaReceptionSupport_IAB_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_t_DeltaReceptionSupport_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_guardSymbolReportReception_IAB_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_guardSymbolReportReception_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_harqACK_CB_SpatialBundlingPUCCH_Group_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_harqACK_CB_SpatialBundlingPUCCH_Group_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_licensedBand_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_licensedBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_unlicensedBand_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_unlicensedBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_crossSlotScheduling_r16_sequence[] = { + { &hf_nr_rrc_licensedBand_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_licensedBand_r16 }, + { &hf_nr_rrc_unlicensedBand_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_unlicensedBand_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_crossSlotScheduling_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_crossSlotScheduling_r16, T_crossSlotScheduling_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_maxNumberSRS_PosPathLossEstimateAllServingCells_r16_vals[] = { + { 0, "n1" }, + { 1, "n4" }, + { 2, "n8" }, + { 3, "n16" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberSRS_PosPathLossEstimateAllServingCells_r16(tvbuff_t *tvb _U_, int offset _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_maxNumberSRS_PosSpatialRelationsAllServingCells_r16_vals[] = { + { 0, "n0" }, + { 1, "n1" }, + { 2, "n2" }, + { 3, "n4" }, + { 4, "n8" }, + { 5, "n16" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxNumberSRS_PosSpatialRelationsAllServingCells_r16(tvbuff_t *tvb _U_, int offset _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_extendedCG_Periodicities_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_extendedCG_Periodicities_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_extendedSPS_Periodicities_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_extendedSPS_Periodicities_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_4_sequence[] = { + { &hf_nr_rrc_twoStepRACH_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoStepRACH_r16 }, + { &hf_nr_rrc_dci_Format1_2And0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format1_2And0_2_r16 }, + { &hf_nr_rrc_monitoringDCI_SameSearchSpace_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_monitoringDCI_SameSearchSpace_r16 }, + { &hf_nr_rrc_type2_CG_ReleaseDCI_0_1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_CG_ReleaseDCI_0_1_r16 }, + { &hf_nr_rrc_type2_CG_ReleaseDCI_0_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_CG_ReleaseDCI_0_2_r16 }, + { &hf_nr_rrc_sps_ReleaseDCI_1_1_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sps_ReleaseDCI_1_1_r16 }, + { &hf_nr_rrc_sps_ReleaseDCI_1_2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sps_ReleaseDCI_1_2_r16 }, + { &hf_nr_rrc_csi_TriggerStateNon_ActiveBWP_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_TriggerStateNon_ActiveBWP_r16 }, + { &hf_nr_rrc_seperateSMTC_InterIAB_Support_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_seperateSMTC_InterIAB_Support_r16 }, + { &hf_nr_rrc_seperateRACH_IAB_Support_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_seperateRACH_IAB_Support_r16 }, + { &hf_nr_rrc_ul_flexibleDL_SlotFormatSemiStatic_IAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_flexibleDL_SlotFormatSemiStatic_IAB_r16 }, + { &hf_nr_rrc_ul_flexibleDL_SlotFormatDynamics_IAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_flexibleDL_SlotFormatDynamics_IAB_r16 }, + { &hf_nr_rrc_dft_S_OFDM_WaveformUL_IAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dft_S_OFDM_WaveformUL_IAB_r16 }, + { &hf_nr_rrc_dci_25_AI_RNTI_Support_IAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_25_AI_RNTI_Support_IAB_r16 }, + { &hf_nr_rrc_t_DeltaReceptionSupport_IAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_t_DeltaReceptionSupport_IAB_r16 }, + { &hf_nr_rrc_guardSymbolReportReception_IAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_guardSymbolReportReception_IAB_r16 }, + { &hf_nr_rrc_harqACK_CB_SpatialBundlingPUCCH_Group_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_harqACK_CB_SpatialBundlingPUCCH_Group_r16 }, + { &hf_nr_rrc_crossSlotScheduling_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_crossSlotScheduling_r16 }, + { &hf_nr_rrc_maxNumberSRS_PosPathLossEstimateAllServingCells_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberSRS_PosPathLossEstimateAllServingCells_r16 }, + { &hf_nr_rrc_maxNumberSRS_PosSpatialRelationsAllServingCells_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberSRS_PosSpatialRelationsAllServingCells_r16 }, + { &hf_nr_rrc_extendedCG_Periodicities_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_extendedCG_Periodicities_r16 }, + { &hf_nr_rrc_extendedSPS_Periodicities_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_extendedSPS_Periodicities_r16 }, + { &hf_nr_rrc_codebookVariantsList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CodebookVariantsList_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_Phy_ParametersCommon_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersCommon_eag_4_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 }, @@ -41748,6 +74637,8 @@ static const per_sequence_t Phy_ParametersCommon_sequence[] = { { &hf_nr_rrc_bwp_SwitchingDelay, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_SwitchingDelay }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersCommon_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersCommon_eag_2 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersCommon_eag_3 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersCommon_eag_4 }, { NULL, 0, 0, NULL } }; @@ -42656,6 +75547,162 @@ dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_2(tvbuff_t *tvb _U_, int offset _U_, a } +static const value_string nr_rrc_T_type1_HARQ_ACK_Codebook_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_type1_HARQ_ACK_Codebook_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_enhancedPowerControl_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_enhancedPowerControl_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_simultaneousTCI_ActMultipleCC_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_simultaneousTCI_ActMultipleCC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_simultaneousSpatialRelationMultipleCC_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_simultaneousSpatialRelationMultipleCC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_defaultSpatialRelationPathlossRS_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_defaultSpatialRelationPathlossRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_spatialRelationUpdateAP_SRS_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_spatialRelationUpdateAP_SRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_cli_RSSI_FDM_DL_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_cli_RSSI_FDM_DL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_cli_SRS_RSRP_FDM_DL_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_cli_SRS_RSRP_FDM_DL_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_maxLayersMIMO_Adaptation_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxLayersMIMO_Adaptation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t Phy_ParametersFRX_Diff_eag_3_sequence[] = { + { &hf_nr_rrc_type1_HARQ_ACK_Codebook_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type1_HARQ_ACK_Codebook_r16 }, + { &hf_nr_rrc_enhancedPowerControl_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_enhancedPowerControl_r16 }, + { &hf_nr_rrc_simultaneousTCI_ActMultipleCC_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousTCI_ActMultipleCC_r16 }, + { &hf_nr_rrc_simultaneousSpatialRelationMultipleCC_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousSpatialRelationMultipleCC_r16 }, + { &hf_nr_rrc_defaultSpatialRelationPathlossRS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_defaultSpatialRelationPathlossRS_r16 }, + { &hf_nr_rrc_spatialRelationUpdateAP_SRS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_spatialRelationUpdateAP_SRS_r16 }, + { &hf_nr_rrc_cli_RSSI_FDM_DL_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cli_RSSI_FDM_DL_r16 }, + { &hf_nr_rrc_cli_SRS_RSRP_FDM_DL_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cli_SRS_RSRP_FDM_DL_r16 }, + { &hf_nr_rrc_maxLayersMIMO_Adaptation_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxLayersMIMO_Adaptation_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersFRX_Diff_eag_3_sequence); + + return offset; +} + + static const per_sequence_t Phy_ParametersFRX_Diff_sequence[] = { { &hf_nr_rrc_dynamicSFI_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicSFI_01 }, { &hf_nr_rrc_dummy1_04 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 }, @@ -42696,6 +75743,7 @@ static const per_sequence_t Phy_ParametersFRX_Diff_sequence[] = { { &hf_nr_rrc_multipleCORESET, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleCORESET }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_2 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_3 }, { NULL, 0, 0, NULL } }; @@ -42723,14 +75771,14 @@ dissect_nr_rrc_T_pdcch_MonitoringSingleOccasion(tvbuff_t *tvb _U_, int offset _U } -static const value_string nr_rrc_T_scs_60kHz_07_vals[] = { +static const value_string nr_rrc_T_scs_60kHz_11_vals[] = { { 0, "supported" }, { 0, NULL } }; static int -dissect_nr_rrc_T_scs_60kHz_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_scs_60kHz_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); @@ -42814,7 +75862,7 @@ dissect_nr_rrc_Phy_ParametersFR1_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t Phy_ParametersFR1_sequence[] = { { &hf_nr_rrc_pdcch_MonitoringSingleOccasion, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_MonitoringSingleOccasion }, - { &hf_nr_rrc_scs_60kHz_10 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_07 }, + { &hf_nr_rrc_scs_60kHz_14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_11 }, { &hf_nr_rrc_pdsch_256QAM_FR1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_256QAM_FR1 }, { &hf_nr_rrc_pdsch_RE_MappingFR1_PerSymbol, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_RE_MappingFR1_PerSymbol }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersFR1_eag_1 }, @@ -43023,8 +76071,22 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry(tv } +static const per_sequence_t Phy_ParametersMRDC_eag_1_sequence[] = { + { &hf_nr_rrc_spCellPlacement, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CarrierAggregationVariant }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_Phy_ParametersMRDC_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersMRDC_eag_1_sequence); + + return offset; +} + + static const per_sequence_t Phy_ParametersMRDC_sequence[] = { { &hf_nr_rrc_naics_Capability_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersMRDC_eag_1 }, { NULL, 0, 0, NULL } }; @@ -43037,6 +76099,143 @@ dissect_nr_rrc_Phy_ParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } +static const value_string nr_rrc_T_drx_Preference_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_drx_Preference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_maxCC_Preference_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxCC_Preference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_releasePreference_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_releasePreference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_minSchedulingOffsetPreference_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_minSchedulingOffsetPreference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 PowSav_ParametersCommon_r16_sequence[] = { + { &hf_nr_rrc_drx_Preference_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_drx_Preference_r16 }, + { &hf_nr_rrc_maxCC_Preference_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxCC_Preference_r16 }, + { &hf_nr_rrc_releasePreference_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_releasePreference_r16 }, + { &hf_nr_rrc_minSchedulingOffsetPreference_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_minSchedulingOffsetPreference_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PowSav_ParametersCommon_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PowSav_ParametersCommon_r16, PowSav_ParametersCommon_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_maxBW_Preference_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxBW_Preference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_maxMIMO_LayerPreference_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_maxMIMO_LayerPreference_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 PowSav_ParametersFRX_Diff_r16_sequence[] = { + { &hf_nr_rrc_maxBW_Preference_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxBW_Preference_r16 }, + { &hf_nr_rrc_maxMIMO_LayerPreference_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxMIMO_LayerPreference_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PowSav_ParametersFRX_Diff_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PowSav_ParametersFRX_Diff_r16, PowSav_ParametersFRX_Diff_r16_sequence); + + return offset; +} + + +static const per_sequence_t PowSav_Parameters_r16_sequence[] = { + { &hf_nr_rrc_powSav_ParametersCommon_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PowSav_ParametersCommon_r16 }, + { &hf_nr_rrc_powSav_ParametersFRX_Diff_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PowSav_ParametersFRX_Diff_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PowSav_Parameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PowSav_Parameters_r16, PowSav_Parameters_r16_sequence); + + return offset; +} + + static const value_string nr_rrc_T_extendedCP_vals[] = { { 0, "supported" }, { 0, NULL } @@ -43192,9 +76391,9 @@ dissect_nr_rrc_T_rateMatchingLTE_CRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx static const per_sequence_t T_fr1_sequence[] = { - { &hf_nr_rrc_scs_15kHz_08 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, - { &hf_nr_rrc_scs_30kHz_08 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, - { &hf_nr_rrc_scs_60kHz_11 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, + { &hf_nr_rrc_scs_15kHz_12 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, + { &hf_nr_rrc_scs_30kHz_12 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, + { &hf_nr_rrc_scs_60kHz_15 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, { NULL, 0, 0, NULL } }; @@ -43208,8 +76407,8 @@ dissect_nr_rrc_T_fr1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr static const per_sequence_t T_fr2_sequence[] = { - { &hf_nr_rrc_scs_60kHz_12 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_3 }, - { &hf_nr_rrc_scs_120kHz_09, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_3 }, + { &hf_nr_rrc_scs_60kHz_16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_3 }, + { &hf_nr_rrc_scs_120kHz_13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_3 }, { NULL, 0, 0, NULL } }; @@ -43245,9 +76444,9 @@ dissect_nr_rrc_T_channelBWs_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static const per_sequence_t T_fr1_01_sequence[] = { - { &hf_nr_rrc_scs_15kHz_08 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, - { &hf_nr_rrc_scs_30kHz_08 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, - { &hf_nr_rrc_scs_60kHz_11 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, + { &hf_nr_rrc_scs_15kHz_12 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, + { &hf_nr_rrc_scs_30kHz_12 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, + { &hf_nr_rrc_scs_60kHz_15 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, { NULL, 0, 0, NULL } }; @@ -43261,8 +76460,8 @@ dissect_nr_rrc_T_fr1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, static const per_sequence_t T_fr2_01_sequence[] = { - { &hf_nr_rrc_scs_60kHz_12 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_3 }, - { &hf_nr_rrc_scs_120kHz_09, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_3 }, + { &hf_nr_rrc_scs_60kHz_16 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_3 }, + { &hf_nr_rrc_scs_120kHz_13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_3 }, { NULL, 0, 0, NULL } }; @@ -43412,9 +76611,9 @@ dissect_nr_rrc_BandNR_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static const per_sequence_t T_fr1_02_sequence[] = { - { &hf_nr_rrc_scs_15kHz_09 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 }, - { &hf_nr_rrc_scs_30kHz_09 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 }, - { &hf_nr_rrc_scs_60kHz_13 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 }, + { &hf_nr_rrc_scs_15kHz_13 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 }, + { &hf_nr_rrc_scs_30kHz_13 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 }, + { &hf_nr_rrc_scs_60kHz_17 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 }, { NULL, 0, 0, NULL } }; @@ -43428,8 +76627,8 @@ dissect_nr_rrc_T_fr1_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, static const per_sequence_t T_fr2_02_sequence[] = { - { &hf_nr_rrc_scs_60kHz_14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_8 }, - { &hf_nr_rrc_scs_120kHz_10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_8 }, + { &hf_nr_rrc_scs_60kHz_18 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_8 }, + { &hf_nr_rrc_scs_120kHz_14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_8 }, { NULL, 0, 0, NULL } }; @@ -43465,9 +76664,9 @@ dissect_nr_rrc_T_channelBWs_DL_v1590(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx static const per_sequence_t T_fr1_03_sequence[] = { - { &hf_nr_rrc_scs_15kHz_09 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 }, - { &hf_nr_rrc_scs_30kHz_09 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 }, - { &hf_nr_rrc_scs_60kHz_13 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 }, + { &hf_nr_rrc_scs_15kHz_13 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 }, + { &hf_nr_rrc_scs_30kHz_13 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 }, + { &hf_nr_rrc_scs_60kHz_17 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 }, { NULL, 0, 0, NULL } }; @@ -43481,8 +76680,8 @@ dissect_nr_rrc_T_fr1_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, static const per_sequence_t T_fr2_03_sequence[] = { - { &hf_nr_rrc_scs_60kHz_14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_8 }, - { &hf_nr_rrc_scs_120kHz_10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_8 }, + { &hf_nr_rrc_scs_60kHz_18 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_8 }, + { &hf_nr_rrc_scs_120kHz_14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_8 }, { NULL, 0, 0, NULL } }; @@ -43531,6 +76730,938 @@ dissect_nr_rrc_BandNR_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } +static const per_sequence_t BandNR_eag_5_sequence[] = { + { &hf_nr_rrc_asymmetricBandwidthCombinationSet, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_1_32 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_BandNR_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_5_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_ssb_BFD_CBD_dynamicChannelAccess_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ssb_BFD_CBD_dynamicChannelAccess_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_BFD_CBD_semi_staticChannelAccess_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ssb_BFD_CBD_semi_staticChannelAccess_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_BFD_CBD_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_csi_RS_BFD_CBD_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_rssi_ChannelOccupancyReporting_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_rssi_ChannelOccupancyReporting_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_srs_StartAnyOFDM_Symbol_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_srs_StartAnyOFDM_Symbol_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_coreset_RB_Offset_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_coreset_RB_Offset_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_cgi_Acquisition_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_cgi_Acquisition_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_configuredUL_Tx_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_configuredUL_Tx_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_typeB_PDSCH_length_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_typeB_PDSCH_length_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_searchSpaceSetGroupSwitchingwithDCI_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_searchSpaceSetGroupSwitchingwithDCI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_searchSpaceSetGroupSwitchingwithoutDCI_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_searchSpaceSetGroupSwitchingwithoutDCI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_searchSpaceSetGroupSwitchingcapability2_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_searchSpaceSetGroupSwitchingcapability2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_non_numericalPDSCH_HARQ_timing_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_non_numericalPDSCH_HARQ_timing_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_enhancedDynamicHARQ_codebook_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_enhancedDynamicHARQ_codebook_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_oneShotHARQ_feedback_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_oneShotHARQ_feedback_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_multiPUSCH_UL_grant_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_multiPUSCH_UL_grant_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_csi_RS_RLM_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_vcsi_RS_RRM_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_vcsi_RS_RRM_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_pusch_PRB_interlace_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_pusch_PRB_interlace_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_pucch_F0_F1_PRB_Interlace_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_pucch_F0_F1_PRB_Interlace_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_occ_PRB_PF2_PF3_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_occ_PRB_PF2_PF3_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_extCP_rangeCG_PUSCH_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_extCP_rangeCG_PUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_configuredGrantWithReTx_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_configuredGrantWithReTx_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_mux_CG_UCI_HARQ_ACK_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_mux_CG_UCI_HARQ_ACK_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_cg_resourceConfig_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_cg_resourceConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 UnlicensedParametersPerBand_r16_sequence[] = { + { &hf_nr_rrc_ssb_BFD_CBD_dynamicChannelAccess_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_BFD_CBD_dynamicChannelAccess_r16 }, + { &hf_nr_rrc_ssb_BFD_CBD_semi_staticChannelAccess_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_BFD_CBD_semi_staticChannelAccess_r16 }, + { &hf_nr_rrc_csi_RS_BFD_CBD_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_BFD_CBD_r16 }, + { &hf_nr_rrc_rssi_ChannelOccupancyReporting_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rssi_ChannelOccupancyReporting_r16 }, + { &hf_nr_rrc_srs_StartAnyOFDM_Symbol_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_StartAnyOFDM_Symbol_r16 }, + { &hf_nr_rrc_searchSpaceFreqMonitorLocation_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_5 }, + { &hf_nr_rrc_coreset_RB_Offset_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_coreset_RB_Offset_r16 }, + { &hf_nr_rrc_cgi_Acquisition_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cgi_Acquisition_r16 }, + { &hf_nr_rrc_configuredUL_Tx_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredUL_Tx_r16 }, + { &hf_nr_rrc_typeB_PDSCH_length_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_typeB_PDSCH_length_r16 }, + { &hf_nr_rrc_searchSpaceSetGroupSwitchingwithDCI_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceSetGroupSwitchingwithDCI_r16 }, + { &hf_nr_rrc_searchSpaceSetGroupSwitchingwithoutDCI_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceSetGroupSwitchingwithoutDCI_r16 }, + { &hf_nr_rrc_searchSpaceSetGroupSwitchingcapability2_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceSetGroupSwitchingcapability2_r16 }, + { &hf_nr_rrc_non_numericalPDSCH_HARQ_timing_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_non_numericalPDSCH_HARQ_timing_r16 }, + { &hf_nr_rrc_enhancedDynamicHARQ_codebook_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_enhancedDynamicHARQ_codebook_r16 }, + { &hf_nr_rrc_oneShotHARQ_feedback_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_oneShotHARQ_feedback_r16 }, + { &hf_nr_rrc_multiPUSCH_UL_grant_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_multiPUSCH_UL_grant_r16 }, + { &hf_nr_rrc_csi_RS_RLM_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_RLM_r16 }, + { &hf_nr_rrc_vcsi_RS_RRM_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_vcsi_RS_RRM_r16 }, + { &hf_nr_rrc_pusch_PRB_interlace_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_PRB_interlace_r16 }, + { &hf_nr_rrc_pucch_F0_F1_PRB_Interlace_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_F0_F1_PRB_Interlace_r16 }, + { &hf_nr_rrc_occ_PRB_PF2_PF3_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_occ_PRB_PF2_PF3_r16 }, + { &hf_nr_rrc_extCP_rangeCG_PUSCH_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_extCP_rangeCG_PUSCH_r16 }, + { &hf_nr_rrc_configuredGrantWithReTx_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredGrantWithReTx_r16 }, + { &hf_nr_rrc_mux_CG_UCI_HARQ_ACK_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mux_CG_UCI_HARQ_ACK_r16 }, + { &hf_nr_rrc_cg_resourceConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cg_resourceConfig_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UnlicensedParametersPerBand_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_UnlicensedParametersPerBand_r16, UnlicensedParametersPerBand_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_cancelOverlappingPUSCH_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_cancelOverlappingPUSCH_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_2_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, + 2U, 6U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_multipleRateMatchingEUTRA_CRS_r16_sequence[] = { + { &hf_nr_rrc_maxNumberPatterns_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_6 }, + { &hf_nr_rrc_maxNumberNon_OverlapPatterns_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_3 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_multipleRateMatchingEUTRA_CRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_multipleRateMatchingEUTRA_CRS_r16, T_multipleRateMatchingEUTRA_CRS_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_overlapRateMatchingEUTRA_CRS_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_overlapRateMatchingEUTRA_CRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_pdsch_MappingTypeB_Alt_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_pdsch_MappingTypeB_Alt_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_oneShotPeriodicTRS_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_oneShotPeriodicTRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_spatialRelation_SRS_PosBasedOnSSB_Serving_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnSSB_Serving_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_spatialRelation_SRS_PosBasedOnPRS_Serving_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnPRS_Serving_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_spatialRelation_SRS_PosBasedOnSRS_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnSRS_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 SpatialRelationsSRS_Pos_r16_sequence[] = { + { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnSSB_Serving_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnSSB_Serving_r16 }, + { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16 }, + { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnPRS_Serving_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnPRS_Serving_r16 }, + { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnSRS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnSRS_r16 }, + { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16 }, + { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SpatialRelationsSRS_Pos_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SpatialRelationsSRS_Pos_r16, SpatialRelationsSRS_Pos_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_scs_15kHz_09_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_15kHz_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scs_30kHz_09_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_30kHz_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scs_60kHz_12_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_60kHz_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_fr1_100mhz_sequence[] = { + { &hf_nr_rrc_scs_15kHz_14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_09 }, + { &hf_nr_rrc_scs_30kHz_14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_09 }, + { &hf_nr_rrc_scs_60kHz_19 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_fr1_100mhz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_fr1_100mhz, T_fr1_100mhz_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_scs_60kHz_13_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_60kHz_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_120kHz_11_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_120kHz_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_fr2_200mhz_sequence[] = { + { &hf_nr_rrc_scs_60kHz_20 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_13 }, + { &hf_nr_rrc_scs_120kHz_15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_fr2_200mhz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_200mhz, T_fr2_200mhz_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_channelBW_DL_IAB_r16_vals[] = { + { 0, "fr1-100mhz" }, + { 1, "fr2-200mhz" }, + { 0, NULL } +}; + +static const per_choice_t T_channelBW_DL_IAB_r16_choice[] = { + { 0, &hf_nr_rrc_fr1_100mhz , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr1_100mhz }, + { 1, &hf_nr_rrc_fr2_200mhz , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr2_200mhz }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_channelBW_DL_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_channelBW_DL_IAB_r16, T_channelBW_DL_IAB_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scs_15kHz_10_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_15kHz_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_30kHz_10_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_30kHz_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_scs_60kHz_14_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_60kHz_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_fr1_100mhz_01_sequence[] = { + { &hf_nr_rrc_scs_15kHz_15 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_10 }, + { &hf_nr_rrc_scs_30kHz_15 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_10 }, + { &hf_nr_rrc_scs_60kHz_21 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_14 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_fr1_100mhz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_fr1_100mhz_01, T_fr1_100mhz_01_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_scs_60kHz_15_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_60kHz_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + 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_120kHz_12_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_scs_120kHz_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_fr2_200mhz_01_sequence[] = { + { &hf_nr_rrc_scs_60kHz_22 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_15 }, + { &hf_nr_rrc_scs_120kHz_16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_fr2_200mhz_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_200mhz_01, T_fr2_200mhz_01_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_channelBW_UL_IAB_r16_vals[] = { + { 0, "fr1-100mhz" }, + { 1, "fr2-200mhz" }, + { 0, NULL } +}; + +static const per_choice_t T_channelBW_UL_IAB_r16_choice[] = { + { 0, &hf_nr_rrc_fr1_100mhz_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr1_100mhz_01 }, + { 1, &hf_nr_rrc_fr2_200mhz_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr2_200mhz_01 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_channelBW_UL_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_channelBW_UL_IAB_r16, T_channelBW_UL_IAB_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_rasterShift7dot5_IAB_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_rasterShift7dot5_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_ue_PowerClass_v1610_vals[] = { + { 0, "pc1dot5" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ue_PowerClass_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t BandNR_eag_6_sequence[] = { + { &hf_nr_rrc_unlicensedParametersPerBand_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UnlicensedParametersPerBand_r16 }, + { &hf_nr_rrc_cancelOverlappingPUSCH_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cancelOverlappingPUSCH_r16 }, + { &hf_nr_rrc_multipleRateMatchingEUTRA_CRS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleRateMatchingEUTRA_CRS_r16 }, + { &hf_nr_rrc_overlapRateMatchingEUTRA_CRS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_overlapRateMatchingEUTRA_CRS_r16 }, + { &hf_nr_rrc_pdsch_MappingTypeB_Alt_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_MappingTypeB_Alt_r16 }, + { &hf_nr_rrc_oneShotPeriodicTRS_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_oneShotPeriodicTRS_r16 }, + { &hf_nr_rrc_olpc_SRS_Pos_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OLPC_SRS_Pos_r16 }, + { &hf_nr_rrc_spatialRelationsSRS_Pos_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SpatialRelationsSRS_Pos_r16 }, + { &hf_nr_rrc_simul_SRS_Trans_IntraBandCA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_2 }, + { &hf_nr_rrc_channelBW_DL_IAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_channelBW_DL_IAB_r16 }, + { &hf_nr_rrc_channelBW_UL_IAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_channelBW_UL_IAB_r16 }, + { &hf_nr_rrc_rasterShift7dot5_IAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rasterShift7dot5_IAB_r16 }, + { &hf_nr_rrc_ue_PowerClass_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_PowerClass_v1610 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_BandNR_eag_6(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_6_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 }, @@ -43551,6 +77682,8 @@ static const per_sequence_t BandNR_sequence[] = { { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_2 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_3 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_4 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_5 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_6 }, { NULL, 0, 0, NULL } }; @@ -43632,6 +77765,21 @@ dissect_nr_rrc_RF_Parameters_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } +static const per_sequence_t RF_Parameters_eag_4_sequence[] = { + { &hf_nr_rrc_supportedBandCombinationList_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList_v1610 }, + { &hf_nr_rrc_supportedBandCombinationListSidelink_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationListSidelink_r16 }, + { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RF_Parameters_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_Parameters_eag_4_sequence); + + return offset; +} + + static const per_sequence_t RF_Parameters_sequence[] = { { &hf_nr_rrc_supportedBandListNR, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR }, { &hf_nr_rrc_supportedBandCombinationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList }, @@ -43639,6 +77787,7 @@ static const per_sequence_t RF_Parameters_sequence[] = { { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_2 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_3 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_4 }, { NULL, 0, 0, NULL } }; @@ -43746,6 +77895,52 @@ dissect_nr_rrc_RF_ParametersMRDC_eag_6(tvbuff_t *tvb _U_, int offset _U_, asn1_c } +static const per_sequence_t T_supportedBandCombinationListNEDC_Only_v15a0_sequence[] = { + { &hf_nr_rrc_supportedBandCombinationList_v1540, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList_v1540 }, + { &hf_nr_rrc_supportedBandCombinationList_v1560, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList_v1560 }, + { &hf_nr_rrc_supportedBandCombinationList_v1570, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList_v1570 }, + { &hf_nr_rrc_supportedBandCombinationList_v1580, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList_v1580 }, + { &hf_nr_rrc_supportedBandCombinationList_v1590, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList_v1590 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_supportedBandCombinationListNEDC_Only_v15a0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_supportedBandCombinationListNEDC_Only_v15a0, T_supportedBandCombinationListNEDC_Only_v15a0_sequence); + + return offset; +} + + +static const per_sequence_t RF_ParametersMRDC_eag_7_sequence[] = { + { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v15a0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_supportedBandCombinationListNEDC_Only_v15a0 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RF_ParametersMRDC_eag_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_7_sequence); + + return offset; +} + + +static const per_sequence_t RF_ParametersMRDC_eag_8_sequence[] = { + { &hf_nr_rrc_supportedBandCombinationList_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList_v1610 }, + { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList_v1610 }, + { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList_UplinkTxSwitch_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RF_ParametersMRDC_eag_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_8_sequence); + + return offset; +} + + static const per_sequence_t RF_ParametersMRDC_sequence[] = { { &hf_nr_rrc_supportedBandCombinationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList }, { &hf_nr_rrc_appliedFreqBandListFilter, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_FreqBandList }, @@ -43755,6 +77950,8 @@ static const per_sequence_t RF_ParametersMRDC_sequence[] = { { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_4 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_5 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_6 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_7 }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_8 }, { NULL, 0, 0, NULL } }; @@ -43812,10 +78009,55 @@ dissect_nr_rrc_T_um_WithLongSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } +static const value_string nr_rrc_T_extendedT_PollRetransmit_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_extendedT_PollRetransmit_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_extendedT_StatusProhibit_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_extendedT_StatusProhibit_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t RLC_Parameters_eag_1_sequence[] = { + { &hf_nr_rrc_extendedT_PollRetransmit_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_extendedT_PollRetransmit_r16 }, + { &hf_nr_rrc_extendedT_StatusProhibit_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_extendedT_StatusProhibit_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RLC_Parameters_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RLC_Parameters_eag_1_sequence); + + return offset; +} + + static const per_sequence_t RLC_Parameters_sequence[] = { { &hf_nr_rrc_am_WithShortSN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_am_WithShortSN }, { &hf_nr_rrc_um_WithShortSN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_um_WithShortSN }, { &hf_nr_rrc_um_WithLongSN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_um_WithLongSN }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RLC_Parameters_eag_1 }, { NULL, 0, 0, NULL } }; @@ -43843,8 +78085,53 @@ dissect_nr_rrc_T_as_ReflectiveQoS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } +static const value_string nr_rrc_T_sdap_QOS_IAB_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sdap_QOS_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sdapHeaderIAB_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sdapHeaderIAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SDAP_Parameters_eag_1_sequence[] = { + { &hf_nr_rrc_sdap_QOS_IAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sdap_QOS_IAB_r16 }, + { &hf_nr_rrc_sdapHeaderIAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sdapHeaderIAB_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SDAP_Parameters_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SDAP_Parameters_eag_1_sequence); + + return offset; +} + + static const per_sequence_t SDAP_Parameters_sequence[] = { { &hf_nr_rrc_as_ReflectiveQoS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_as_ReflectiveQoS }, + { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SDAP_Parameters_eag_1 }, { NULL, 0, 0, NULL } }; @@ -43857,6 +78144,568 @@ dissect_nr_rrc_SDAP_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } +static const value_string nr_rrc_T_am_WithLongSN_Sidelink_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_am_WithLongSN_Sidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_um_WithLongSN_Sidelink_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_um_WithLongSN_Sidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t RLC_ParametersSidelink_r16_sequence[] = { + { &hf_nr_rrc_am_WithLongSN_Sidelink_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_am_WithLongSN_Sidelink_r16 }, + { &hf_nr_rrc_um_WithLongSN_Sidelink_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_um_WithLongSN_Sidelink_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RLC_ParametersSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_ParametersSidelink_r16, RLC_ParametersSidelink_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_lcp_RestrictionSidelink_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_lcp_RestrictionSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_multipleConfiguredGrantsSidelink_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_multipleConfiguredGrantsSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_ParametersSidelinkCommon_r16_sequence[] = { + { &hf_nr_rrc_lcp_RestrictionSidelink_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_lcp_RestrictionSidelink_r16 }, + { &hf_nr_rrc_multipleConfiguredGrantsSidelink_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleConfiguredGrantsSidelink_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MAC_ParametersSidelinkCommon_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_ParametersSidelinkCommon_r16, MAC_ParametersSidelinkCommon_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_multipleSR_ConfigurationsSidelink_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_multipleSR_ConfigurationsSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_logicalChannelSR_DelayTimerSidelink_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_logicalChannelSR_DelayTimerSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_ParametersSidelinkXDD_Diff_r16_sequence[] = { + { &hf_nr_rrc_multipleSR_ConfigurationsSidelink_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleSR_ConfigurationsSidelink_r16 }, + { &hf_nr_rrc_logicalChannelSR_DelayTimerSidelink_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_logicalChannelSR_DelayTimerSidelink_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MAC_ParametersSidelinkXDD_Diff_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_ParametersSidelinkXDD_Diff_r16, MAC_ParametersSidelinkXDD_Diff_r16_sequence); + + return offset; +} + + +static const per_sequence_t MAC_ParametersSidelink_r16_sequence[] = { + { &hf_nr_rrc_mac_ParametersSidelinkCommon_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersSidelinkCommon_r16 }, + { &hf_nr_rrc_mac_ParametersSidelinkXDD_Diff_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersSidelinkXDD_Diff_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MAC_ParametersSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_ParametersSidelink_r16, MAC_ParametersSidelink_r16_sequence); + + return offset; +} + + +static const per_sequence_t UE_SidelinkCapabilityAddXDD_Mode_r16_sequence[] = { + { &hf_nr_rrc_mac_ParametersSidelinkXDD_Diff_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersSidelinkXDD_Diff_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UE_SidelinkCapabilityAddXDD_Mode_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_SidelinkCapabilityAddXDD_Mode_r16, UE_SidelinkCapabilityAddXDD_Mode_r16_sequence); + + return offset; +} + + +static const per_sequence_t SidelinkParametersNR_r16_sequence[] = { + { &hf_nr_rrc_rlc_ParametersSidelink_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RLC_ParametersSidelink_r16 }, + { &hf_nr_rrc_mac_ParametersSidelink_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersSidelink_r16 }, + { &hf_nr_rrc_fdd_Add_UE_Sidelink_Capabilities_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_UE_SidelinkCapabilityAddXDD_Mode_r16 }, + { &hf_nr_rrc_tdd_Add_UE_Sidelink_Capabilities_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_UE_SidelinkCapabilityAddXDD_Mode_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SidelinkParametersNR_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SidelinkParametersNR_r16, SidelinkParametersNR_r16_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_T_sl_ParametersEUTRA1_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *sl_params_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &sl_params_tvb); + + if (sl_params_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ParametersEUTRA1_r16); + dissect_lte_rrc_SL_Parameters_v1430_PDU(sl_params_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + + +static int +dissect_nr_rrc_T_sl_ParametersEUTRA2_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *sl_params_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &sl_params_tvb); + + if (sl_params_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ParametersEUTRA2_r16); + dissect_lte_rrc_SL_Parameters_v1530_PDU(sl_params_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + + +static int +dissect_nr_rrc_T_sl_ParametersEUTRA3_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *sl_params_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &sl_params_tvb); + + if (sl_params_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ParametersEUTRA3_r16); + dissect_lte_rrc_SL_Parameters_v1540_PDU(sl_params_tvb, actx->pinfo, subtree, NULL); + } + + + return offset; +} + + +static const value_string nr_rrc_T_gnb_ScheduledMode3DelaySidelinkEUTRA_r16_vals[] = { + { 0, "ms0" }, + { 1, "ms0dot25" }, + { 2, "ms0dot5" }, + { 3, "ms0dot625" }, + { 4, "ms0dot75" }, + { 5, "ms1" }, + { 6, "ms1dot25" }, + { 7, "ms1dot5" }, + { 8, "ms1dot75" }, + { 9, "ms2" }, + { 10, "ms2dot5" }, + { 11, "ms3" }, + { 12, "ms4" }, + { 13, "ms5" }, + { 14, "ms6" }, + { 15, "ms8" }, + { 16, "ms10" }, + { 17, "ms20" }, + { 0, NULL } +}; + +static value_string_ext nr_rrc_T_gnb_ScheduledMode3DelaySidelinkEUTRA_r16_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_gnb_ScheduledMode3DelaySidelinkEUTRA_r16_vals); + + +static int +dissect_nr_rrc_T_gnb_ScheduledMode3DelaySidelinkEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 18, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_gnb_ScheduledMode3SidelinkEUTRA_r16_sequence[] = { + { &hf_nr_rrc_gnb_ScheduledMode3DelaySidelinkEUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_gnb_ScheduledMode3DelaySidelinkEUTRA_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_gnb_ScheduledMode3SidelinkEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_gnb_ScheduledMode3SidelinkEUTRA_r16, T_gnb_ScheduledMode3SidelinkEUTRA_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_gnb_ScheduledMode4SidelinkEUTRA_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_gnb_ScheduledMode4SidelinkEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 BandSidelinkEUTRA_r16_sequence[] = { + { &hf_nr_rrc_freqBandSidelinkEUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA }, + { &hf_nr_rrc_gnb_ScheduledMode3SidelinkEUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_gnb_ScheduledMode3SidelinkEUTRA_r16 }, + { &hf_nr_rrc_gnb_ScheduledMode4SidelinkEUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_gnb_ScheduledMode4SidelinkEUTRA_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_BandSidelinkEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BandSidelinkEUTRA_r16, BandSidelinkEUTRA_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxBandsEUTRA_OF_BandSidelinkEUTRA_r16_sequence_of[1] = { + { &hf_nr_rrc_supportedBandListSidelinkEUTRA_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandSidelinkEUTRA_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_BandSidelinkEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_BandSidelinkEUTRA_r16, SEQUENCE_SIZE_1_maxBandsEUTRA_OF_BandSidelinkEUTRA_r16_sequence_of, + 1, maxBandsEUTRA, FALSE); + + return offset; +} + + +static const per_sequence_t SidelinkParametersEUTRA_r16_sequence[] = { + { &hf_nr_rrc_sl_ParametersEUTRA1_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_ParametersEUTRA1_r16 }, + { &hf_nr_rrc_sl_ParametersEUTRA2_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_ParametersEUTRA2_r16 }, + { &hf_nr_rrc_sl_ParametersEUTRA3_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_ParametersEUTRA3_r16 }, + { &hf_nr_rrc_supportedBandListSidelinkEUTRA_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_BandSidelinkEUTRA_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SidelinkParametersEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SidelinkParametersEUTRA_r16, SidelinkParametersEUTRA_r16_sequence); + + return offset; +} + + +static const per_sequence_t SidelinkParameters_r16_sequence[] = { + { &hf_nr_rrc_sidelinkParametersNR_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SidelinkParametersNR_r16 }, + { &hf_nr_rrc_sidelinkParametersEUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SidelinkParametersEUTRA_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SidelinkParameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SidelinkParameters_r16, SidelinkParameters_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_rach_Report_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_rach_Report_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 SON_Parameters_r16_sequence[] = { + { &hf_nr_rrc_rach_Report_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rach_Report_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SON_Parameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SON_Parameters_r16, SON_Parameters_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_barometerMeasReport_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_barometerMeasReport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_immMeasBT_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_immMeasBT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_immMeasWLAN_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_immMeasWLAN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_loggedMeasBT_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_loggedMeasBT_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_loggedMeasurements_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_loggedMeasurements_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_loggedMeasWLAN_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_loggedMeasWLAN_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_orientationMeasReport_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_orientationMeasReport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_speedMeasReport_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_speedMeasReport_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_gnss_Location_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_gnss_Location_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_ulPDCP_Delay_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_ulPDCP_Delay_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t UE_BasedPerfMeas_Parameters_r16_sequence[] = { + { &hf_nr_rrc_barometerMeasReport_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_barometerMeasReport_r16 }, + { &hf_nr_rrc_immMeasBT_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_immMeasBT_r16 }, + { &hf_nr_rrc_immMeasWLAN_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_immMeasWLAN_r16 }, + { &hf_nr_rrc_loggedMeasBT_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_loggedMeasBT_r16 }, + { &hf_nr_rrc_loggedMeasurements_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_loggedMeasurements_r16 }, + { &hf_nr_rrc_loggedMeasWLAN_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_loggedMeasWLAN_r16 }, + { &hf_nr_rrc_orientationMeasReport_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_orientationMeasReport_r16 }, + { &hf_nr_rrc_speedMeasReport_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_speedMeasReport_r16 }, + { &hf_nr_rrc_gnss_Location_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_gnss_Location_r16 }, + { &hf_nr_rrc_ulPDCP_Delay_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ulPDCP_Delay_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UE_BasedPerfMeas_Parameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_BasedPerfMeas_Parameters_r16, UE_BasedPerfMeas_Parameters_r16_sequence); + + return offset; +} + + static const value_string nr_rrc_T_srs_SwitchingTimeRequest_vals[] = { { 0, "true" }, { 0, NULL } @@ -43872,14 +78721,14 @@ dissect_nr_rrc_T_srs_SwitchingTimeRequest(tvbuff_t *tvb _U_, int offset _U_, asn } -static const per_sequence_t T_nonCriticalExtension_37_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_49_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_37(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_T_nonCriticalExtension_49(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_nonCriticalExtension_37, T_nonCriticalExtension_37_sequence); + ett_nr_rrc_T_nonCriticalExtension_49, T_nonCriticalExtension_49_sequence); return offset; } @@ -43887,7 +78736,7 @@ dissect_nr_rrc_T_nonCriticalExtension_37(tvbuff_t *tvb _U_, int offset _U_, asn1 static const per_sequence_t UE_CapabilityRequestFilterNR_v1540_sequence[] = { { &hf_nr_rrc_srs_SwitchingTimeRequest, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_SwitchingTimeRequest }, - { &hf_nr_rrc_nonCriticalExtension_56, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_37 }, + { &hf_nr_rrc_nonCriticalExtension_84, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_49 }, { NULL, 0, 0, NULL } }; @@ -43902,7 +78751,7 @@ dissect_nr_rrc_UE_CapabilityRequestFilterNR_v1540(tvbuff_t *tvb _U_, int offset static const per_sequence_t UE_CapabilityRequestFilterNR_sequence[] = { { &hf_nr_rrc_frequencyBandListFilter, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqBandList }, - { &hf_nr_rrc_nonCriticalExtension_55, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_CapabilityRequestFilterNR_v1540 }, + { &hf_nr_rrc_nonCriticalExtension_83, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_CapabilityRequestFilterNR_v1540 }, { NULL, 0, 0, NULL } }; @@ -43953,14 +78802,60 @@ dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode_v1560(tvbuff_t *tvb _U_, int offset } -static const per_sequence_t T_nonCriticalExtension_38_sequence[] = { +static const value_string nr_rrc_T_f1c_OverEUTRA_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_f1c_OverEUTRA_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t GeneralParametersMRDC_v1610_sequence[] = { + { &hf_nr_rrc_f1c_OverEUTRA_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_f1c_OverEUTRA_r16 }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_GeneralParametersMRDC_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_nonCriticalExtension_38, T_nonCriticalExtension_38_sequence); + ett_nr_rrc_GeneralParametersMRDC_v1610, GeneralParametersMRDC_v1610_sequence); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_50_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_50, T_nonCriticalExtension_50_sequence); + + return offset; +} + + +static const per_sequence_t UE_MRDC_Capability_v1610_sequence[] = { + { &hf_nr_rrc_measAndMobParametersMRDC_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC_v1610 }, + { &hf_nr_rrc_generalParametersMRDC_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_GeneralParametersMRDC_v1610 }, + { &hf_nr_rrc_pdcp_ParametersMRDC_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PDCP_ParametersMRDC_v1610 }, + { &hf_nr_rrc_nonCriticalExtension_87, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_50 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UE_MRDC_Capability_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_v1610, UE_MRDC_Capability_v1610_sequence); return offset; } @@ -43971,7 +78866,7 @@ static const per_sequence_t UE_MRDC_Capability_v1560_sequence[] = { { &hf_nr_rrc_measAndMobParametersMRDC_v1560, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC_v1560 }, { &hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities_v1560, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode_v1560 }, { &hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities_v1560, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode_v1560 }, - { &hf_nr_rrc_nonCriticalExtension_58, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_38 }, + { &hf_nr_rrc_nonCriticalExtension_86, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_Capability_v1610 }, { NULL, 0, 0, NULL } }; @@ -43996,7 +78891,7 @@ static const per_sequence_t UE_MRDC_Capability_sequence[] = { { &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_57, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_Capability_v1560 }, + { &hf_nr_rrc_nonCriticalExtension_85, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_Capability_v1560 }, { NULL, 0, 0, NULL } }; @@ -44153,14 +79048,258 @@ dissect_nr_rrc_T_receivedFilters_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } -static const per_sequence_t T_nonCriticalExtension_39_sequence[] = { +static const value_string nr_rrc_T_inDeviceCoexInd_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_inDeviceCoexInd_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_dl_DedicatedMessageSegmentation_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_dl_DedicatedMessageSegmentation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t UE_NR_CapabilityAddFRX_Mode_v1610_sequence[] = { + { &hf_nr_rrc_powSav_ParametersFRX_Diff_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PowSav_ParametersFRX_Diff_r16 }, + { &hf_nr_rrc_mac_ParametersFRX_Diff_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersFRX_Diff_r16 }, { NULL, 0, 0, NULL } }; static int -dissect_nr_rrc_T_nonCriticalExtension_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_T_nonCriticalExtension_39, T_nonCriticalExtension_39_sequence); + ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1610, UE_NR_CapabilityAddFRX_Mode_v1610_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_bh_RLF_Indication_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_bh_RLF_Indication_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_directSN_AdditionFirstRRC_IAB_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_directSN_AdditionFirstRRC_IAB_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_flowControlBH_RLC_ChannelBased_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_flowControlBH_RLC_ChannelBased_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_flowControlRouting_ID_Based_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_flowControlRouting_ID_Based_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 BAP_Parameters_r16_sequence[] = { + { &hf_nr_rrc_flowControlBH_RLC_ChannelBased_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_flowControlBH_RLC_ChannelBased_r16 }, + { &hf_nr_rrc_flowControlRouting_ID_Based_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_flowControlRouting_ID_Based_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_BAP_Parameters_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_BAP_Parameters_r16, BAP_Parameters_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_referenceTimeProvision_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_referenceTimeProvision_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_mcgRLF_RecoveryViaSCG_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_mcgRLF_RecoveryViaSCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_resumeWithStoredMCG_SCells_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_resumeWithStoredMCG_SCells_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_resumeWithStoredSCG_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_resumeWithStoredSCG_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_resumeWithSCG_Config_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_resumeWithSCG_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string nr_rrc_T_onDemandSIB_Connected_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_onDemandSIB_Connected_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_51_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_51(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_51, T_nonCriticalExtension_51_sequence); + + return offset; +} + + +static const per_sequence_t UE_NR_Capability_v1610_sequence[] = { + { &hf_nr_rrc_inDeviceCoexInd_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_inDeviceCoexInd_r16 }, + { &hf_nr_rrc_dl_DedicatedMessageSegmentation_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_DedicatedMessageSegmentation_r16 }, + { &hf_nr_rrc_nrdc_Parameters_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NRDC_Parameters_v1610 }, + { &hf_nr_rrc_powSav_Parameters_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PowSav_Parameters_r16 }, + { &hf_nr_rrc_fr1_Add_UE_NR_Capabilities_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1610 }, + { &hf_nr_rrc_fr2_Add_UE_NR_Capabilities_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1610 }, + { &hf_nr_rrc_bh_RLF_Indication_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bh_RLF_Indication_r16 }, + { &hf_nr_rrc_directSN_AdditionFirstRRC_IAB_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_directSN_AdditionFirstRRC_IAB_r16 }, + { &hf_nr_rrc_bap_Parameters_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BAP_Parameters_r16 }, + { &hf_nr_rrc_referenceTimeProvision_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_referenceTimeProvision_r16 }, + { &hf_nr_rrc_sidelinkParameters_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SidelinkParameters_r16 }, + { &hf_nr_rrc_highSpeedParameters_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_HighSpeedParameters_r16 }, + { &hf_nr_rrc_mac_Parameters_v1610, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_Parameters_v1610 }, + { &hf_nr_rrc_mcgRLF_RecoveryViaSCG_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mcgRLF_RecoveryViaSCG_r16 }, + { &hf_nr_rrc_resumeWithStoredMCG_SCells_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_resumeWithStoredMCG_SCells_r16 }, + { &hf_nr_rrc_resumeWithStoredSCG_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_resumeWithStoredSCG_r16 }, + { &hf_nr_rrc_resumeWithSCG_Config_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_resumeWithSCG_Config_r16 }, + { &hf_nr_rrc_ue_BasedPerfMeas_Parameters_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_BasedPerfMeas_Parameters_r16 }, + { &hf_nr_rrc_son_Parameters_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SON_Parameters_r16 }, + { &hf_nr_rrc_onDemandSIB_Connected_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_onDemandSIB_Connected_r16 }, + { &hf_nr_rrc_nonCriticalExtension_94, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_51 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UE_NR_Capability_v1610(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_UE_NR_Capability_v1610, UE_NR_Capability_v1610_sequence); return offset; } @@ -44168,7 +79307,7 @@ dissect_nr_rrc_T_nonCriticalExtension_39(tvbuff_t *tvb _U_, int offset _U_, asn1 static const per_sequence_t UE_NR_Capability_v1570_sequence[] = { { &hf_nr_rrc_nrdc_Parameters_v1570, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NRDC_Parameters_v1570 }, - { &hf_nr_rrc_nonCriticalExtension_64, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_39 }, + { &hf_nr_rrc_nonCriticalExtension_93, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_Capability_v1610 }, { NULL, 0, 0, NULL } }; @@ -44184,7 +79323,7 @@ dissect_nr_rrc_UE_NR_Capability_v1570(tvbuff_t *tvb _U_, int offset _U_, asn1_ct static const per_sequence_t UE_NR_Capability_v1560_sequence[] = { { &hf_nr_rrc_nrdc_Parameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NRDC_Parameters }, { &hf_nr_rrc_receivedFilters_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_receivedFilters_01 }, - { &hf_nr_rrc_nonCriticalExtension_63, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_Capability_v1570 }, + { &hf_nr_rrc_nonCriticalExtension_92, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_Capability_v1570 }, { NULL, 0, 0, NULL } }; @@ -44199,7 +79338,7 @@ dissect_nr_rrc_UE_NR_Capability_v1560(tvbuff_t *tvb _U_, int offset _U_, asn1_ct static const per_sequence_t UE_NR_Capability_v1550_sequence[] = { { &hf_nr_rrc_reducedCP_Latency, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reducedCP_Latency }, - { &hf_nr_rrc_nonCriticalExtension_62, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_Capability_v1560 }, + { &hf_nr_rrc_nonCriticalExtension_91, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_Capability_v1560 }, { NULL, 0, 0, NULL } }; @@ -44219,7 +79358,7 @@ static const per_sequence_t UE_NR_Capability_v1540_sequence[] = { { &hf_nr_rrc_fr1_Add_UE_NR_Capabilities_v1540, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1540 }, { &hf_nr_rrc_fr2_Add_UE_NR_Capabilities_v1540, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1540 }, { &hf_nr_rrc_fr1_fr2_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode }, - { &hf_nr_rrc_nonCriticalExtension_61, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_Capability_v1550 }, + { &hf_nr_rrc_nonCriticalExtension_90, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_Capability_v1550 }, { NULL, 0, 0, NULL } }; @@ -44239,7 +79378,7 @@ static const per_sequence_t UE_NR_Capability_v1530_sequence[] = { { &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_60, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_Capability_v1540 }, + { &hf_nr_rrc_nonCriticalExtension_89, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_Capability_v1540 }, { NULL, 0, 0, NULL } }; @@ -44267,7 +79406,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_59, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_Capability_v1530 }, + { &hf_nr_rrc_nonCriticalExtension_88, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_Capability_v1530 }, { NULL, 0, 0, NULL } }; @@ -44279,6 +79418,1193 @@ dissect_nr_rrc_UE_NR_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a return offset; } + +static const per_sequence_t MasterInformationBlockSidelink_sequence[] = { + { &hf_nr_rrc_sl_TDD_Config_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_12 }, + { &hf_nr_rrc_inCoverage_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, + { &hf_nr_rrc_directFrameNumber_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_10 }, + { &hf_nr_rrc_slotIndex_r16_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_7 }, + { &hf_nr_rrc_reservedBits_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_2 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MasterInformationBlockSidelink(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, "Master Information Block Sidelink"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MasterInformationBlockSidelink, MasterInformationBlockSidelink_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_c1_17_vals[] = { + { 0, "masterInformationBlockSidelink" }, + { 1, "spare1" }, + { 0, NULL } +}; + +static const per_choice_t T_c1_17_choice[] = { + { 0, &hf_nr_rrc_masterInformationBlockSidelink, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MasterInformationBlockSidelink }, + { 1, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_c1_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_c1_17, T_c1_17_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_messageClassExtension_08_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_messageClassExtension_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_messageClassExtension_08, T_messageClassExtension_08_sequence); + + return offset; +} + + +static const value_string nr_rrc_SBCCH_SL_BCH_MessageType_vals[] = { + { 0, "c1" }, + { 1, "messageClassExtension" }, + { 0, NULL } +}; + +static const per_choice_t SBCCH_SL_BCH_MessageType_choice[] = { + { 0, &hf_nr_rrc_c1_17 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_17 }, + { 1, &hf_nr_rrc_messageClassExtension_08, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_08 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_SBCCH_SL_BCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SBCCH_SL_BCH_MessageType, SBCCH_SL_BCH_MessageType_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SBCCH_SL_BCH_Message_sequence[] = { + { &hf_nr_rrc_message_08 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SBCCH_SL_BCH_MessageType }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SBCCH_SL_BCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + proto_item *ti; + + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC"); + col_clear(actx->pinfo->cinfo, COL_INFO); + + ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + tree = proto_item_add_subtree(ti, ett_nr_rrc); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SBCCH_SL_BCH_Message, SBCCH_SL_BCH_Message_sequence); + + return offset; +} + + +static const per_sequence_t SL_MeasQuantityResult_r16_sequence[] = { + { &hf_nr_rrc_sl_RSRP_r16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_MeasQuantityResult_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_MeasQuantityResult_r16, SL_MeasQuantityResult_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_MeasResult_r16_sequence[] = { + { &hf_nr_rrc_sl_ResultDMRS_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_MeasQuantityResult_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_MeasResult_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_MeasResult_r16, SL_MeasResult_r16_sequence); + + return offset; +} + + +static const per_sequence_t SL_MeasResults_r16_sequence[] = { + { &hf_nr_rrc_sl_MeasId_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasId_r16 }, + { &hf_nr_rrc_sl_MeasResult_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasResult_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_MeasResults_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_MeasResults_r16, SL_MeasResults_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_52_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_52(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_52, T_nonCriticalExtension_52_sequence); + + return offset; +} + + +static const per_sequence_t MeasurementReportSidelink_IEs_r16_sequence[] = { + { &hf_nr_rrc_sl_measResults_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_MeasResults_r16 }, + { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, + { &hf_nr_rrc_nonCriticalExtension_95, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_52 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasurementReportSidelink_IEs_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasurementReportSidelink_IEs_r16, MeasurementReportSidelink_IEs_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_47_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensionsFuture_47(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_47, T_criticalExtensionsFuture_47_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_criticalExtensions_47_vals[] = { + { 0, "measurementReportSidelink-r16" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_47_choice[] = { + { 0, &hf_nr_rrc_measurementReportSidelink_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementReportSidelink_IEs_r16 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_47, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_47 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensions_47(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_47, T_criticalExtensions_47_choice, + NULL); + + return offset; +} + + +static const per_sequence_t MeasurementReportSidelink_sequence[] = { + { &hf_nr_rrc_criticalExtensions_47, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_47 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_MeasurementReportSidelink(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 Sidelink"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_MeasurementReportSidelink, MeasurementReportSidelink_sequence); + + return offset; +} + + + +static int +dissect_nr_rrc_SLRB_PC5_ConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, 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, maxNrofSLRB_r16, NULL, FALSE); + + return offset; +} + + + +static int +dissect_nr_rrc_SL_PFI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 64U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PFI_r16_sequence_of[1] = { + { &hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16_item_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SL_PFI_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PFI_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PFI_r16, SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PFI_r16_sequence_of, + 1, maxNrofSL_QFIsPerDest_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SL_SDAP_ConfigPC5_r16_sequence[] = { + { &hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PFI_r16 }, + { &hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PFI_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_SDAP_ConfigPC5_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_SDAP_ConfigPC5_r16, SL_SDAP_ConfigPC5_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_PDCP_SN_Size_r16_01_vals[] = { + { 0, "len12bits" }, + { 1, "len18bits" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_PDCP_SN_Size_r16_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_sl_OutOfOrderDelivery_01_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_OutOfOrderDelivery_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SL_PDCP_ConfigPC5_r16_sequence[] = { + { &hf_nr_rrc_sl_PDCP_SN_Size_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_PDCP_SN_Size_r16_01 }, + { &hf_nr_rrc_sl_OutOfOrderDelivery_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_OutOfOrderDelivery_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_PDCP_ConfigPC5_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_PDCP_ConfigPC5_r16, SL_PDCP_ConfigPC5_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_sl_AM_RLC_r16_01_sequence[] = { + { &hf_nr_rrc_sl_SN_FieldLengthAM_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthAM }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_AM_RLC_r16_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_sl_AM_RLC_r16_01, T_sl_AM_RLC_r16_01_sequence); + + return offset; +} + + +static const per_sequence_t T_sl_UM_Bi_Directional_RLC_r16_sequence[] = { + { &hf_nr_rrc_sl_SN_FieldLengthUM_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthUM }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_UM_Bi_Directional_RLC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_UM_Bi_Directional_RLC_r16, T_sl_UM_Bi_Directional_RLC_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_sl_UM_Uni_Directional_RLC_r16_sequence[] = { + { &hf_nr_rrc_sl_SN_FieldLengthUM_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthUM }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_UM_Uni_Directional_RLC_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_UM_Uni_Directional_RLC_r16, T_sl_UM_Uni_Directional_RLC_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_SL_RLC_ConfigPC5_r16_vals[] = { + { 0, "sl-AM-RLC-r16" }, + { 1, "sl-UM-Bi-Directional-RLC-r16" }, + { 2, "sl-UM-Uni-Directional-RLC-r16" }, + { 0, NULL } +}; + +static const per_choice_t SL_RLC_ConfigPC5_r16_choice[] = { + { 0, &hf_nr_rrc_sl_AM_RLC_r16_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sl_AM_RLC_r16_01 }, + { 1, &hf_nr_rrc_sl_UM_Bi_Directional_RLC_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sl_UM_Bi_Directional_RLC_r16 }, + { 2, &hf_nr_rrc_sl_UM_Uni_Directional_RLC_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sl_UM_Uni_Directional_RLC_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_RLC_ConfigPC5_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_RLC_ConfigPC5_r16, SL_RLC_ConfigPC5_r16_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SL_LogicalChannelConfigPC5_r16_sequence[] = { + { &hf_nr_rrc_sl_LogicalChannelIdentity_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelIdentity }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_LogicalChannelConfigPC5_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_LogicalChannelConfigPC5_r16, SL_LogicalChannelConfigPC5_r16_sequence); + + return offset; +} + + +static const per_sequence_t SLRB_Config_r16_sequence[] = { + { &hf_nr_rrc_slrb_PC5_ConfigIndex_r16, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SLRB_PC5_ConfigIndex_r16 }, + { &hf_nr_rrc_sl_SDAP_ConfigPC5_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_SDAP_ConfigPC5_r16 }, + { &hf_nr_rrc_sl_PDCP_ConfigPC5_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_PDCP_ConfigPC5_r16 }, + { &hf_nr_rrc_sl_RLC_ConfigPC5_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_RLC_ConfigPC5_r16 }, + { &hf_nr_rrc_sl_MAC_LogicalChannelConfigPC5_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SL_LogicalChannelConfigPC5_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SLRB_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SLRB_Config_r16, SLRB_Config_r16_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Config_r16_sequence_of[1] = { + { &hf_nr_rrc_slrb_ConfigToAddModList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SLRB_Config_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Config_r16, SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Config_r16_sequence_of, + 1, maxNrofSLRB_r16, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_PC5_ConfigIndex_r16_sequence_of[1] = { + { &hf_nr_rrc_slrb_ConfigToReleaseList_r16_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SLRB_PC5_ConfigIndex_r16 }, +}; + +static int +dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_PC5_ConfigIndex_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_PC5_ConfigIndex_r16, SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_PC5_ConfigIndex_r16_sequence_of, + 1, maxNrofSLRB_r16, FALSE); + + return offset; +} + + +static const value_string nr_rrc_T_sl_MeasConfig_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_sl_MeasConfig_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_125 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SL_MeasConfig_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_MeasConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_MeasConfig_r16, T_sl_MeasConfig_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sl_CSI_RS_FreqAllocation_r16_vals[] = { + { 0, "sl-OneAntennaPort-r16" }, + { 1, "sl-TwoAntennaPort-r16" }, + { 0, NULL } +}; + +static const per_choice_t T_sl_CSI_RS_FreqAllocation_r16_choice[] = { + { 0, &hf_nr_rrc_sl_OneAntennaPort_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_12 }, + { 1, &hf_nr_rrc_sl_TwoAntennaPort_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_6 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_CSI_RS_FreqAllocation_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_CSI_RS_FreqAllocation_r16, T_sl_CSI_RS_FreqAllocation_r16_choice, + NULL); + + return offset; +} + + + +static int +dissect_nr_rrc_INTEGER_3_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 3U, 12U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SL_CSI_RS_Config_r16_sequence[] = { + { &hf_nr_rrc_sl_CSI_RS_FreqAllocation_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_CSI_RS_FreqAllocation_r16 }, + { &hf_nr_rrc_sl_CSI_RS_FirstSymbol_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_3_12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SL_CSI_RS_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_SL_CSI_RS_Config_r16, SL_CSI_RS_Config_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_sl_CSI_RS_Config_r16_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_sl_CSI_RS_Config_r16_choice[] = { + { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, + { 1, &hf_nr_rrc_setup_126 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SL_CSI_RS_Config_r16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_sl_CSI_RS_Config_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_T_sl_CSI_RS_Config_r16, T_sl_CSI_RS_Config_r16_choice, + NULL); + + return offset; +} + + +static const value_string nr_rrc_T_sl_ResetConfig_r16_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_sl_ResetConfig_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *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_3_160(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 3U, 160U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_53_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_53(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_53, T_nonCriticalExtension_53_sequence); + + return offset; +} + + +static const per_sequence_t RRCReconfigurationSidelink_IEs_r16_sequence[] = { + { &hf_nr_rrc_slrb_ConfigToAddModList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Config_r16 }, + { &hf_nr_rrc_slrb_ConfigToReleaseList_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_PC5_ConfigIndex_r16 }, + { &hf_nr_rrc_sl_MeasConfig_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_MeasConfig_r16 }, + { &hf_nr_rrc_sl_CSI_RS_Config_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_CSI_RS_Config_r16 }, + { &hf_nr_rrc_sl_ResetConfig_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sl_ResetConfig_r16 }, + { &hf_nr_rrc_sl_LatencyBoundCSI_Report_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_3_160 }, + { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, + { &hf_nr_rrc_nonCriticalExtension_96, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_53 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RRCReconfigurationSidelink_IEs_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_RRCReconfigurationSidelink_IEs_r16, RRCReconfigurationSidelink_IEs_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_48_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensionsFuture_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_48, T_criticalExtensionsFuture_48_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_criticalExtensions_48_vals[] = { + { 0, "rrcReconfigurationSidelink-r16" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_48_choice[] = { + { 0, &hf_nr_rrc_rrcReconfigurationSidelink_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationSidelink_IEs_r16 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_48, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_48 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensions_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_48, T_criticalExtensions_48_choice, + NULL); + + return offset; +} + + +static const per_sequence_t RRCReconfigurationSidelink_sequence[] = { + { &hf_nr_rrc_rrc_TransactionIdentifier_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, + { &hf_nr_rrc_criticalExtensions_48, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_48 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RRCReconfigurationSidelink(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 Sidelink"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_RRCReconfigurationSidelink, RRCReconfigurationSidelink_sequence); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_54_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_54(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_54, T_nonCriticalExtension_54_sequence); + + return offset; +} + + +static const per_sequence_t RRCReconfigurationCompleteSidelink_IEs_r16_sequence[] = { + { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, + { &hf_nr_rrc_nonCriticalExtension_97, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_54 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RRCReconfigurationCompleteSidelink_IEs_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_RRCReconfigurationCompleteSidelink_IEs_r16, RRCReconfigurationCompleteSidelink_IEs_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_49_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensionsFuture_49(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_49, T_criticalExtensionsFuture_49_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_criticalExtensions_49_vals[] = { + { 0, "rrcReconfigurationCompleteSidelink-r16" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_49_choice[] = { + { 0, &hf_nr_rrc_rrcReconfigurationCompleteSidelink_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationCompleteSidelink_IEs_r16 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_49, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_49 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensions_49(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_49, T_criticalExtensions_49_choice, + NULL); + + return offset; +} + + +static const per_sequence_t RRCReconfigurationCompleteSidelink_sequence[] = { + { &hf_nr_rrc_rrc_TransactionIdentifier_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, + { &hf_nr_rrc_criticalExtensions_49, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_49 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RRCReconfigurationCompleteSidelink(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 Sidelink"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_RRCReconfigurationCompleteSidelink, RRCReconfigurationCompleteSidelink_sequence); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_55_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_55(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_55, T_nonCriticalExtension_55_sequence); + + return offset; +} + + +static const per_sequence_t RRCReconfigurationFailureSidelink_IEs_r16_sequence[] = { + { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, + { &hf_nr_rrc_nonCriticalExtension_98, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_55 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RRCReconfigurationFailureSidelink_IEs_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_RRCReconfigurationFailureSidelink_IEs_r16, RRCReconfigurationFailureSidelink_IEs_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_50_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensionsFuture_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_50, T_criticalExtensionsFuture_50_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_criticalExtensions_50_vals[] = { + { 0, "rrcReconfigurationFailureSidelink-r16" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_50_choice[] = { + { 0, &hf_nr_rrc_rrcReconfigurationFailureSidelink_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationFailureSidelink_IEs_r16 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_50, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_50 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensions_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_50, T_criticalExtensions_50_choice, + NULL); + + return offset; +} + + +static const per_sequence_t RRCReconfigurationFailureSidelink_sequence[] = { + { &hf_nr_rrc_rrc_TransactionIdentifier_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, + { &hf_nr_rrc_criticalExtensions_50, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_50 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_RRCReconfigurationFailureSidelink(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 Failure Sidelink"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_RRCReconfigurationFailureSidelink, RRCReconfigurationFailureSidelink_sequence); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_58_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_58(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_58, T_nonCriticalExtension_58_sequence); + + return offset; +} + + +static const per_sequence_t UE_CapabilityRequestFilterSidelink_r16_sequence[] = { + { &hf_nr_rrc_frequencyBandListFilterSidelink_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqBandList }, + { &hf_nr_rrc_nonCriticalExtension_101, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_58 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UE_CapabilityRequestFilterSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_CapabilityRequestFilterSidelink_r16, UE_CapabilityRequestFilterSidelink_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_56_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_56(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_56, T_nonCriticalExtension_56_sequence); + + return offset; +} + + +static const per_sequence_t UECapabilityEnquirySidelink_IEs_r16_sequence[] = { + { &hf_nr_rrc_ueCapabilityRequestFilterSidelink_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_CapabilityRequestFilterSidelink_r16 }, + { &hf_nr_rrc_ue_CapabilityInformationSidelink_r16, 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_99, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_56 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UECapabilityEnquirySidelink_IEs_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_UECapabilityEnquirySidelink_IEs_r16, UECapabilityEnquirySidelink_IEs_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_51_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensionsFuture_51(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_51, T_criticalExtensionsFuture_51_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_criticalExtensions_51_vals[] = { + { 0, "ueCapabilityEnquirySidelink-r16" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_51_choice[] = { + { 0, &hf_nr_rrc_ueCapabilityEnquirySidelink_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UECapabilityEnquirySidelink_IEs_r16 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_51, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_51 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensions_51(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_51, T_criticalExtensions_51_choice, + NULL); + + return offset; +} + + +static const per_sequence_t UECapabilityEnquirySidelink_sequence[] = { + { &hf_nr_rrc_rrc_TransactionIdentifier_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, + { &hf_nr_rrc_criticalExtensions_51, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_51 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UECapabilityEnquirySidelink(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 Sidelink"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_UECapabilityEnquirySidelink, UECapabilityEnquirySidelink_sequence); + + return offset; +} + + +static const value_string nr_rrc_AccessStratumReleaseSidelink_r16_vals[] = { + { 0, "rel16" }, + { 1, "spare7" }, + { 2, "spare6" }, + { 3, "spare5" }, + { 4, "spare4" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_AccessStratumReleaseSidelink_r16(tvbuff_t *tvb _U_, int offset _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_outOfOrderDeliverySidelink_r16_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_outOfOrderDeliverySidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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_ParametersSidelink_r16_sequence[] = { + { &hf_nr_rrc_outOfOrderDeliverySidelink_r16, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_outOfOrderDeliverySidelink_r16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PDCP_ParametersSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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_ParametersSidelink_r16, PDCP_ParametersSidelink_r16_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_am_WithLongSN_Sidelink_r16_01_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_am_WithLongSN_Sidelink_r16_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_um_WithLongSN_Sidelink_r16_01_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_nr_rrc_T_um_WithLongSN_Sidelink_r16_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 PC5_RLC_ParametersSidelink_r16_sequence[] = { + { &hf_nr_rrc_am_WithLongSN_Sidelink_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_am_WithLongSN_Sidelink_r16_01 }, + { &hf_nr_rrc_um_WithLongSN_Sidelink_r16_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_um_WithLongSN_Sidelink_r16_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_PC5_RLC_ParametersSidelink_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_PC5_RLC_ParametersSidelink_r16, PC5_RLC_ParametersSidelink_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_57_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_nonCriticalExtension_57(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_57, T_nonCriticalExtension_57_sequence); + + return offset; +} + + +static const per_sequence_t UECapabilityInformationSidelink_IEs_r16_sequence[] = { + { &hf_nr_rrc_accessStratumReleaseSidelink_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AccessStratumReleaseSidelink_r16 }, + { &hf_nr_rrc_pdcp_ParametersSidelink_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PDCP_ParametersSidelink_r16 }, + { &hf_nr_rrc_rlc_ParametersSidelink_r16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PC5_RLC_ParametersSidelink_r16 }, + { &hf_nr_rrc_supportedBandCombinationListSidelink_r16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SupportedBandCombinationListSidelink_r16 }, + { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, + { &hf_nr_rrc_nonCriticalExtension_100, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_57 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UECapabilityInformationSidelink_IEs_r16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_UECapabilityInformationSidelink_IEs_r16, UECapabilityInformationSidelink_IEs_r16_sequence); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_52_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensionsFuture_52(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_52, T_criticalExtensionsFuture_52_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_criticalExtensions_52_vals[] = { + { 0, "ueCapabilityInformationSidelink-r16" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_52_choice[] = { + { 0, &hf_nr_rrc_ueCapabilityInformationSidelink_r16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UECapabilityInformationSidelink_IEs_r16 }, + { 1, &hf_nr_rrc_criticalExtensionsFuture_52, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_52 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_T_criticalExtensions_52(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *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_52, T_criticalExtensions_52_choice, + NULL); + + return offset; +} + + +static const per_sequence_t UECapabilityInformationSidelink_sequence[] = { + { &hf_nr_rrc_rrc_TransactionIdentifier_r16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, + { &hf_nr_rrc_criticalExtensions_52, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_52 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_UECapabilityInformationSidelink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Information Sidelink"); + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_nr_rrc_UECapabilityInformationSidelink, UECapabilityInformationSidelink_sequence); + + return offset; +} + + +static const value_string nr_rrc_T_c1_18_vals[] = { + { 0, "measurementReportSidelink" }, + { 1, "rrcReconfigurationSidelink" }, + { 2, "rrcReconfigurationCompleteSidelink" }, + { 3, "rrcReconfigurationFailureSidelink" }, + { 4, "ueCapabilityEnquirySidelink" }, + { 5, "ueCapabilityInformationSidelink" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + +static const per_choice_t T_c1_18_choice[] = { + { 0, &hf_nr_rrc_measurementReportSidelink, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementReportSidelink }, + { 1, &hf_nr_rrc_rrcReconfigurationSidelink, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationSidelink }, + { 2, &hf_nr_rrc_rrcReconfigurationCompleteSidelink, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationCompleteSidelink }, + { 3, &hf_nr_rrc_rrcReconfigurationFailureSidelink, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationFailureSidelink }, + { 4, &hf_nr_rrc_ueCapabilityEnquirySidelink, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UECapabilityEnquirySidelink }, + { 5, &hf_nr_rrc_ueCapabilityInformationSidelink, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UECapabilityInformationSidelink }, + { 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_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_c1_18, T_c1_18_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_messageClassExtension_09_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_T_messageClassExtension_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_messageClassExtension_09, T_messageClassExtension_09_sequence); + + return offset; +} + + +static const value_string nr_rrc_SCCH_MessageType_vals[] = { + { 0, "c1" }, + { 1, "messageClassExtension" }, + { 0, NULL } +}; + +static const per_choice_t SCCH_MessageType_choice[] = { + { 0, &hf_nr_rrc_c1_18 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_18 }, + { 1, &hf_nr_rrc_messageClassExtension_09, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_09 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_nr_rrc_SCCH_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_SCCH_MessageType, SCCH_MessageType_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SCCH_Message_sequence[] = { + { &hf_nr_rrc_message_09 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCCH_MessageType }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_nr_rrc_SCCH_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_SCCH_Message, SCCH_Message_sequence); + + return offset; +} + /*--- PDUs ---*/ int dissect_nr_rrc_HandoverCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { @@ -44531,6 +80857,16 @@ int dissect_nr_rrc_SIB1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tre offset += 7; offset >>= 3; return offset; } +int dissect_nr_rrc_SidelinkUEInformationNR_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_nr_rrc_SidelinkUEInformationNR_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SidelinkUEInformationNR_r16_PDU); + offset += 7; offset >>= 3; + return offset; +} int dissect_nr_rrc_UEAssistanceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); @@ -44711,6 +81047,26 @@ int dissect_nr_rrc_UplinkTxDirectCurrentList_PDU(tvbuff_t *tvb _U_, packet_info offset += 7; offset >>= 3; return offset; } +int dissect_nr_rrc_SupportedBandCombinationListSidelink_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_nr_rrc_SupportedBandCombinationListSidelink_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SupportedBandCombinationListSidelink_r16_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_nr_rrc_BandParametersSidelink_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_nr_rrc_BandParametersSidelink_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_BandParametersSidelink_r16_PDU); + offset += 7; offset >>= 3; + return offset; +} int dissect_nr_rrc_FreqBandList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); @@ -44721,6 +81077,16 @@ int dissect_nr_rrc_FreqBandList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, p offset += 7; offset >>= 3; return offset; } +int dissect_nr_rrc_SidelinkParametersNR_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_nr_rrc_SidelinkParametersNR_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SidelinkParametersNR_r16_PDU); + offset += 7; offset >>= 3; + return offset; +} int dissect_nr_rrc_UE_CapabilityRAT_ContainerList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); @@ -44771,6 +81137,46 @@ int dissect_nr_rrc_UE_NR_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U offset += 7; offset >>= 3; return offset; } +int dissect_nr_rrc_SL_CBR_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_nr_rrc_SL_CBR_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SL_CBR_r16_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SBCCH_SL_BCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_nr_rrc_SBCCH_SL_BCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_SBCCH_SL_BCH_Message_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_nr_rrc_SCCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_SCCH_Message_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_UECapabilityInformationSidelink_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_nr_rrc_UECapabilityInformationSidelink(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UECapabilityInformationSidelink_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_MeasResultList2NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); @@ -44781,6 +81187,16 @@ static int dissect_MeasResultList2NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _ offset += 7; offset >>= 3; return offset; } +static int dissect_OverheatingAssistance_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_nr_rrc_OverheatingAssistance(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_OverheatingAssistance_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_SystemInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); @@ -44791,6 +81207,16 @@ static int dissect_SystemInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _ offset += 7; offset >>= 3; return offset; } +static int dissect_PosSystemInformation_r16_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_nr_rrc_PosSystemInformation_r16_IEs(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_PosSystemInformation_r16_IEs_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_UECapabilityEnquiry_v1560_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); @@ -44804,7 +81230,7 @@ static int dissect_UECapabilityEnquiry_v1560_IEs_PDU(tvbuff_t *tvb _U_, packet_i /*--- End of included file: packet-nr-rrc-fn.c ---*/ -#line 385 "./asn1/nr-rrc/packet-nr-rrc-template.c" +#line 515 "./asn1/nr-rrc/packet-nr-rrc-template.c" void proto_register_nr_rrc(void) { @@ -44915,6 +81341,10 @@ proto_register_nr_rrc(void) { { "SIB1", "nr-rrc.SIB1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_nr_rrc_SidelinkUEInformationNR_r16_PDU, + { "SidelinkUEInformationNR-r16", "nr-rrc.SidelinkUEInformationNR_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_UEAssistanceInformation_PDU, { "UEAssistanceInformation", "nr-rrc.UEAssistanceInformation_element", FT_NONE, BASE_NONE, NULL, 0, @@ -44987,10 +81417,22 @@ proto_register_nr_rrc(void) { { "UplinkTxDirectCurrentList", "nr-rrc.UplinkTxDirectCurrentList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_nr_rrc_SupportedBandCombinationListSidelink_r16_PDU, + { "SupportedBandCombinationListSidelink-r16", "nr-rrc.SupportedBandCombinationListSidelink_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nr_rrc_BandParametersSidelink_r16_PDU, + { "BandParametersSidelink-r16", "nr-rrc.BandParametersSidelink_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_FreqBandList_PDU, { "FreqBandList", "nr-rrc.FreqBandList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_nr_rrc_SidelinkParametersNR_r16_PDU, + { "SidelinkParametersNR-r16", "nr-rrc.SidelinkParametersNR_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_UE_CapabilityRAT_ContainerList_PDU, { "UE-CapabilityRAT-ContainerList", "nr-rrc.UE_CapabilityRAT_ContainerList", FT_UINT32, BASE_DEC, NULL, 0, @@ -45011,14 +81453,38 @@ proto_register_nr_rrc(void) { { "UE-NR-Capability", "nr-rrc.UE_NR_Capability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_nr_rrc_SL_CBR_r16_PDU, + { "SL-CBR-r16", "nr-rrc.SL_CBR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_SBCCH_SL_BCH_Message_PDU, + { "SBCCH-SL-BCH-Message", "nr-rrc.SBCCH_SL_BCH_Message_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_SCCH_Message_PDU, + { "SCCH-Message", "nr-rrc.SCCH_Message_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_UECapabilityInformationSidelink_PDU, + { "UECapabilityInformationSidelink", "nr-rrc.UECapabilityInformationSidelink_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_MeasResultList2NR_PDU, { "MeasResultList2NR", "nr-rrc.MeasResultList2NR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_OverheatingAssistance_PDU, + { "OverheatingAssistance", "nr-rrc.OverheatingAssistance_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_PosSystemInformation_r16_IEs_PDU, + { "PosSystemInformation-r16-IEs", "nr-rrc.PosSystemInformation_r16_IEs_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_UECapabilityEnquiry_v1560_IEs_PDU, { "UECapabilityEnquiry-v1560-IEs", "nr-rrc.UECapabilityEnquiry_v1560_IEs_element", FT_NONE, BASE_NONE, NULL, 0, @@ -45135,6 +81601,46 @@ proto_register_nr_rrc(void) { { "selectedBandCombinationSN", "nr-rrc.selectedBandCombinationSN_element", FT_NONE, BASE_NONE, NULL, 0, "BandCombinationInfoSN", HFILL }}, + { &hf_nr_rrc_configRestrictInfoDAPS_r16, + { "configRestrictInfoDAPS-r16", "nr-rrc.configRestrictInfoDAPS_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sidelinkUEInformationNR_r16, + { "sidelinkUEInformationNR-r16", "nr-rrc.sidelinkUEInformationNR_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sidelinkUEInformationEUTRA_r16, + { "sidelinkUEInformationEUTRA-r16", "nr-rrc.sidelinkUEInformationEUTRA_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ueAssistanceInformationEUTRA_r16, + { "ueAssistanceInformationEUTRA-r16", "nr-rrc.ueAssistanceInformationEUTRA_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ueAssistanceInformationSCG_r16, + { "ueAssistanceInformationSCG-r16", "nr-rrc.ueAssistanceInformationSCG_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_needForGapsInfoNR_r16, + { "needForGapsInfoNR-r16", "nr-rrc.needForGapsInfoNR_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_powerCoordination_r16, + { "powerCoordination-r16", "nr-rrc.powerCoordination_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_p_DAPS_Source_r16, + { "p-DAPS-Source-r16", "nr-rrc.p_DAPS_Source_r16", + FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, + "P_Max", HFILL }}, + { &hf_nr_rrc_p_DAPS_Target_r16, + { "p-DAPS-Target-r16", "nr-rrc.p_DAPS_Target_r16", + FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, + "P_Max", HFILL }}, + { &hf_nr_rrc_uplinkPowerSharingDAPS_Mode_r16, + { "uplinkPowerSharingDAPS-Mode-r16", "nr-rrc.uplinkPowerSharingDAPS_Mode_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkPowerSharingDAPS_Mode_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_sourcePhysCellId, { "sourcePhysCellId", "nr-rrc.sourcePhysCellId", FT_UINT32, BASE_DEC, NULL, 0, @@ -45322,6 +81828,14 @@ proto_register_nr_rrc(void) { { &hf_nr_rrc_nonCriticalExtension_05, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, + "CG_Config_v1610_IEs", HFILL }}, + { &hf_nr_rrc_drx_InfoSCG2, + { "drx-InfoSCG2", "nr-rrc.drx_InfoSCG2_element", + FT_NONE, BASE_NONE, NULL, 0, + "DRX_Info2", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_06, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_02", HFILL }}, { &hf_nr_rrc_PH_TypeListSCG_item, { "PH-InfoSCG", "nr-rrc.PH_InfoSCG_element", @@ -45371,6 +81885,18 @@ proto_register_nr_rrc(void) { { "requestedP-MaxEUTRA", "nr-rrc.requestedP_MaxEUTRA", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, "P_Max", HFILL }}, + { &hf_nr_rrc_requestedP_MaxFR2_r16, + { "requestedP-MaxFR2-r16", "nr-rrc.requestedP_MaxFR2_r16", + FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, + "P_Max", HFILL }}, + { &hf_nr_rrc_requestedMaxInterFreqMeasIdSCG_r16, + { "requestedMaxInterFreqMeasIdSCG-r16", "nr-rrc.requestedMaxInterFreqMeasIdSCG_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxMeasIdentitiesMN", HFILL }}, + { &hf_nr_rrc_requestedMaxIntraFreqMeasIdSCG_r16, + { "requestedMaxIntraFreqMeasIdSCG-r16", "nr-rrc.requestedMaxIntraFreqMeasIdSCG_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxMeasIdentitiesMN", HFILL }}, { &hf_nr_rrc_bandCombinationIndex, { "bandCombinationIndex", "nr-rrc.bandCombinationIndex", FT_UINT32, BASE_DEC, NULL, 0, @@ -45463,7 +81989,7 @@ proto_register_nr_rrc(void) { { "mrdc-AssistanceInfo", "nr-rrc.mrdc_AssistanceInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_06, + { &hf_nr_rrc_nonCriticalExtension_07, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "CG_ConfigInfo_v1540_IEs", HFILL }}, @@ -45479,7 +82005,7 @@ proto_register_nr_rrc(void) { { "cgi-Info", "nr-rrc.cgi_Info_element", FT_NONE, BASE_NONE, NULL, 0, "CGI_InfoNR", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_07, + { &hf_nr_rrc_nonCriticalExtension_08, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "CG_ConfigInfo_v1560_IEs", HFILL }}, @@ -45506,7 +82032,7 @@ proto_register_nr_rrc(void) { { &hf_nr_rrc_measResultSCG_EUTRA, { "measResultSCG-EUTRA", "nr-rrc.measResultSCG_EUTRA", FT_BYTES, BASE_NONE, NULL, 0, - "OCTET_STRING", HFILL }}, + NULL, HFILL }}, { &hf_nr_rrc_drx_ConfigMCG, { "drx-ConfigMCG", "nr-rrc.drx_ConfigMCG_element", FT_NONE, BASE_NONE, NULL, 0, @@ -45527,7 +82053,7 @@ proto_register_nr_rrc(void) { { "fr-InfoListMCG", "nr-rrc.fr_InfoListMCG", FT_UINT32, BASE_DEC, NULL, 0, "FR_InfoList", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_08, + { &hf_nr_rrc_nonCriticalExtension_09, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "CG_ConfigInfo_v1570_IEs", HFILL }}, @@ -45539,7 +82065,7 @@ proto_register_nr_rrc(void) { { "sftdFrequencyList-EUTRA", "nr-rrc.sftdFrequencyList_EUTRA", FT_UINT32, BASE_DEC, NULL, 0, "SFTD_FrequencyList_EUTRA", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_09, + { &hf_nr_rrc_nonCriticalExtension_10, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "CG_ConfigInfo_v1590_IEs", HFILL }}, @@ -45551,7 +82077,51 @@ proto_register_nr_rrc(void) { { "ARFCN-ValueNR", "nr-rrc.ARFCN_ValueNR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_10, + { &hf_nr_rrc_nonCriticalExtension_11, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "CG_ConfigInfo_v1610_IEs", HFILL }}, + { &hf_nr_rrc_drx_InfoMCG2, + { "drx-InfoMCG2", "nr-rrc.drx_InfoMCG2_element", + FT_NONE, BASE_NONE, NULL, 0, + "DRX_Info2", HFILL }}, + { &hf_nr_rrc_alignedDRX_Indication, + { "alignedDRX-Indication", "nr-rrc.alignedDRX_Indication", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_alignedDRX_Indication_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_scgFailureInfo_r16, + { "scgFailureInfo-r16", "nr-rrc.scgFailureInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_failureType_r16, + { "failureType-r16", "nr-rrc.failureType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_measResultSCG_r16, + { "measResultSCG-r16", "nr-rrc.measResultSCG_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_scgFailureInfoEUTRA_r16, + { "scgFailureInfoEUTRA-r16", "nr-rrc.scgFailureInfoEUTRA_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_failureTypeEUTRA_r16, + { "failureTypeEUTRA-r16", "nr-rrc.failureTypeEUTRA_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureTypeEUTRA_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_measResultSCG_EUTRA_r16, + { "measResultSCG-EUTRA-r16", "nr-rrc.measResultSCG_EUTRA_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sidelinkUEInformationNR_r16_01, + { "sidelinkUEInformationNR-r16", "nr-rrc.sidelinkUEInformationNR_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "T_sidelinkUEInformationNR_r16_01", HFILL }}, + { &hf_nr_rrc_sidelinkUEInformationEUTRA_r16_01, + { "sidelinkUEInformationEUTRA-r16", "nr-rrc.sidelinkUEInformationEUTRA_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_12, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_03", HFILL }}, @@ -45627,6 +82197,50 @@ proto_register_nr_rrc(void) { { "maxInterFreqMeasIdentitiesSCG", "nr-rrc.maxInterFreqMeasIdentitiesSCG", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxMeasIdentitiesMN", HFILL }}, + { &hf_nr_rrc_p_maxNR_FR1_MCG_r16, + { "p-maxNR-FR1-MCG-r16", "nr-rrc.p_maxNR_FR1_MCG_r16", + FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, + "P_Max", HFILL }}, + { &hf_nr_rrc_powerCoordination_FR2_r16, + { "powerCoordination-FR2-r16", "nr-rrc.powerCoordination_FR2_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_p_maxNR_FR2_MCG_r16, + { "p-maxNR-FR2-MCG-r16", "nr-rrc.p_maxNR_FR2_MCG_r16", + FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, + "P_Max", HFILL }}, + { &hf_nr_rrc_p_maxNR_FR2_SCG_r16, + { "p-maxNR-FR2-SCG-r16", "nr-rrc.p_maxNR_FR2_SCG_r16", + FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, + "P_Max", HFILL }}, + { &hf_nr_rrc_p_maxUE_FR2_r16, + { "p-maxUE-FR2-r16", "nr-rrc.p_maxUE_FR2_r16", + FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, + "P_Max", HFILL }}, + { &hf_nr_rrc_nrdc_PC_mode_FR1_r16, + { "nrdc-PC-mode-FR1-r16", "nr-rrc.nrdc_PC_mode_FR1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrdc_PC_mode_FR1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nrdc_PC_mode_FR2_r16, + { "nrdc-PC-mode-FR2-r16", "nr-rrc.nrdc_PC_mode_FR2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrdc_PC_mode_FR2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxMeasSRS_ResourceSCG_r16, + { "maxMeasSRS-ResourceSCG-r16", "nr-rrc.maxMeasSRS_ResourceSCG_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxNrofCLI_SRS_Resources_r16", HFILL }}, + { &hf_nr_rrc_maxMeasCLI_ResourceSCG_r16, + { "maxMeasCLI-ResourceSCG-r16", "nr-rrc.maxMeasCLI_ResourceSCG_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxNrofCLI_RSSI_Resources_r16", HFILL }}, + { &hf_nr_rrc_maxNumberEHC_ContextsSN_r16, + { "maxNumberEHC-ContextsSN-r16", "nr-rrc.maxNumberEHC_ContextsSN_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_65536", HFILL }}, + { &hf_nr_rrc_allowedReducedConfigForOverheating_r16, + { "allowedReducedConfigForOverheating-r16", "nr-rrc.allowedReducedConfigForOverheating_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "OverheatingAssistance", HFILL }}, { &hf_nr_rrc_SelectedBandEntriesMN_item, { "BandEntryIndex", "nr-rrc.BandEntryIndex", FT_UINT32, BASE_DEC, NULL, 0, @@ -45755,6 +82369,18 @@ proto_register_nr_rrc(void) { { "drx-ShortCycleTimer", "nr-rrc.drx_ShortCycleTimer", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_16", 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_measuredFrequenciesMN, { "measuredFrequenciesMN", "nr-rrc.measuredFrequenciesMN", FT_UINT32, BASE_DEC, NULL, 0, @@ -45791,6 +82417,10 @@ proto_register_nr_rrc(void) { { "AffectedCarrierFreqCombInfoMRDC", "nr-rrc.AffectedCarrierFreqCombInfoMRDC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_overheatingAssistanceSCG_r16, + { "overheatingAssistanceSCG-r16", "nr-rrc.overheatingAssistanceSCG_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_victimSystemType, { "victimSystemType", "nr-rrc.victimSystemType_element", FT_NONE, BASE_NONE, NULL, 0, @@ -45863,7 +82493,7 @@ proto_register_nr_rrc(void) { { "measTiming", "nr-rrc.measTiming", FT_UINT32, BASE_DEC, NULL, 0, "MeasTimingList", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_11, + { &hf_nr_rrc_nonCriticalExtension_13, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "MeasurementTimingConfiguration_v1550_IEs", HFILL }}, @@ -45875,7 +82505,27 @@ proto_register_nr_rrc(void) { { "psCellOnlyOnFirstSSB", "nr-rrc.psCellOnlyOnFirstSSB", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_12, + { &hf_nr_rrc_nonCriticalExtension_14, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "MeasurementTimingConfiguration_v1610_IEs", HFILL }}, + { &hf_nr_rrc_csi_RS_Config_r16, + { "csi-RS-Config-r16", "nr-rrc.csi_RS_Config_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_csi_RS_SubcarrierSpacing_r16, + { "csi-RS-SubcarrierSpacing-r16", "nr-rrc.csi_RS_SubcarrierSpacing_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0, + "SubcarrierSpacing", HFILL }}, + { &hf_nr_rrc_csi_RS_CellMobility_r16, + { "csi-RS-CellMobility-r16", "nr-rrc.csi_RS_CellMobility_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "CSI_RS_CellMobility", HFILL }}, + { &hf_nr_rrc_refSSBFreq_r16, + { "refSSBFreq-r16", "nr-rrc.refSSBFreq_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueNR", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_15, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_04", HFILL }}, @@ -45951,7 +82601,7 @@ proto_register_nr_rrc(void) { { "FreqBandIndicatorNR", "nr-rrc.FreqBandIndicatorNR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_13, + { &hf_nr_rrc_nonCriticalExtension_16, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_05", HFILL }}, @@ -45975,7 +82625,7 @@ proto_register_nr_rrc(void) { { "ue-RadioAccessCapabilityInfo", "nr-rrc.ue_RadioAccessCapabilityInfo", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_14, + { &hf_nr_rrc_nonCriticalExtension_17, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_06", HFILL }}, @@ -46075,6 +82725,22 @@ proto_register_nr_rrc(void) { { "mobilityFromNRCommand", "nr-rrc.mobilityFromNRCommand_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_dlDedicatedMessageSegment_r16, + { "dlDedicatedMessageSegment-r16", "nr-rrc.dlDedicatedMessageSegment_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ueInformationRequest_r16, + { "ueInformationRequest-r16", "nr-rrc.ueInformationRequest_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_dlInformationTransferMRDC_r16, + { "dlInformationTransferMRDC-r16", "nr-rrc.dlInformationTransferMRDC_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_loggedMeasurementConfiguration_r16, + { "loggedMeasurementConfiguration-r16", "nr-rrc.loggedMeasurementConfiguration_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_messageClassExtension_03, { "messageClassExtension", "nr-rrc.messageClassExtension_element", FT_NONE, BASE_NONE, NULL, 0, @@ -46212,9 +82878,53 @@ proto_register_nr_rrc(void) { FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_messageClassExtension_07, - { "messageClassExtension", "nr-rrc.messageClassExtension_element", - FT_NONE, BASE_NONE, NULL, 0, + { "messageClassExtension", "nr-rrc.messageClassExtension", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_messageClassExtension_07_vals), 0, "T_messageClassExtension_07", HFILL }}, + { &hf_nr_rrc_c2, + { "c2", "nr-rrc.c2", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c2_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ulDedicatedMessageSegment_r16, + { "ulDedicatedMessageSegment-r16", "nr-rrc.ulDedicatedMessageSegment_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_dedicatedSIBRequest_r16, + { "dedicatedSIBRequest-r16", "nr-rrc.dedicatedSIBRequest_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_mcgFailureInformation_r16, + { "mcgFailureInformation-r16", "nr-rrc.mcgFailureInformation_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ueInformationResponse_r16, + { "ueInformationResponse-r16", "nr-rrc.ueInformationResponse_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sidelinkUEInformationNR_r16_02, + { "sidelinkUEInformationNR-r16", "nr-rrc.sidelinkUEInformationNR_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ulInformationTransferIRAT_r16, + { "ulInformationTransferIRAT-r16", "nr-rrc.ulInformationTransferIRAT_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_iabOtherInformation_r16, + { "iabOtherInformation-r16", "nr-rrc.iabOtherInformation_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_spare9, + { "spare9", "nr-rrc.spare9_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_spare8, + { "spare8", "nr-rrc.spare8_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_messageClassExtensionFuture_r16, + { "messageClassExtensionFuture-r16", "nr-rrc.messageClassExtensionFuture_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_rrc_TransactionIdentifier, { "rrc-TransactionIdentifier", "nr-rrc.rrc_TransactionIdentifier", FT_UINT32, BASE_DEC, NULL, 0, @@ -46239,7 +82949,7 @@ proto_register_nr_rrc(void) { { "lateNonCriticalExtension", "nr-rrc.lateNonCriticalExtension", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_15, + { &hf_nr_rrc_nonCriticalExtension_18, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_07", HFILL }}, @@ -46275,7 +82985,7 @@ proto_register_nr_rrc(void) { { "drb-CountInfoList", "nr-rrc.drb_CountInfoList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_16, + { &hf_nr_rrc_nonCriticalExtension_19, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_08", HFILL }}, @@ -46295,42 +83005,154 @@ proto_register_nr_rrc(void) { { "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", + { &hf_nr_rrc_dedicatedSIBRequest_r16_01, + { "dedicatedSIBRequest-r16", "nr-rrc.dedicatedSIBRequest_r16_element", FT_NONE, BASE_NONE, NULL, 0, - "DLInformationTransfer_IEs", HFILL }}, + "DedicatedSIBRequest_r16_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, + { &hf_nr_rrc_onDemandSIB_RequestList_r16, + { "onDemandSIB-RequestList-r16", "nr-rrc.onDemandSIB_RequestList_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_onDemandSIB_RequestList_r16", HFILL }}, + { &hf_nr_rrc_requestedSIB_List_r16, + { "requestedSIB-List-r16", "nr-rrc.requestedSIB_List_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxOnDemandSIB_r16_OF_SIB_ReqInfo_r16", HFILL }}, + { &hf_nr_rrc_requestedSIB_List_r16_item, + { "SIB-ReqInfo-r16", "nr-rrc.SIB_ReqInfo_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SIB_ReqInfo_r16_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_17, + { &hf_nr_rrc_requestedPosSIB_List_r16, + { "requestedPosSIB-List-r16", "nr-rrc.requestedPosSIB_List_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxOnDemandPosSIB_r16_OF_PosSIB_ReqInfo_r16", HFILL }}, + { &hf_nr_rrc_requestedPosSIB_List_r16_item, + { "PosSIB-ReqInfo-r16", "nr-rrc.PosSIB_ReqInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_20, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_09", HFILL }}, + { &hf_nr_rrc_gnss_id_r16, + { "gnss-id-r16", "nr-rrc.gnss_id_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sbas_id_r16, + { "sbas-id-r16", "nr-rrc.sbas_id_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_posSibType_r16, + { "posSibType-r16", "nr-rrc.posSibType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_posSibType_r16_vals), 0, + NULL, 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_dlDedicatedMessageSegment_r16_01, + { "dlDedicatedMessageSegment-r16", "nr-rrc.dlDedicatedMessageSegment_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "DLDedicatedMessageSegment_r16_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_segmentNumber_r16, + { "segmentNumber-r16", "nr-rrc.segmentNumber_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_4", HFILL }}, + { &hf_nr_rrc_rrc_MessageSegmentContainer_r16, + { "rrc-MessageSegmentContainer-r16", "nr-rrc.rrc_MessageSegmentContainer_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_nr_rrc_rrc_MessageSegmentType_r16, + { "rrc-MessageSegmentType-r16", "nr-rrc.rrc_MessageSegmentType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rrc_MessageSegmentType_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_21, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_10", HFILL }}, + { &hf_nr_rrc_criticalExtensions_11, + { "criticalExtensions", "nr-rrc.criticalExtensions", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_11_vals), 0, + "T_criticalExtensions_11", HFILL }}, + { &hf_nr_rrc_dlInformationTransfer_01, + { "dlInformationTransfer", "nr-rrc.dlInformationTransfer_element", + FT_NONE, BASE_NONE, NULL, 0, + "DLInformationTransfer_IEs", HFILL }}, + { &hf_nr_rrc_criticalExtensionsFuture_11, + { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_criticalExtensionsFuture_11", HFILL }}, + { &hf_nr_rrc_dedicatedNAS_Message, + { "dedicatedNAS-Message", "nr-rrc.dedicatedNAS_Message", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_22, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "DLInformationTransfer_v1610_IEs", HFILL }}, + { &hf_nr_rrc_referenceTimeInfo_r16, + { "referenceTimeInfo-r16", "nr-rrc.referenceTimeInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_23, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "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_c1_14, + { "c1", "nr-rrc.c1", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_14_vals), 0, + "T_c1_14", HFILL }}, + { &hf_nr_rrc_dlInformationTransferMRDC_r16_01, + { "dlInformationTransferMRDC-r16", "nr-rrc.dlInformationTransferMRDC_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "DLInformationTransferMRDC_r16_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_dl_DCCH_MessageNR_r16, + { "dl-DCCH-MessageNR-r16", "nr-rrc.dl_DCCH_MessageNR_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_dl_DCCH_MessageEUTRA_r16, + { "dl-DCCH-MessageEUTRA-r16", "nr-rrc.dl_DCCH_MessageEUTRA_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_24, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_12", HFILL }}, + { &hf_nr_rrc_criticalExtensions_13, + { "criticalExtensions", "nr-rrc.criticalExtensions", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_13_vals), 0, + "T_criticalExtensions_13", HFILL }}, { &hf_nr_rrc_failureInformation_01, { "failureInformation", "nr-rrc.failureInformation_element", FT_NONE, BASE_NONE, NULL, 0, "FailureInformation_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_10, + { &hf_nr_rrc_criticalExtensionsFuture_13, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_10", HFILL }}, + "T_criticalExtensionsFuture_13", HFILL }}, { &hf_nr_rrc_failureInfoRLC_Bearer, { "failureInfoRLC-Bearer", "nr-rrc.failureInfoRLC_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_18, + { &hf_nr_rrc_nonCriticalExtension_25, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_10", HFILL }}, + "FailureInformation_v1610_IEs", HFILL }}, { &hf_nr_rrc_cellGroupId, { "cellGroupId", "nr-rrc.cellGroupId", FT_UINT32, BASE_DEC, NULL, 0, @@ -46343,18 +83165,170 @@ proto_register_nr_rrc(void) { { "failureType", "nr-rrc.failureType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_01_vals), 0, "T_failureType_01", HFILL }}, - { &hf_nr_rrc_criticalExtensions_11, + { &hf_nr_rrc_failureInfoDAPS_r16, + { "failureInfoDAPS-r16", "nr-rrc.failureInfoDAPS_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_26, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_13", HFILL }}, + { &hf_nr_rrc_failureType_r16_01, + { "failureType-r16", "nr-rrc.failureType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_r16_01_vals), 0, + "T_failureType_r16_01", HFILL }}, + { &hf_nr_rrc_criticalExtensions_14, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_11_vals), 0, - "T_criticalExtensions_11", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_14_vals), 0, + "T_criticalExtensions_14", HFILL }}, + { &hf_nr_rrc_iabOtherInformation_r16_01, + { "iabOtherInformation-r16", "nr-rrc.iabOtherInformation_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "IABOtherInformation_r16_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_ip_InfoType, + { "ip-InfoType", "nr-rrc.ip_InfoType", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ip_InfoType_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_iab_IP_Request_r16, + { "iab-IP-Request-r16", "nr-rrc.iab_IP_Request_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_iab_IP_Request_r16", HFILL }}, + { &hf_nr_rrc_iab_IPv4_AddressNumReq_r16, + { "iab-IPv4-AddressNumReq-r16", "nr-rrc.iab_IPv4_AddressNumReq_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "IAB_IPAddressNumReq_r16", HFILL }}, + { &hf_nr_rrc_iab_IPv6_AddressReq_r16, + { "iab-IPv6-AddressReq-r16", "nr-rrc.iab_IPv6_AddressReq_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_iab_IPv6_AddressReq_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_iab_IPv6_AddressNumReq_r16, + { "iab-IPv6-AddressNumReq-r16", "nr-rrc.iab_IPv6_AddressNumReq_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "IAB_IPAddressNumReq_r16", HFILL }}, + { &hf_nr_rrc_iab_IPv6_AddressPrefixReq_r16, + { "iab-IPv6-AddressPrefixReq-r16", "nr-rrc.iab_IPv6_AddressPrefixReq_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "IAB_IPAddressPrefixReq_r16", HFILL }}, + { &hf_nr_rrc_iab_IP_Report_r16, + { "iab-IP-Report-r16", "nr-rrc.iab_IP_Report_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_iab_IP_Report_r16", HFILL }}, + { &hf_nr_rrc_iab_IPv4_AddressReport_r16, + { "iab-IPv4-AddressReport-r16", "nr-rrc.iab_IPv4_AddressReport_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "IAB_IP_AddressAndTraffic_r16", HFILL }}, + { &hf_nr_rrc_iab_IPv6_Report_r16, + { "iab-IPv6-Report-r16", "nr-rrc.iab_IPv6_Report_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_iab_IPv6_Report_r16_vals), 0, + "T_iab_IPv6_Report_r16", HFILL }}, + { &hf_nr_rrc_iab_IPv6_AddressReport_r16, + { "iab-IPv6-AddressReport-r16", "nr-rrc.iab_IPv6_AddressReport_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "IAB_IP_AddressAndTraffic_r16", HFILL }}, + { &hf_nr_rrc_iab_IPv6_PrefixReport_r16, + { "iab-IPv6-PrefixReport-r16", "nr-rrc.iab_IPv6_PrefixReport_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "IAB_IP_PrefixAndTraffic_r16", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_27, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_14", HFILL }}, + { &hf_nr_rrc_all_Traffic_NumReq_r16, + { "all-Traffic-NumReq-r16", "nr-rrc.all_Traffic_NumReq_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_8", HFILL }}, + { &hf_nr_rrc_f1_C_Traffic_NumReq_r16, + { "f1-C-Traffic-NumReq-r16", "nr-rrc.f1_C_Traffic_NumReq_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_8", HFILL }}, + { &hf_nr_rrc_f1_U_Traffic_NumReq_r16, + { "f1-U-Traffic-NumReq-r16", "nr-rrc.f1_U_Traffic_NumReq_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_8", HFILL }}, + { &hf_nr_rrc_non_F1_Traffic_NumReq_r16, + { "non-F1-Traffic-NumReq-r16", "nr-rrc.non_F1_Traffic_NumReq_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_8", HFILL }}, + { &hf_nr_rrc_all_Traffic_PrefixReq_r16, + { "all-Traffic-PrefixReq-r16", "nr-rrc.all_Traffic_PrefixReq_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_all_Traffic_PrefixReq_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_f1_C_Traffic_PrefixReq_r16, + { "f1-C-Traffic-PrefixReq-r16", "nr-rrc.f1_C_Traffic_PrefixReq_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_f1_C_Traffic_PrefixReq_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_f1_U_Traffic_PrefixReq_r16, + { "f1-U-Traffic-PrefixReq-r16", "nr-rrc.f1_U_Traffic_PrefixReq_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_f1_U_Traffic_PrefixReq_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_non_F1_Traffic_PrefixReq_r16, + { "non-F1-Traffic-PrefixReq-r16", "nr-rrc.non_F1_Traffic_PrefixReq_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_non_F1_Traffic_PrefixReq_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_all_Traffic_IAB_IP_Address_r16, + { "all-Traffic-IAB-IP-Address-r16", "nr-rrc.all_Traffic_IAB_IP_Address_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16", HFILL }}, + { &hf_nr_rrc_all_Traffic_IAB_IP_Address_r16_item, + { "IAB-IP-Address-r16", "nr-rrc.IAB_IP_Address_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Address_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_f1_C_Traffic_IP_Address_r16, + { "f1-C-Traffic-IP-Address-r16", "nr-rrc.f1_C_Traffic_IP_Address_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16", HFILL }}, + { &hf_nr_rrc_f1_C_Traffic_IP_Address_r16_item, + { "IAB-IP-Address-r16", "nr-rrc.IAB_IP_Address_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Address_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_f1_U_Traffic_IP_Address_r16, + { "f1-U-Traffic-IP-Address-r16", "nr-rrc.f1_U_Traffic_IP_Address_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16", HFILL }}, + { &hf_nr_rrc_f1_U_Traffic_IP_Address_r16_item, + { "IAB-IP-Address-r16", "nr-rrc.IAB_IP_Address_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Address_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_non_F1_Traffic_IP_Address_r16, + { "non-F1-Traffic-IP-Address-r16", "nr-rrc.non_F1_Traffic_IP_Address_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16", HFILL }}, + { &hf_nr_rrc_non_F1_Traffic_IP_Address_r16_item, + { "IAB-IP-Address-r16", "nr-rrc.IAB_IP_Address_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Address_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_all_Traffic_IAB_IP_Address_r16_01, + { "all-Traffic-IAB-IP-Address-r16", "nr-rrc.all_Traffic_IAB_IP_Address_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Address_r16_vals), 0, + "IAB_IP_Address_r16", HFILL }}, + { &hf_nr_rrc_f1_C_Traffic_IP_Address_r16_01, + { "f1-C-Traffic-IP-Address-r16", "nr-rrc.f1_C_Traffic_IP_Address_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Address_r16_vals), 0, + "IAB_IP_Address_r16", HFILL }}, + { &hf_nr_rrc_f1_U_Traffic_IP_Address_r16_01, + { "f1-U-Traffic-IP-Address-r16", "nr-rrc.f1_U_Traffic_IP_Address_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Address_r16_vals), 0, + "IAB_IP_Address_r16", HFILL }}, + { &hf_nr_rrc_non_F1_Traffic_IP_Address_r16_01, + { "non-F1-Traffic-IP-Address-r16", "nr-rrc.non_F1_Traffic_IP_Address_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Address_r16_vals), 0, + "IAB_IP_Address_r16", 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_locationMeasurementIndication_01, { "locationMeasurementIndication", "nr-rrc.locationMeasurementIndication_element", FT_NONE, BASE_NONE, NULL, 0, "LocationMeasurementIndication_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_11, + { &hf_nr_rrc_criticalExtensionsFuture_15, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_11", HFILL }}, + "T_criticalExtensionsFuture_15", HFILL }}, { &hf_nr_rrc_measurementIndication, { "measurementIndication", "nr-rrc.measurementIndication", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measurementIndication_vals), 0, @@ -46363,30 +83337,198 @@ proto_register_nr_rrc(void) { { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, VALS(nr_rrc_LocationMeasurementInfo_vals), 0, "LocationMeasurementInfo", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_19, + { &hf_nr_rrc_nonCriticalExtension_28, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_11", HFILL }}, - { &hf_nr_rrc_criticalExtensions_12, + "T_nonCriticalExtension_15", HFILL }}, + { &hf_nr_rrc_criticalExtensions_16, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_12_vals), 0, - "T_criticalExtensions_12", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_16_vals), 0, + "T_criticalExtensions_16", HFILL }}, + { &hf_nr_rrc_loggedMeasurementConfiguration_r16_01, + { "loggedMeasurementConfiguration-r16", "nr-rrc.loggedMeasurementConfiguration_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "LoggedMeasurementConfiguration_r16_IEs", HFILL }}, + { &hf_nr_rrc_criticalExtensionsFuture_16, + { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_criticalExtensionsFuture_16", HFILL }}, + { &hf_nr_rrc_traceReference_r16, + { "traceReference-r16", "nr-rrc.traceReference_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_traceRecordingSessionRef_r16, + { "traceRecordingSessionRef-r16", "nr-rrc.traceRecordingSessionRef_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_2", HFILL }}, + { &hf_nr_rrc_tce_Id_r16, + { "tce-Id-r16", "nr-rrc.tce_Id_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1", HFILL }}, + { &hf_nr_rrc_absoluteTimeInfo_r16, + { "absoluteTimeInfo-r16", "nr-rrc.absoluteTimeInfo_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_areaConfiguration_r16, + { "areaConfiguration-r16", "nr-rrc.areaConfiguration_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_plmn_IdentityList_r16, + { "plmn-IdentityList-r16", "nr-rrc.plmn_IdentityList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "PLMN_IdentityList2_r16", HFILL }}, + { &hf_nr_rrc_bt_NameList_r16, + { "bt-NameList-r16", "nr-rrc.bt_NameList_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bt_NameList_r16_vals), 0, + "T_bt_NameList_r16", HFILL }}, + { &hf_nr_rrc_setup_02, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "BT_NameList_r16", HFILL }}, + { &hf_nr_rrc_wlan_NameList_r16, + { "wlan-NameList-r16", "nr-rrc.wlan_NameList_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_wlan_NameList_r16_vals), 0, + "T_wlan_NameList_r16", HFILL }}, + { &hf_nr_rrc_setup_03, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "WLAN_NameList_r16", HFILL }}, + { &hf_nr_rrc_sensor_NameList_r16, + { "sensor-NameList-r16", "nr-rrc.sensor_NameList_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sensor_NameList_r16_vals), 0, + "T_sensor_NameList_r16", HFILL }}, + { &hf_nr_rrc_setup_04, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "Sensor_NameList_r16", HFILL }}, + { &hf_nr_rrc_loggingDuration_r16, + { "loggingDuration-r16", "nr-rrc.loggingDuration_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_LoggingDuration_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_reportType, + { "reportType", "nr-rrc.reportType", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportType_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_periodical, + { "periodical", "nr-rrc.periodical_element", + FT_NONE, BASE_NONE, NULL, 0, + "LoggedPeriodicalReportConfig_r16", HFILL }}, + { &hf_nr_rrc_eventTriggered, + { "eventTriggered", "nr-rrc.eventTriggered_element", + FT_NONE, BASE_NONE, NULL, 0, + "LoggedEventTriggerConfig_r16", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_29, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_16", HFILL }}, + { &hf_nr_rrc_loggingInterval_r16, + { "loggingInterval-r16", "nr-rrc.loggingInterval_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_LoggingInterval_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_eventType_r16, + { "eventType-r16", "nr-rrc.eventType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_EventType_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_outOfCoverage, + { "outOfCoverage", "nr-rrc.outOfCoverage_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_eventL1, + { "eventL1", "nr-rrc.eventL1_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_l1_Threshold, + { "l1-Threshold", "nr-rrc.l1_Threshold", + FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0, + "MeasTriggerQuantity", HFILL }}, + { &hf_nr_rrc_hysteresis, + { "hysteresis", "nr-rrc.hysteresis", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Hysteresis_fmt), 0, + NULL, HFILL }}, + { &hf_nr_rrc_timeToTrigger, + { "timeToTrigger", "nr-rrc.timeToTrigger", + FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeToTrigger_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_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_mcgFailureInformation_r16_01, + { "mcgFailureInformation-r16", "nr-rrc.mcgFailureInformation_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "MCGFailureInformation_r16_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_failureReportMCG_r16, + { "failureReportMCG-r16", "nr-rrc.failureReportMCG_r16_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_17", HFILL }}, + { &hf_nr_rrc_failureType_r16_02, + { "failureType-r16", "nr-rrc.failureType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_r16_02_vals), 0, + "T_failureType_r16_02", HFILL }}, + { &hf_nr_rrc_measResultFreqList_r16, + { "measResultFreqList-r16", "nr-rrc.measResultFreqList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "MeasResultList2NR", HFILL }}, + { &hf_nr_rrc_measResultFreqListEUTRA_r16, + { "measResultFreqListEUTRA-r16", "nr-rrc.measResultFreqListEUTRA_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "MeasResultList2EUTRA", HFILL }}, + { &hf_nr_rrc_measResultSCG_r16_01, + { "measResultSCG-r16", "nr-rrc.measResultSCG_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "T_measResultSCG_r16_01", HFILL }}, + { &hf_nr_rrc_measResultSCG_EUTRA_r16_01, + { "measResultSCG-EUTRA-r16", "nr-rrc.measResultSCG_EUTRA_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "T_measResultSCG_EUTRA_r16_01", HFILL }}, + { &hf_nr_rrc_measResultFreqListUTRA_FDD_r16, + { "measResultFreqListUTRA-FDD-r16", "nr-rrc.measResultFreqListUTRA_FDD_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "MeasResultList2UTRA", HFILL }}, + { &hf_nr_rrc_MeasResultList2UTRA_item, + { "MeasResult2UTRA-FDD-r16", "nr-rrc.MeasResult2UTRA_FDD_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_carrierFreq_r16, + { "carrierFreq-r16", "nr-rrc.carrierFreq_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueUTRA_FDD_r16", HFILL }}, + { &hf_nr_rrc_measResultNeighCellList_r16, + { "measResultNeighCellList-r16", "nr-rrc.measResultNeighCellList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "MeasResultListUTRA_FDD_r16", HFILL }}, + { &hf_nr_rrc_MeasResultList2EUTRA_item, + { "MeasResult2EUTRA-r16", "nr-rrc.MeasResult2EUTRA_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, 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_measurementReport_01, { "measurementReport", "nr-rrc.measurementReport_element", FT_NONE, BASE_NONE, NULL, 0, "MeasurementReport_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_12, + { &hf_nr_rrc_criticalExtensionsFuture_18, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_12", HFILL }}, + "T_criticalExtensionsFuture_18", HFILL }}, { &hf_nr_rrc_measResults, { "measResults", "nr-rrc.measResults_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_20, + { &hf_nr_rrc_nonCriticalExtension_31, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_12", HFILL }}, + "T_nonCriticalExtension_18", HFILL }}, { &hf_nr_rrc_systemFrameNumber, { "systemFrameNumber", "nr-rrc.systemFrameNumber", FT_BYTES, BASE_NONE, NULL, 0, @@ -46419,18 +83561,18 @@ proto_register_nr_rrc(void) { { "spare", "nr-rrc.spare", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_1", HFILL }}, - { &hf_nr_rrc_criticalExtensions_13, + { &hf_nr_rrc_criticalExtensions_19, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_13_vals), 0, - "T_criticalExtensions_13", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_19_vals), 0, + "T_criticalExtensions_19", HFILL }}, { &hf_nr_rrc_mobilityFromNRCommand_01, { "mobilityFromNRCommand", "nr-rrc.mobilityFromNRCommand_element", FT_NONE, BASE_NONE, NULL, 0, "MobilityFromNRCommand_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_13, + { &hf_nr_rrc_criticalExtensionsFuture_19, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_13", HFILL }}, + "T_criticalExtensionsFuture_19", HFILL }}, { &hf_nr_rrc_targetRAT_Type, { "targetRAT-Type", "nr-rrc.targetRAT_Type", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_targetRAT_Type_vals), 0, @@ -46443,18 +83585,26 @@ proto_register_nr_rrc(void) { { "nas-SecurityParamFromNR", "nr-rrc.nas_SecurityParamFromNR", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_21, + { &hf_nr_rrc_nonCriticalExtension_32, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_13", HFILL }}, + "MobilityFromNRCommand_v1610_IEs", HFILL }}, + { &hf_nr_rrc_voiceFallbackIndication_r16, + { "voiceFallbackIndication-r16", "nr-rrc.voiceFallbackIndication_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_voiceFallbackIndication_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_33, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_19", HFILL }}, { &hf_nr_rrc_pagingRecordList, { "pagingRecordList", "nr-rrc.pagingRecordList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_22, + { &hf_nr_rrc_nonCriticalExtension_34, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_14", HFILL }}, + "T_nonCriticalExtension_20", HFILL }}, { &hf_nr_rrc_PagingRecordList_item, { "PagingRecord", "nr-rrc.PagingRecord_element", FT_NONE, BASE_NONE, NULL, 0, @@ -46475,42 +83625,50 @@ proto_register_nr_rrc(void) { { "fullI-RNTI", "nr-rrc.fullI_RNTI", FT_BYTES, BASE_NONE, NULL, 0, "I_RNTI_Value", HFILL }}, - { &hf_nr_rrc_criticalExtensions_14, + { &hf_nr_rrc_criticalExtensions_20, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_14_vals), 0, - "T_criticalExtensions_14", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_20_vals), 0, + "T_criticalExtensions_20", HFILL }}, { &hf_nr_rrc_rrcReestablishment_01, { "rrcReestablishment", "nr-rrc.rrcReestablishment_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReestablishment_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_14, + { &hf_nr_rrc_criticalExtensionsFuture_20, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_14", HFILL }}, + "T_criticalExtensionsFuture_20", HFILL }}, { &hf_nr_rrc_nextHopChainingCount, { "nextHopChainingCount", "nr-rrc.nextHopChainingCount", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_23, + { &hf_nr_rrc_nonCriticalExtension_35, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_15", HFILL }}, - { &hf_nr_rrc_criticalExtensions_15, + "T_nonCriticalExtension_21", HFILL }}, + { &hf_nr_rrc_criticalExtensions_21, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_15_vals), 0, - "T_criticalExtensions_15", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_21_vals), 0, + "T_criticalExtensions_21", HFILL }}, { &hf_nr_rrc_rrcReestablishmentComplete_01, { "rrcReestablishmentComplete", "nr-rrc.rrcReestablishmentComplete_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReestablishmentComplete_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_15, + { &hf_nr_rrc_criticalExtensionsFuture_21, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_15", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_24, + "T_criticalExtensionsFuture_21", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_36, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_16", HFILL }}, + "RRCReestablishmentComplete_v1610_IEs", HFILL }}, + { &hf_nr_rrc_ueMeasurementsAvailable_r16, + { "ueMeasurementsAvailable-r16", "nr-rrc.ueMeasurementsAvailable_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_37, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_22", HFILL }}, { &hf_nr_rrc_rrcReestablishmentRequest_01, { "rrcReestablishmentRequest", "nr-rrc.rrcReestablishmentRequest_element", FT_NONE, BASE_NONE, NULL, 0, @@ -46527,18 +83685,18 @@ proto_register_nr_rrc(void) { { "c-RNTI", "nr-rrc.c_RNTI", FT_UINT32, BASE_DEC, NULL, 0, "RNTI_Value", HFILL }}, - { &hf_nr_rrc_criticalExtensions_16, + { &hf_nr_rrc_criticalExtensions_22, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_16_vals), 0, - "T_criticalExtensions_16", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_22_vals), 0, + "T_criticalExtensions_22", HFILL }}, { &hf_nr_rrc_rrcReconfiguration_02, { "rrcReconfiguration", "nr-rrc.rrcReconfiguration_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReconfiguration_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_16, + { &hf_nr_rrc_criticalExtensionsFuture_22, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_16", HFILL }}, + "T_criticalExtensionsFuture_22", HFILL }}, { &hf_nr_rrc_radioBearerConfig, { "radioBearerConfig", "nr-rrc.radioBearerConfig_element", FT_NONE, BASE_NONE, NULL, 0, @@ -46551,7 +83709,7 @@ proto_register_nr_rrc(void) { { "measConfig", "nr-rrc.measConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_25, + { &hf_nr_rrc_nonCriticalExtension_38, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReconfiguration_v1530_IEs", HFILL }}, @@ -46587,7 +83745,7 @@ proto_register_nr_rrc(void) { { "otherConfig", "nr-rrc.otherConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_26, + { &hf_nr_rrc_nonCriticalExtension_39, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReconfiguration_v1540_IEs", HFILL }}, @@ -46595,7 +83753,7 @@ proto_register_nr_rrc(void) { { "otherConfig-v1540", "nr-rrc.otherConfig_v1540_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_27, + { &hf_nr_rrc_nonCriticalExtension_40, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReconfiguration_v1560_IEs", HFILL }}, @@ -46603,7 +83761,7 @@ proto_register_nr_rrc(void) { { "mrdc-SecondaryCellGroupConfig", "nr-rrc.mrdc_SecondaryCellGroupConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mrdc_SecondaryCellGroupConfig_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_02, + { &hf_nr_rrc_setup_05, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "MRDC_SecondaryCellGroupConfig", HFILL }}, @@ -46615,10 +83773,82 @@ proto_register_nr_rrc(void) { { "sk-Counter", "nr-rrc.sk_Counter", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_28, + { &hf_nr_rrc_nonCriticalExtension_41, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_17", HFILL }}, + "RRCReconfiguration_v1610_IEs", HFILL }}, + { &hf_nr_rrc_otherConfig_v1610, + { "otherConfig-v1610", "nr-rrc.otherConfig_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_bap_Config_r16, + { "bap-Config-r16", "nr-rrc.bap_Config_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bap_Config_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_06, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "BAP_Config_r16", HFILL }}, + { &hf_nr_rrc_iab_IP_AddressConfigurationList_r16, + { "iab-IP-AddressConfigurationList-r16", "nr-rrc.iab_IP_AddressConfigurationList_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_conditionalReconfiguration_r16, + { "conditionalReconfiguration-r16", "nr-rrc.conditionalReconfiguration_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_daps_SourceRelease_r16, + { "daps-SourceRelease-r16", "nr-rrc.daps_SourceRelease_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_daps_SourceRelease_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_t316_r16, + { "t316-r16", "nr-rrc.t316_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t316_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_07, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T316_r16_vals), 0, + "T316_r16", HFILL }}, + { &hf_nr_rrc_needForGapsConfigNR_r16, + { "needForGapsConfigNR-r16", "nr-rrc.needForGapsConfigNR_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_needForGapsConfigNR_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_08, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "NeedForGapsConfigNR_r16", HFILL }}, + { &hf_nr_rrc_onDemandSIB_Request_r16, + { "onDemandSIB-Request-r16", "nr-rrc.onDemandSIB_Request_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_onDemandSIB_Request_r16_vals), 0, + "T_onDemandSIB_Request_r16", HFILL }}, + { &hf_nr_rrc_setup_09, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "OnDemandSIB_Request_r16", HFILL }}, + { &hf_nr_rrc_dedicatedPosSysInfoDelivery_r16, + { "dedicatedPosSysInfoDelivery-r16", "nr-rrc.dedicatedPosSysInfoDelivery_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ConfigDedicatedNR_r16, + { "sl-ConfigDedicatedNR-r16", "nr-rrc.sl_ConfigDedicatedNR_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ConfigDedicatedNR_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_10, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_ConfigDedicatedNR_r16", HFILL }}, + { &hf_nr_rrc_sl_ConfigDedicatedEUTRA_Info_r16, + { "sl-ConfigDedicatedEUTRA-Info-r16", "nr-rrc.sl_ConfigDedicatedEUTRA_Info_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ConfigDedicatedEUTRA_Info_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_11, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_ConfigDedicatedEUTRA_Info_r16", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_42, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_23", HFILL }}, { &hf_nr_rrc_mrdc_ReleaseAndAdd, { "mrdc-ReleaseAndAdd", "nr-rrc.mrdc_ReleaseAndAdd", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mrdc_ReleaseAndAdd_vals), 0, @@ -46635,6 +83865,22 @@ proto_register_nr_rrc(void) { { "eutra-SCG", "nr-rrc.eutra_SCG", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_bap_Address_r16, + { "bap-Address-r16", "nr-rrc.bap_Address_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_10", HFILL }}, + { &hf_nr_rrc_defaultUL_BAProutingID_r16, + { "defaultUL-BAProutingID-r16", "nr-rrc.defaultUL_BAProutingID_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "BAP_Routing_ID_r16", HFILL }}, + { &hf_nr_rrc_defaultUL_BH_RLC_Channel_r16, + { "defaultUL-BH-RLC-Channel-r16", "nr-rrc.defaultUL_BH_RLC_Channel_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BH_RLC_ChannelID_r16", HFILL }}, + { &hf_nr_rrc_flowControlFeedbackType_r16, + { "flowControlFeedbackType-r16", "nr-rrc.flowControlFeedbackType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_flowControlFeedbackType_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_keySetChangeIndicator, { "keySetChangeIndicator", "nr-rrc.keySetChangeIndicator", FT_BOOLEAN, BASE_NONE, NULL, 0, @@ -46643,19 +83889,67 @@ proto_register_nr_rrc(void) { { "nas-Container", "nr-rrc.nas_Container", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_criticalExtensions_17, + { &hf_nr_rrc_onDemandSIB_RequestProhibitTimer_r16, + { "onDemandSIB-RequestProhibitTimer-r16", "nr-rrc.onDemandSIB_RequestProhibitTimer_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_onDemandSIB_RequestProhibitTimer_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_iab_IP_AddressToAddModList_r16, + { "iab-IP-AddressToAddModList-r16", "nr-rrc.iab_IP_AddressToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressConfiguration_r16", HFILL }}, + { &hf_nr_rrc_iab_IP_AddressToAddModList_r16_item, + { "IAB-IP-AddressConfiguration-r16", "nr-rrc.IAB_IP_AddressConfiguration_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_iab_IP_AddressToReleaseList_r16, + { "iab-IP-AddressToReleaseList-r16", "nr-rrc.iab_IP_AddressToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressIndex_r16", HFILL }}, + { &hf_nr_rrc_iab_IP_AddressToReleaseList_r16_item, + { "IAB-IP-AddressIndex-r16", "nr-rrc.IAB_IP_AddressIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_iab_IP_AddressIndex_r16, + { "iab-IP-AddressIndex-r16", "nr-rrc.iab_IP_AddressIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_iab_IP_Address_r16, + { "iab-IP-Address-r16", "nr-rrc.iab_IP_Address_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Address_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_iab_IP_Usage_r16, + { "iab-IP-Usage-r16", "nr-rrc.iab_IP_Usage_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_IAB_IP_Usage_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_iab_donor_DU_BAP_Address_r16, + { "iab-donor-DU-BAP-Address-r16", "nr-rrc.iab_donor_DU_BAP_Address_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_10", HFILL }}, + { &hf_nr_rrc_sl_ConfigDedicatedEUTRA_r16, + { "sl-ConfigDedicatedEUTRA-r16", "nr-rrc.sl_ConfigDedicatedEUTRA_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_TimeOffsetEUTRA_List_r16, + { "sl-TimeOffsetEUTRA-List-r16", "nr-rrc.sl_TimeOffsetEUTRA_List_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_8_OF_SL_TimeOffsetEUTRA_r16", HFILL }}, + { &hf_nr_rrc_sl_TimeOffsetEUTRA_List_r16_item, + { "SL-TimeOffsetEUTRA-r16", "nr-rrc.SL_TimeOffsetEUTRA_r16", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_SL_TimeOffsetEUTRA_r16_vals_ext, 0, + NULL, HFILL }}, + { &hf_nr_rrc_criticalExtensions_23, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_17_vals), 0, - "T_criticalExtensions_17", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_23_vals), 0, + "T_criticalExtensions_23", HFILL }}, { &hf_nr_rrc_rrcReconfigurationComplete_01, { "rrcReconfigurationComplete", "nr-rrc.rrcReconfigurationComplete_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReconfigurationComplete_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_17, + { &hf_nr_rrc_criticalExtensionsFuture_23, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_17", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_29, + "T_criticalExtensionsFuture_23", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_43, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReconfigurationComplete_v1530_IEs", HFILL }}, @@ -46663,7 +83957,7 @@ proto_register_nr_rrc(void) { { "uplinkTxDirectCurrentList", "nr-rrc.uplinkTxDirectCurrentList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_30, + { &hf_nr_rrc_nonCriticalExtension_44, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReconfigurationComplete_v1560_IEs", HFILL }}, @@ -46679,42 +83973,46 @@ proto_register_nr_rrc(void) { { "eutra-SCG-Response", "nr-rrc.eutra_SCG_Response", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_31, + { &hf_nr_rrc_nonCriticalExtension_45, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_18", HFILL }}, - { &hf_nr_rrc_criticalExtensions_18, + "RRCReconfigurationComplete_v1610_IEs", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_46, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_24", HFILL }}, + { &hf_nr_rrc_criticalExtensions_24, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_18_vals), 0, - "T_criticalExtensions_18", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_24_vals), 0, + "T_criticalExtensions_24", HFILL }}, { &hf_nr_rrc_rrcReject_01, { "rrcReject", "nr-rrc.rrcReject_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReject_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_18, + { &hf_nr_rrc_criticalExtensionsFuture_24, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_18", HFILL }}, + "T_criticalExtensionsFuture_24", 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_32, + { &hf_nr_rrc_nonCriticalExtension_47, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_19", HFILL }}, - { &hf_nr_rrc_criticalExtensions_19, + "T_nonCriticalExtension_25", HFILL }}, + { &hf_nr_rrc_criticalExtensions_25, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_19_vals), 0, - "T_criticalExtensions_19", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_25_vals), 0, + "T_criticalExtensions_25", HFILL }}, { &hf_nr_rrc_rrcRelease_01, { "rrcRelease", "nr-rrc.rrcRelease_element", FT_NONE, BASE_NONE, NULL, 0, "RRCRelease_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_19, + { &hf_nr_rrc_criticalExtensionsFuture_25, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_19", HFILL }}, + "T_criticalExtensionsFuture_25", HFILL }}, { &hf_nr_rrc_redirectedCarrierInfo, { "redirectedCarrierInfo", "nr-rrc.redirectedCarrierInfo", FT_UINT32, BASE_DEC, VALS(nr_rrc_RedirectedCarrierInfo_vals), 0, @@ -46739,14 +84037,30 @@ proto_register_nr_rrc(void) { { "deprioritisationTimer", "nr-rrc.deprioritisationTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_deprioritisationTimer_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_33, + { &hf_nr_rrc_nonCriticalExtension_48, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCRelease_v1540_IEs", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_34, + { &hf_nr_rrc_nonCriticalExtension_49, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_20", HFILL }}, + "RRCRelease_v1610_IEs", HFILL }}, + { &hf_nr_rrc_voiceFallbackIndication_r16_01, + { "voiceFallbackIndication-r16", "nr-rrc.voiceFallbackIndication_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_voiceFallbackIndication_r16_01_vals), 0, + "T_voiceFallbackIndication_r16_01", HFILL }}, + { &hf_nr_rrc_measIdleConfig_r16, + { "measIdleConfig-r16", "nr-rrc.measIdleConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measIdleConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_12, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "MeasIdleConfigDedicated_r16", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_50, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_26", HFILL }}, { &hf_nr_rrc_nr, { "nr", "nr-rrc.nr_element", FT_NONE, BASE_NONE, NULL, 0, @@ -46855,18 +84169,18 @@ proto_register_nr_rrc(void) { { "RAN-AreaCode", "nr-rrc.RAN_AreaCode", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_criticalExtensions_20, + { &hf_nr_rrc_criticalExtensions_26, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_20_vals), 0, - "T_criticalExtensions_20", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_26_vals), 0, + "T_criticalExtensions_26", HFILL }}, { &hf_nr_rrc_rrcResume_01, { "rrcResume", "nr-rrc.rrcResume_element", FT_NONE, BASE_NONE, NULL, 0, "RRCResume_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_20, + { &hf_nr_rrc_criticalExtensionsFuture_26, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_20", HFILL }}, + "T_criticalExtensionsFuture_26", HFILL }}, { &hf_nr_rrc_masterCellGroup_01, { "masterCellGroup", "nr-rrc.masterCellGroup", FT_BYTES, BASE_NONE, NULL, 0, @@ -46875,7 +84189,7 @@ proto_register_nr_rrc(void) { { "fullConfig", "nr-rrc.fullConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fullConfig_01_vals), 0, "T_fullConfig_01", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_35, + { &hf_nr_rrc_nonCriticalExtension_51, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCResume_v1560_IEs", HFILL }}, @@ -46883,30 +84197,98 @@ proto_register_nr_rrc(void) { { "radioBearerConfig2", "nr-rrc.radioBearerConfig2", FT_BYTES, BASE_NONE, NULL, 0, "T_radioBearerConfig2_01", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_36, + { &hf_nr_rrc_nonCriticalExtension_52, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_21", HFILL }}, - { &hf_nr_rrc_criticalExtensions_21, + "RRCResume_v1610_IEs", HFILL }}, + { &hf_nr_rrc_idleModeMeasurementReq_r16, + { "idleModeMeasurementReq-r16", "nr-rrc.idleModeMeasurementReq_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleModeMeasurementReq_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_restoreMCG_SCells_r16, + { "restoreMCG-SCells-r16", "nr-rrc.restoreMCG_SCells_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_restoreMCG_SCells_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_restoreSCG_r16, + { "restoreSCG-r16", "nr-rrc.restoreSCG_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_restoreSCG_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_mrdc_SecondaryCellGroup_r16, + { "mrdc-SecondaryCellGroup-r16", "nr-rrc.mrdc_SecondaryCellGroup_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mrdc_SecondaryCellGroup_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nr_SCG_r16, + { "nr-SCG-r16", "nr-rrc.nr_SCG_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_eutra_SCG_r16, + { "eutra-SCG-r16", "nr-rrc.eutra_SCG_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_needForGapsConfigNR_r16_01, + { "needForGapsConfigNR-r16", "nr-rrc.needForGapsConfigNR_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_needForGapsConfigNR_r16_01_vals), 0, + "T_needForGapsConfigNR_r16_01", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_53, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_27", HFILL }}, + { &hf_nr_rrc_criticalExtensions_27, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_21_vals), 0, - "T_criticalExtensions_21", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_27_vals), 0, + "T_criticalExtensions_27", HFILL }}, { &hf_nr_rrc_rrcResumeComplete_01, { "rrcResumeComplete", "nr-rrc.rrcResumeComplete_element", FT_NONE, BASE_NONE, NULL, 0, "RRCResumeComplete_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_21, + { &hf_nr_rrc_criticalExtensionsFuture_27, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_21", HFILL }}, + "T_criticalExtensionsFuture_27", HFILL }}, { &hf_nr_rrc_selectedPLMN_Identity, { "selectedPLMN-Identity", "nr-rrc.selectedPLMN_Identity", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxPLMN", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_37, + { &hf_nr_rrc_nonCriticalExtension_54, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_22", HFILL }}, + "RRCResumeComplete_v1610_IEs", HFILL }}, + { &hf_nr_rrc_idleMeasAvailable_r16, + { "idleMeasAvailable-r16", "nr-rrc.idleMeasAvailable_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleMeasAvailable_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_measResultIdleEUTRA_r16, + { "measResultIdleEUTRA-r16", "nr-rrc.measResultIdleEUTRA_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_measResultIdleNR_r16, + { "measResultIdleNR-r16", "nr-rrc.measResultIdleNR_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_scg_Response_r16, + { "scg-Response-r16", "nr-rrc.scg_Response_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scg_Response_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nr_SCG_Response_01, + { "nr-SCG-Response", "nr-rrc.nr_SCG_Response", + FT_BYTES, BASE_NONE, NULL, 0, + "T_nr_SCG_Response_01", HFILL }}, + { &hf_nr_rrc_eutra_SCG_Response_01, + { "eutra-SCG-Response", "nr-rrc.eutra_SCG_Response", + FT_BYTES, BASE_NONE, NULL, 0, + "T_eutra_SCG_Response_01", HFILL }}, + { &hf_nr_rrc_mobilityHistoryAvail_r16, + { "mobilityHistoryAvail-r16", "nr-rrc.mobilityHistoryAvail_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mobilityHistoryAvail_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_mobilityState_r16, + { "mobilityState-r16", "nr-rrc.mobilityState_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mobilityState_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_55, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_28", HFILL }}, { &hf_nr_rrc_rrcResumeRequest_01, { "rrcResumeRequest", "nr-rrc.rrcResumeRequest_element", FT_NONE, BASE_NONE, NULL, 0, @@ -46931,38 +84313,38 @@ proto_register_nr_rrc(void) { { "resumeIdentity", "nr-rrc.resumeIdentity", FT_BYTES, BASE_NONE, NULL, 0, "I_RNTI_Value", HFILL }}, - { &hf_nr_rrc_criticalExtensions_22, + { &hf_nr_rrc_criticalExtensions_28, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_22_vals), 0, - "T_criticalExtensions_22", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_28_vals), 0, + "T_criticalExtensions_28", HFILL }}, { &hf_nr_rrc_rrcSetup_01, { "rrcSetup", "nr-rrc.rrcSetup_element", FT_NONE, BASE_NONE, NULL, 0, "RRCSetup_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_22, + { &hf_nr_rrc_criticalExtensionsFuture_28, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_22", HFILL }}, + "T_criticalExtensionsFuture_28", HFILL }}, { &hf_nr_rrc_masterCellGroup_02, { "masterCellGroup", "nr-rrc.masterCellGroup", FT_BYTES, BASE_NONE, NULL, 0, "T_masterCellGroup_02", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_38, + { &hf_nr_rrc_nonCriticalExtension_56, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_23", HFILL }}, - { &hf_nr_rrc_criticalExtensions_23, + "T_nonCriticalExtension_29", HFILL }}, + { &hf_nr_rrc_criticalExtensions_29, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_23_vals), 0, - "T_criticalExtensions_23", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_29_vals), 0, + "T_criticalExtensions_29", HFILL }}, { &hf_nr_rrc_rrcSetupComplete_01, { "rrcSetupComplete", "nr-rrc.rrcSetupComplete_element", FT_NONE, BASE_NONE, NULL, 0, "RRCSetupComplete_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_23, + { &hf_nr_rrc_criticalExtensionsFuture_29, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_23", HFILL }}, + "T_criticalExtensionsFuture_29", HFILL }}, { &hf_nr_rrc_registeredAMF, { "registeredAMF", "nr-rrc.registeredAMF_element", FT_NONE, BASE_NONE, NULL, 0, @@ -46987,10 +84369,30 @@ proto_register_nr_rrc(void) { { "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_39, + { &hf_nr_rrc_nonCriticalExtension_57, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_24", HFILL }}, + "RRCSetupComplete_v1610_IEs", HFILL }}, + { &hf_nr_rrc_iab_NodeIndication_r16, + { "iab-NodeIndication-r16", "nr-rrc.iab_NodeIndication_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_iab_NodeIndication_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_idleMeasAvailable_r16_01, + { "idleMeasAvailable-r16", "nr-rrc.idleMeasAvailable_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleMeasAvailable_r16_01_vals), 0, + "T_idleMeasAvailable_r16_01", HFILL }}, + { &hf_nr_rrc_mobilityHistoryAvail_r16_01, + { "mobilityHistoryAvail-r16", "nr-rrc.mobilityHistoryAvail_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mobilityHistoryAvail_r16_01_vals), 0, + "T_mobilityHistoryAvail_r16_01", HFILL }}, + { &hf_nr_rrc_mobilityState_r16_01, + { "mobilityState-r16", "nr-rrc.mobilityState_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mobilityState_r16_01_vals), 0, + "T_mobilityState_r16_01", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_58, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_30", HFILL }}, { &hf_nr_rrc_amf_Identifier, { "amf-Identifier", "nr-rrc.amf_Identifier", FT_BYTES, BASE_NONE, NULL, 0, @@ -47015,18 +84417,26 @@ proto_register_nr_rrc(void) { { "randomValue", "nr-rrc.randomValue", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_39", HFILL }}, - { &hf_nr_rrc_criticalExtensions_24, + { &hf_nr_rrc_criticalExtensions_30, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_24_vals), 0, - "T_criticalExtensions_24", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_30_vals), 0, + "T_criticalExtensions_30", HFILL }}, { &hf_nr_rrc_rrcSystemInfoRequest_01, { "rrcSystemInfoRequest", "nr-rrc.rrcSystemInfoRequest_element", FT_NONE, BASE_NONE, NULL, 0, "RRCSystemInfoRequest_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_24, + { &hf_nr_rrc_criticalExtensionsFuture_r16, + { "criticalExtensionsFuture-r16", "nr-rrc.criticalExtensionsFuture_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensionsFuture_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_rrcPosSystemInfoRequest_r16, + { "rrcPosSystemInfoRequest-r16", "nr-rrc.rrcPosSystemInfoRequest_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "RRC_PosSystemInfoRequest_r16_IEs", HFILL }}, + { &hf_nr_rrc_criticalExtensionsFuture_30, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_24", HFILL }}, + "T_criticalExtensionsFuture_30", HFILL }}, { &hf_nr_rrc_requested_SI_List, { "requested-SI-List", "nr-rrc.requested_SI_List", FT_BYTES, BASE_NONE, NULL, 0, @@ -47035,30 +84445,38 @@ proto_register_nr_rrc(void) { { "spare", "nr-rrc.spare", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_12", HFILL }}, - { &hf_nr_rrc_criticalExtensions_25, + { &hf_nr_rrc_requestedPosSI_List, + { "requestedPosSI-List", "nr-rrc.requestedPosSI_List", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_maxSI_Message", HFILL }}, + { &hf_nr_rrc_spare_02, + { "spare", "nr-rrc.spare", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_11", HFILL }}, + { &hf_nr_rrc_criticalExtensions_31, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_25_vals), 0, - "T_criticalExtensions_25", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_31_vals), 0, + "T_criticalExtensions_31", HFILL }}, { &hf_nr_rrc_scgFailureInformation_01, { "scgFailureInformation", "nr-rrc.scgFailureInformation_element", FT_NONE, BASE_NONE, NULL, 0, "SCGFailureInformation_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_25, + { &hf_nr_rrc_criticalExtensionsFuture_31, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_25", HFILL }}, + "T_criticalExtensionsFuture_31", HFILL }}, { &hf_nr_rrc_failureReportSCG, { "failureReportSCG", "nr-rrc.failureReportSCG_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_40, + { &hf_nr_rrc_nonCriticalExtension_59, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "SCGFailureInformation_v1590_IEs", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_41, + { &hf_nr_rrc_nonCriticalExtension_60, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_25", HFILL }}, + "T_nonCriticalExtension_31", HFILL }}, { &hf_nr_rrc_failureType_02, { "failureType", "nr-rrc.failureType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_02_vals), 0, @@ -47071,34 +84489,42 @@ proto_register_nr_rrc(void) { { "measResultSCG-Failure", "nr-rrc.measResultSCG_Failure", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_locationInfo_r16, + { "locationInfo-r16", "nr-rrc.locationInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_failureType_v1610, + { "failureType-v1610", "nr-rrc.failureType_v1610", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_v1610_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_MeasResultFreqList_item, { "MeasResult2NR", "nr-rrc.MeasResult2NR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_criticalExtensions_26, + { &hf_nr_rrc_criticalExtensions_32, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_26_vals), 0, - "T_criticalExtensions_26", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_32_vals), 0, + "T_criticalExtensions_32", HFILL }}, { &hf_nr_rrc_scgFailureInformationEUTRA_01, { "scgFailureInformationEUTRA", "nr-rrc.scgFailureInformationEUTRA_element", FT_NONE, BASE_NONE, NULL, 0, "SCGFailureInformationEUTRA_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_26, + { &hf_nr_rrc_criticalExtensionsFuture_32, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_26", HFILL }}, + "T_criticalExtensionsFuture_32", HFILL }}, { &hf_nr_rrc_failureReportSCG_EUTRA, { "failureReportSCG-EUTRA", "nr-rrc.failureReportSCG_EUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_42, + { &hf_nr_rrc_nonCriticalExtension_61, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "SCGFailureInformationEUTRA_v1590_IEs", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_43, + { &hf_nr_rrc_nonCriticalExtension_62, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_26", HFILL }}, + "T_nonCriticalExtension_32", HFILL }}, { &hf_nr_rrc_failureType_03, { "failureType", "nr-rrc.failureType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_03_vals), 0, @@ -47115,62 +84541,62 @@ proto_register_nr_rrc(void) { { "MeasResult2EUTRA", "nr-rrc.MeasResult2EUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_criticalExtensions_27, + { &hf_nr_rrc_criticalExtensions_33, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_27_vals), 0, - "T_criticalExtensions_27", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_33_vals), 0, + "T_criticalExtensions_33", HFILL }}, { &hf_nr_rrc_securityModeCommand_01, { "securityModeCommand", "nr-rrc.securityModeCommand_element", FT_NONE, BASE_NONE, NULL, 0, "SecurityModeCommand_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_27, + { &hf_nr_rrc_criticalExtensionsFuture_33, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_27", HFILL }}, + "T_criticalExtensionsFuture_33", HFILL }}, { &hf_nr_rrc_securityConfigSMC, { "securityConfigSMC", "nr-rrc.securityConfigSMC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_44, + { &hf_nr_rrc_nonCriticalExtension_63, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_27", HFILL }}, + "T_nonCriticalExtension_33", HFILL }}, { &hf_nr_rrc_securityAlgorithmConfig, { "securityAlgorithmConfig", "nr-rrc.securityAlgorithmConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_criticalExtensions_28, + { &hf_nr_rrc_criticalExtensions_34, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_28_vals), 0, - "T_criticalExtensions_28", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_34_vals), 0, + "T_criticalExtensions_34", HFILL }}, { &hf_nr_rrc_securityModeComplete_01, { "securityModeComplete", "nr-rrc.securityModeComplete_element", FT_NONE, BASE_NONE, NULL, 0, "SecurityModeComplete_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_28, + { &hf_nr_rrc_criticalExtensionsFuture_34, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_28", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_45, + "T_criticalExtensionsFuture_34", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_64, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_28", HFILL }}, - { &hf_nr_rrc_criticalExtensions_29, + "T_nonCriticalExtension_34", HFILL }}, + { &hf_nr_rrc_criticalExtensions_35, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_29_vals), 0, - "T_criticalExtensions_29", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_35_vals), 0, + "T_criticalExtensions_35", HFILL }}, { &hf_nr_rrc_securityModeFailure_01, { "securityModeFailure", "nr-rrc.securityModeFailure_element", FT_NONE, BASE_NONE, NULL, 0, "SecurityModeFailure_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_29, + { &hf_nr_rrc_criticalExtensionsFuture_35, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_29", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_46, + "T_criticalExtensionsFuture_35", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_65, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_29", HFILL }}, + "T_nonCriticalExtension_35", HFILL }}, { &hf_nr_rrc_cellSelectionInfo, { "cellSelectionInfo", "nr-rrc.cellSelectionInfo_element", FT_NONE, BASE_NONE, NULL, 0, @@ -47259,22 +84685,154 @@ proto_register_nr_rrc(void) { { "useFullResumeID", "nr-rrc.useFullResumeID", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_useFullResumeID_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_47, + { &hf_nr_rrc_nonCriticalExtension_66, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_30", HFILL }}, - { &hf_nr_rrc_criticalExtensions_30, + "SIB1_v1610_IEs", HFILL }}, + { &hf_nr_rrc_idleModeMeasurementsEUTRA_r16, + { "idleModeMeasurementsEUTRA-r16", "nr-rrc.idleModeMeasurementsEUTRA_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleModeMeasurementsEUTRA_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_idleModeMeasurementsNR_r16, + { "idleModeMeasurementsNR-r16", "nr-rrc.idleModeMeasurementsNR_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleModeMeasurementsNR_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_posSI_SchedulingInfo_r16, + { "posSI-SchedulingInfo-r16", "nr-rrc.posSI_SchedulingInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_67, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_36", HFILL }}, + { &hf_nr_rrc_criticalExtensions_36, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_30_vals), 0, - "T_criticalExtensions_30", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_36_vals), 0, + "T_criticalExtensions_36", HFILL }}, + { &hf_nr_rrc_sidelinkUEInformationNR_r16_03, + { "sidelinkUEInformationNR-r16", "nr-rrc.sidelinkUEInformationNR_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SidelinkUEInformationNR_r16_IEs", HFILL }}, + { &hf_nr_rrc_criticalExtensionsFuture_36, + { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_criticalExtensionsFuture_36", HFILL }}, + { &hf_nr_rrc_sl_RxInterestedFreqList_r16, + { "sl-RxInterestedFreqList-r16", "nr-rrc.sl_RxInterestedFreqList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_InterestedFreqList_r16", HFILL }}, + { &hf_nr_rrc_sl_TxResourceReqList_r16, + { "sl-TxResourceReqList-r16", "nr-rrc.sl_TxResourceReqList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_FailureList_r16, + { "sl-FailureList-r16", "nr-rrc.sl_FailureList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_68, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_37", HFILL }}, + { &hf_nr_rrc_SL_InterestedFreqList_r16_item, + { "SL-InterestedFreqList-r16 item", "nr-rrc.SL_InterestedFreqList_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxNrofFreqSL_r16", HFILL }}, + { &hf_nr_rrc_SL_TxResourceReqList_r16_item, + { "SL-TxResourceReq-r16", "nr-rrc.SL_TxResourceReq_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_DestinationIdentity_r16, + { "sl-DestinationIdentity-r16", "nr-rrc.sl_DestinationIdentity_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_CastType_r16, + { "sl-CastType-r16", "nr-rrc.sl_CastType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_CastType_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_RLC_ModeIndicationList_r16, + { "sl-RLC-ModeIndicationList-r16", "nr-rrc.sl_RLC_ModeIndicationList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RLC_ModeIndication_r16", HFILL }}, + { &hf_nr_rrc_sl_RLC_ModeIndicationList_r16_item, + { "SL-RLC-ModeIndication-r16", "nr-rrc.SL_RLC_ModeIndication_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_QoS_InfoList_r16, + { "sl-QoS-InfoList-r16", "nr-rrc.sl_QoS_InfoList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16", HFILL }}, + { &hf_nr_rrc_sl_QoS_InfoList_r16_item, + { "SL-QoS-Info-r16", "nr-rrc.SL_QoS_Info_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_TypeTxSyncList_r16, + { "sl-TypeTxSyncList-r16", "nr-rrc.sl_TypeTxSyncList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16", HFILL }}, + { &hf_nr_rrc_sl_TypeTxSyncList_r16_item, + { "SL-TypeTxSync-r16", "nr-rrc.SL_TypeTxSync_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_TypeTxSync_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_TxInterestedFreqList_r16, + { "sl-TxInterestedFreqList-r16", "nr-rrc.sl_TxInterestedFreqList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_CapabilityInformationSidelink_r16, + { "sl-CapabilityInformationSidelink-r16", "nr-rrc.sl_CapabilityInformationSidelink_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_SL_TxInterestedFreqList_r16_item, + { "SL-TxInterestedFreqList-r16 item", "nr-rrc.SL_TxInterestedFreqList_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxNrofFreqSL_r16", HFILL }}, + { &hf_nr_rrc_sl_QoS_FlowIdentity_r16, + { "sl-QoS-FlowIdentity-r16", "nr-rrc.sl_QoS_FlowIdentity_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_QoS_Profile_r16, + { "sl-QoS-Profile-r16", "nr-rrc.sl_QoS_Profile_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_Mode_r16, + { "sl-Mode-r16", "nr-rrc.sl_Mode_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_Mode_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_AM_Mode_r16, + { "sl-AM-Mode-r16", "nr-rrc.sl_AM_Mode_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_UM_Mode_r16, + { "sl-UM-Mode-r16", "nr-rrc.sl_UM_Mode_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_SL_FailureList_r16_item, + { "SL-Failure-r16", "nr-rrc.SL_Failure_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_Failure_r16, + { "sl-Failure-r16", "nr-rrc.sl_Failure_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_Failure_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_criticalExtensions_37, + { "criticalExtensions", "nr-rrc.criticalExtensions", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_37_vals), 0, + "T_criticalExtensions_37", HFILL }}, { &hf_nr_rrc_systemInformation_01, { "systemInformation", "nr-rrc.systemInformation_element", FT_NONE, BASE_NONE, NULL, 0, "SystemInformation_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_30, + { &hf_nr_rrc_criticalExtensionsFuture_r16_01, + { "criticalExtensionsFuture-r16", "nr-rrc.criticalExtensionsFuture_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensionsFuture_r16_01_vals), 0, + "T_criticalExtensionsFuture_r16_01", HFILL }}, + { &hf_nr_rrc_posSystemInformation_r16, + { "posSystemInformation-r16", "nr-rrc.posSystemInformation_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "PosSystemInformation_r16_IEs", HFILL }}, + { &hf_nr_rrc_criticalExtensionsFuture_37, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_30", HFILL }}, + "T_criticalExtensionsFuture_37", HFILL }}, { &hf_nr_rrc_sib_TypeAndInfo, { "sib-TypeAndInfo", "nr-rrc.sib_TypeAndInfo", FT_UINT32, BASE_DEC, NULL, 0, @@ -47315,27 +84873,47 @@ proto_register_nr_rrc(void) { { "sib9", "nr-rrc.sib9_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_48, + { &hf_nr_rrc_sib10_v1610, + { "sib10-v1610", "nr-rrc.sib10_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIB10_r16", HFILL }}, + { &hf_nr_rrc_sib11_v1610, + { "sib11-v1610", "nr-rrc.sib11_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIB11_r16", HFILL }}, + { &hf_nr_rrc_sib12_v1610, + { "sib12-v1610", "nr-rrc.sib12_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIB12_r16", HFILL }}, + { &hf_nr_rrc_sib13_v1610, + { "sib13-v1610", "nr-rrc.sib13_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIB13_r16", HFILL }}, + { &hf_nr_rrc_sib14_v1610, + { "sib14-v1610", "nr-rrc.sib14_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIB14_r16", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_69, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_31", HFILL }}, - { &hf_nr_rrc_criticalExtensions_31, + "T_nonCriticalExtension_38", HFILL }}, + { &hf_nr_rrc_criticalExtensions_38, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_31_vals), 0, - "T_criticalExtensions_31", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_38_vals), 0, + "T_criticalExtensions_38", HFILL }}, { &hf_nr_rrc_ueAssistanceInformation_02, { "ueAssistanceInformation", "nr-rrc.ueAssistanceInformation_element", FT_NONE, BASE_NONE, NULL, 0, "UEAssistanceInformation_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_31, + { &hf_nr_rrc_criticalExtensionsFuture_38, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_31", HFILL }}, + "T_criticalExtensionsFuture_38", 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_49, + { &hf_nr_rrc_nonCriticalExtension_70, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UEAssistanceInformation_v1540_IEs", HFILL }}, @@ -47347,46 +84925,22 @@ proto_register_nr_rrc(void) { { "overheatingAssistance", "nr-rrc.overheatingAssistance_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_50, + { &hf_nr_rrc_nonCriticalExtension_71, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_32", HFILL }}, + "UEAssistanceInformation_v1610_IEs", HFILL }}, { &hf_nr_rrc_reducedMaxCCs, { "reducedMaxCCs", "nr-rrc.reducedMaxCCs_element", FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_nr_rrc_reducedCCsDL, - { "reducedCCsDL", "nr-rrc.reducedCCsDL", - FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_31", HFILL }}, - { &hf_nr_rrc_reducedCCsUL, - { "reducedCCsUL", "nr-rrc.reducedCCsUL", - FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_31", HFILL }}, + "ReducedMaxCCs_r16", HFILL }}, { &hf_nr_rrc_reducedMaxBW_FR1, { "reducedMaxBW-FR1", "nr-rrc.reducedMaxBW_FR1_element", FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_nr_rrc_reducedBW_FR1_DL, - { "reducedBW-FR1-DL", "nr-rrc.reducedBW_FR1_DL", - FT_UINT32, BASE_DEC, VALS(nr_rrc_ReducedAggregatedBandwidth_vals), 0, - "ReducedAggregatedBandwidth", HFILL }}, - { &hf_nr_rrc_reducedBW_FR1_UL, - { "reducedBW-FR1-UL", "nr-rrc.reducedBW_FR1_UL", - FT_UINT32, BASE_DEC, VALS(nr_rrc_ReducedAggregatedBandwidth_vals), 0, - "ReducedAggregatedBandwidth", HFILL }}, + "ReducedMaxBW_FRx_r16", HFILL }}, { &hf_nr_rrc_reducedMaxBW_FR2, { "reducedMaxBW-FR2", "nr-rrc.reducedMaxBW_FR2_element", FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_nr_rrc_reducedBW_FR2_DL, - { "reducedBW-FR2-DL", "nr-rrc.reducedBW_FR2_DL", - FT_UINT32, BASE_DEC, VALS(nr_rrc_ReducedAggregatedBandwidth_vals), 0, - "ReducedAggregatedBandwidth", HFILL }}, - { &hf_nr_rrc_reducedBW_FR2_UL, - { "reducedBW-FR2-UL", "nr-rrc.reducedBW_FR2_UL", - FT_UINT32, BASE_DEC, VALS(nr_rrc_ReducedAggregatedBandwidth_vals), 0, - "ReducedAggregatedBandwidth", HFILL }}, + "ReducedMaxBW_FRx_r16", HFILL }}, { &hf_nr_rrc_reducedMaxMIMO_LayersFR1, { "reducedMaxMIMO-LayersFR1", "nr-rrc.reducedMaxMIMO_LayersFR1_element", FT_NONE, BASE_NONE, NULL, 0, @@ -47411,18 +84965,250 @@ proto_register_nr_rrc(void) { { "reducedMIMO-LayersFR2-UL", "nr-rrc.reducedMIMO_LayersFR2_UL", FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersUL_vals), 0, "MIMO_LayersUL", HFILL }}, - { &hf_nr_rrc_criticalExtensions_32, + { &hf_nr_rrc_idc_Assistance_r16, + { "idc-Assistance-r16", "nr-rrc.idc_Assistance_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_drx_Preference_r16, + { "drx-Preference-r16", "nr-rrc.drx_Preference_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxBW_Preference_r16, + { "maxBW-Preference-r16", "nr-rrc.maxBW_Preference_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxCC_Preference_r16, + { "maxCC-Preference-r16", "nr-rrc.maxCC_Preference_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxMIMO_LayerPreference_r16, + { "maxMIMO-LayerPreference-r16", "nr-rrc.maxMIMO_LayerPreference_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_minSchedulingOffsetPreference_r16, + { "minSchedulingOffsetPreference-r16", "nr-rrc.minSchedulingOffsetPreference_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_releasePreference_r16, + { "releasePreference-r16", "nr-rrc.releasePreference_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_UE_AssistanceInformationNR_r16, + { "sl-UE-AssistanceInformationNR-r16", "nr-rrc.sl_UE_AssistanceInformationNR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_referenceTimeInfoPreference_r16, + { "referenceTimeInfoPreference-r16", "nr-rrc.referenceTimeInfoPreference_r16", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_72, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_39", HFILL }}, + { &hf_nr_rrc_affectedCarrierFreqList_r16, + { "affectedCarrierFreqList-r16", "nr-rrc.affectedCarrierFreqList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_affectedCarrierFreqCombList_r16, + { "affectedCarrierFreqCombList-r16", "nr-rrc.affectedCarrierFreqCombList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_AffectedCarrierFreqList_r16_item, + { "AffectedCarrierFreq-r16", "nr-rrc.AffectedCarrierFreq_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_carrierFreq_r16_01, + { "carrierFreq-r16", "nr-rrc.carrierFreq_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueNR", HFILL }}, + { &hf_nr_rrc_interferenceDirection_r16, + { "interferenceDirection-r16", "nr-rrc.interferenceDirection_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interferenceDirection_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_AffectedCarrierFreqCombList_r16_item, + { "AffectedCarrierFreqComb-r16", "nr-rrc.AffectedCarrierFreqComb_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_affectedCarrierFreqComb_r16, + { "affectedCarrierFreqComb-r16", "nr-rrc.affectedCarrierFreqComb_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_2_maxNrofServingCells_OF_ARFCN_ValueNR", HFILL }}, + { &hf_nr_rrc_affectedCarrierFreqComb_r16_item, + { "ARFCN-ValueNR", "nr-rrc.ARFCN_ValueNR", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_victimSystemType_r16, + { "victimSystemType-r16", "nr-rrc.victimSystemType_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_gps_r16, + { "gps-r16", "nr-rrc.gps_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gps_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_glonass_r16, + { "glonass-r16", "nr-rrc.glonass_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_glonass_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_bds_r16, + { "bds-r16", "nr-rrc.bds_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bds_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_galileo_r16, + { "galileo-r16", "nr-rrc.galileo_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_galileo_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_navIC_r16, + { "navIC-r16", "nr-rrc.navIC_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_navIC_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_wlan_r16, + { "wlan-r16", "nr-rrc.wlan_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_wlan_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_bluetooth_r16, + { "bluetooth-r16", "nr-rrc.bluetooth_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bluetooth_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_preferredDRX_InactivityTimer_r16, + { "preferredDRX-InactivityTimer-r16", "nr-rrc.preferredDRX_InactivityTimer_r16", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_preferredDRX_InactivityTimer_r16_vals_ext, 0, + NULL, HFILL }}, + { &hf_nr_rrc_preferredDRX_LongCycle_r16, + { "preferredDRX-LongCycle-r16", "nr-rrc.preferredDRX_LongCycle_r16", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_preferredDRX_LongCycle_r16_vals_ext, 0, + NULL, HFILL }}, + { &hf_nr_rrc_preferredDRX_ShortCycle_r16, + { "preferredDRX-ShortCycle-r16", "nr-rrc.preferredDRX_ShortCycle_r16", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_preferredDRX_ShortCycle_r16_vals_ext, 0, + NULL, HFILL }}, + { &hf_nr_rrc_preferredDRX_ShortCycleTimer_r16, + { "preferredDRX-ShortCycleTimer-r16", "nr-rrc.preferredDRX_ShortCycleTimer_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_16", HFILL }}, + { &hf_nr_rrc_reducedMaxBW_FR1_r16, + { "reducedMaxBW-FR1-r16", "nr-rrc.reducedMaxBW_FR1_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "ReducedMaxBW_FRx_r16", HFILL }}, + { &hf_nr_rrc_reducedMaxBW_FR2_r16, + { "reducedMaxBW-FR2-r16", "nr-rrc.reducedMaxBW_FR2_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "ReducedMaxBW_FRx_r16", HFILL }}, + { &hf_nr_rrc_reducedMaxCCs_r16, + { "reducedMaxCCs-r16", "nr-rrc.reducedMaxCCs_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_reducedMaxMIMO_LayersFR1_r16, + { "reducedMaxMIMO-LayersFR1-r16", "nr-rrc.reducedMaxMIMO_LayersFR1_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_reducedMIMO_LayersFR1_DL_r16, + { "reducedMIMO-LayersFR1-DL-r16", "nr-rrc.reducedMIMO_LayersFR1_DL_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_8", HFILL }}, + { &hf_nr_rrc_reducedMIMO_LayersFR1_UL_r16, + { "reducedMIMO-LayersFR1-UL-r16", "nr-rrc.reducedMIMO_LayersFR1_UL_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_4", HFILL }}, + { &hf_nr_rrc_reducedMaxMIMO_LayersFR2_r16, + { "reducedMaxMIMO-LayersFR2-r16", "nr-rrc.reducedMaxMIMO_LayersFR2_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_reducedMIMO_LayersFR2_DL_r16, + { "reducedMIMO-LayersFR2-DL-r16", "nr-rrc.reducedMIMO_LayersFR2_DL_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_8", HFILL }}, + { &hf_nr_rrc_reducedMIMO_LayersFR2_UL_r16, + { "reducedMIMO-LayersFR2-UL-r16", "nr-rrc.reducedMIMO_LayersFR2_UL_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_4", HFILL }}, + { &hf_nr_rrc_preferredK0_r16, + { "preferredK0-r16", "nr-rrc.preferredK0_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_preferredK0_SCS_15kHz_r16, + { "preferredK0-SCS-15kHz-r16", "nr-rrc.preferredK0_SCS_15kHz_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK0_SCS_15kHz_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_preferredK0_SCS_30kHz_r16, + { "preferredK0-SCS-30kHz-r16", "nr-rrc.preferredK0_SCS_30kHz_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK0_SCS_30kHz_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_preferredK0_SCS_60kHz_r16, + { "preferredK0-SCS-60kHz-r16", "nr-rrc.preferredK0_SCS_60kHz_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK0_SCS_60kHz_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_preferredK0_SCS_120kHz_r16, + { "preferredK0-SCS-120kHz-r16", "nr-rrc.preferredK0_SCS_120kHz_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK0_SCS_120kHz_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_preferredK2_r16, + { "preferredK2-r16", "nr-rrc.preferredK2_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_preferredK2_SCS_15kHz_r16, + { "preferredK2-SCS-15kHz-r16", "nr-rrc.preferredK2_SCS_15kHz_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK2_SCS_15kHz_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_preferredK2_SCS_30kHz_r16, + { "preferredK2-SCS-30kHz-r16", "nr-rrc.preferredK2_SCS_30kHz_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK2_SCS_30kHz_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_preferredK2_SCS_60kHz_r16, + { "preferredK2-SCS-60kHz-r16", "nr-rrc.preferredK2_SCS_60kHz_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK2_SCS_60kHz_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_preferredK2_SCS_120kHz_r16, + { "preferredK2-SCS-120kHz-r16", "nr-rrc.preferredK2_SCS_120kHz_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredK2_SCS_120kHz_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_preferredRRC_State_r16, + { "preferredRRC-State-r16", "nr-rrc.preferredRRC_State_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preferredRRC_State_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_reducedBW_DL_r16, + { "reducedBW-DL-r16", "nr-rrc.reducedBW_DL_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_ReducedAggregatedBandwidth_vals), 0, + "ReducedAggregatedBandwidth", HFILL }}, + { &hf_nr_rrc_reducedBW_UL_r16, + { "reducedBW-UL-r16", "nr-rrc.reducedBW_UL_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_ReducedAggregatedBandwidth_vals), 0, + "ReducedAggregatedBandwidth", HFILL }}, + { &hf_nr_rrc_reducedCCsDL_r16, + { "reducedCCsDL-r16", "nr-rrc.reducedCCsDL_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_31", HFILL }}, + { &hf_nr_rrc_reducedCCsUL_r16, + { "reducedCCsUL-r16", "nr-rrc.reducedCCsUL_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_31", HFILL }}, + { &hf_nr_rrc_SL_UE_AssistanceInformationNR_r16_item, + { "SL-TrafficPatternInfo-r16", "nr-rrc.SL_TrafficPatternInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_trafficPeriodicity_r16, + { "trafficPeriodicity-r16", "nr-rrc.trafficPeriodicity_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_trafficPeriodicity_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_timingOffset_r16, + { "timingOffset-r16", "nr-rrc.timingOffset_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_10239", HFILL }}, + { &hf_nr_rrc_messageSize_r16, + { "messageSize-r16", "nr-rrc.messageSize_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_8", HFILL }}, + { &hf_nr_rrc_criticalExtensions_39, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_32_vals), 0, - "T_criticalExtensions_32", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_39_vals), 0, + "T_criticalExtensions_39", HFILL }}, { &hf_nr_rrc_ueCapabilityEnquiry_01, { "ueCapabilityEnquiry", "nr-rrc.ueCapabilityEnquiry_element", FT_NONE, BASE_NONE, NULL, 0, "UECapabilityEnquiry_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_32, + { &hf_nr_rrc_criticalExtensionsFuture_39, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_32", HFILL }}, + "T_criticalExtensionsFuture_39", HFILL }}, { &hf_nr_rrc_ue_CapabilityRAT_RequestList, { "ue-CapabilityRAT-RequestList", "nr-rrc.ue_CapabilityRAT_RequestList", FT_UINT32, BASE_DEC, NULL, 0, @@ -47435,62 +85221,598 @@ proto_register_nr_rrc(void) { { "capabilityRequestFilterCommon", "nr-rrc.capabilityRequestFilterCommon_element", FT_NONE, BASE_NONE, NULL, 0, "UE_CapabilityRequestFilterCommon", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_51, + { &hf_nr_rrc_nonCriticalExtension_73, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_33", HFILL }}, - { &hf_nr_rrc_criticalExtensions_33, + "UECapabilityEnquiry_v1610_IEs", HFILL }}, + { &hf_nr_rrc_rrc_SegAllowed_r16, + { "rrc-SegAllowed-r16", "nr-rrc.rrc_SegAllowed_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rrc_SegAllowed_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_74, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_40", HFILL }}, + { &hf_nr_rrc_criticalExtensions_40, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_33_vals), 0, - "T_criticalExtensions_33", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_40_vals), 0, + "T_criticalExtensions_40", HFILL }}, { &hf_nr_rrc_ueCapabilityInformation_01, { "ueCapabilityInformation", "nr-rrc.ueCapabilityInformation_element", FT_NONE, BASE_NONE, NULL, 0, "UECapabilityInformation_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_33, + { &hf_nr_rrc_criticalExtensionsFuture_40, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_33", HFILL }}, + "T_criticalExtensionsFuture_40", 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_52, + { &hf_nr_rrc_nonCriticalExtension_75, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_34", HFILL }}, - { &hf_nr_rrc_criticalExtensions_34, + "T_nonCriticalExtension_41", HFILL }}, + { &hf_nr_rrc_criticalExtensions_41, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_34_vals), 0, - "T_criticalExtensions_34", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_41_vals), 0, + "T_criticalExtensions_41", HFILL }}, + { &hf_nr_rrc_ueInformationRequest_r16_01, + { "ueInformationRequest-r16", "nr-rrc.ueInformationRequest_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "UEInformationRequest_r16_IEs", HFILL }}, + { &hf_nr_rrc_criticalExtensionsFuture_41, + { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_criticalExtensionsFuture_41", HFILL }}, + { &hf_nr_rrc_idleModeMeasurementReq_r16_01, + { "idleModeMeasurementReq-r16", "nr-rrc.idleModeMeasurementReq_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleModeMeasurementReq_r16_01_vals), 0, + "T_idleModeMeasurementReq_r16_01", HFILL }}, + { &hf_nr_rrc_logMeasReportReq_r16, + { "logMeasReportReq-r16", "nr-rrc.logMeasReportReq_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logMeasReportReq_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_connEstFailReportReq_r16, + { "connEstFailReportReq-r16", "nr-rrc.connEstFailReportReq_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_connEstFailReportReq_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ra_ReportReq_r16, + { "ra-ReportReq-r16", "nr-rrc.ra_ReportReq_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ReportReq_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_rlf_ReportReq_r16, + { "rlf-ReportReq-r16", "nr-rrc.rlf_ReportReq_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlf_ReportReq_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_mobilityHistoryReportReq_r16, + { "mobilityHistoryReportReq-r16", "nr-rrc.mobilityHistoryReportReq_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mobilityHistoryReportReq_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_76, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_42", HFILL }}, + { &hf_nr_rrc_criticalExtensions_42, + { "criticalExtensions", "nr-rrc.criticalExtensions", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_42_vals), 0, + "T_criticalExtensions_42", HFILL }}, + { &hf_nr_rrc_ueInformationResponse_r16_01, + { "ueInformationResponse-r16", "nr-rrc.ueInformationResponse_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "UEInformationResponse_r16_IEs", HFILL }}, + { &hf_nr_rrc_criticalExtensionsFuture_42, + { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_criticalExtensionsFuture_42", HFILL }}, + { &hf_nr_rrc_logMeasReport_r16, + { "logMeasReport-r16", "nr-rrc.logMeasReport_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_connEstFailReport_r16, + { "connEstFailReport-r16", "nr-rrc.connEstFailReport_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ra_ReportList_r16, + { "ra-ReportList-r16", "nr-rrc.ra_ReportList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_rlf_Report_r16, + { "rlf-Report-r16", "nr-rrc.rlf_Report_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_RLF_Report_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_mobilityHistoryReport_r16, + { "mobilityHistoryReport-r16", "nr-rrc.mobilityHistoryReport_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_77, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_43", HFILL }}, + { &hf_nr_rrc_absoluteTimeStamp_r16, + { "absoluteTimeStamp-r16", "nr-rrc.absoluteTimeStamp_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "AbsoluteTimeInfo_r16", HFILL }}, + { &hf_nr_rrc_logMeasInfoList_r16, + { "logMeasInfoList-r16", "nr-rrc.logMeasInfoList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_logMeasAvailable_r16, + { "logMeasAvailable-r16", "nr-rrc.logMeasAvailable_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logMeasAvailable_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_logMeasAvailableBT_r16, + { "logMeasAvailableBT-r16", "nr-rrc.logMeasAvailableBT_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logMeasAvailableBT_r16_vals), 0, + "T_logMeasAvailableBT_r16", HFILL }}, + { &hf_nr_rrc_logMeasAvailableWLAN_r16, + { "logMeasAvailableWLAN-r16", "nr-rrc.logMeasAvailableWLAN_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logMeasAvailableWLAN_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_LogMeasInfoList_r16_item, + { "LogMeasInfo-r16", "nr-rrc.LogMeasInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_relativeTimeStamp_r16, + { "relativeTimeStamp-r16", "nr-rrc.relativeTimeStamp_r16", + FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, + "INTEGER_0_7200", HFILL }}, + { &hf_nr_rrc_servCellIdentity_r16, + { "servCellIdentity-r16", "nr-rrc.servCellIdentity_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "CGI_Info_Logging_r16", HFILL }}, + { &hf_nr_rrc_measResultServingCell_r16, + { "measResultServingCell-r16", "nr-rrc.measResultServingCell_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_measResultNeighCells_r16, + { "measResultNeighCells-r16", "nr-rrc.measResultNeighCells_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_measResultNeighCellListNR, + { "measResultNeighCellListNR", "nr-rrc.measResultNeighCellListNR", + FT_UINT32, BASE_DEC, NULL, 0, + "MeasResultListLogging2NR_r16", HFILL }}, + { &hf_nr_rrc_measResultNeighCellListEUTRA, + { "measResultNeighCellListEUTRA", "nr-rrc.measResultNeighCellListEUTRA", + FT_UINT32, BASE_DEC, NULL, 0, + "MeasResultList2EUTRA_r16", HFILL }}, + { &hf_nr_rrc_anyCellSelectionDetected_r16, + { "anyCellSelectionDetected-r16", "nr-rrc.anyCellSelectionDetected_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_anyCellSelectionDetected_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_measResultFailedCell_r16, + { "measResultFailedCell-r16", "nr-rrc.measResultFailedCell_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_measResultNeighCells_r16_01, + { "measResultNeighCells-r16", "nr-rrc.measResultNeighCells_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_measResultNeighCells_r16_01", HFILL }}, + { &hf_nr_rrc_measResultNeighCellListNR_01, + { "measResultNeighCellListNR", "nr-rrc.measResultNeighCellListNR", + FT_UINT32, BASE_DEC, NULL, 0, + "MeasResultList2NR_r16", HFILL }}, + { &hf_nr_rrc_numberOfConnFail_r16, + { "numberOfConnFail-r16", "nr-rrc.numberOfConnFail_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_8", HFILL }}, + { &hf_nr_rrc_perRAInfoList_r16, + { "perRAInfoList-r16", "nr-rrc.perRAInfoList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_timeSinceFailure_r16, + { "timeSinceFailure-r16", "nr-rrc.timeSinceFailure_r16", + FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, + NULL, HFILL }}, + { &hf_nr_rrc_resultsSSB_Cell, + { "resultsSSB-Cell", "nr-rrc.resultsSSB_Cell_element", + FT_NONE, BASE_NONE, NULL, 0, + "MeasQuantityResults", HFILL }}, + { &hf_nr_rrc_resultsSSB, + { "resultsSSB", "nr-rrc.resultsSSB_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_best_ssb_Index, + { "best-ssb-Index", "nr-rrc.best_ssb_Index", + FT_UINT32, BASE_DEC, NULL, 0, + "SSB_Index", HFILL }}, + { &hf_nr_rrc_best_ssb_Results, + { "best-ssb-Results", "nr-rrc.best_ssb_Results_element", + FT_NONE, BASE_NONE, NULL, 0, + "MeasQuantityResults", HFILL }}, + { &hf_nr_rrc_numberOfGoodSSB, + { "numberOfGoodSSB", "nr-rrc.numberOfGoodSSB", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxNrofSSBs_r16", HFILL }}, + { &hf_nr_rrc_cgi_Info_01, + { "cgi-Info", "nr-rrc.cgi_Info_element", + FT_NONE, BASE_NONE, NULL, 0, + "CGI_Info_Logging_r16", HFILL }}, + { &hf_nr_rrc_measResult_r16, + { "measResult-r16", "nr-rrc.measResult_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_measResult_r16", HFILL }}, + { &hf_nr_rrc_cellResults_r16, + { "cellResults-r16", "nr-rrc.cellResults_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_resultsSSB_Cell_r16, + { "resultsSSB-Cell-r16", "nr-rrc.resultsSSB_Cell_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "MeasQuantityResults", HFILL }}, + { &hf_nr_rrc_rsIndexResults_r16, + { "rsIndexResults-r16", "nr-rrc.rsIndexResults_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_resultsSSB_Indexes_r16, + { "resultsSSB-Indexes-r16", "nr-rrc.resultsSSB_Indexes_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ResultsPerSSB_IndexList", HFILL }}, + { &hf_nr_rrc_RA_ReportList_r16_item, + { "RA-Report-r16", "nr-rrc.RA_Report_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_cellId_r16, + { "cellId-r16", "nr-rrc.cellId_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "CGI_Info_Logging_r16", HFILL }}, + { &hf_nr_rrc_ra_InformationCommon_r16, + { "ra-InformationCommon-r16", "nr-rrc.ra_InformationCommon_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_raPurpose_r16, + { "raPurpose-r16", "nr-rrc.raPurpose_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_raPurpose_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_absoluteFrequencyPointA_r16, + { "absoluteFrequencyPointA-r16", "nr-rrc.absoluteFrequencyPointA_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueNR", HFILL }}, + { &hf_nr_rrc_locationAndBandwidth_r16, + { "locationAndBandwidth-r16", "nr-rrc.locationAndBandwidth_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_37949", HFILL }}, + { &hf_nr_rrc_subcarrierSpacing_r16, + { "subcarrierSpacing-r16", "nr-rrc.subcarrierSpacing_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0, + "SubcarrierSpacing", HFILL }}, + { &hf_nr_rrc_msg1_FrequencyStart_r16, + { "msg1-FrequencyStart-r16", "nr-rrc.msg1_FrequencyStart_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }}, + { &hf_nr_rrc_msg1_FrequencyStartCFRA_r16, + { "msg1-FrequencyStartCFRA-r16", "nr-rrc.msg1_FrequencyStartCFRA_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }}, + { &hf_nr_rrc_msg1_SubcarrierSpacing_r16, + { "msg1-SubcarrierSpacing-r16", "nr-rrc.msg1_SubcarrierSpacing_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0, + "SubcarrierSpacing", HFILL }}, + { &hf_nr_rrc_msg1_SubcarrierSpacingCFRA_r16, + { "msg1-SubcarrierSpacingCFRA-r16", "nr-rrc.msg1_SubcarrierSpacingCFRA_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0, + "SubcarrierSpacing", HFILL }}, + { &hf_nr_rrc_msg1_FDM_r16, + { "msg1-FDM-r16", "nr-rrc.msg1_FDM_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg1_FDM_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_msg1_FDMCFRA_r16, + { "msg1-FDMCFRA-r16", "nr-rrc.msg1_FDMCFRA_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg1_FDMCFRA_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_PerRAInfoList_r16_item, + { "PerRAInfo-r16", "nr-rrc.PerRAInfo_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_PerRAInfo_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_perRASSBInfoList_r16, + { "perRASSBInfoList-r16", "nr-rrc.perRASSBInfoList_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "PerRASSBInfo_r16", HFILL }}, + { &hf_nr_rrc_perRACSI_RSInfoList_r16, + { "perRACSI-RSInfoList-r16", "nr-rrc.perRACSI_RSInfoList_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "PerRACSI_RSInfo_r16", HFILL }}, + { &hf_nr_rrc_ssb_Index_r16, + { "ssb-Index-r16", "nr-rrc.ssb_Index_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SSB_Index", HFILL }}, + { &hf_nr_rrc_numberOfPreamblesSentOnSSB_r16, + { "numberOfPreamblesSentOnSSB-r16", "nr-rrc.numberOfPreamblesSentOnSSB_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_200", HFILL }}, + { &hf_nr_rrc_perRAAttemptInfoList_r16, + { "perRAAttemptInfoList-r16", "nr-rrc.perRAAttemptInfoList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_csi_RS_Index_r16, + { "csi-RS-Index-r16", "nr-rrc.csi_RS_Index_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "CSI_RS_Index", HFILL }}, + { &hf_nr_rrc_numberOfPreamblesSentOnCSI_RS_r16, + { "numberOfPreamblesSentOnCSI-RS-r16", "nr-rrc.numberOfPreamblesSentOnCSI_RS_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_200", HFILL }}, + { &hf_nr_rrc_PerRAAttemptInfoList_r16_item, + { "PerRAAttemptInfo-r16", "nr-rrc.PerRAAttemptInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_contentionDetected_r16, + { "contentionDetected-r16", "nr-rrc.contentionDetected_r16", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_nr_rrc_dlRSRPAboveThreshold_r16, + { "dlRSRPAboveThreshold-r16", "nr-rrc.dlRSRPAboveThreshold_r16", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_nr_rrc_nr_RLF_Report_r16, + { "nr-RLF-Report-r16", "nr-rrc.nr_RLF_Report_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nr_RLF_Report_r16", HFILL }}, + { &hf_nr_rrc_measResultLastServCell_r16, + { "measResultLastServCell-r16", "nr-rrc.measResultLastServCell_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "MeasResultRLFNR_r16", HFILL }}, + { &hf_nr_rrc_measResultNeighCells_r16_02, + { "measResultNeighCells-r16", "nr-rrc.measResultNeighCells_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_measResultNeighCells_r16_02", HFILL }}, + { &hf_nr_rrc_measResultListNR_r16, + { "measResultListNR-r16", "nr-rrc.measResultListNR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "MeasResultList2NR_r16", HFILL }}, + { &hf_nr_rrc_measResultListEUTRA_r16, + { "measResultListEUTRA-r16", "nr-rrc.measResultListEUTRA_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "MeasResultList2EUTRA_r16", HFILL }}, + { &hf_nr_rrc_c_RNTI_r16, + { "c-RNTI-r16", "nr-rrc.c_RNTI_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "RNTI_Value", HFILL }}, + { &hf_nr_rrc_previousPCellId_r16, + { "previousPCellId-r16", "nr-rrc.previousPCellId_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_previousPCellId_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nrPreviousCell_r16, + { "nrPreviousCell-r16", "nr-rrc.nrPreviousCell_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "CGI_Info_Logging_r16", HFILL }}, + { &hf_nr_rrc_eutraPreviousCell_r16, + { "eutraPreviousCell-r16", "nr-rrc.eutraPreviousCell_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "CGI_InfoEUTRALogging", HFILL }}, + { &hf_nr_rrc_failedPCellId_r16, + { "failedPCellId-r16", "nr-rrc.failedPCellId_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failedPCellId_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nrFailedPCellId_r16, + { "nrFailedPCellId-r16", "nr-rrc.nrFailedPCellId_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrFailedPCellId_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_cellGlobalId_r16, + { "cellGlobalId-r16", "nr-rrc.cellGlobalId_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "CGI_Info_Logging_r16", HFILL }}, + { &hf_nr_rrc_pci_arfcn_r16, + { "pci-arfcn-r16", "nr-rrc.pci_arfcn_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_physCellId_r16, + { "physCellId-r16", "nr-rrc.physCellId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "PhysCellId", HFILL }}, + { &hf_nr_rrc_eutraFailedPCellId_r16, + { "eutraFailedPCellId-r16", "nr-rrc.eutraFailedPCellId_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutraFailedPCellId_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_cellGlobalId_r16_01, + { "cellGlobalId-r16", "nr-rrc.cellGlobalId_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "CGI_InfoEUTRALogging", HFILL }}, + { &hf_nr_rrc_pci_arfcn_r16_01, + { "pci-arfcn-r16", "nr-rrc.pci_arfcn_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_pci_arfcn_r16_01", HFILL }}, + { &hf_nr_rrc_physCellId_r16_01, + { "physCellId-r16", "nr-rrc.physCellId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "EUTRA_PhysCellId", HFILL }}, + { &hf_nr_rrc_carrierFreq_r16_02, + { "carrierFreq-r16", "nr-rrc.carrierFreq_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueEUTRA", HFILL }}, + { &hf_nr_rrc_reconnectCellId_r16, + { "reconnectCellId-r16", "nr-rrc.reconnectCellId_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reconnectCellId_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nrReconnectCellId_r16, + { "nrReconnectCellId-r16", "nr-rrc.nrReconnectCellId_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "CGI_Info_Logging_r16", HFILL }}, + { &hf_nr_rrc_eutraReconnectCellId_r16, + { "eutraReconnectCellId-r16", "nr-rrc.eutraReconnectCellId_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "CGI_InfoEUTRALogging", HFILL }}, + { &hf_nr_rrc_timeUntilReconnection_16, + { "timeUntilReconnection-16", "nr-rrc.timeUntilReconnection_16", + FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, + NULL, HFILL }}, + { &hf_nr_rrc_reestablishmentCellId_r16, + { "reestablishmentCellId-r16", "nr-rrc.reestablishmentCellId_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "CGI_Info_Logging_r16", HFILL }}, + { &hf_nr_rrc_timeConnFailure_r16, + { "timeConnFailure-r16", "nr-rrc.timeConnFailure_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_timeConnFailure_r16_fmt), 0, + "INTEGER_0_1023", HFILL }}, + { &hf_nr_rrc_connectionFailureType_r16, + { "connectionFailureType-r16", "nr-rrc.connectionFailureType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_connectionFailureType_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_rlf_Cause_r16, + { "rlf-Cause-r16", "nr-rrc.rlf_Cause_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlf_Cause_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_noSuitableCellFound_r16, + { "noSuitableCellFound-r16", "nr-rrc.noSuitableCellFound_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_noSuitableCellFound_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_eutra_RLF_Report_r16, + { "eutra-RLF-Report-r16", "nr-rrc.eutra_RLF_Report_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_eutra_RLF_Report_r16", HFILL }}, + { &hf_nr_rrc_failedPCellId_EUTRA, + { "failedPCellId-EUTRA", "nr-rrc.failedPCellId_EUTRA_element", + FT_NONE, BASE_NONE, NULL, 0, + "CGI_InfoEUTRALogging", HFILL }}, + { &hf_nr_rrc_measResult_RLF_Report_EUTRA_r16, + { "measResult-RLF-Report-EUTRA-r16", "nr-rrc.measResult_RLF_Report_EUTRA_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "T_measResult_RLF_Report_EUTRA_r16", HFILL }}, + { &hf_nr_rrc_MeasResultList2NR_r16_item, + { "MeasResult2NR-r16", "nr-rrc.MeasResult2NR_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_MeasResultList2EUTRA_r16_item, + { "MeasResult2EUTRA-r16", "nr-rrc.MeasResult2EUTRA_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ssbFrequency_r16, + { "ssbFrequency-r16", "nr-rrc.ssbFrequency_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueNR", HFILL }}, + { &hf_nr_rrc_refFreqCSI_RS_r16, + { "refFreqCSI-RS-r16", "nr-rrc.refFreqCSI_RS_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueNR", HFILL }}, + { &hf_nr_rrc_measResultList_r16, + { "measResultList-r16", "nr-rrc.measResultList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "MeasResultListNR", HFILL }}, + { &hf_nr_rrc_MeasResultListLogging2NR_r16_item, + { "MeasResultListLoggingNR-r16", "nr-rrc.MeasResultListLoggingNR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_MeasResultListLoggingNR_r16_item, + { "MeasResultLoggingNR-r16", "nr-rrc.MeasResultLoggingNR_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_numberOfGoodSSB_r16, + { "numberOfGoodSSB-r16", "nr-rrc.numberOfGoodSSB_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxNrofSSBs_r16", HFILL }}, + { &hf_nr_rrc_measResultList_r16_01, + { "measResultList-r16", "nr-rrc.measResultList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "MeasResultListEUTRA", HFILL }}, + { &hf_nr_rrc_measResult_r16_01, + { "measResult-r16", "nr-rrc.measResult_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_measResult_r16_01", HFILL }}, + { &hf_nr_rrc_cellResults_r16_01, + { "cellResults-r16", "nr-rrc.cellResults_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_cellResults_r16_01", HFILL }}, + { &hf_nr_rrc_resultsCSI_RS_Cell_r16, + { "resultsCSI-RS-Cell-r16", "nr-rrc.resultsCSI_RS_Cell_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "MeasQuantityResults", HFILL }}, + { &hf_nr_rrc_rsIndexResults_r16_01, + { "rsIndexResults-r16", "nr-rrc.rsIndexResults_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_rsIndexResults_r16_01", HFILL }}, + { &hf_nr_rrc_ssbRLMConfigBitmap_r16, + { "ssbRLMConfigBitmap-r16", "nr-rrc.ssbRLMConfigBitmap_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_64", HFILL }}, + { &hf_nr_rrc_resultsCSI_RS_Indexes_r16, + { "resultsCSI-RS-Indexes-r16", "nr-rrc.resultsCSI_RS_Indexes_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ResultsPerCSI_RS_IndexList", HFILL }}, + { &hf_nr_rrc_csi_rsRLMConfigBitmap_r16, + { "csi-rsRLMConfigBitmap-r16", "nr-rrc.csi_rsRLMConfigBitmap_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_96", HFILL }}, + { &hf_nr_rrc_criticalExtensions_43, + { "criticalExtensions", "nr-rrc.criticalExtensions", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_43_vals), 0, + "T_criticalExtensions_43", HFILL }}, + { &hf_nr_rrc_ulDedicatedMessageSegment_r16_01, + { "ulDedicatedMessageSegment-r16", "nr-rrc.ulDedicatedMessageSegment_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "ULDedicatedMessageSegment_r16_IEs", HFILL }}, + { &hf_nr_rrc_criticalExtensionsFuture_43, + { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_criticalExtensionsFuture_43", HFILL }}, + { &hf_nr_rrc_segmentNumber_r16_01, + { "segmentNumber-r16", "nr-rrc.segmentNumber_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_15", HFILL }}, + { &hf_nr_rrc_rrc_MessageSegmentType_r16_01, + { "rrc-MessageSegmentType-r16", "nr-rrc.rrc_MessageSegmentType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rrc_MessageSegmentType_r16_01_vals), 0, + "T_rrc_MessageSegmentType_r16_01", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_78, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_44", HFILL }}, + { &hf_nr_rrc_criticalExtensions_44, + { "criticalExtensions", "nr-rrc.criticalExtensions", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_44_vals), 0, + "T_criticalExtensions_44", HFILL }}, { &hf_nr_rrc_ulInformationTransfer_01, { "ulInformationTransfer", "nr-rrc.ulInformationTransfer_element", FT_NONE, BASE_NONE, NULL, 0, "ULInformationTransfer_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_34, + { &hf_nr_rrc_criticalExtensionsFuture_44, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_34", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_53, + "T_criticalExtensionsFuture_44", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_79, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_35", HFILL }}, - { &hf_nr_rrc_criticalExtensions_35, + "T_nonCriticalExtension_45", HFILL }}, + { &hf_nr_rrc_criticalExtensions_45, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_35_vals), 0, - "T_criticalExtensions_35", HFILL }}, - { &hf_nr_rrc_c1_14, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_45_vals), 0, + "T_criticalExtensions_45", HFILL }}, + { &hf_nr_rrc_c1_15, { "c1", "nr-rrc.c1", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_14_vals), 0, - "T_c1_14", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_15_vals), 0, + "T_c1_15", HFILL }}, + { &hf_nr_rrc_ulInformationTransferIRAT_r16_01, + { "ulInformationTransferIRAT-r16", "nr-rrc.ulInformationTransferIRAT_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "ULInformationTransferIRAT_r16_IEs", HFILL }}, + { &hf_nr_rrc_criticalExtensionsFuture_45, + { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_criticalExtensionsFuture_45", HFILL }}, + { &hf_nr_rrc_ul_DCCH_MessageEUTRA_r16, + { "ul-DCCH-MessageEUTRA-r16", "nr-rrc.ul_DCCH_MessageEUTRA_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_80, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_46", HFILL }}, + { &hf_nr_rrc_criticalExtensions_46, + { "criticalExtensions", "nr-rrc.criticalExtensions", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_46_vals), 0, + "T_criticalExtensions_46", HFILL }}, + { &hf_nr_rrc_c1_16, + { "c1", "nr-rrc.c1", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_16_vals), 0, + "T_c1_16", HFILL }}, { &hf_nr_rrc_ulInformationTransferMRDC_01, { "ulInformationTransferMRDC", "nr-rrc.ulInformationTransferMRDC_element", FT_NONE, BASE_NONE, NULL, 0, "ULInformationTransferMRDC_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_35, + { &hf_nr_rrc_criticalExtensionsFuture_46, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_35", HFILL }}, + "T_criticalExtensionsFuture_46", HFILL }}, { &hf_nr_rrc_ul_DCCH_MessageNR, { "ul-DCCH-MessageNR", "nr-rrc.ul_DCCH_MessageNR", FT_BYTES, BASE_NONE, NULL, 0, @@ -47499,10 +85821,10 @@ proto_register_nr_rrc(void) { { "ul-DCCH-MessageEUTRA", "nr-rrc.ul_DCCH_MessageEUTRA", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_54, + { &hf_nr_rrc_nonCriticalExtension_81, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_36", HFILL }}, + "T_nonCriticalExtension_47", HFILL }}, { &hf_nr_rrc_cellReselectionInfoCommon, { "cellReselectionInfoCommon", "nr-rrc.cellReselectionInfoCommon_element", FT_NONE, BASE_NONE, NULL, 0, @@ -47599,6 +85921,50 @@ proto_register_nr_rrc(void) { { "t-ReselectionNR-SF", "nr-rrc.t_ReselectionNR_SF_element", FT_NONE, BASE_NONE, NULL, 0, "SpeedStateScaleFactors", HFILL }}, + { &hf_nr_rrc_smtc2_LP_r16, + { "smtc2-LP-r16", "nr-rrc.smtc2_LP_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SSB_MTC2_LP_r16", HFILL }}, + { &hf_nr_rrc_ssb_PositionQCL_Common_r16, + { "ssb-PositionQCL-Common-r16", "nr-rrc.ssb_PositionQCL_Common_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SSB_PositionQCL_Relation_r16_vals), 0, + "SSB_PositionQCL_Relation_r16", HFILL }}, + { &hf_nr_rrc_relaxedMeasurement_r16, + { "relaxedMeasurement-r16", "nr-rrc.relaxedMeasurement_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_relaxedMeasurement_r16", HFILL }}, + { &hf_nr_rrc_lowMobilityEvaluation_r16, + { "lowMobilityEvaluation-r16", "nr-rrc.lowMobilityEvaluation_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_s_SearchDeltaP_r16, + { "s-SearchDeltaP-r16", "nr-rrc.s_SearchDeltaP_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_s_SearchDeltaP_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_t_SearchDeltaP_r16, + { "t-SearchDeltaP-r16", "nr-rrc.t_SearchDeltaP_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t_SearchDeltaP_r16_vals), 0, + "T_t_SearchDeltaP_r16", HFILL }}, + { &hf_nr_rrc_cellEdgeEvaluation_r16, + { "cellEdgeEvaluation-r16", "nr-rrc.cellEdgeEvaluation_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_s_SearchThresholdP_r16, + { "s-SearchThresholdP-r16", "nr-rrc.s_SearchThresholdP_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0, + "ReselectionThreshold", HFILL }}, + { &hf_nr_rrc_s_SearchThresholdQ_r16, + { "s-SearchThresholdQ-r16", "nr-rrc.s_SearchThresholdQ_r16", + FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, + "ReselectionThresholdQ", HFILL }}, + { &hf_nr_rrc_combineRelaxedMeasCondition_r16, + { "combineRelaxedMeasCondition-r16", "nr-rrc.combineRelaxedMeasCondition_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_combineRelaxedMeasCondition_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_highPriorityMeasRelax_r16, + { "highPriorityMeasRelax-r16", "nr-rrc.highPriorityMeasRelax_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_highPriorityMeasRelax_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_intraFreqNeighCellList, { "intraFreqNeighCellList", "nr-rrc.intraFreqNeighCellList", FT_UINT32, BASE_DEC, NULL, 0, @@ -47607,10 +85973,30 @@ proto_register_nr_rrc(void) { { "intraFreqBlackCellList", "nr-rrc.intraFreqBlackCellList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_intraFreqNeighCellList_v1610, + { "intraFreqNeighCellList-v1610", "nr-rrc.intraFreqNeighCellList_v1610", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_intraFreqWhiteCellList_r16, + { "intraFreqWhiteCellList-r16", "nr-rrc.intraFreqWhiteCellList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_intraFreqCAG_CellList_r16, + { "intraFreqCAG-CellList-r16", "nr-rrc.intraFreqCAG_CellList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxPLMN_OF_IntraFreqCAG_CellPerPLMN_r16", HFILL }}, + { &hf_nr_rrc_intraFreqCAG_CellList_r16_item, + { "IntraFreqCAG-CellPerPLMN-r16", "nr-rrc.IntraFreqCAG_CellPerPLMN_r16_element", + FT_NONE, BASE_NONE, 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_IntraFreqNeighCellList_v1610_item, + { "IntraFreqNeighCellInfo-v1610", "nr-rrc.IntraFreqNeighCellInfo_v1610_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, @@ -47627,18 +86013,46 @@ proto_register_nr_rrc(void) { { "q-QualMinOffsetCell", "nr-rrc.q_QualMinOffsetCell", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "INTEGER_1_8", HFILL }}, + { &hf_nr_rrc_ssb_PositionQCL_r16, + { "ssb-PositionQCL-r16", "nr-rrc.ssb_PositionQCL_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SSB_PositionQCL_Relation_r16_vals), 0, + "SSB_PositionQCL_Relation_r16", HFILL }}, { &hf_nr_rrc_IntraFreqBlackCellList_item, { "PCI-Range", "nr-rrc.PCI_Range_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_IntraFreqWhiteCellList_r16_item, + { "PCI-Range", "nr-rrc.PCI_Range_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_plmn_IdentityIndex_r16, + { "plmn-IdentityIndex-r16", "nr-rrc.plmn_IdentityIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxPLMN", HFILL }}, + { &hf_nr_rrc_cag_CellList_r16, + { "cag-CellList-r16", "nr-rrc.cag_CellList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_PCI_Range", HFILL }}, + { &hf_nr_rrc_cag_CellList_r16_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_v1610, + { "interFreqCarrierFreqList-v1610", "nr-rrc.interFreqCarrierFreqList_v1610", + 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_InterFreqCarrierFreqList_v1610_item, + { "InterFreqCarrierFreqInfo-v1610", "nr-rrc.InterFreqCarrierFreqInfo_v1610_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, @@ -47675,14 +86089,38 @@ proto_register_nr_rrc(void) { { "interFreqBlackCellList", "nr-rrc.interFreqBlackCellList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_interFreqNeighCellList_v1610, + { "interFreqNeighCellList-v1610", "nr-rrc.interFreqNeighCellList_v1610", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_interFreqWhiteCellList_r16, + { "interFreqWhiteCellList-r16", "nr-rrc.interFreqWhiteCellList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_interFreqCAG_CellList_r16, + { "interFreqCAG-CellList-r16", "nr-rrc.interFreqCAG_CellList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxPLMN_OF_InterFreqCAG_CellList_r16", HFILL }}, + { &hf_nr_rrc_interFreqCAG_CellList_r16_item, + { "InterFreqCAG-CellList-r16", "nr-rrc.InterFreqCAG_CellList_r16_element", + FT_NONE, BASE_NONE, 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_InterFreqNeighCellList_v1610_item, + { "InterFreqNeighCellInfo-v1610", "nr-rrc.InterFreqNeighCellInfo_v1610_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_InterFreqWhiteCellList_r16_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, @@ -47695,10 +86133,18 @@ proto_register_nr_rrc(void) { { "t-ReselectionEUTRA-SF", "nr-rrc.t_ReselectionEUTRA_SF_element", FT_NONE, BASE_NONE, NULL, 0, "SpeedStateScaleFactors", HFILL }}, + { &hf_nr_rrc_carrierFreqListEUTRA_v1610, + { "carrierFreqListEUTRA-v1610", "nr-rrc.carrierFreqListEUTRA_v1610", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_CarrierFreqListEUTRA_item, { "CarrierFreqEUTRA", "nr-rrc.CarrierFreqEUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_CarrierFreqListEUTRA_v1610_item, + { "CarrierFreqEUTRA-v1610", "nr-rrc.CarrierFreqEUTRA_v1610_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, @@ -47743,6 +86189,10 @@ proto_register_nr_rrc(void) { { "threshX-Q", "nr-rrc.threshX_Q_element", FT_NONE, BASE_NONE, NULL, 0, "T_threshX_Q_01", HFILL }}, + { &hf_nr_rrc_highSpeedEUTRACarrier_r16, + { "highSpeedEUTRACarrier-r16", "nr-rrc.highSpeedEUTRACarrier_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_highSpeedEUTRACarrier_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_EUTRA_FreqBlackCellList_item, { "EUTRA-PhysCellIdRange", "nr-rrc.EUTRA_PhysCellIdRange_element", FT_NONE, BASE_NONE, NULL, 0, @@ -47843,6 +86293,330 @@ proto_register_nr_rrc(void) { { "localTimeOffset", "nr-rrc.localTimeOffset", FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_localTimeOffset_fmt), 0, "INTEGER_M63_64", HFILL }}, + { &hf_nr_rrc_hrnn_List_r16, + { "hrnn-List-r16", "nr-rrc.hrnn_List_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_HRNN_List_r16_item, + { "HRNN-r16", "nr-rrc.HRNN_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_hrnn_r16, + { "hrnn-r16", "nr-rrc.hrnn_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1_maxHRNN_Len_r16", HFILL }}, + { &hf_nr_rrc_measIdleConfigSIB_r16, + { "measIdleConfigSIB-r16", "nr-rrc.measIdleConfigSIB_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_segmentNumber_r16_02, + { "segmentNumber-r16", "nr-rrc.segmentNumber_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_63", HFILL }}, + { &hf_nr_rrc_segmentType_r16, + { "segmentType-r16", "nr-rrc.segmentType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_segmentType_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_segmentContainer_r16, + { "segmentContainer-r16", "nr-rrc.segmentContainer_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_nr_rrc_sl_V2X_ConfigCommon_r16, + { "sl-V2X-ConfigCommon-r16", "nr-rrc.sl_V2X_ConfigCommon_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_nr_rrc_sl_Bandwidth_r16, + { "sl-Bandwidth-r16", "nr-rrc.sl_Bandwidth_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_nr_rrc_tdd_Config_r16, + { "tdd-Config-r16", "nr-rrc.tdd_Config_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_nr_rrc_sl_V2X_ConfigCommonExt_r16, + { "sl-V2X-ConfigCommonExt-r16", "nr-rrc.sl_V2X_ConfigCommonExt_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_nr_rrc_posSIB_TypeAndInfo_r16, + { "posSIB-TypeAndInfo-r16", "nr-rrc.posSIB_TypeAndInfo_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_posSIB_TypeAndInfo_r16_item, + { "posSIB-TypeAndInfo-r16 item", "nr-rrc.posSIB_TypeAndInfo_r16_item", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_posSIB_TypeAndInfo_r16_item_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_posSib1_1_r16, + { "posSib1-1-r16", "nr-rrc.posSib1_1_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib1_2_r16, + { "posSib1-2-r16", "nr-rrc.posSib1_2_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib1_3_r16, + { "posSib1-3-r16", "nr-rrc.posSib1_3_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib1_4_r16, + { "posSib1-4-r16", "nr-rrc.posSib1_4_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib1_5_r16, + { "posSib1-5-r16", "nr-rrc.posSib1_5_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib1_6_r16, + { "posSib1-6-r16", "nr-rrc.posSib1_6_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib1_7_r16, + { "posSib1-7-r16", "nr-rrc.posSib1_7_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib1_8_r16, + { "posSib1-8-r16", "nr-rrc.posSib1_8_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_1_r16, + { "posSib2-1-r16", "nr-rrc.posSib2_1_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_2_r16, + { "posSib2-2-r16", "nr-rrc.posSib2_2_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_3_r16, + { "posSib2-3-r16", "nr-rrc.posSib2_3_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_4_r16, + { "posSib2-4-r16", "nr-rrc.posSib2_4_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_5_r16, + { "posSib2-5-r16", "nr-rrc.posSib2_5_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_6_r16, + { "posSib2-6-r16", "nr-rrc.posSib2_6_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_7_r16, + { "posSib2-7-r16", "nr-rrc.posSib2_7_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_8_r16, + { "posSib2-8-r16", "nr-rrc.posSib2_8_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_9_r16, + { "posSib2-9-r16", "nr-rrc.posSib2_9_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_10_r16, + { "posSib2-10-r16", "nr-rrc.posSib2_10_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_11_r16, + { "posSib2-11-r16", "nr-rrc.posSib2_11_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_12_r16, + { "posSib2-12-r16", "nr-rrc.posSib2_12_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_13_r16, + { "posSib2-13-r16", "nr-rrc.posSib2_13_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_14_r16, + { "posSib2-14-r16", "nr-rrc.posSib2_14_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_15_r16, + { "posSib2-15-r16", "nr-rrc.posSib2_15_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_16_r16, + { "posSib2-16-r16", "nr-rrc.posSib2_16_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_17_r16, + { "posSib2-17-r16", "nr-rrc.posSib2_17_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_18_r16, + { "posSib2-18-r16", "nr-rrc.posSib2_18_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_19_r16, + { "posSib2-19-r16", "nr-rrc.posSib2_19_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_20_r16, + { "posSib2-20-r16", "nr-rrc.posSib2_20_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_21_r16, + { "posSib2-21-r16", "nr-rrc.posSib2_21_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_22_r16, + { "posSib2-22-r16", "nr-rrc.posSib2_22_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib2_23_r16, + { "posSib2-23-r16", "nr-rrc.posSib2_23_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib3_1_r16, + { "posSib3-1-r16", "nr-rrc.posSib3_1_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib4_1_r16, + { "posSib4-1-r16", "nr-rrc.posSib4_1_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib5_1_r16, + { "posSib5-1-r16", "nr-rrc.posSib5_1_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib6_1_r16, + { "posSib6-1-r16", "nr-rrc.posSib6_1_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib6_2_r16, + { "posSib6-2-r16", "nr-rrc.posSib6_2_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_posSib6_3_r16, + { "posSib6-3-r16", "nr-rrc.posSib6_3_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SIBpos_r16", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_82, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_48", HFILL }}, + { &hf_nr_rrc_posSchedulingInfoList_r16, + { "posSchedulingInfoList-r16", "nr-rrc.posSchedulingInfoList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxSI_Message_OF_PosSchedulingInfo_r16", HFILL }}, + { &hf_nr_rrc_posSchedulingInfoList_r16_item, + { "PosSchedulingInfo-r16", "nr-rrc.PosSchedulingInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_posSI_RequestConfig_r16, + { "posSI-RequestConfig-r16", "nr-rrc.posSI_RequestConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SI_RequestConfig", HFILL }}, + { &hf_nr_rrc_posSI_RequestConfigSUL_r16, + { "posSI-RequestConfigSUL-r16", "nr-rrc.posSI_RequestConfigSUL_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SI_RequestConfig", HFILL }}, + { &hf_nr_rrc_offsetToSI_Used_r16, + { "offsetToSI-Used-r16", "nr-rrc.offsetToSI_Used_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_offsetToSI_Used_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_posSI_Periodicity_r16, + { "posSI-Periodicity-r16", "nr-rrc.posSI_Periodicity_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_posSI_Periodicity_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_posSI_BroadcastStatus_r16, + { "posSI-BroadcastStatus-r16", "nr-rrc.posSI_BroadcastStatus_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_posSI_BroadcastStatus_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_posSIB_MappingInfo_r16, + { "posSIB-MappingInfo-r16", "nr-rrc.posSIB_MappingInfo_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_PosSIB_MappingInfo_r16_item, + { "PosSIB-Type-r16", "nr-rrc.PosSIB_Type_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_encrypted_r16, + { "encrypted-r16", "nr-rrc.encrypted_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_encrypted_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_posSibType_r16_01, + { "posSibType-r16", "nr-rrc.posSibType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_posSibType_r16_01_vals), 0, + "T_posSibType_r16_01", HFILL }}, + { &hf_nr_rrc_areaScope_r16, + { "areaScope-r16", "nr-rrc.areaScope_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_areaScope_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_gnss_id_r16_01, + { "gnss-id-r16", "nr-rrc.gnss_id_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gnss_id_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sbas_id_r16_01, + { "sbas-id-r16", "nr-rrc.sbas_id_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sbas_id_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_assistanceDataSIB_Element_r16, + { "assistanceDataSIB-Element-r16", "nr-rrc.assistanceDataSIB_Element_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_nr_rrc_availabilityCombinationsPerCellIndex_r16, + { "availabilityCombinationsPerCellIndex-r16", "nr-rrc.availabilityCombinationsPerCellIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_iab_DU_CellIdentity_r16, + { "iab-DU-CellIdentity-r16", "nr-rrc.iab_DU_CellIdentity_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "CellIdentity", HFILL }}, + { &hf_nr_rrc_positionInDCI_AI_r16, + { "positionInDCI-AI-r16", "nr-rrc.positionInDCI_AI_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxAI_DCI_PayloadSize_r16_1", HFILL }}, + { &hf_nr_rrc_availabilityCombinations_r16, + { "availabilityCombinations-r16", "nr-rrc.availabilityCombinations_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombination_r16", HFILL }}, + { &hf_nr_rrc_availabilityCombinations_r16_item, + { "AvailabilityCombination-r16", "nr-rrc.AvailabilityCombination_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_availabilityCombinationId_r16, + { "availabilityCombinationId-r16", "nr-rrc.availabilityCombinationId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_resourceAvailability_r16, + { "resourceAvailability-r16", "nr-rrc.resourceAvailability_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_resourceAvailability_r16_item, + { "resourceAvailability-r16 item", "nr-rrc.resourceAvailability_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_7", HFILL }}, + { &hf_nr_rrc_ai_RNTI_r16, + { "ai-RNTI-r16", "nr-rrc.ai_RNTI_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_dci_PayloadSizeAI_r16, + { "dci-PayloadSizeAI-r16", "nr-rrc.dci_PayloadSizeAI_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxAI_DCI_PayloadSize_r16", HFILL }}, + { &hf_nr_rrc_availableCombToAddModList_r16, + { "availableCombToAddModList-r16", "nr-rrc.availableCombToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCell_r16", HFILL }}, + { &hf_nr_rrc_availableCombToAddModList_r16_item, + { "AvailabilityCombinationsPerCell-r16", "nr-rrc.AvailabilityCombinationsPerCell_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_availableCombToReleaseList_r16, + { "availableCombToReleaseList-r16", "nr-rrc.availableCombToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCellIndex_r16", HFILL }}, + { &hf_nr_rrc_availableCombToReleaseList_r16_item, + { "AvailabilityCombinationsPerCellIndex-r16", "nr-rrc.AvailabilityCombinationsPerCellIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_bap_PathId_r16, + { "bap-PathId-r16", "nr-rrc.bap_PathId_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_10", HFILL }}, { &hf_nr_rrc_rootSequenceIndex_BFR, { "rootSequenceIndex-BFR", "nr-rrc.rootSequenceIndex_BFR", FT_UINT32, BASE_DEC, NULL, 0, @@ -47887,6 +86661,18 @@ proto_register_nr_rrc(void) { { "msg1-SubcarrierSpacing", "nr-rrc.msg1_SubcarrierSpacing", FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0, "SubcarrierSpacing", HFILL }}, + { &hf_nr_rrc_ra_PrioritizationTwoStep_r16, + { "ra-PrioritizationTwoStep-r16", "nr-rrc.ra_PrioritizationTwoStep_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "RA_Prioritization", HFILL }}, + { &hf_nr_rrc_candidateBeamRSListExt_v1610, + { "candidateBeamRSListExt-v1610", "nr-rrc.candidateBeamRSListExt_v1610", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_candidateBeamRSListExt_v1610_vals), 0, + "T_candidateBeamRSListExt_v1610", HFILL }}, + { &hf_nr_rrc_setup_13, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "CandidateBeamRSListExt_r16", HFILL }}, { &hf_nr_rrc_ssb, { "ssb", "nr-rrc.ssb_element", FT_NONE, BASE_NONE, NULL, 0, @@ -47915,6 +86701,38 @@ 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_CandidateBeamRSListExt_r16_item, + { "PRACH-ResourceDedicatedBFR", "nr-rrc.PRACH_ResourceDedicatedBFR", + FT_UINT32, BASE_DEC, VALS(nr_rrc_PRACH_ResourceDedicatedBFR_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_rsrp_ThresholdBFR_r16, + { "rsrp-ThresholdBFR-r16", "nr-rrc.rsrp_ThresholdBFR_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0, + "RSRP_Range", HFILL }}, + { &hf_nr_rrc_candidateBeamRSSCellList_r16, + { "candidateBeamRSSCellList-r16", "nr-rrc.candidateBeamRSSCellList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16", HFILL }}, + { &hf_nr_rrc_candidateBeamRSSCellList_r16_item, + { "CandidateBeamRS-r16", "nr-rrc.CandidateBeamRS_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_candidateBeamConfig_r16, + { "candidateBeamConfig-r16", "nr-rrc.candidateBeamConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_candidateBeamConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ssb_r16, + { "ssb-r16", "nr-rrc.ssb_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SSB_Index", HFILL }}, + { &hf_nr_rrc_csi_RS_r16, + { "csi-RS-r16", "nr-rrc.csi_RS_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "NZP_CSI_RS_ResourceId", HFILL }}, + { &hf_nr_rrc_servingCellId, + { "servingCellId", "nr-rrc.servingCellId", + FT_UINT32, BASE_DEC, NULL, 0, + "ServCellIndex", HFILL }}, { &hf_nr_rrc_betaOffsetACK_Index1, { "betaOffsetACK-Index1", "nr-rrc.betaOffsetACK_Index1", FT_UINT32, BASE_DEC, NULL, 0, @@ -47943,6 +86761,34 @@ proto_register_nr_rrc(void) { { "betaOffsetCSI-Part2-Index2", "nr-rrc.betaOffsetCSI_Part2_Index2", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, + { &hf_nr_rrc_bh_LogicalChannelIdentity_r16, + { "bh-LogicalChannelIdentity-r16", "nr-rrc.bh_LogicalChannelIdentity_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_BH_LogicalChannelIdentity_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_bh_RLC_ChannelID_r16, + { "bh-RLC-ChannelID-r16", "nr-rrc.bh_RLC_ChannelID_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_reestablishRLC_r16, + { "reestablishRLC-r16", "nr-rrc.reestablishRLC_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reestablishRLC_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_rlc_Config_r16, + { "rlc-Config-r16", "nr-rrc.rlc_Config_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_RLC_Config_vals), 0, + "RLC_Config", HFILL }}, + { &hf_nr_rrc_mac_LogicalChannelConfig_r16, + { "mac-LogicalChannelConfig-r16", "nr-rrc.mac_LogicalChannelConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "LogicalChannelConfig", HFILL }}, + { &hf_nr_rrc_bh_LogicalChannelIdentity_r16_01, + { "bh-LogicalChannelIdentity-r16", "nr-rrc.bh_LogicalChannelIdentity_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "LogicalChannelIdentity", HFILL }}, + { &hf_nr_rrc_bh_LogicalChannelIdentityExt_r16, + { "bh-LogicalChannelIdentityExt-r16", "nr-rrc.bh_LogicalChannelIdentityExt_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "BH_LogicalChannelIdentity_Ext_r16", HFILL }}, { &hf_nr_rrc_periodicBSR_Timer, { "periodicBSR-Timer", "nr-rrc.periodicBSR_Timer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicBSR_Timer_vals), 0, @@ -47987,7 +86833,7 @@ proto_register_nr_rrc(void) { { "pdcch-ConfigCommon", "nr-rrc.pdcch_ConfigCommon", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_ConfigCommon_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_03, + { &hf_nr_rrc_setup_14, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDCCH_ConfigCommon", HFILL }}, @@ -47995,7 +86841,7 @@ proto_register_nr_rrc(void) { { "pdsch-ConfigCommon", "nr-rrc.pdsch_ConfigCommon", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_ConfigCommon_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_04, + { &hf_nr_rrc_setup_15, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDSCH_ConfigCommon", HFILL }}, @@ -48003,7 +86849,7 @@ proto_register_nr_rrc(void) { { "pdcch-Config", "nr-rrc.pdcch_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_Config_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_05, + { &hf_nr_rrc_setup_16, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDCCH_Config", HFILL }}, @@ -48011,7 +86857,7 @@ proto_register_nr_rrc(void) { { "pdsch-Config", "nr-rrc.pdsch_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_Config_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_06, + { &hf_nr_rrc_setup_17, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDSCH_Config", HFILL }}, @@ -48019,7 +86865,7 @@ proto_register_nr_rrc(void) { { "sps-Config", "nr-rrc.sps_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sps_Config_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_07, + { &hf_nr_rrc_setup_18, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "SPS_Config", HFILL }}, @@ -48027,10 +86873,54 @@ proto_register_nr_rrc(void) { { "radioLinkMonitoringConfig", "nr-rrc.radioLinkMonitoringConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_radioLinkMonitoringConfig_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_08, + { &hf_nr_rrc_setup_19, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "RadioLinkMonitoringConfig", HFILL }}, + { &hf_nr_rrc_sps_ConfigToAddModList_r16, + { "sps-ConfigToAddModList-r16", "nr-rrc.sps_ConfigToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sps_ConfigToReleaseList_r16, + { "sps-ConfigToReleaseList-r16", "nr-rrc.sps_ConfigToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sps_ConfigDeactivationStateList_r16, + { "sps-ConfigDeactivationStateList-r16", "nr-rrc.sps_ConfigDeactivationStateList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_beamFailureRecoverySCellConfig_r16, + { "beamFailureRecoverySCellConfig-r16", "nr-rrc.beamFailureRecoverySCellConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureRecoverySCellConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_20, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "BeamFailureRecoverySCellConfig_r16", HFILL }}, + { &hf_nr_rrc_sl_PDCCH_Config_r16, + { "sl-PDCCH-Config-r16", "nr-rrc.sl_PDCCH_Config_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PDCCH_Config_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_V2X_PDCCH_Config_r16, + { "sl-V2X-PDCCH-Config-r16", "nr-rrc.sl_V2X_PDCCH_Config_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_V2X_PDCCH_Config_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_SPS_ConfigToAddModList_r16_item, + { "SPS-Config", "nr-rrc.SPS_Config_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_SPS_ConfigToReleaseList_r16_item, + { "SPS-ConfigIndex-r16", "nr-rrc.SPS_ConfigIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_SPS_ConfigDeactivationState_r16_item, + { "SPS-ConfigIndex-r16", "nr-rrc.SPS_ConfigIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_SPS_ConfigDeactivationStateList_r16_item, + { "SPS-ConfigDeactivationState-r16", "nr-rrc.SPS_ConfigDeactivationState_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_bwp_Common_01, { "bwp-Common", "nr-rrc.bwp_Common_element", FT_NONE, BASE_NONE, NULL, 0, @@ -48043,7 +86933,7 @@ proto_register_nr_rrc(void) { { "rach-ConfigCommon", "nr-rrc.rach_ConfigCommon", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rach_ConfigCommon_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_09, + { &hf_nr_rrc_setup_21, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "RACH_ConfigCommon", HFILL }}, @@ -48051,7 +86941,7 @@ proto_register_nr_rrc(void) { { "pusch-ConfigCommon", "nr-rrc.pusch_ConfigCommon", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_ConfigCommon_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_10, + { &hf_nr_rrc_setup_22, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUSCH_ConfigCommon", HFILL }}, @@ -48059,15 +86949,31 @@ proto_register_nr_rrc(void) { { "pucch-ConfigCommon", "nr-rrc.pucch_ConfigCommon", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_ConfigCommon_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_11, + { &hf_nr_rrc_setup_23, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUCCH_ConfigCommon", HFILL }}, + { &hf_nr_rrc_rach_ConfigCommonIAB_r16, + { "rach-ConfigCommonIAB-r16", "nr-rrc.rach_ConfigCommonIAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rach_ConfigCommonIAB_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_useInterlacePUCCH_PUSCH_r16, + { "useInterlacePUCCH-PUSCH-r16", "nr-rrc.useInterlacePUCCH_PUSCH_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_useInterlacePUCCH_PUSCH_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_msgA_ConfigCommon_r16, + { "msgA-ConfigCommon-r16", "nr-rrc.msgA_ConfigCommon_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_ConfigCommon_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_24, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "MsgA_ConfigCommon_r16", HFILL }}, { &hf_nr_rrc_pucch_Config, { "pucch-Config", "nr-rrc.pucch_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_Config_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_12, + { &hf_nr_rrc_setup_25, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUCCH_Config", HFILL }}, @@ -48075,7 +86981,7 @@ proto_register_nr_rrc(void) { { "pusch-Config", "nr-rrc.pusch_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_Config_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_13, + { &hf_nr_rrc_setup_26, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUSCH_Config", HFILL }}, @@ -48083,7 +86989,7 @@ proto_register_nr_rrc(void) { { "configuredGrantConfig", "nr-rrc.configuredGrantConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredGrantConfig_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_14, + { &hf_nr_rrc_setup_27, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "ConfiguredGrantConfig", HFILL }}, @@ -48091,7 +86997,7 @@ proto_register_nr_rrc(void) { { "srs-Config", "nr-rrc.srs_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_Config_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_15, + { &hf_nr_rrc_setup_28, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "SRS_Config", HFILL }}, @@ -48099,10 +87005,70 @@ proto_register_nr_rrc(void) { { "beamFailureRecoveryConfig", "nr-rrc.beamFailureRecoveryConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureRecoveryConfig_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_16, + { &hf_nr_rrc_setup_29, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "BeamFailureRecoveryConfig", HFILL }}, + { &hf_nr_rrc_sl_PUCCH_Config_r16, + { "sl-PUCCH-Config-r16", "nr-rrc.sl_PUCCH_Config_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PUCCH_Config_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_cp_ExtensionC2_r16, + { "cp-ExtensionC2-r16", "nr-rrc.cp_ExtensionC2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_28", HFILL }}, + { &hf_nr_rrc_cp_ExtensionC3_r16, + { "cp-ExtensionC3-r16", "nr-rrc.cp_ExtensionC3_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_28", HFILL }}, + { &hf_nr_rrc_useInterlacePUCCH_PUSCH_r16_01, + { "useInterlacePUCCH-PUSCH-r16", "nr-rrc.useInterlacePUCCH_PUSCH_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_useInterlacePUCCH_PUSCH_r16_01_vals), 0, + "T_useInterlacePUCCH_PUSCH_r16_01", HFILL }}, + { &hf_nr_rrc_pucch_ConfigurationList_r16, + { "pucch-ConfigurationList-r16", "nr-rrc.pucch_ConfigurationList_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_ConfigurationList_r16_vals), 0, + "T_pucch_ConfigurationList_r16", HFILL }}, + { &hf_nr_rrc_setup_30, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "PUCCH_ConfigurationList_r16", HFILL }}, + { &hf_nr_rrc_lbt_FailureRecoveryConfig_r16, + { "lbt-FailureRecoveryConfig-r16", "nr-rrc.lbt_FailureRecoveryConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lbt_FailureRecoveryConfig_r16_vals), 0, + "T_lbt_FailureRecoveryConfig_r16", HFILL }}, + { &hf_nr_rrc_setup_31, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "LBT_FailureRecoveryConfig_r16", HFILL }}, + { &hf_nr_rrc_configuredGrantConfigToAddModList_r16, + { "configuredGrantConfigToAddModList-r16", "nr-rrc.configuredGrantConfigToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_configuredGrantConfigToReleaseList_r16, + { "configuredGrantConfigToReleaseList-r16", "nr-rrc.configuredGrantConfigToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_configuredGrantConfigType2DeactivationStateList_r16, + { "configuredGrantConfigType2DeactivationStateList-r16", "nr-rrc.configuredGrantConfigType2DeactivationStateList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ConfiguredGrantConfigToAddModList_r16_item, + { "ConfiguredGrantConfig", "nr-rrc.ConfiguredGrantConfig_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ConfiguredGrantConfigToReleaseList_r16_item, + { "ConfiguredGrantConfigIndex-r16", "nr-rrc.ConfiguredGrantConfigIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ConfiguredGrantConfigType2DeactivationState_r16_item, + { "ConfiguredGrantConfigIndex-r16", "nr-rrc.ConfiguredGrantConfigIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ConfiguredGrantConfigType2DeactivationStateList_r16_item, + { "ConfiguredGrantConfigType2DeactivationState-r16", "nr-rrc.ConfiguredGrantConfigType2DeactivationState_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_plmn_IdentityList, { "plmn-IdentityList", "nr-rrc.plmn_IdentityList", FT_UINT32, BASE_DEC, NULL, 0, @@ -48111,6 +87077,14 @@ proto_register_nr_rrc(void) { { "cellReservedForOtherUse", "nr-rrc.cellReservedForOtherUse", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellReservedForOtherUse_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_cellReservedForFutureUse_r16, + { "cellReservedForFutureUse-r16", "nr-rrc.cellReservedForFutureUse_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellReservedForFutureUse_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_npn_IdentityInfoList_r16, + { "npn-IdentityInfoList-r16", "nr-rrc.npn_IdentityInfoList_r16", + FT_UINT32, BASE_DEC, NULL, 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, @@ -48211,6 +87185,62 @@ proto_register_nr_rrc(void) { { "reportUplinkTxDirectCurrent", "nr-rrc.reportUplinkTxDirectCurrent", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportUplinkTxDirectCurrent_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_bh_RLC_ChannelToAddModList_r16, + { "bh-RLC-ChannelToAddModList-r16", "nr-rrc.bh_RLC_ChannelToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelConfig_r16", HFILL }}, + { &hf_nr_rrc_bh_RLC_ChannelToAddModList_r16_item, + { "BH-RLC-ChannelConfig-r16", "nr-rrc.BH_RLC_ChannelConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_bh_RLC_ChannelToReleaseList_r16, + { "bh-RLC-ChannelToReleaseList-r16", "nr-rrc.bh_RLC_ChannelToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelID_r16", HFILL }}, + { &hf_nr_rrc_bh_RLC_ChannelToReleaseList_r16_item, + { "BH-RLC-ChannelID-r16", "nr-rrc.BH_RLC_ChannelID_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_f1c_TransferPath_r16, + { "f1c-TransferPath-r16", "nr-rrc.f1c_TransferPath_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_f1c_TransferPath_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_simultaneousTCI_UpdateList1_r16, + { "simultaneousTCI-UpdateList1-r16", "nr-rrc.simultaneousTCI_UpdateList1_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex", HFILL }}, + { &hf_nr_rrc_simultaneousTCI_UpdateList1_r16_item, + { "ServCellIndex", "nr-rrc.ServCellIndex", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_simultaneousTCI_UpdateList2_r16, + { "simultaneousTCI-UpdateList2-r16", "nr-rrc.simultaneousTCI_UpdateList2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex", HFILL }}, + { &hf_nr_rrc_simultaneousTCI_UpdateList2_r16_item, + { "ServCellIndex", "nr-rrc.ServCellIndex", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_simultaneousSpatial_UpdatedList1_r16, + { "simultaneousSpatial-UpdatedList1-r16", "nr-rrc.simultaneousSpatial_UpdatedList1_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex", HFILL }}, + { &hf_nr_rrc_simultaneousSpatial_UpdatedList1_r16_item, + { "ServCellIndex", "nr-rrc.ServCellIndex", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_simultaneousSpatial_UpdatedList2_r16, + { "simultaneousSpatial-UpdatedList2-r16", "nr-rrc.simultaneousSpatial_UpdatedList2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex", HFILL }}, + { &hf_nr_rrc_simultaneousSpatial_UpdatedList2_r16_item, + { "ServCellIndex", "nr-rrc.ServCellIndex", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_uplinkTxSwitchingOption_r16, + { "uplinkTxSwitchingOption-r16", "nr-rrc.uplinkTxSwitchingOption_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitchingOption_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_reconfigurationWithSync, { "reconfigurationWithSync", "nr-rrc.reconfigurationWithSync_element", FT_NONE, BASE_NONE, NULL, 0, @@ -48219,7 +87249,7 @@ 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_17, + { &hf_nr_rrc_setup_32, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "RLF_TimersAndConstants", HFILL }}, @@ -48255,6 +87285,14 @@ proto_register_nr_rrc(void) { { "supplementaryUplink", "nr-rrc.supplementaryUplink_element", FT_NONE, BASE_NONE, NULL, 0, "RACH_ConfigDedicated", HFILL }}, + { &hf_nr_rrc_daps_UplinkPowerConfig_r16, + { "daps-UplinkPowerConfig-r16", "nr-rrc.daps_UplinkPowerConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_uplinkPowerSharingDAPS_Mode_r16_01, + { "uplinkPowerSharingDAPS-Mode-r16", "nr-rrc.uplinkPowerSharingDAPS_Mode_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkPowerSharingDAPS_Mode_r16_01_vals), 0, + "T_uplinkPowerSharingDAPS_Mode_r16_01", HFILL }}, { &hf_nr_rrc_sCellIndex, { "sCellIndex", "nr-rrc.sCellIndex", FT_UINT32, BASE_DEC, NULL, 0, @@ -48267,6 +87305,14 @@ proto_register_nr_rrc(void) { { "sCellConfigDedicated", "nr-rrc.sCellConfigDedicated_element", FT_NONE, BASE_NONE, NULL, 0, "ServingCellConfig", HFILL }}, + { &hf_nr_rrc_sCellState_r16, + { "sCellState-r16", "nr-rrc.sCellState_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sCellState_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_secondaryDRX_GroupConfig_r16, + { "secondaryDRX-GroupConfig-r16", "nr-rrc.secondaryDRX_GroupConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_secondaryDRX_GroupConfig_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_cgi_info_EPC, { "cgi-info-EPC", "nr-rrc.cgi_info_EPC_element", FT_NONE, BASE_NONE, NULL, 0, @@ -48303,6 +87349,18 @@ proto_register_nr_rrc(void) { { "freqBandIndicatorPriority", "nr-rrc.freqBandIndicatorPriority", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_freqBandIndicatorPriority_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_cellIdentity_eutra_5gc_01, + { "cellIdentity-eutra-5gc", "nr-rrc.cellIdentity_eutra_5gc", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_28", HFILL }}, + { &hf_nr_rrc_plmn_Identity_eutra_epc, + { "plmn-Identity-eutra-epc", "nr-rrc.plmn_Identity_eutra_epc_element", + FT_NONE, BASE_NONE, NULL, 0, + "PLMN_Identity", HFILL }}, { &hf_nr_rrc_plmn_IdentityInfoList, { "plmn-IdentityInfoList", "nr-rrc.plmn_IdentityInfoList", FT_UINT32, BASE_DEC, NULL, 0, @@ -48315,6 +87373,18 @@ proto_register_nr_rrc(void) { { "noSIB1", "nr-rrc.noSIB1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_plmn_Identity_r16, + { "plmn-Identity-r16", "nr-rrc.plmn_Identity_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "PLMN_Identity", HFILL }}, + { &hf_nr_rrc_cellIdentity_r16, + { "cellIdentity-r16", "nr-rrc.cellIdentity_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "CellIdentity", HFILL }}, + { &hf_nr_rrc_trackingAreaCode_r16, + { "trackingAreaCode-r16", "nr-rrc.trackingAreaCode_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "TrackingAreaCode", HFILL }}, { &hf_nr_rrc_codebookType, { "codebookType", "nr-rrc.codebookType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookType_vals), 0, @@ -48555,6 +87625,110 @@ proto_register_nr_rrc(void) { { "numberOfBeams", "nr-rrc.numberOfBeams", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numberOfBeams_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_codebookType_01, + { "codebookType", "nr-rrc.codebookType", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookType_01_vals), 0, + "T_codebookType_01", HFILL }}, + { &hf_nr_rrc_type2_01, + { "type2", "nr-rrc.type2_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_type2_01", HFILL }}, + { &hf_nr_rrc_subType_02, + { "subType", "nr-rrc.subType", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subType_02_vals), 0, + "T_subType_02", HFILL }}, + { &hf_nr_rrc_typeII_r16, + { "typeII-r16", "nr-rrc.typeII_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_n1_n2_codebookSubsetRestriction_r16, + { "n1-n2-codebookSubsetRestriction-r16", "nr-rrc.n1_n2_codebookSubsetRestriction_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n1_n2_codebookSubsetRestriction_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_typeII_RI_Restriction_r16, + { "typeII-RI-Restriction-r16", "nr-rrc.typeII_RI_Restriction_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_4", HFILL }}, + { &hf_nr_rrc_typeII_PortSelection_r16, + { "typeII-PortSelection-r16", "nr-rrc.typeII_PortSelection_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_portSelectionSamplingSize_r16, + { "portSelectionSamplingSize-r16", "nr-rrc.portSelectionSamplingSize_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_portSelectionSamplingSize_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_typeII_PortSelectionRI_Restriction_r16, + { "typeII-PortSelectionRI-Restriction-r16", "nr-rrc.typeII_PortSelectionRI_Restriction_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_4", HFILL }}, + { &hf_nr_rrc_numberOfPMI_SubbandsPerCQI_Subband_r16, + { "numberOfPMI-SubbandsPerCQI-Subband-r16", "nr-rrc.numberOfPMI_SubbandsPerCQI_Subband_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_2", HFILL }}, + { &hf_nr_rrc_paramCombination_r16, + { "paramCombination-r16", "nr-rrc.paramCombination_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_8", HFILL }}, + { &hf_nr_rrc_gnss_TOD_msec_r16, + { "gnss-TOD-msec-r16", "nr-rrc.gnss_TOD_msec_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_nr_rrc_locationTimestamp_r16, + { "locationTimestamp-r16", "nr-rrc.locationTimestamp_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_locationCoordinate_r16, + { "locationCoordinate-r16", "nr-rrc.locationCoordinate_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_locationError_r16, + { "locationError-r16", "nr-rrc.locationError_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_locationSource_r16, + { "locationSource-r16", "nr-rrc.locationSource_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_velocityEstimate_r16, + { "velocityEstimate-r16", "nr-rrc.velocityEstimate_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_CondReconfigToAddModList_r16_item, + { "CondReconfigToAddMod-r16", "nr-rrc.CondReconfigToAddMod_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_condReconfigId_r16, + { "condReconfigId-r16", "nr-rrc.condReconfigId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_condExecutionCond_r16, + { "condExecutionCond-r16", "nr-rrc.condExecutionCond_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_2_OF_MeasId", HFILL }}, + { &hf_nr_rrc_condExecutionCond_r16_item, + { "MeasId", "nr-rrc.MeasId", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_condRRCReconfig_r16, + { "condRRCReconfig-r16", "nr-rrc.condRRCReconfig_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_attemptCondReconfig_r16, + { "attemptCondReconfig-r16", "nr-rrc.attemptCondReconfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_attemptCondReconfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_condReconfigToRemoveList_r16, + { "condReconfigToRemoveList-r16", "nr-rrc.condReconfigToRemoveList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_condReconfigToAddModList_r16, + { "condReconfigToAddModList-r16", "nr-rrc.condReconfigToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_CondReconfigToRemoveList_r16_item, + { "CondReconfigId-r16", "nr-rrc.CondReconfigId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_frequencyHopping, { "frequencyHopping", "nr-rrc.frequencyHopping", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyHopping_vals), 0, @@ -48575,7 +87749,7 @@ 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_18, + { &hf_nr_rrc_setup_33, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, VALS(nr_rrc_CG_UCI_OnPUSCH_vals), 0, "CG_UCI_OnPUSCH", HFILL }}, @@ -48663,6 +87837,90 @@ proto_register_nr_rrc(void) { { "pathlossReferenceIndex", "nr-rrc.pathlossReferenceIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1", HFILL }}, + { &hf_nr_rrc_pusch_RepTypeIndicator_r16, + { "pusch-RepTypeIndicator-r16", "nr-rrc.pusch_RepTypeIndicator_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_RepTypeIndicator_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_frequencyHoppingPUSCH_RepTypeB_r16, + { "frequencyHoppingPUSCH-RepTypeB-r16", "nr-rrc.frequencyHoppingPUSCH_RepTypeB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyHoppingPUSCH_RepTypeB_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_timeReferenceSFN_r16, + { "timeReferenceSFN-r16", "nr-rrc.timeReferenceSFN_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeReferenceSFN_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_cg_RetransmissionTimer_r16, + { "cg-RetransmissionTimer-r16", "nr-rrc.cg_RetransmissionTimer_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_64", HFILL }}, + { &hf_nr_rrc_cg_minDFI_Delay_r16, + { "cg-minDFI-Delay-r16", "nr-rrc.cg_minDFI_Delay_r16", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_cg_minDFI_Delay_r16_vals_ext, 0, + NULL, HFILL }}, + { &hf_nr_rrc_cg_nrofPUSCH_InSlot_r16, + { "cg-nrofPUSCH-InSlot-r16", "nr-rrc.cg_nrofPUSCH_InSlot_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_7", HFILL }}, + { &hf_nr_rrc_cg_nrofSlots_r16, + { "cg-nrofSlots-r16", "nr-rrc.cg_nrofSlots_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_40", HFILL }}, + { &hf_nr_rrc_cg_StartingOffsets_r16, + { "cg-StartingOffsets-r16", "nr-rrc.cg_StartingOffsets_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_cg_UCI_Multiplexing, + { "cg-UCI-Multiplexing", "nr-rrc.cg_UCI_Multiplexing", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cg_UCI_Multiplexing_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_cg_COT_SharingOffset_r16, + { "cg-COT-SharingOffset-r16", "nr-rrc.cg_COT_SharingOffset_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_39", HFILL }}, + { &hf_nr_rrc_betaOffsetCG_UCI_r16, + { "betaOffsetCG-UCI-r16", "nr-rrc.betaOffsetCG_UCI_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_31", HFILL }}, + { &hf_nr_rrc_cg_COT_SharingList_r16, + { "cg-COT-SharingList-r16", "nr-rrc.cg_COT_SharingList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_1709_OF_CG_COT_Sharing_r16", HFILL }}, + { &hf_nr_rrc_cg_COT_SharingList_r16_item, + { "CG-COT-Sharing-r16", "nr-rrc.CG_COT_Sharing_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_CG_COT_Sharing_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_harq_ProcID_Offset_r16, + { "harq-ProcID-Offset-r16", "nr-rrc.harq_ProcID_Offset_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_15", HFILL }}, + { &hf_nr_rrc_harq_ProcID_Offset2_r16, + { "harq-ProcID-Offset2-r16", "nr-rrc.harq_ProcID_Offset2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_15", HFILL }}, + { &hf_nr_rrc_configuredGrantConfigIndex_r16, + { "configuredGrantConfigIndex-r16", "nr-rrc.configuredGrantConfigIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_configuredGrantConfigIndexMAC_r16, + { "configuredGrantConfigIndexMAC-r16", "nr-rrc.configuredGrantConfigIndexMAC_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_periodicityExt_r16, + { "periodicityExt-r16", "nr-rrc.periodicityExt_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_5120", HFILL }}, + { &hf_nr_rrc_startingFromRV0_r16, + { "startingFromRV0-r16", "nr-rrc.startingFromRV0_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_startingFromRV0_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_phy_PriorityIndex_r16, + { "phy-PriorityIndex-r16", "nr-rrc.phy_PriorityIndex_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phy_PriorityIndex_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_autonomousTx_r16, + { "autonomousTx-r16", "nr-rrc.autonomousTx_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_autonomousTx_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_dynamic, { "dynamic", "nr-rrc.dynamic", FT_UINT32, BASE_DEC, NULL, 0, @@ -48675,6 +87933,50 @@ proto_register_nr_rrc(void) { { "semiStatic", "nr-rrc.semiStatic_element", FT_NONE, BASE_NONE, NULL, 0, "BetaOffsets", HFILL }}, + { &hf_nr_rrc_noCOT_Sharing_r16, + { "noCOT-Sharing-r16", "nr-rrc.noCOT_Sharing_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_cot_Sharing_r16, + { "cot-Sharing-r16", "nr-rrc.cot_Sharing_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_cot_Sharing_r16", HFILL }}, + { &hf_nr_rrc_duration_r16, + { "duration-r16", "nr-rrc.duration_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_39", HFILL }}, + { &hf_nr_rrc_offset_r16, + { "offset-r16", "nr-rrc.offset_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_39", HFILL }}, + { &hf_nr_rrc_channelAccessPriority_r16, + { "channelAccessPriority-r16", "nr-rrc.channelAccessPriority_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_4", HFILL }}, + { &hf_nr_rrc_cg_StartingFullBW_InsideCOT_r16, + { "cg-StartingFullBW-InsideCOT-r16", "nr-rrc.cg_StartingFullBW_InsideCOT_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "T_cg_StartingFullBW_InsideCOT_r16", HFILL }}, + { &hf_nr_rrc_cg_StartingFullBW_InsideCOT_r16_item, + { "cg-StartingFullBW-InsideCOT-r16 item", "nr-rrc.cg_StartingFullBW_InsideCOT_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_6", HFILL }}, + { &hf_nr_rrc_cg_StartingFullBW_OutsideCOT_r16, + { "cg-StartingFullBW-OutsideCOT-r16", "nr-rrc.cg_StartingFullBW_OutsideCOT_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "T_cg_StartingFullBW_OutsideCOT_r16", HFILL }}, + { &hf_nr_rrc_cg_StartingFullBW_OutsideCOT_r16_item, + { "cg-StartingFullBW-OutsideCOT-r16 item", "nr-rrc.cg_StartingFullBW_OutsideCOT_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_6", HFILL }}, + { &hf_nr_rrc_cg_StartingPartialBW_InsideCOT_r16, + { "cg-StartingPartialBW-InsideCOT-r16", "nr-rrc.cg_StartingPartialBW_InsideCOT_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_6", HFILL }}, + { &hf_nr_rrc_cg_StartingPartialBW_OutsideCOT_r16, + { "cg-StartingPartialBW-OutsideCOT-r16", "nr-rrc.cg_StartingPartialBW_OutsideCOT_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_6", HFILL }}, { &hf_nr_rrc_connEstFailCount, { "connEstFailCount", "nr-rrc.connEstFailCount", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_connEstFailCount_vals), 0, @@ -48751,6 +88053,22 @@ proto_register_nr_rrc(void) { { "pdcch-DMRS-ScramblingID", "nr-rrc.pdcch_DMRS_ScramblingID", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, + { &hf_nr_rrc_rb_Offset_r16, + { "rb-Offset-r16", "nr-rrc.rb_Offset_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_5", HFILL }}, + { &hf_nr_rrc_tci_PresentForDCI_Format1_2_r16, + { "tci-PresentForDCI-Format1-2-r16", "nr-rrc.tci_PresentForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_3", HFILL }}, + { &hf_nr_rrc_coresetPoolIndex_r16, + { "coresetPoolIndex-r16", "nr-rrc.coresetPoolIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_1", HFILL }}, + { &hf_nr_rrc_controlResourceSetId_v1610, + { "controlResourceSetId-v1610", "nr-rrc.controlResourceSetId_v1610", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_schedulingCellInfo, { "schedulingCellInfo", "nr-rrc.schedulingCellInfo", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_schedulingCellInfo_vals), 0, @@ -48775,6 +88093,18 @@ proto_register_nr_rrc(void) { { "cif-InSchedulingCell", "nr-rrc.cif_InSchedulingCell", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_7", HFILL }}, + { &hf_nr_rrc_carrierIndicatorSize, + { "carrierIndicatorSize", "nr-rrc.carrierIndicatorSize_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_carrierIndicatorSizeForDCI_Format1_2_r16, + { "carrierIndicatorSizeForDCI-Format1-2-r16", "nr-rrc.carrierIndicatorSizeForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_3", HFILL }}, + { &hf_nr_rrc_carrierIndicatorSizeForDCI_Format0_2_r16, + { "carrierIndicatorSizeForDCI-Format0-2-r16", "nr-rrc.carrierIndicatorSizeForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_3", HFILL }}, { &hf_nr_rrc_CSI_AperiodicTriggerStateList_item, { "CSI-AperiodicTriggerState", "nr-rrc.CSI_AperiodicTriggerState_element", FT_NONE, BASE_NONE, NULL, 0, @@ -49003,7 +88333,7 @@ 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_19, + { &hf_nr_rrc_setup_34, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, NULL, 0, "CSI_AperiodicTriggerStateList", HFILL }}, @@ -49011,10 +88341,14 @@ 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_20, + { &hf_nr_rrc_setup_35, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, NULL, 0, "CSI_SemiPersistentOnPUSCH_TriggerStateList", HFILL }}, + { &hf_nr_rrc_reportTriggerSizeForDCI_Format0_2_r16, + { "reportTriggerSizeForDCI-Format0-2-r16", "nr-rrc.reportTriggerSizeForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_6", HFILL }}, { &hf_nr_rrc_carrier, { "carrier", "nr-rrc.carrier", FT_UINT32, BASE_DEC, NULL, 0, @@ -49263,6 +88597,54 @@ proto_register_nr_rrc(void) { { "reportSlotConfig-v1530", "nr-rrc.reportSlotConfig_v1530", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportSlotConfig_v1530_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_semiPersistentOnPUSCH_v1610, + { "semiPersistentOnPUSCH-v1610", "nr-rrc.semiPersistentOnPUSCH_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_reportSlotOffsetListForDCI_Format0_2_r16, + { "reportSlotOffsetListForDCI-Format0-2-r16", "nr-rrc.reportSlotOffsetListForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_reportSlotOffsetListForDCI_Format0_2_r16_item, + { "reportSlotOffsetListForDCI-Format0-2-r16 item", "nr-rrc.reportSlotOffsetListForDCI_Format0_2_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_32", HFILL }}, + { &hf_nr_rrc_reportSlotOffsetListForDCI_Format0_1_r16, + { "reportSlotOffsetListForDCI-Format0-1-r16", "nr-rrc.reportSlotOffsetListForDCI_Format0_1_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_reportSlotOffsetListForDCI_Format0_1_r16_item, + { "reportSlotOffsetListForDCI-Format0-1-r16 item", "nr-rrc.reportSlotOffsetListForDCI_Format0_1_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_32", HFILL }}, + { &hf_nr_rrc_aperiodic_v1610, + { "aperiodic-v1610", "nr-rrc.aperiodic_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_reportSlotOffsetListForDCI_Format0_2_r16_01, + { "reportSlotOffsetListForDCI-Format0-2-r16", "nr-rrc.reportSlotOffsetListForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "T_reportSlotOffsetListForDCI_Format0_2_r16_01", HFILL }}, + { &hf_nr_rrc_reportSlotOffsetListForDCI_Format0_1_r16_01, + { "reportSlotOffsetListForDCI-Format0-1-r16", "nr-rrc.reportSlotOffsetListForDCI_Format0_1_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "T_reportSlotOffsetListForDCI_Format0_1_r16_01", HFILL }}, + { &hf_nr_rrc_reportQuantity_r16, + { "reportQuantity-r16", "nr-rrc.reportQuantity_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportQuantity_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_cri_SINR_r16, + { "cri-SINR-r16", "nr-rrc.cri_SINR_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ssb_Index_SINR_r16, + { "ssb-Index-SINR-r16", "nr-rrc.ssb_Index_SINR_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_codebookConfig_r16, + { "codebookConfig-r16", "nr-rrc.codebookConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_slots4, { "slots4", "nr-rrc.slots4", FT_UINT32, BASE_DEC, NULL, 0, @@ -49619,7 +89001,7 @@ proto_register_nr_rrc(void) { { "three", "nr-rrc.three_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_spare_02, + { &hf_nr_rrc_spare_03, { "spare", "nr-rrc.spare_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, @@ -49667,10 +89049,14 @@ 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_21, + { &hf_nr_rrc_setup_36, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_DownlinkConfig", HFILL }}, + { &hf_nr_rrc_dmrs_Downlink_r16, + { "dmrs-Downlink-r16", "nr-rrc.dmrs_Downlink_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_Downlink_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_dmrs_Type_01, { "dmrs-Type", "nr-rrc.dmrs_Type", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_Type_01_vals), 0, @@ -49683,7 +89069,7 @@ 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_22, + { &hf_nr_rrc_setup_37, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_UplinkConfig", HFILL }}, @@ -49695,6 +89081,10 @@ proto_register_nr_rrc(void) { { "transformPrecodingDisabled", "nr-rrc.transformPrecodingDisabled_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_dmrs_Uplink_r16, + { "dmrs-Uplink-r16", "nr-rrc.dmrs_Uplink_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_Uplink_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_transformPrecodingEnabled, { "transformPrecodingEnabled", "nr-rrc.transformPrecodingEnabled_element", FT_NONE, BASE_NONE, NULL, 0, @@ -49711,6 +89101,22 @@ proto_register_nr_rrc(void) { { "sequenceHopping", "nr-rrc.sequenceHopping", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sequenceHopping_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_dmrs_UplinkTransformPrecoding_r16, + { "dmrs-UplinkTransformPrecoding-r16", "nr-rrc.dmrs_UplinkTransformPrecoding_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_UplinkTransformPrecoding_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_38, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "DMRS_UplinkTransformPrecoding_r16", HFILL }}, + { &hf_nr_rrc_pi2BPSK_ScramblingID0, + { "pi2BPSK-ScramblingID0", "nr-rrc.pi2BPSK_ScramblingID0", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_65535", HFILL }}, + { &hf_nr_rrc_pi2BPSK_ScramblingID1, + { "pi2BPSK-ScramblingID1", "nr-rrc.pi2BPSK_ScramblingID1", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_65535", HFILL }}, { &hf_nr_rrc_frequencyInfoDL, { "frequencyInfoDL", "nr-rrc.frequencyInfoDL_element", FT_NONE, BASE_NONE, NULL, 0, @@ -49835,6 +89241,10 @@ proto_register_nr_rrc(void) { { "sCS120KHZoneSixteenthT item", "nr-rrc.sCS120KHZoneSixteenthT_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_17919", HFILL }}, + { &hf_nr_rrc_nrofPDCCH_MonitoringOccasionPerSSB_InPO_r16, + { "nrofPDCCH-MonitoringOccasionPerSSB-InPO-r16", "nr-rrc.nrofPDCCH_MonitoringOccasionPerSSB_InPO_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_2_4", HFILL }}, { &hf_nr_rrc_int_RNTI, { "int-RNTI", "nr-rrc.int_RNTI", FT_UINT32, BASE_DEC, NULL, 0, @@ -49855,26 +89265,18 @@ proto_register_nr_rrc(void) { { "INT-ConfigurationPerServingCell", "nr-rrc.INT_ConfigurationPerServingCell_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_servingCellId, - { "servingCellId", "nr-rrc.servingCellId", - FT_UINT32, BASE_DEC, NULL, 0, - "ServCellIndex", HFILL }}, { &hf_nr_rrc_positionInDCI, { "positionInDCI", "nr-rrc.positionInDCI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxINT_DCI_PayloadSize_1", HFILL }}, - { &hf_nr_rrc_drx_onDurationTimer, + { &hf_nr_rrc_drx_onDurationTimer_01, { "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, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_onDurationTimer_01_vals), 0, + "T_drx_onDurationTimer_01", HFILL }}, + { &hf_nr_rrc_milliSeconds_01, { "milliSeconds", "nr-rrc.milliSeconds", - FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_milliSeconds_vals_ext, 0, - NULL, HFILL }}, + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_milliSeconds_01_vals_ext, 0, + "T_milliSeconds_01", 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, @@ -49911,6 +89313,18 @@ proto_register_nr_rrc(void) { { "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_drx_onDurationTimer_02, + { "drx-onDurationTimer", "nr-rrc.drx_onDurationTimer", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_onDurationTimer_02_vals), 0, + "T_drx_onDurationTimer_02", HFILL }}, + { &hf_nr_rrc_milliSeconds_02, + { "milliSeconds", "nr-rrc.milliSeconds", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_milliSeconds_02_vals_ext, 0, + "T_milliSeconds_02", HFILL }}, + { &hf_nr_rrc_drx_InactivityTimer_01, + { "drx-InactivityTimer", "nr-rrc.drx_InactivityTimer", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_InactivityTimer_01_vals_ext, 0, + "T_drx_InactivityTimer_01", HFILL }}, { &hf_nr_rrc_absoluteFrequencySSB, { "absoluteFrequencySSB", "nr-rrc.absoluteFrequencySSB", FT_UINT32, BASE_DEC, NULL, 0, @@ -49943,6 +89357,82 @@ proto_register_nr_rrc(void) { { "frequencyShift7p5khz", "nr-rrc.frequencyShift7p5khz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyShift7p5khz_01_vals), 0, "T_frequencyShift7p5khz_01", HFILL }}, + { &hf_nr_rrc_highSpeedMeasFlag_r16, + { "highSpeedMeasFlag-r16", "nr-rrc.highSpeedMeasFlag_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_highSpeedMeasFlag_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_highSpeedDemodFlag_r16, + { "highSpeedDemodFlag-r16", "nr-rrc.highSpeedDemodFlag_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_highSpeedDemodFlag_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_symbols_r16, + { "symbols-r16", "nr-rrc.symbols_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_symbols_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_oneSlot, + { "oneSlot", "nr-rrc.oneSlot", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_14", HFILL }}, + { &hf_nr_rrc_twoSlots, + { "twoSlots", "nr-rrc.twoSlots", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_28", HFILL }}, + { &hf_nr_rrc_periodicityAndPattern_r16, + { "periodicityAndPattern-r16", "nr-rrc.periodicityAndPattern_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndPattern_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_n2, + { "n2", "nr-rrc.n2", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_2", HFILL }}, + { &hf_nr_rrc_n4, + { "n4", "nr-rrc.n4", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_4", HFILL }}, + { &hf_nr_rrc_n5, + { "n5", "nr-rrc.n5", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_5", HFILL }}, + { &hf_nr_rrc_n8, + { "n8", "nr-rrc.n8", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_8", HFILL }}, + { &hf_nr_rrc_n10, + { "n10", "nr-rrc.n10", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_10", HFILL }}, + { &hf_nr_rrc_n20, + { "n20", "nr-rrc.n20", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_20", HFILL }}, + { &hf_nr_rrc_n40, + { "n40", "nr-rrc.n40", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_40", HFILL }}, + { &hf_nr_rrc_lbt_FailureInstanceMaxCount_r16, + { "lbt-FailureInstanceMaxCount-r16", "nr-rrc.lbt_FailureInstanceMaxCount_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lbt_FailureInstanceMaxCount_r16_vals), 0, + "T_lbt_FailureInstanceMaxCount_r16", HFILL }}, + { &hf_nr_rrc_lbt_FailureDetectionTimer_r16, + { "lbt-FailureDetectionTimer-r16", "nr-rrc.lbt_FailureDetectionTimer_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lbt_FailureDetectionTimer_r16_vals), 0, + "T_lbt_FailureDetectionTimer_r16", HFILL }}, + { &hf_nr_rrc_commonLocationInfo_r16, + { "commonLocationInfo-r16", "nr-rrc.commonLocationInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_bt_LocationInfo_r16, + { "bt-LocationInfo-r16", "nr-rrc.bt_LocationInfo_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "LogMeasResultListBT_r16", HFILL }}, + { &hf_nr_rrc_wlan_LocationInfo_r16, + { "wlan-LocationInfo-r16", "nr-rrc.wlan_LocationInfo_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "LogMeasResultListWLAN_r16", HFILL }}, + { &hf_nr_rrc_sensor_LocationInfo_r16, + { "sensor-LocationInfo-r16", "nr-rrc.sensor_LocationInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_eutra_RSTD, { "eutra-RSTD", "nr-rrc.eutra_RSTD", FT_UINT32, BASE_DEC, NULL, 0, @@ -49951,6 +89441,10 @@ proto_register_nr_rrc(void) { { "eutra-FineTimingDetection", "nr-rrc.eutra_FineTimingDetection_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_nr_PRS_Measurement_r16, + { "nr-PRS-Measurement-r16", "nr-rrc.nr_PRS_Measurement_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "NR_PRS_MeasurementInfoList_r16", HFILL }}, { &hf_nr_rrc_EUTRA_RSTD_InfoList_item, { "EUTRA-RSTD-Info", "nr-rrc.EUTRA_RSTD_Info_element", FT_NONE, BASE_NONE, NULL, 0, @@ -49959,6 +89453,38 @@ proto_register_nr_rrc(void) { { "measPRS-Offset", "nr-rrc.measPRS_Offset", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_39", HFILL }}, + { &hf_nr_rrc_NR_PRS_MeasurementInfoList_r16_item, + { "NR-PRS-MeasurementInfo-r16", "nr-rrc.NR_PRS_MeasurementInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_dl_PRS_ARFCN_PointA_r16, + { "dl-PRS-ARFCN-PointA-r16", "nr-rrc.dl_PRS_ARFCN_PointA_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueNR", HFILL }}, + { &hf_nr_rrc_nr_MeasPRS_RepetitionAndOffset_r16, + { "nr-MeasPRS-RepetitionAndOffset-r16", "nr-rrc.nr_MeasPRS_RepetitionAndOffset_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_MeasPRS_RepetitionAndOffset_r16_vals), 0, + "T_nr_MeasPRS_RepetitionAndOffset_r16", HFILL }}, + { &hf_nr_rrc_ms20_r16, + { "ms20-r16", "nr-rrc.ms20_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_19", HFILL }}, + { &hf_nr_rrc_ms40_r16, + { "ms40-r16", "nr-rrc.ms40_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_39", HFILL }}, + { &hf_nr_rrc_ms80_r16, + { "ms80-r16", "nr-rrc.ms80_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_79", HFILL }}, + { &hf_nr_rrc_ms160_r16, + { "ms160-r16", "nr-rrc.ms160_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_159", HFILL }}, + { &hf_nr_rrc_nr_MeasPRS_length_r16, + { "nr-MeasPRS-length-r16", "nr-rrc.nr_MeasPRS_length_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_MeasPRS_length_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_ul_SpecificParameters, { "ul-SpecificParameters", "nr-rrc.ul_SpecificParameters_element", FT_NONE, BASE_NONE, NULL, 0, @@ -50019,11 +89545,27 @@ proto_register_nr_rrc(void) { { "bitRateQueryProhibitTimer", "nr-rrc.bitRateQueryProhibitTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bitRateQueryProhibitTimer_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_allowedCG_List_r16, + { "allowedCG-List-r16", "nr-rrc.allowedCG_List_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_r16_1_OF_ConfiguredGrantConfigIndexMAC_r16", HFILL }}, + { &hf_nr_rrc_allowedCG_List_r16_item, + { "ConfiguredGrantConfigIndexMAC-r16", "nr-rrc.ConfiguredGrantConfigIndexMAC_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_allowedPHY_PriorityIndex_r16, + { "allowedPHY-PriorityIndex-r16", "nr-rrc.allowedPHY_PriorityIndex_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_allowedPHY_PriorityIndex_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_bitRateMultiplier_r16, + { "bitRateMultiplier-r16", "nr-rrc.bitRateMultiplier_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bitRateMultiplier_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_drx_Config, { "drx-Config", "nr-rrc.drx_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_Config_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_23, + { &hf_nr_rrc_setup_39, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "DRX_Config", HFILL }}, @@ -50043,7 +89585,7 @@ 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_24, + { &hf_nr_rrc_setup_40, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PHR_Config", HFILL }}, @@ -50059,10 +89601,34 @@ proto_register_nr_rrc(void) { { "dataInactivityTimer", "nr-rrc.dataInactivityTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dataInactivityTimer_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_25, + { &hf_nr_rrc_setup_41, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, VALS(nr_rrc_DataInactivityTimer_vals), 0, "DataInactivityTimer", HFILL }}, + { &hf_nr_rrc_usePreBSR_r16, + { "usePreBSR-r16", "nr-rrc.usePreBSR_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_usePreBSR_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_schedulingRequestID_LBT_SCell_r16, + { "schedulingRequestID-LBT-SCell-r16", "nr-rrc.schedulingRequestID_LBT_SCell_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SchedulingRequestId", HFILL }}, + { &hf_nr_rrc_lch_BasedPrioritization_r16, + { "lch-BasedPrioritization-r16", "nr-rrc.lch_BasedPrioritization_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lch_BasedPrioritization_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_schedulingRequestID_BFR_SCell_r16, + { "schedulingRequestID-BFR-SCell-r16", "nr-rrc.schedulingRequestID_BFR_SCell_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SchedulingRequestId", HFILL }}, + { &hf_nr_rrc_drx_ConfigSecondaryGroup_r16, + { "drx-ConfigSecondaryGroup-r16", "nr-rrc.drx_ConfigSecondaryGroup_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_ConfigSecondaryGroup_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_42, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "DRX_ConfigSecondaryGroup", HFILL }}, { &hf_nr_rrc_measObjectToRemoveList, { "measObjectToRemoveList", "nr-rrc.measObjectToRemoveList", FT_UINT32, BASE_DEC, NULL, 0, @@ -50111,6 +89677,10 @@ proto_register_nr_rrc(void) { { "measGapSharingConfig", "nr-rrc.measGapSharingConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_interFrequencyConfig_NoGap_r16, + { "interFrequencyConfig-NoGap-r16", "nr-rrc.interFrequencyConfig_NoGap_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interFrequencyConfig_NoGap_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_MeasObjectToRemoveList_item, { "MeasObjectId", "nr-rrc.MeasObjectId", FT_UINT32, BASE_DEC, NULL, 0, @@ -50155,11 +89725,15 @@ proto_register_nr_rrc(void) { { "refServCellIndicator", "nr-rrc.refServCellIndicator", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_refServCellIndicator_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_refFR2ServCellAsyncCA_r16, + { "refFR2ServCellAsyncCA-r16", "nr-rrc.refFR2ServCellAsyncCA_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ServCellIndex", HFILL }}, { &hf_nr_rrc_gapSharingFR2, { "gapSharingFR2", "nr-rrc.gapSharingFR2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapSharingFR2_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_26, + { &hf_nr_rrc_setup_43, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasGapSharingScheme_vals), 0, "MeasGapSharingScheme", HFILL }}, @@ -50171,6 +89745,146 @@ proto_register_nr_rrc(void) { { "gapSharingUE", "nr-rrc.gapSharingUE", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapSharingUE_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_measIdleCarrierListNR_r16, + { "measIdleCarrierListNR-r16", "nr-rrc.measIdleCarrierListNR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16", HFILL }}, + { &hf_nr_rrc_measIdleCarrierListNR_r16_item, + { "MeasIdleCarrierNR-r16", "nr-rrc.MeasIdleCarrierNR_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_measIdleCarrierListEUTRA_r16, + { "measIdleCarrierListEUTRA-r16", "nr-rrc.measIdleCarrierListEUTRA_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16", HFILL }}, + { &hf_nr_rrc_measIdleCarrierListEUTRA_r16_item, + { "MeasIdleCarrierEUTRA-r16", "nr-rrc.MeasIdleCarrierEUTRA_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_measIdleDuration_r16, + { "measIdleDuration-r16", "nr-rrc.measIdleDuration_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measIdleDuration_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_validityAreaList_r16, + { "validityAreaList-r16", "nr-rrc.validityAreaList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ValidityAreaList_r16_item, + { "ValidityArea-r16", "nr-rrc.ValidityArea_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_validityCellList_r16, + { "validityCellList-r16", "nr-rrc.validityCellList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ValidityCellList", HFILL }}, + { &hf_nr_rrc_ValidityCellList_item, + { "PCI-Range", "nr-rrc.PCI_Range_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ssbSubcarrierSpacing_r16, + { "ssbSubcarrierSpacing-r16", "nr-rrc.ssbSubcarrierSpacing_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0, + "SubcarrierSpacing", HFILL }}, + { &hf_nr_rrc_measCellListNR_r16, + { "measCellListNR-r16", "nr-rrc.measCellListNR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "CellListNR_r16", HFILL }}, + { &hf_nr_rrc_reportQuantities_r16, + { "reportQuantities-r16", "nr-rrc.reportQuantities_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportQuantities_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_qualityThreshold_r16, + { "qualityThreshold-r16", "nr-rrc.qualityThreshold_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_idleRSRP_Threshold_NR_r16, + { "idleRSRP-Threshold-NR-r16", "nr-rrc.idleRSRP_Threshold_NR_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0, + "RSRP_Range", HFILL }}, + { &hf_nr_rrc_idleRSRQ_Threshold_NR_r16, + { "idleRSRQ-Threshold-NR-r16", "nr-rrc.idleRSRQ_Threshold_NR_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_Range_fmt), 0, + "RSRQ_Range", HFILL }}, + { &hf_nr_rrc_ssb_MeasConfig_r16, + { "ssb-MeasConfig-r16", "nr-rrc.ssb_MeasConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nrofSS_BlocksToAverage_r16, + { "nrofSS-BlocksToAverage-r16", "nr-rrc.nrofSS_BlocksToAverage_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_2_maxNrofSS_BlocksToAverage", HFILL }}, + { &hf_nr_rrc_absThreshSS_BlocksConsolidation_r16, + { "absThreshSS-BlocksConsolidation-r16", "nr-rrc.absThreshSS_BlocksConsolidation_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "ThresholdNR", HFILL }}, + { &hf_nr_rrc_smtc_r16, + { "smtc-r16", "nr-rrc.smtc_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SSB_MTC", HFILL }}, + { &hf_nr_rrc_ssb_ToMeasure_r16, + { "ssb-ToMeasure-r16", "nr-rrc.ssb_ToMeasure_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SSB_ToMeasure_vals), 0, + "SSB_ToMeasure", HFILL }}, + { &hf_nr_rrc_deriveSSB_IndexFromCell_r16, + { "deriveSSB-IndexFromCell-r16", "nr-rrc.deriveSSB_IndexFromCell_r16", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_nr_rrc_ss_RSSI_Measurement_r16, + { "ss-RSSI-Measurement-r16", "nr-rrc.ss_RSSI_Measurement_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SS_RSSI_Measurement", HFILL }}, + { &hf_nr_rrc_beamMeasConfigIdle_r16, + { "beamMeasConfigIdle-r16", "nr-rrc.beamMeasConfigIdle_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "BeamMeasConfigIdle_NR_r16", HFILL }}, + { &hf_nr_rrc_carrierFreqEUTRA_r16, + { "carrierFreqEUTRA-r16", "nr-rrc.carrierFreqEUTRA_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueEUTRA", HFILL }}, + { &hf_nr_rrc_allowedMeasBandwidth_r16, + { "allowedMeasBandwidth-r16", "nr-rrc.allowedMeasBandwidth_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_EUTRA_AllowedMeasBandwidth_vals), 0, + "EUTRA_AllowedMeasBandwidth", HFILL }}, + { &hf_nr_rrc_measCellListEUTRA_r16, + { "measCellListEUTRA-r16", "nr-rrc.measCellListEUTRA_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "CellListEUTRA_r16", HFILL }}, + { &hf_nr_rrc_reportQuantitiesEUTRA_r16, + { "reportQuantitiesEUTRA-r16", "nr-rrc.reportQuantitiesEUTRA_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportQuantitiesEUTRA_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_qualityThresholdEUTRA_r16, + { "qualityThresholdEUTRA-r16", "nr-rrc.qualityThresholdEUTRA_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_idleRSRP_Threshold_EUTRA_r16, + { "idleRSRP-Threshold-EUTRA-r16", "nr-rrc.idleRSRP_Threshold_EUTRA_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_RangeEUTRA_fmt), 0, + "RSRP_RangeEUTRA", HFILL }}, + { &hf_nr_rrc_idleRSRQ_Threshold_EUTRA_r16, + { "idleRSRQ-Threshold-EUTRA-r16", "nr-rrc.idleRSRQ_Threshold_EUTRA_r16", + FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_RangeEUTRA_r16_fmt), 0, + "RSRQ_RangeEUTRA_r16", HFILL }}, + { &hf_nr_rrc_CellListNR_r16_item, + { "PCI-Range", "nr-rrc.PCI_Range_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_CellListEUTRA_r16_item, + { "EUTRA-PhysCellIdRange", "nr-rrc.EUTRA_PhysCellIdRange_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_reportQuantityRS_Indexes_r16, + { "reportQuantityRS-Indexes-r16", "nr-rrc.reportQuantityRS_Indexes_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportQuantityRS_Indexes_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxNrofRS_IndexesToReport_r16, + { "maxNrofRS-IndexesToReport-r16", "nr-rrc.maxNrofRS_IndexesToReport_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxNrofIndexesToReport", HFILL }}, + { &hf_nr_rrc_includeBeamMeasurements_r16, + { "includeBeamMeasurements-r16", "nr-rrc.includeBeamMeasurements_r16", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, { &hf_nr_rrc_MeasIdToAddModList_item, { "MeasIdToAddMod", "nr-rrc.MeasIdToAddMod_element", FT_NONE, BASE_NONE, NULL, 0, @@ -50187,6 +89901,98 @@ proto_register_nr_rrc(void) { { "reportConfigId", "nr-rrc.reportConfigId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_cli_ResourceConfig_r16, + { "cli-ResourceConfig-r16", "nr-rrc.cli_ResourceConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_srs_ResourceConfig_r16, + { "srs-ResourceConfig-r16", "nr-rrc.srs_ResourceConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_ResourceConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_44, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "SRS_ResourceListConfigCLI_r16", HFILL }}, + { &hf_nr_rrc_rssi_ResourceConfig_r16, + { "rssi-ResourceConfig-r16", "nr-rrc.rssi_ResourceConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rssi_ResourceConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_45, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "RSSI_ResourceListConfigCLI_r16", HFILL }}, + { &hf_nr_rrc_SRS_ResourceListConfigCLI_r16_item, + { "SRS-ResourceConfigCLI-r16", "nr-rrc.SRS_ResourceConfigCLI_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_RSSI_ResourceListConfigCLI_r16_item, + { "RSSI-ResourceConfigCLI-r16", "nr-rrc.RSSI_ResourceConfigCLI_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_srs_Resource_r16, + { "srs-Resource-r16", "nr-rrc.srs_Resource_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SRS_Resource", HFILL }}, + { &hf_nr_rrc_srs_SCS_r16, + { "srs-SCS-r16", "nr-rrc.srs_SCS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0, + "SubcarrierSpacing", HFILL }}, + { &hf_nr_rrc_rssi_ResourceId_r16, + { "rssi-ResourceId-r16", "nr-rrc.rssi_ResourceId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_rssi_SCS_r16, + { "rssi-SCS-r16", "nr-rrc.rssi_SCS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0, + "SubcarrierSpacing", HFILL }}, + { &hf_nr_rrc_startPRB_r16, + { "startPRB-r16", "nr-rrc.startPRB_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_2169", HFILL }}, + { &hf_nr_rrc_nrofPRBs_r16, + { "nrofPRBs-r16", "nr-rrc.nrofPRBs_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_4_maxNrofPhysicalResourceBlocksPlus1", HFILL }}, + { &hf_nr_rrc_startPosition_r16, + { "startPosition-r16", "nr-rrc.startPosition_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_13", HFILL }}, + { &hf_nr_rrc_nrofSymbols_r16, + { "nrofSymbols-r16", "nr-rrc.nrofSymbols_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_14", HFILL }}, + { &hf_nr_rrc_rssi_PeriodicityAndOffset_r16, + { "rssi-PeriodicityAndOffset-r16", "nr-rrc.rssi_PeriodicityAndOffset_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_RSSI_PeriodicityAndOffset_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl10, + { "sl10", "nr-rrc.sl10", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_9", HFILL }}, + { &hf_nr_rrc_sl20, + { "sl20", "nr-rrc.sl20", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_19", HFILL }}, + { &hf_nr_rrc_sl40, + { "sl40", "nr-rrc.sl40", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_39", HFILL }}, + { &hf_nr_rrc_sl80, + { "sl80", "nr-rrc.sl80", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_79", HFILL }}, + { &hf_nr_rrc_sl160, + { "sl160", "nr-rrc.sl160", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_159", HFILL }}, + { &hf_nr_rrc_sl320, + { "sl320", "nr-rrc.sl320", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_319", HFILL }}, + { &hf_nr_rrc_s1640, + { "s1640", "nr-rrc.s1640", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_639", HFILL }}, { &hf_nr_rrc_cellsToRemoveListEUTRAN, { "cellsToRemoveListEUTRAN", "nr-rrc.cellsToRemoveListEUTRAN", FT_UINT32, BASE_DEC, NULL, 0, @@ -50311,6 +90117,30 @@ proto_register_nr_rrc(void) { { "measCycleSCell", "nr-rrc.measCycleSCell", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measCycleSCell_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_smtc3list_r16, + { "smtc3list-r16", "nr-rrc.smtc3list_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SSB_MTC3List_r16", HFILL }}, + { &hf_nr_rrc_rmtc_Config_r16, + { "rmtc-Config-r16", "nr-rrc.rmtc_Config_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rmtc_Config_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_46, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "RMTC_Config_r16", HFILL }}, + { &hf_nr_rrc_t312_r16, + { "t312-r16", "nr-rrc.t312_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t312_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_47, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T312_r16_vals), 0, + "T312_r16", HFILL }}, + { &hf_nr_rrc_SSB_MTC3List_r16_item, + { "SSB-MTC3-r16", "nr-rrc.SSB_MTC3_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_ssb_ConfigMobility, { "ssb-ConfigMobility", "nr-rrc.ssb_ConfigMobility_element", FT_NONE, BASE_NONE, NULL, 0, @@ -50319,7 +90149,7 @@ 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_27, + { &hf_nr_rrc_setup_48, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "CSI_RS_ResourceConfigMobility", HFILL }}, @@ -50327,10 +90157,18 @@ proto_register_nr_rrc(void) { { "ssb-ToMeasure", "nr-rrc.ssb_ToMeasure", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_ToMeasure_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_28, + { &hf_nr_rrc_setup_49, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, VALS(nr_rrc_SSB_ToMeasure_vals), 0, "SSB_ToMeasure", HFILL }}, + { &hf_nr_rrc_ssb_PositionQCL_CellsToAddModList_r16, + { "ssb-PositionQCL-CellsToAddModList-r16", "nr-rrc.ssb_PositionQCL_CellsToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ssb_PositionQCL_CellsToRemoveList_r16, + { "ssb-PositionQCL-CellsToRemoveList-r16", "nr-rrc.ssb_PositionQCL_CellsToRemoveList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "PCI_List", HFILL }}, { &hf_nr_rrc_rsrpOffsetSSB, { "rsrpOffsetSSB", "nr-rrc.rsrpOffsetSSB", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0, @@ -50375,6 +90213,42 @@ proto_register_nr_rrc(void) { { "cellIndividualOffset", "nr-rrc.cellIndividualOffset_element", FT_NONE, BASE_NONE, NULL, 0, "Q_OffsetRangeList", HFILL }}, + { &hf_nr_rrc_rmtc_Periodicity_r16, + { "rmtc-Periodicity-r16", "nr-rrc.rmtc_Periodicity_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rmtc_Periodicity_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_rmtc_SubframeOffset_r16, + { "rmtc-SubframeOffset-r16", "nr-rrc.rmtc_SubframeOffset_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_639", HFILL }}, + { &hf_nr_rrc_measDurationSymbols_r16, + { "measDurationSymbols-r16", "nr-rrc.measDurationSymbols_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measDurationSymbols_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_rmtc_Frequency_r16, + { "rmtc-Frequency-r16", "nr-rrc.rmtc_Frequency_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueNR", HFILL }}, + { &hf_nr_rrc_ref_SCS_CP_r16, + { "ref-SCS-CP-r16", "nr-rrc.ref_SCS_CP_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ref_SCS_CP_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_SSB_PositionQCL_CellsToAddModList_r16_item, + { "SSB-PositionQCL-CellsToAddMod-r16", "nr-rrc.SSB_PositionQCL_CellsToAddMod_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_tx_PoolMeasToRemoveList_r16, + { "tx-PoolMeasToRemoveList-r16", "nr-rrc.tx_PoolMeasToRemoveList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "Tx_PoolMeasList_r16", HFILL }}, + { &hf_nr_rrc_tx_PoolMeasToAddModList_r16, + { "tx-PoolMeasToAddModList-r16", "nr-rrc.tx_PoolMeasToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "Tx_PoolMeasList_r16", HFILL }}, + { &hf_nr_rrc_Tx_PoolMeasList_r16_item, + { "SL-ResourcePoolID-r16", "nr-rrc.SL_ResourcePoolID_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_MeasObjectToAddModList_item, { "MeasObjectToAddMod", "nr-rrc.MeasObjectToAddMod_element", FT_NONE, BASE_NONE, NULL, 0, @@ -50391,6 +90265,46 @@ proto_register_nr_rrc(void) { { "measObjectEUTRA", "nr-rrc.measObjectEUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_measObjectUTRA_FDD_r16, + { "measObjectUTRA-FDD-r16", "nr-rrc.measObjectUTRA_FDD_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_measObjectNR_SL_r16, + { "measObjectNR-SL-r16", "nr-rrc.measObjectNR_SL_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_measObjectCLI_r16, + { "measObjectCLI-r16", "nr-rrc.measObjectCLI_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_utra_FDD_Q_OffsetRange_r16, + { "utra-FDD-Q-OffsetRange-r16", "nr-rrc.utra_FDD_Q_OffsetRange_r16", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_UTRA_FDD_Q_OffsetRange_r16_vals_ext, 0, + NULL, HFILL }}, + { &hf_nr_rrc_cellsToRemoveList_r16, + { "cellsToRemoveList-r16", "nr-rrc.cellsToRemoveList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "UTRA_FDD_CellIndexList_r16", HFILL }}, + { &hf_nr_rrc_cellsToAddModList_r16, + { "cellsToAddModList-r16", "nr-rrc.cellsToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "CellsToAddModListUTRA_FDD_r16", HFILL }}, + { &hf_nr_rrc_CellsToAddModListUTRA_FDD_r16_item, + { "CellsToAddModUTRA-FDD-r16", "nr-rrc.CellsToAddModUTRA_FDD_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_cellIndexUTRA_FDD_r16, + { "cellIndexUTRA-FDD-r16", "nr-rrc.cellIndexUTRA_FDD_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "UTRA_FDD_CellIndex_r16", HFILL }}, + { &hf_nr_rrc_physCellId_r16_02, + { "physCellId-r16", "nr-rrc.physCellId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "PhysCellIdUTRA_FDD_r16", HFILL }}, + { &hf_nr_rrc_UTRA_FDD_CellIndexList_r16_item, + { "UTRA-FDD-CellIndex-r16", "nr-rrc.UTRA_FDD_CellIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_MeasResultCellListSFTD_NR_item, { "MeasResultCellSFTD-NR", "nr-rrc.MeasResultCellSFTD_NR_element", FT_NONE, BASE_NONE, NULL, 0, @@ -50431,6 +90345,10 @@ proto_register_nr_rrc(void) { { "measResultListEUTRA", "nr-rrc.measResultListEUTRA", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_measResultListUTRA_FDD_r16, + { "measResultListUTRA-FDD-r16", "nr-rrc.measResultListUTRA_FDD_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_measResultServFreqListEUTRA_SCG, { "measResultServFreqListEUTRA-SCG", "nr-rrc.measResultServFreqListEUTRA_SCG", FT_UINT32, BASE_DEC, NULL, 0, @@ -50447,6 +90365,22 @@ proto_register_nr_rrc(void) { { "measResultSFTD-NR", "nr-rrc.measResultSFTD_NR_element", FT_NONE, BASE_NONE, NULL, 0, "MeasResultCellSFTD_NR", HFILL }}, + { &hf_nr_rrc_measResultForRSSI_r16, + { "measResultForRSSI-r16", "nr-rrc.measResultForRSSI_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ul_PDCP_DelayValueResultList_r16, + { "ul-PDCP-DelayValueResultList-r16", "nr-rrc.ul_PDCP_DelayValueResultList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_measResultsSL_r16, + { "measResultsSL-r16", "nr-rrc.measResultsSL_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_measResultCLI_r16, + { "measResultCLI-r16", "nr-rrc.measResultCLI_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_MeasResultServMOList_item, { "MeasResultServMO", "nr-rrc.MeasResultServMO_element", FT_NONE, BASE_NONE, NULL, 0, @@ -50475,10 +90409,6 @@ proto_register_nr_rrc(void) { { "cellResults", "nr-rrc.cellResults_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_resultsSSB_Cell, - { "resultsSSB-Cell", "nr-rrc.resultsSSB_Cell_element", - FT_NONE, BASE_NONE, NULL, 0, - "MeasQuantityResults", HFILL }}, { &hf_nr_rrc_resultsCSI_RS_Cell, { "resultsCSI-RS-Cell", "nr-rrc.resultsCSI_RS_Cell_element", FT_NONE, BASE_NONE, NULL, 0, @@ -50507,7 +90437,7 @@ proto_register_nr_rrc(void) { { "measResult", "nr-rrc.measResult_element", FT_NONE, BASE_NONE, NULL, 0, "MeasQuantityResultsEUTRA", HFILL }}, - { &hf_nr_rrc_cgi_Info_01, + { &hf_nr_rrc_cgi_Info_02, { "cgi-Info", "nr-rrc.cgi_Info_element", FT_NONE, BASE_NONE, NULL, 0, "CGI_InfoEUTRA", HFILL }}, @@ -50563,6 +90493,70 @@ proto_register_nr_rrc(void) { { "MeasResult2NR", "nr-rrc.MeasResult2NR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_MeasResultListUTRA_FDD_r16_item, + { "MeasResultUTRA-FDD-r16", "nr-rrc.MeasResultUTRA_FDD_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_measResult_r16_02, + { "measResult-r16", "nr-rrc.measResult_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_measResult_r16_02", HFILL }}, + { &hf_nr_rrc_utra_FDD_RSCP_r16, + { "utra-FDD-RSCP-r16", "nr-rrc.utra_FDD_RSCP_r16", + FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_utra_FDD_RSCP_r16_fmt), 0, + "INTEGER_M5_91", HFILL }}, + { &hf_nr_rrc_utra_FDD_EcN0_r16, + { "utra-FDD-EcN0-r16", "nr-rrc.utra_FDD_EcN0_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_utra_FDD_EcN0_r16_fmt), 0, + "INTEGER_0_49", HFILL }}, + { &hf_nr_rrc_rssi_Result_r16, + { "rssi-Result-r16", "nr-rrc.rssi_Result_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rssi_Result_r16_vals), 0, + "T_rssi_Result_r16", HFILL }}, + { &hf_nr_rrc_channelOccupancy_r16, + { "channelOccupancy-r16", "nr-rrc.channelOccupancy_r16", + FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_percent, 0, + "INTEGER_0_100", HFILL }}, + { &hf_nr_rrc_measResultListSRS_RSRP_r16, + { "measResultListSRS-RSRP-r16", "nr-rrc.measResultListSRS_RSRP_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_measResultListCLI_RSSI_r16, + { "measResultListCLI-RSSI-r16", "nr-rrc.measResultListCLI_RSSI_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_MeasResultListSRS_RSRP_r16_item, + { "MeasResultSRS-RSRP-r16", "nr-rrc.MeasResultSRS_RSRP_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_srs_ResourceId_r16, + { "srs-ResourceId-r16", "nr-rrc.srs_ResourceId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SRS_ResourceId", HFILL }}, + { &hf_nr_rrc_srs_RSRP_Result_r16, + { "srs-RSRP-Result-r16", "nr-rrc.srs_RSRP_Result_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_SRS_RSRP_r16_fmt), 0, + "SRS_RSRP_Range_r16", HFILL }}, + { &hf_nr_rrc_MeasResultListCLI_RSSI_r16_item, + { "MeasResultCLI-RSSI-r16", "nr-rrc.MeasResultCLI_RSSI_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_cli_RSSI_Result_r16, + { "cli-RSSI-Result-r16", "nr-rrc.cli_RSSI_Result_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_CLI_RSSI_Range_r16_fmt), 0, + "CLI_RSSI_Range_r16", HFILL }}, + { &hf_nr_rrc_UL_PDCP_DelayValueResultList_r16_item, + { "UL-PDCP-DelayValueResult-r16", "nr-rrc.UL_PDCP_DelayValueResult_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_drb_Id_r16, + { "drb-Id-r16", "nr-rrc.drb_Id_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "DRB_Identity", HFILL }}, + { &hf_nr_rrc_averageDelay_r16, + { "averageDelay-r16", "nr-rrc.averageDelay_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_averageDelay_r16_fmt), 0, + "INTEGER_0_10000", HFILL }}, { &hf_nr_rrc_measResultServingCell_01, { "measResultServingCell", "nr-rrc.measResultServingCell_element", FT_NONE, BASE_NONE, NULL, 0, @@ -50571,10 +90565,94 @@ proto_register_nr_rrc(void) { { "measResultBestNeighCell", "nr-rrc.measResultBestNeighCell_element", FT_NONE, BASE_NONE, NULL, 0, "MeasResultEUTRA", HFILL }}, - { &hf_nr_rrc_measResultNeighCellListNR, + { &hf_nr_rrc_measResultNeighCellListNR_02, { "measResultNeighCellListNR", "nr-rrc.measResultNeighCellListNR", FT_UINT32, BASE_DEC, NULL, 0, "MeasResultListNR", HFILL }}, + { &hf_nr_rrc_measResultsPerCarrierListIdleEUTRA_r16, + { "measResultsPerCarrierListIdleEUTRA-r16", "nr-rrc.measResultsPerCarrierListIdleEUTRA_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleEUTRA_r16", HFILL }}, + { &hf_nr_rrc_measResultsPerCarrierListIdleEUTRA_r16_item, + { "MeasResultsPerCarrierIdleEUTRA-r16", "nr-rrc.MeasResultsPerCarrierIdleEUTRA_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_measResultsPerCellListIdleEUTRA_r16, + { "measResultsPerCellListIdleEUTRA-r16", "nr-rrc.measResultsPerCellListIdleEUTRA_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleEUTRA_r16", HFILL }}, + { &hf_nr_rrc_measResultsPerCellListIdleEUTRA_r16_item, + { "MeasResultsPerCellIdleEUTRA-r16", "nr-rrc.MeasResultsPerCellIdleEUTRA_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_eutra_PhysCellId_r16, + { "eutra-PhysCellId-r16", "nr-rrc.eutra_PhysCellId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "EUTRA_PhysCellId", HFILL }}, + { &hf_nr_rrc_measIdleResultEUTRA_r16, + { "measIdleResultEUTRA-r16", "nr-rrc.measIdleResultEUTRA_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_rsrp_ResultEUTRA_r16, + { "rsrp-ResultEUTRA-r16", "nr-rrc.rsrp_ResultEUTRA_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_RangeEUTRA_fmt), 0, + "RSRP_RangeEUTRA", HFILL }}, + { &hf_nr_rrc_rsrq_ResultEUTRA_r16, + { "rsrq-ResultEUTRA-r16", "nr-rrc.rsrq_ResultEUTRA_r16", + FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_RangeEUTRA_r16_fmt), 0, + "RSRQ_RangeEUTRA_r16", HFILL }}, + { &hf_nr_rrc_measResultServingCell_r16_01, + { "measResultServingCell-r16", "nr-rrc.measResultServingCell_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_rsrp_Result_r16, + { "rsrp-Result-r16", "nr-rrc.rsrp_Result_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0, + "RSRP_Range", HFILL }}, + { &hf_nr_rrc_rsrq_Result_r16, + { "rsrq-Result-r16", "nr-rrc.rsrq_Result_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_Range_fmt), 0, + "RSRQ_Range", HFILL }}, + { &hf_nr_rrc_resultsSSB_Indexes_r16_01, + { "resultsSSB-Indexes-r16", "nr-rrc.resultsSSB_Indexes_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ResultsPerSSB_IndexList_r16", HFILL }}, + { &hf_nr_rrc_measResultsPerCarrierListIdleNR_r16, + { "measResultsPerCarrierListIdleNR-r16", "nr-rrc.measResultsPerCarrierListIdleNR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleNR_r16", HFILL }}, + { &hf_nr_rrc_measResultsPerCarrierListIdleNR_r16_item, + { "MeasResultsPerCarrierIdleNR-r16", "nr-rrc.MeasResultsPerCarrierIdleNR_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_measResultsPerCellListIdleNR_r16, + { "measResultsPerCellListIdleNR-r16", "nr-rrc.measResultsPerCellListIdleNR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleNR_r16", HFILL }}, + { &hf_nr_rrc_measResultsPerCellListIdleNR_r16_item, + { "MeasResultsPerCellIdleNR-r16", "nr-rrc.MeasResultsPerCellIdleNR_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_measIdleResultNR_r16, + { "measIdleResultNR-r16", "nr-rrc.measIdleResultNR_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ResultsPerSSB_IndexList_r16_item, + { "ResultsPerSSB-IndexIdle-r16", "nr-rrc.ResultsPerSSB_IndexIdle_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ssb_Results_r16, + { "ssb-Results-r16", "nr-rrc.ssb_Results_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ssb_RSRP_Result_r16, + { "ssb-RSRP-Result-r16", "nr-rrc.ssb_RSRP_Result_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0, + "RSRP_Range", HFILL }}, + { &hf_nr_rrc_ssb_RSRQ_Result_r16, + { "ssb-RSRQ-Result-r16", "nr-rrc.ssb_RSRQ_Result_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_Range_fmt), 0, + "RSRQ_Range", HFILL }}, { &hf_nr_rrc_measResultPerMOList, { "measResultPerMOList", "nr-rrc.measResultPerMOList", FT_UINT32, BASE_DEC, NULL, 0, @@ -50583,6 +90661,30 @@ proto_register_nr_rrc(void) { { "MeasResult2NR", "nr-rrc.MeasResult2NR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_measResultsListSL_r16, + { "measResultsListSL-r16", "nr-rrc.measResultsListSL_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measResultsListSL_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_measResultNR_SL_r16, + { "measResultNR-SL-r16", "nr-rrc.measResultNR_SL_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_measResultListCBR_NR_r16, + { "measResultListCBR-NR-r16", "nr-rrc.measResultListCBR_NR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSL_PoolToMeasureNR_r16_OF_MeasResultCBR_NR_r16", HFILL }}, + { &hf_nr_rrc_measResultListCBR_NR_r16_item, + { "MeasResultCBR-NR-r16", "nr-rrc.MeasResultCBR_NR_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_poolReportIdentity_r16, + { "sl-poolReportIdentity-r16", "nr-rrc.sl_poolReportIdentity_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_ResourcePoolID_r16", HFILL }}, + { &hf_nr_rrc_sl_CBR_ResultsNR_r16, + { "sl-CBR-ResultsNR-r16", "nr-rrc.sl_CBR_ResultsNR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_CBR_r16", HFILL }}, { &hf_nr_rrc_t_Evaluation, { "t-Evaluation", "nr-rrc.t_Evaluation", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t_Evaluation_vals), 0, @@ -50599,6 +90701,134 @@ proto_register_nr_rrc(void) { { "n-CellChangeHigh", "nr-rrc.n_CellChangeHigh", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_16", HFILL }}, + { &hf_nr_rrc_rach_ConfigCommonTwoStepRA_r16, + { "rach-ConfigCommonTwoStepRA-r16", "nr-rrc.rach_ConfigCommonTwoStepRA_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_msgA_PUSCH_Config_r16, + { "msgA-PUSCH-Config-r16", "nr-rrc.msgA_PUSCH_Config_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_msgA_PUSCH_ResourceGroupA_r16, + { "msgA-PUSCH-ResourceGroupA-r16", "nr-rrc.msgA_PUSCH_ResourceGroupA_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "MsgA_PUSCH_Resource_r16", HFILL }}, + { &hf_nr_rrc_msgA_PUSCH_ResourceGroupB_r16, + { "msgA-PUSCH-ResourceGroupB-r16", "nr-rrc.msgA_PUSCH_ResourceGroupB_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "MsgA_PUSCH_Resource_r16", HFILL }}, + { &hf_nr_rrc_msgA_TransformPrecoder_r16, + { "msgA-TransformPrecoder-r16", "nr-rrc.msgA_TransformPrecoder_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_TransformPrecoder_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_msgA_DataScramblingIndex_r16, + { "msgA-DataScramblingIndex-r16", "nr-rrc.msgA_DataScramblingIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_1023", HFILL }}, + { &hf_nr_rrc_msgA_DeltaPreamble_r16, + { "msgA-DeltaPreamble-r16", "nr-rrc.msgA_DeltaPreamble_r16", + FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, + "INTEGER_M1_6", HFILL }}, + { &hf_nr_rrc_msgA_MCS_r16, + { "msgA-MCS-r16", "nr-rrc.msgA_MCS_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_15", HFILL }}, + { &hf_nr_rrc_nrofSlotsMsgA_PUSCH_r16, + { "nrofSlotsMsgA-PUSCH-r16", "nr-rrc.nrofSlotsMsgA_PUSCH_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_4", HFILL }}, + { &hf_nr_rrc_nrofMsgA_PO_PerSlot_r16, + { "nrofMsgA-PO-PerSlot-r16", "nr-rrc.nrofMsgA_PO_PerSlot_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofMsgA_PO_PerSlot_r16_vals), 0, + "T_nrofMsgA_PO_PerSlot_r16", HFILL }}, + { &hf_nr_rrc_msgA_PUSCH_TimeDomainOffset_r16, + { "msgA-PUSCH-TimeDomainOffset-r16", "nr-rrc.msgA_PUSCH_TimeDomainOffset_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_32", HFILL }}, + { &hf_nr_rrc_msgA_PUSCH_TimeDomainAllocation_r16, + { "msgA-PUSCH-TimeDomainAllocation-r16", "nr-rrc.msgA_PUSCH_TimeDomainAllocation_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxNrofUL_Allocations", HFILL }}, + { &hf_nr_rrc_startSymbolAndLengthMsgA_PO_r16, + { "startSymbolAndLengthMsgA-PO-r16", "nr-rrc.startSymbolAndLengthMsgA_PO_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_127", HFILL }}, + { &hf_nr_rrc_mappingTypeMsgA_PUSCH_r16, + { "mappingTypeMsgA-PUSCH-r16", "nr-rrc.mappingTypeMsgA_PUSCH_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mappingTypeMsgA_PUSCH_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_guardPeriodMsgA_PUSCH_r16, + { "guardPeriodMsgA-PUSCH-r16", "nr-rrc.guardPeriodMsgA_PUSCH_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_3", HFILL }}, + { &hf_nr_rrc_guardBandMsgA_PUSCH_r16, + { "guardBandMsgA-PUSCH-r16", "nr-rrc.guardBandMsgA_PUSCH_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_1", HFILL }}, + { &hf_nr_rrc_frequencyStartMsgA_PUSCH_r16, + { "frequencyStartMsgA-PUSCH-r16", "nr-rrc.frequencyStartMsgA_PUSCH_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }}, + { &hf_nr_rrc_nrofPRBs_PerMsgA_PO_r16, + { "nrofPRBs-PerMsgA-PO-r16", "nr-rrc.nrofPRBs_PerMsgA_PO_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_32", HFILL }}, + { &hf_nr_rrc_nrofMsgA_PO_FDM_r16, + { "nrofMsgA-PO-FDM-r16", "nr-rrc.nrofMsgA_PO_FDM_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofMsgA_PO_FDM_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_msgA_IntraSlotFrequencyHopping_r16, + { "msgA-IntraSlotFrequencyHopping-r16", "nr-rrc.msgA_IntraSlotFrequencyHopping_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_IntraSlotFrequencyHopping_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_msgA_HoppingBits_r16, + { "msgA-HoppingBits-r16", "nr-rrc.msgA_HoppingBits_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_2", HFILL }}, + { &hf_nr_rrc_msgA_DMRS_Config_r16, + { "msgA-DMRS-Config-r16", "nr-rrc.msgA_DMRS_Config_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nrofDMRS_Sequences_r16, + { "nrofDMRS-Sequences-r16", "nr-rrc.nrofDMRS_Sequences_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_2", HFILL }}, + { &hf_nr_rrc_msgA_Alpha_r16, + { "msgA-Alpha-r16", "nr-rrc.msgA_Alpha_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_Alpha_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_interlaceIndexFirstPO_MsgA_PUSCH_r16, + { "interlaceIndexFirstPO-MsgA-PUSCH-r16", "nr-rrc.interlaceIndexFirstPO_MsgA_PUSCH_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_10", HFILL }}, + { &hf_nr_rrc_nrofInterlacesPerMsgA_PO_r16, + { "nrofInterlacesPerMsgA-PO-r16", "nr-rrc.nrofInterlacesPerMsgA_PO_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_10", HFILL }}, + { &hf_nr_rrc_msgA_DMRS_AdditionalPosition_r16, + { "msgA-DMRS-AdditionalPosition-r16", "nr-rrc.msgA_DMRS_AdditionalPosition_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_DMRS_AdditionalPosition_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_msgA_MaxLength_r16, + { "msgA-MaxLength-r16", "nr-rrc.msgA_MaxLength_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_MaxLength_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_msgA_PUSCH_DMRS_CDM_Group_r16, + { "msgA-PUSCH-DMRS-CDM-Group-r16", "nr-rrc.msgA_PUSCH_DMRS_CDM_Group_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_1", HFILL }}, + { &hf_nr_rrc_msgA_PUSCH_NrofPorts_r16, + { "msgA-PUSCH-NrofPorts-r16", "nr-rrc.msgA_PUSCH_NrofPorts_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_1", HFILL }}, + { &hf_nr_rrc_msgA_ScramblingID0_r16, + { "msgA-ScramblingID0-r16", "nr-rrc.msgA_ScramblingID0_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_65536", HFILL }}, + { &hf_nr_rrc_msgA_ScramblingID1_r16, + { "msgA-ScramblingID1-r16", "nr-rrc.msgA_ScramblingID1_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_65536", HFILL }}, { &hf_nr_rrc_MultiFrequencyBandListNR_item, { "FreqBandIndicatorNR", "nr-rrc.FreqBandIndicatorNR", FT_UINT32, BASE_DEC, NULL, 0, @@ -50611,6 +90841,102 @@ proto_register_nr_rrc(void) { { "nr-NS-PmaxList", "nr-rrc.nr_NS_PmaxList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_requestedTargetBandFilterNR_r16, + { "requestedTargetBandFilterNR-r16", "nr-rrc.requestedTargetBandFilterNR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR", HFILL }}, + { &hf_nr_rrc_requestedTargetBandFilterNR_r16_item, + { "FreqBandIndicatorNR", "nr-rrc.FreqBandIndicatorNR", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_intraFreq_needForGap_r16, + { "intraFreq-needForGap-r16", "nr-rrc.intraFreq_needForGap_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "NeedForGapsIntraFreqlist_r16", HFILL }}, + { &hf_nr_rrc_interFreq_needForGap_r16, + { "interFreq-needForGap-r16", "nr-rrc.interFreq_needForGap_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "NeedForGapsBandlistNR_r16", HFILL }}, + { &hf_nr_rrc_NeedForGapsIntraFreqlist_r16_item, + { "NeedForGapsIntraFreq-r16", "nr-rrc.NeedForGapsIntraFreq_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_NeedForGapsBandlistNR_r16_item, + { "NeedForGapsNR-r16", "nr-rrc.NeedForGapsNR_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_servCellId_r16, + { "servCellId-r16", "nr-rrc.servCellId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ServCellIndex", HFILL }}, + { &hf_nr_rrc_gapIndicationIntra_r16, + { "gapIndicationIntra-r16", "nr-rrc.gapIndicationIntra_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapIndicationIntra_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_bandNR_r16, + { "bandNR-r16", "nr-rrc.bandNR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "FreqBandIndicatorNR", HFILL }}, + { &hf_nr_rrc_gapIndication_r16, + { "gapIndication-r16", "nr-rrc.gapIndication_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapIndication_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pni_npn_r16, + { "pni-npn-r16", "nr-rrc.pni_npn_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_cag_IdentityList_r16, + { "cag-IdentityList-r16", "nr-rrc.cag_IdentityList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNPN_r16_OF_CAG_IdentityInfo_r16", HFILL }}, + { &hf_nr_rrc_cag_IdentityList_r16_item, + { "CAG-IdentityInfo-r16", "nr-rrc.CAG_IdentityInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_snpn_r16, + { "snpn-r16", "nr-rrc.snpn_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nid_List_r16, + { "nid-List-r16", "nr-rrc.nid_List_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNPN_r16_OF_NID_r16", HFILL }}, + { &hf_nr_rrc_nid_List_r16_item, + { "NID-r16", "nr-rrc.NID_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_cag_Identity_r16, + { "cag-Identity-r16", "nr-rrc.cag_Identity_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_32", HFILL }}, + { &hf_nr_rrc_manualCAGselectionAllowed_r16, + { "manualCAGselectionAllowed-r16", "nr-rrc.manualCAGselectionAllowed_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_manualCAGselectionAllowed_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_NPN_IdentityInfoList_r16_item, + { "NPN-IdentityInfo-r16", "nr-rrc.NPN_IdentityInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_npn_IdentityList_r16, + { "npn-IdentityList-r16", "nr-rrc.npn_IdentityList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNPN_r16_OF_NPN_Identity_r16", HFILL }}, + { &hf_nr_rrc_npn_IdentityList_r16_item, + { "NPN-Identity-r16", "nr-rrc.NPN_Identity_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_NPN_Identity_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ranac_r16, + { "ranac-r16", "nr-rrc.ranac_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "RAN_AreaCode", HFILL }}, + { &hf_nr_rrc_cellReservedForOperatorUse_r16, + { "cellReservedForOperatorUse-r16", "nr-rrc.cellReservedForOperatorUse_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellReservedForOperatorUse_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_iab_Support_r16, + { "iab-Support-r16", "nr-rrc.iab_Support_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_iab_Support_r16_vals), 0, + "T_iab_Support_r16", HFILL }}, { &hf_nr_rrc_NR_NS_PmaxList_item, { "NR-NS-PmaxValue", "nr-rrc.NR_NS_PmaxValue_element", FT_NONE, BASE_NONE, NULL, 0, @@ -50667,6 +90993,10 @@ proto_register_nr_rrc(void) { { "trs-Info", "nr-rrc.trs_Info", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_trs_Info_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_aperiodicTriggeringOffset_r16, + { "aperiodicTriggeringOffset-r16", "nr-rrc.aperiodicTriggeringOffset_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_PCI_List_item, { "PhysCellId", "nr-rrc.PhysCellId", FT_UINT32, BASE_DEC, NULL, 0, @@ -50727,7 +91057,7 @@ 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_29, + { &hf_nr_rrc_setup_50, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "DownlinkPreemption", HFILL }}, @@ -50735,7 +91065,7 @@ 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_30, + { &hf_nr_rrc_setup_51, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUSCH_TPC_CommandConfig", HFILL }}, @@ -50743,7 +91073,7 @@ 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_31, + { &hf_nr_rrc_setup_52, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUCCH_TPC_CommandConfig", HFILL }}, @@ -50751,10 +91081,66 @@ 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_32, + { &hf_nr_rrc_setup_53, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "SRS_TPC_CommandConfig", HFILL }}, + { &hf_nr_rrc_controlResourceSetToAddModList2_r16, + { "controlResourceSetToAddModList2-r16", "nr-rrc.controlResourceSetToAddModList2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_2_OF_ControlResourceSet", HFILL }}, + { &hf_nr_rrc_controlResourceSetToAddModList2_r16_item, + { "ControlResourceSet", "nr-rrc.ControlResourceSet_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_controlResourceSetToReleaseList_r16, + { "controlResourceSetToReleaseList-r16", "nr-rrc.controlResourceSetToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_5_OF_ControlResourceSetId_r16", HFILL }}, + { &hf_nr_rrc_controlResourceSetToReleaseList_r16_item, + { "ControlResourceSetId-r16", "nr-rrc.ControlResourceSetId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_searchSpacesToAddModListExt_r16, + { "searchSpacesToAddModListExt-r16", "nr-rrc.searchSpacesToAddModListExt_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_r16", HFILL }}, + { &hf_nr_rrc_searchSpacesToAddModListExt_r16_item, + { "SearchSpaceExt-r16", "nr-rrc.SearchSpaceExt_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_searchSpaceSwitchingTimer_r16, + { "searchSpaceSwitchingTimer-r16", "nr-rrc.searchSpaceSwitchingTimer_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_80", HFILL }}, + { &hf_nr_rrc_cellGroupsForSwitchingList_r16, + { "cellGroupsForSwitchingList-r16", "nr-rrc.cellGroupsForSwitchingList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_4_OF_CellGroupForSwitching_r16", HFILL }}, + { &hf_nr_rrc_cellGroupsForSwitchingList_r16_item, + { "CellGroupForSwitching-r16", "nr-rrc.CellGroupForSwitching_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_uplinkCancellation_r16, + { "uplinkCancellation-r16", "nr-rrc.uplinkCancellation_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkCancellation_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_54, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "UplinkCancellation_r16", HFILL }}, + { &hf_nr_rrc_monitoringCapabilityConfig_r16, + { "monitoringCapabilityConfig-r16", "nr-rrc.monitoringCapabilityConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_monitoringCapabilityConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_searchSpaceSwitchingDelay_r16, + { "searchSpaceSwitchingDelay-r16", "nr-rrc.searchSpaceSwitchingDelay_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_10_52", HFILL }}, + { &hf_nr_rrc_CellGroupForSwitching_r16_item, + { "ServCellIndex", "nr-rrc.ServCellIndex", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_controlResourceSetZero, { "controlResourceSetZero", "nr-rrc.controlResourceSetZero", FT_UINT32, BASE_DEC, NULL, 0, @@ -50827,14 +91213,30 @@ proto_register_nr_rrc(void) { { "sCS120KHZoneSixteenthT", "nr-rrc.sCS120KHZoneSixteenthT", FT_UINT32, BASE_DEC, NULL, 0, "T_sCS120KHZoneSixteenthT_01", HFILL }}, + { &hf_nr_rrc_commonSearchSpaceListExt_r16, + { "commonSearchSpaceListExt-r16", "nr-rrc.commonSearchSpaceListExt_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_r16", HFILL }}, + { &hf_nr_rrc_commonSearchSpaceListExt_r16_item, + { "SearchSpaceExt-r16", "nr-rrc.SearchSpaceExt_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_slotFormatIndicator, { "slotFormatIndicator", "nr-rrc.slotFormatIndicator", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_slotFormatIndicator_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_33, + { &hf_nr_rrc_setup_55, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "SlotFormatIndicator", HFILL }}, + { &hf_nr_rrc_availabilityIndicator_r16, + { "availabilityIndicator-r16", "nr-rrc.availabilityIndicator_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_availabilityIndicator_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_56, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "AvailabilityIndicator_r16", HFILL }}, { &hf_nr_rrc_drb, { "drb", "nr-rrc.drb_element", FT_NONE, BASE_NONE, NULL, 0, @@ -50967,6 +91369,66 @@ proto_register_nr_rrc(void) { { "cipheringDisabled", "nr-rrc.cipheringDisabled", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cipheringDisabled_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_discardTimerExt_r16, + { "discardTimerExt-r16", "nr-rrc.discardTimerExt_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_discardTimerExt_r16_vals), 0, + "T_discardTimerExt_r16", HFILL }}, + { &hf_nr_rrc_setup_57, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, VALS(nr_rrc_DiscardTimerExt_r16_vals), 0, + "DiscardTimerExt_r16", HFILL }}, + { &hf_nr_rrc_moreThanTwoRLC_DRB_r16, + { "moreThanTwoRLC-DRB-r16", "nr-rrc.moreThanTwoRLC_DRB_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_splitSecondaryPath, + { "splitSecondaryPath", "nr-rrc.splitSecondaryPath", + FT_UINT32, BASE_DEC, NULL, 0, + "LogicalChannelIdentity", HFILL }}, + { &hf_nr_rrc_duplicationState, + { "duplicationState", "nr-rrc.duplicationState", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_duplicationState_item, + { "duplicationState item", "nr-rrc.duplicationState_item", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_nr_rrc_ethernetHeaderCompression_r16, + { "ethernetHeaderCompression-r16", "nr-rrc.ethernetHeaderCompression_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ethernetHeaderCompression_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_58, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "EthernetHeaderCompression_r16", HFILL }}, + { &hf_nr_rrc_ehc_Common, + { "ehc-Common", "nr-rrc.ehc_Common_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ehc_CID_Length, + { "ehc-CID-Length", "nr-rrc.ehc_CID_Length", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ehc_CID_Length_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ehc_Downlink, + { "ehc-Downlink", "nr-rrc.ehc_Downlink_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_drb_ContinueEHC_DL, + { "drb-ContinueEHC-DL", "nr-rrc.drb_ContinueEHC_DL", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drb_ContinueEHC_DL_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ehc_Uplink, + { "ehc-Uplink", "nr-rrc.ehc_Uplink_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxCID_EHC_UL, + { "maxCID-EHC-UL", "nr-rrc.maxCID_EHC_UL", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_32767", HFILL }}, + { &hf_nr_rrc_drb_ContinueEHC_UL, + { "drb-ContinueEHC-UL", "nr-rrc.drb_ContinueEHC_UL", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drb_ContinueEHC_UL_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_dataScramblingIdentityPDSCH, { "dataScramblingIdentityPDSCH", "nr-rrc.dataScramblingIdentityPDSCH", FT_UINT32, BASE_DEC, NULL, 0, @@ -50975,7 +91437,7 @@ 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_34, + { &hf_nr_rrc_setup_59, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "DMRS_DownlinkConfig", HFILL }}, @@ -51011,7 +91473,7 @@ 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_35, + { &hf_nr_rrc_setup_60, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, NULL, 0, "PDSCH_TimeDomainResourceAllocationList", HFILL }}, @@ -51131,10 +91593,150 @@ 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_36, + { &hf_nr_rrc_setup_61, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "ZP_CSI_RS_ResourceSet", HFILL }}, + { &hf_nr_rrc_maxMIMO_Layers_r16, + { "maxMIMO-Layers-r16", "nr-rrc.maxMIMO_Layers_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxMIMO_Layers_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_62, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "MaxMIMO_LayersDL_r16", HFILL }}, + { &hf_nr_rrc_minimumSchedulingOffsetK0_r16, + { "minimumSchedulingOffsetK0-r16", "nr-rrc.minimumSchedulingOffsetK0_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_minimumSchedulingOffsetK0_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_63, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "MinSchedulingOffsetK0_Values_r16", HFILL }}, + { &hf_nr_rrc_antennaPortsFieldPresenceForDCI_Format1_2_r16, + { "antennaPortsFieldPresenceForDCI-Format1-2-r16", "nr-rrc.antennaPortsFieldPresenceForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_antennaPortsFieldPresenceForDCI_Format1_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToAddModListForDCI_Format1_2_r16, + { "aperiodicZP-CSI-RS-ResourceSetsToAddModListForDCI-Format1-2-r16", "nr-rrc.aperiodicZP_CSI_RS_ResourceSetsToAddModListForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet", HFILL }}, + { &hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToAddModListForDCI_Format1_2_r16_item, + { "ZP-CSI-RS-ResourceSet", "nr-rrc.ZP_CSI_RS_ResourceSet_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToReleaseListForDCI_Format1_2_r16, + { "aperiodicZP-CSI-RS-ResourceSetsToReleaseListForDCI-Format1-2-r16", "nr-rrc.aperiodicZP_CSI_RS_ResourceSetsToReleaseListForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId", HFILL }}, + { &hf_nr_rrc_aperiodicZP_CSI_RS_ResourceSetsToReleaseListForDCI_Format1_2_r16_item, + { "ZP-CSI-RS-ResourceSetId", "nr-rrc.ZP_CSI_RS_ResourceSetId", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA_ForDCI_Format1_2_r16, + { "dmrs-DownlinkForPDSCH-MappingTypeA-ForDCI-Format1-2-r16", "nr-rrc.dmrs_DownlinkForPDSCH_MappingTypeA_ForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_ForDCI_Format1_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeB_ForDCI_Format1_2_r16, + { "dmrs-DownlinkForPDSCH-MappingTypeB-ForDCI-Format1-2-r16", "nr-rrc.dmrs_DownlinkForPDSCH_MappingTypeB_ForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_ForDCI_Format1_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_dmrs_SequenceInitializationForDCI_Format1_2_r16, + { "dmrs-SequenceInitializationForDCI-Format1-2-r16", "nr-rrc.dmrs_SequenceInitializationForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_SequenceInitializationForDCI_Format1_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_harq_ProcessNumberSizeForDCI_Format1_2_r16, + { "harq-ProcessNumberSizeForDCI-Format1-2-r16", "nr-rrc.harq_ProcessNumberSizeForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_4", HFILL }}, + { &hf_nr_rrc_mcs_TableForDCI_Format1_2_r16, + { "mcs-TableForDCI-Format1-2-r16", "nr-rrc.mcs_TableForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_TableForDCI_Format1_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_numberOfBitsForRV_ForDCI_Format1_2_r16, + { "numberOfBitsForRV-ForDCI-Format1-2-r16", "nr-rrc.numberOfBitsForRV_ForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_2", HFILL }}, + { &hf_nr_rrc_pdsch_TimeDomainAllocationListForDCI_Format1_2_r16, + { "pdsch-TimeDomainAllocationListForDCI-Format1-2-r16", "nr-rrc.pdsch_TimeDomainAllocationListForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_TimeDomainAllocationListForDCI_Format1_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_64, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "PDSCH_TimeDomainResourceAllocationList_r16", HFILL }}, + { &hf_nr_rrc_prb_BundlingTypeForDCI_Format1_2_r16, + { "prb-BundlingTypeForDCI-Format1-2-r16", "nr-rrc.prb_BundlingTypeForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prb_BundlingTypeForDCI_Format1_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_staticBundling_r16, + { "staticBundling-r16", "nr-rrc.staticBundling_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_bundleSize_r16, + { "bundleSize-r16", "nr-rrc.bundleSize_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bundleSize_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_dynamicBundling_r16, + { "dynamicBundling-r16", "nr-rrc.dynamicBundling_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_bundleSizeSet1_r16, + { "bundleSizeSet1-r16", "nr-rrc.bundleSizeSet1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bundleSizeSet1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_bundleSizeSet2_r16, + { "bundleSizeSet2-r16", "nr-rrc.bundleSizeSet2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bundleSizeSet2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_priorityIndicatorForDCI_Format1_2_r16, + { "priorityIndicatorForDCI-Format1-2-r16", "nr-rrc.priorityIndicatorForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_priorityIndicatorForDCI_Format1_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_rateMatchPatternGroup1ForDCI_Format1_2_r16, + { "rateMatchPatternGroup1ForDCI-Format1-2-r16", "nr-rrc.rateMatchPatternGroup1ForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "RateMatchPatternGroup", HFILL }}, + { &hf_nr_rrc_rateMatchPatternGroup2ForDCI_Format1_2_r16, + { "rateMatchPatternGroup2ForDCI-Format1-2-r16", "nr-rrc.rateMatchPatternGroup2ForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "RateMatchPatternGroup", HFILL }}, + { &hf_nr_rrc_resourceAllocationType1GranularityForDCI_Format1_2_r16, + { "resourceAllocationType1GranularityForDCI-Format1-2-r16", "nr-rrc.resourceAllocationType1GranularityForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocationType1GranularityForDCI_Format1_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_vrb_ToPRB_InterleaverForDCI_Format1_2_r16, + { "vrb-ToPRB-InterleaverForDCI-Format1-2-r16", "nr-rrc.vrb_ToPRB_InterleaverForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_vrb_ToPRB_InterleaverForDCI_Format1_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_referenceOfSLIVForDCI_Format1_2_r16, + { "referenceOfSLIVForDCI-Format1-2-r16", "nr-rrc.referenceOfSLIVForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceOfSLIVForDCI_Format1_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_resourceAllocationForDCI_Format1_2_r16, + { "resourceAllocationForDCI-Format1-2-r16", "nr-rrc.resourceAllocationForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocationForDCI_Format1_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_priorityIndicatorForDCI_Format1_1_r16, + { "priorityIndicatorForDCI-Format1-1-r16", "nr-rrc.priorityIndicatorForDCI_Format1_1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_priorityIndicatorForDCI_Format1_1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_dataScramblingIdentityPDSCH2_r16, + { "dataScramblingIdentityPDSCH2-r16", "nr-rrc.dataScramblingIdentityPDSCH2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_1023", HFILL }}, + { &hf_nr_rrc_pdsch_TimeDomainAllocationList_r16, + { "pdsch-TimeDomainAllocationList-r16", "nr-rrc.pdsch_TimeDomainAllocationList_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_TimeDomainAllocationList_r16_vals), 0, + "T_pdsch_TimeDomainAllocationList_r16", HFILL }}, + { &hf_nr_rrc_repetitionSchemeConfig_r16, + { "repetitionSchemeConfig-r16", "nr-rrc.repetitionSchemeConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetitionSchemeConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_65, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, VALS(nr_rrc_RepetitionSchemeConfig_r16_vals), 0, + "RepetitionSchemeConfig_r16", HFILL }}, { &hf_nr_rrc_RateMatchPatternGroup_item, { "RateMatchPatternGroup item", "nr-rrc.RateMatchPatternGroup_item", FT_UINT32, BASE_DEC, VALS(nr_rrc_RateMatchPatternGroup_item_vals), 0, @@ -51147,6 +91749,10 @@ proto_register_nr_rrc(void) { { "bwpLevel", "nr-rrc.bwpLevel", FT_UINT32, BASE_DEC, NULL, 0, "RateMatchPatternId", HFILL }}, + { &hf_nr_rrc_MinSchedulingOffsetK0_Values_r16_item, + { "MinSchedulingOffsetK0-Values-r16 item", "nr-rrc.MinSchedulingOffsetK0_Values_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxK0_SchedulingOffset_r16", HFILL }}, { &hf_nr_rrc_pdsch_TimeDomainAllocationList_01, { "pdsch-TimeDomainAllocationList", "nr-rrc.pdsch_TimeDomainAllocationList", FT_UINT32, BASE_DEC, NULL, 0, @@ -51155,7 +91761,7 @@ 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_37, + { &hf_nr_rrc_setup_66, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDSCH_CodeBlockGroupTransmission", HFILL }}, @@ -51179,6 +91785,14 @@ proto_register_nr_rrc(void) { { "processingType2Enabled", "nr-rrc.processingType2Enabled", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, + { &hf_nr_rrc_pdsch_CodeBlockGroupTransmissionList_r16, + { "pdsch-CodeBlockGroupTransmissionList-r16", "nr-rrc.pdsch_CodeBlockGroupTransmissionList_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_CodeBlockGroupTransmissionList_r16_vals), 0, + "T_pdsch_CodeBlockGroupTransmissionList_r16", HFILL }}, + { &hf_nr_rrc_setup_67, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "PDSCH_CodeBlockGroupTransmissionList_r16", HFILL }}, { &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock, { "maxCodeBlockGroupsPerTransportBlock", "nr-rrc.maxCodeBlockGroupsPerTransportBlock", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_vals), 0, @@ -51187,6 +91801,10 @@ proto_register_nr_rrc(void) { { "codeBlockGroupFlushIndicator", "nr-rrc.codeBlockGroupFlushIndicator", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, + { &hf_nr_rrc_PDSCH_CodeBlockGroupTransmissionList_r16_item, + { "PDSCH-CodeBlockGroupTransmission", "nr-rrc.PDSCH_CodeBlockGroupTransmission_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_PDSCH_TimeDomainResourceAllocationList_item, { "PDSCH-TimeDomainResourceAllocation", "nr-rrc.PDSCH_TimeDomainResourceAllocation_element", FT_NONE, BASE_NONE, NULL, 0, @@ -51203,6 +91821,26 @@ proto_register_nr_rrc(void) { { "startSymbolAndLength", "nr-rrc.startSymbolAndLength", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_127", HFILL }}, + { &hf_nr_rrc_PDSCH_TimeDomainResourceAllocationList_r16_item, + { "PDSCH-TimeDomainResourceAllocation-r16", "nr-rrc.PDSCH_TimeDomainResourceAllocation_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_k0_r16, + { "k0-r16", "nr-rrc.k0_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_32", HFILL }}, + { &hf_nr_rrc_mappingType_r16, + { "mappingType-r16", "nr-rrc.mappingType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mappingType_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_startSymbolAndLength_r16, + { "startSymbolAndLength-r16", "nr-rrc.startSymbolAndLength_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_127", HFILL }}, + { &hf_nr_rrc_repetitionNumber_r16, + { "repetitionNumber-r16", "nr-rrc.repetitionNumber_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetitionNumber_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_phr_PeriodicTimer, { "phr-PeriodicTimer", "nr-rrc.phr_PeriodicTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_PeriodicTimer_vals), 0, @@ -51267,7 +91905,7 @@ 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_38, + { &hf_nr_rrc_setup_68, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, NULL, 0, "RNTI_Value", HFILL }}, @@ -51287,10 +91925,158 @@ proto_register_nr_rrc(void) { { "pdcch-BlindDetection", "nr-rrc.pdcch_BlindDetection", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_BlindDetection_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_39, + { &hf_nr_rrc_setup_69, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, NULL, 0, "PDCCH_BlindDetection", HFILL }}, + { &hf_nr_rrc_dcp_Config_r16, + { "dcp-Config-r16", "nr-rrc.dcp_Config_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dcp_Config_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_70, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "DCP_Config_r16", HFILL }}, + { &hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH_secondaryPUCCH_group_r16, + { "harq-ACK-SpatialBundlingPUCCH-secondaryPUCCH-group-r16", "nr-rrc.harq_ACK_SpatialBundlingPUCCH_secondaryPUCCH_group_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_ACK_SpatialBundlingPUCCH_secondaryPUCCH_group_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH_secondaryPUCCH_group_r16, + { "harq-ACK-SpatialBundlingPUSCH-secondaryPUCCH-group-r16", "nr-rrc.harq_ACK_SpatialBundlingPUSCH_secondaryPUCCH_group_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_ACK_SpatialBundlingPUSCH_secondaryPUCCH_group_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pdsch_HARQ_ACK_Codebook_secondaryPUCCH_group_r16, + { "pdsch-HARQ-ACK-Codebook-secondaryPUCCH-group-r16", "nr-rrc.pdsch_HARQ_ACK_Codebook_secondaryPUCCH_group_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_Codebook_secondaryPUCCH_group_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_p_NR_FR2_r16, + { "p-NR-FR2-r16", "nr-rrc.p_NR_FR2_r16", + FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, + "P_Max", HFILL }}, + { &hf_nr_rrc_p_UE_FR2_r16, + { "p-UE-FR2-r16", "nr-rrc.p_UE_FR2_r16", + FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, + "P_Max", HFILL }}, + { &hf_nr_rrc_nrdc_PCmode_FR1_r16, + { "nrdc-PCmode-FR1-r16", "nr-rrc.nrdc_PCmode_FR1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrdc_PCmode_FR1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nrdc_PCmode_FR2_r16, + { "nrdc-PCmode-FR2-r16", "nr-rrc.nrdc_PCmode_FR2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrdc_PCmode_FR2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pdsch_HARQ_ACK_Codebook_r16, + { "pdsch-HARQ-ACK-Codebook-r16", "nr-rrc.pdsch_HARQ_ACK_Codebook_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_Codebook_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nfi_TotalDAI_Included_r16, + { "nfi-TotalDAI-Included-r16", "nr-rrc.nfi_TotalDAI_Included_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nfi_TotalDAI_Included_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ul_TotalDAI_Included_r16, + { "ul-TotalDAI-Included-r16", "nr-rrc.ul_TotalDAI_Included_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_TotalDAI_Included_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedback_r16, + { "pdsch-HARQ-ACK-OneShotFeedback-r16", "nr-rrc.pdsch_HARQ_ACK_OneShotFeedback_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedback_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedbackNDI_r16, + { "pdsch-HARQ-ACK-OneShotFeedbackNDI-r16", "nr-rrc.pdsch_HARQ_ACK_OneShotFeedbackNDI_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackNDI_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pdsch_HARQ_ACK_OneShotFeedbackCBG_r16, + { "pdsch-HARQ-ACK-OneShotFeedbackCBG-r16", "nr-rrc.pdsch_HARQ_ACK_OneShotFeedbackCBG_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_OneShotFeedbackCBG_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_downlinkAssignmentIndexForDCI_Format0_2_r16, + { "downlinkAssignmentIndexForDCI-Format0-2-r16", "nr-rrc.downlinkAssignmentIndexForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_downlinkAssignmentIndexForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_downlinkAssignmentIndexForDCI_Format1_2_r16, + { "downlinkAssignmentIndexForDCI-Format1-2-r16", "nr-rrc.downlinkAssignmentIndexForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_downlinkAssignmentIndexForDCI_Format1_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pdsch_HARQ_ACK_CodebookList_r16, + { "pdsch-HARQ-ACK-CodebookList-r16", "nr-rrc.pdsch_HARQ_ACK_CodebookList_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_CodebookList_r16_vals), 0, + "T_pdsch_HARQ_ACK_CodebookList_r16", HFILL }}, + { &hf_nr_rrc_setup_71, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "PDSCH_HARQ_ACK_CodebookList_r16", HFILL }}, + { &hf_nr_rrc_ackNackFeedbackMode_r16, + { "ackNackFeedbackMode-r16", "nr-rrc.ackNackFeedbackMode_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ackNackFeedbackMode_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pdcch_BlindDetectionCA_CombIndicator_r16, + { "pdcch-BlindDetectionCA-CombIndicator-r16", "nr-rrc.pdcch_BlindDetectionCA_CombIndicator_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_72, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "PDCCH_BlindDetectionCA_CombIndicator_r16", HFILL }}, + { &hf_nr_rrc_pdcch_BlindDetection2_r16, + { "pdcch-BlindDetection2-r16", "nr-rrc.pdcch_BlindDetection2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_BlindDetection2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_73, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "PDCCH_BlindDetection2_r16", HFILL }}, + { &hf_nr_rrc_pdcch_BlindDetection3_r16, + { "pdcch-BlindDetection3-r16", "nr-rrc.pdcch_BlindDetection3_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_BlindDetection3_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_74, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "PDCCH_BlindDetection3_r16", HFILL }}, + { &hf_nr_rrc_bdFactorR_r16, + { "bdFactorR-r16", "nr-rrc.bdFactorR_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bdFactorR_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ps_RNTI_r16, + { "ps-RNTI-r16", "nr-rrc.ps_RNTI_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "RNTI_Value", HFILL }}, + { &hf_nr_rrc_ps_Offset_r16, + { "ps-Offset-r16", "nr-rrc.ps_Offset_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_120", HFILL }}, + { &hf_nr_rrc_sizeDCI_2_6_r16, + { "sizeDCI-2-6-r16", "nr-rrc.sizeDCI_2_6_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxDCI_2_6_Size_r16", HFILL }}, + { &hf_nr_rrc_ps_PositionDCI_2_6_r16, + { "ps-PositionDCI-2-6-r16", "nr-rrc.ps_PositionDCI_2_6_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxDCI_2_6_Size_1_r16", HFILL }}, + { &hf_nr_rrc_ps_WakeUp_r16, + { "ps-WakeUp-r16", "nr-rrc.ps_WakeUp_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ps_WakeUp_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ps_TransmitPeriodicL1_RSRP_r16, + { "ps-TransmitPeriodicL1-RSRP-r16", "nr-rrc.ps_TransmitPeriodicL1_RSRP_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ps_TransmitPeriodicL1_RSRP_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ps_TransmitOtherPeriodicCSI_r16, + { "ps-TransmitOtherPeriodicCSI-r16", "nr-rrc.ps_TransmitOtherPeriodicCSI_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ps_TransmitOtherPeriodicCSI_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16_item, + { "PDSCH-HARQ-ACK-CodebookList-r16 item", "nr-rrc.PDSCH_HARQ_ACK_CodebookList_r16_item", + FT_UINT32, BASE_DEC, VALS(nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16_item_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pdcch_BlindDetectionCA1_r16, + { "pdcch-BlindDetectionCA1-r16", "nr-rrc.pdcch_BlindDetectionCA1_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_15", HFILL }}, + { &hf_nr_rrc_pdcch_BlindDetectionCA2_r16, + { "pdcch-BlindDetectionCA2-r16", "nr-rrc.pdcch_BlindDetectionCA2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_15", HFILL }}, { &hf_nr_rrc_mcc, { "mcc", "nr-rrc.mcc", FT_UINT32, BASE_DEC, NULL, 0, @@ -51327,6 +92113,14 @@ proto_register_nr_rrc(void) { { "cellReservedForOperatorUse", "nr-rrc.cellReservedForOperatorUse", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellReservedForOperatorUse_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_iab_Support_r16_01, + { "iab-Support-r16", "nr-rrc.iab_Support_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_iab_Support_r16_01_vals), 0, + "T_iab_Support_r16_01", HFILL }}, + { &hf_nr_rrc_PLMN_IdentityList2_r16_item, + { "PLMN-Identity", "nr-rrc.PLMN_Identity_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_frequencyDensity, { "frequencyDensity", "nr-rrc.frequencyDensity", FT_UINT32, BASE_DEC, NULL, 0, @@ -51351,6 +92145,10 @@ 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_maxNrofPorts_r16, + { "maxNrofPorts-r16", "nr-rrc.maxNrofPorts_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNrofPorts_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_transformPrecoderDisabled, { "transformPrecoderDisabled", "nr-rrc.transformPrecoderDisabled_element", FT_NONE, BASE_NONE, NULL, 0, @@ -51427,7 +92225,7 @@ 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_40, + { &hf_nr_rrc_setup_75, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUCCH_FormatConfig", HFILL }}, @@ -51495,6 +92293,122 @@ proto_register_nr_rrc(void) { { "pucch-PowerControl", "nr-rrc.pucch_PowerControl_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_resourceToAddModListExt_r16, + { "resourceToAddModListExt-r16", "nr-rrc.resourceToAddModListExt_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceExt_r16", HFILL }}, + { &hf_nr_rrc_resourceToAddModListExt_r16_item, + { "PUCCH-ResourceExt-r16", "nr-rrc.PUCCH_ResourceExt_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_dl_DataToUL_ACK_r16, + { "dl-DataToUL-ACK-r16", "nr-rrc.dl_DataToUL_ACK_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_DataToUL_ACK_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_76, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "DL_DataToUL_ACK_r16", HFILL }}, + { &hf_nr_rrc_ul_AccessConfigListForDCI_Format_1_1_r16, + { "ul-AccessConfigListForDCI-Format-1-1-r16", "nr-rrc.ul_AccessConfigListForDCI_Format_1_1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_AccessConfigListForDCI_Format_1_1_r16_vals), 0, + "T_ul_AccessConfigListForDCI_Format_1_1_r16", HFILL }}, + { &hf_nr_rrc_setup_77, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "UL_AccessConfigListForDCI_Format1_1_r16", HFILL }}, + { &hf_nr_rrc_subslotLengthForPUCCH_r16, + { "subslotLengthForPUCCH-r16", "nr-rrc.subslotLengthForPUCCH_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subslotLengthForPUCCH_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_normalCP_r16, + { "normalCP-r16", "nr-rrc.normalCP_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_normalCP_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_extendedCP_r16, + { "extendedCP-r16", "nr-rrc.extendedCP_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedCP_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_dl_DataToUL_ACK_ForDCI_Format1_2_r16, + { "dl-DataToUL-ACK-ForDCI-Format1-2-r16", "nr-rrc.dl_DataToUL_ACK_ForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_DataToUL_ACK_ForDCI_Format1_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_78, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "DL_DataToUL_ACK_ForDCI_Format1_2_r16", HFILL }}, + { &hf_nr_rrc_numberOfBitsForPUCCH_ResourceIndicatorForDCI_Format1_2_r16, + { "numberOfBitsForPUCCH-ResourceIndicatorForDCI-Format1-2-r16", "nr-rrc.numberOfBitsForPUCCH_ResourceIndicatorForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_3", HFILL }}, + { &hf_nr_rrc_dmrs_UplinkTransformPrecodingPUCCH_r16, + { "dmrs-UplinkTransformPrecodingPUCCH-r16", "nr-rrc.dmrs_UplinkTransformPrecodingPUCCH_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_UplinkTransformPrecodingPUCCH_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_spatialRelationInfoToAddModList2_r16, + { "spatialRelationInfoToAddModList2-r16", "nr-rrc.spatialRelationInfoToAddModList2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfo", HFILL }}, + { &hf_nr_rrc_spatialRelationInfoToAddModList2_r16_item, + { "PUCCH-SpatialRelationInfo", "nr-rrc.PUCCH_SpatialRelationInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_spatialRelationInfoToReleaseList2_r16, + { "spatialRelationInfoToReleaseList2-r16", "nr-rrc.spatialRelationInfoToReleaseList2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfoId", HFILL }}, + { &hf_nr_rrc_spatialRelationInfoToReleaseList2_r16_item, + { "PUCCH-SpatialRelationInfoId", "nr-rrc.PUCCH_SpatialRelationInfoId", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_spatialRelationInfoToAddModListExt_r16, + { "spatialRelationInfoToAddModListExt-r16", "nr-rrc.spatialRelationInfoToAddModListExt_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoExt_r16", HFILL }}, + { &hf_nr_rrc_spatialRelationInfoToAddModListExt_r16_item, + { "PUCCH-SpatialRelationInfoExt-r16", "nr-rrc.PUCCH_SpatialRelationInfoExt_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_spatialRelationInfoToReleaseList_r16, + { "spatialRelationInfoToReleaseList-r16", "nr-rrc.spatialRelationInfoToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoId_r16", HFILL }}, + { &hf_nr_rrc_spatialRelationInfoToReleaseList_r16_item, + { "PUCCH-SpatialRelationInfoId-r16", "nr-rrc.PUCCH_SpatialRelationInfoId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_resourceGroupToAddModList_r16, + { "resourceGroupToAddModList-r16", "nr-rrc.resourceGroupToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroup_r16", HFILL }}, + { &hf_nr_rrc_resourceGroupToAddModList_r16_item, + { "PUCCH-ResourceGroup-r16", "nr-rrc.PUCCH_ResourceGroup_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_resourceGroupToReleaseList_r16, + { "resourceGroupToReleaseList-r16", "nr-rrc.resourceGroupToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroupId_r16", HFILL }}, + { &hf_nr_rrc_resourceGroupToReleaseList_r16_item, + { "PUCCH-ResourceGroupId-r16", "nr-rrc.PUCCH_ResourceGroupId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sps_PUCCH_AN_List_r16, + { "sps-PUCCH-AN-List-r16", "nr-rrc.sps_PUCCH_AN_List_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sps_PUCCH_AN_List_r16_vals), 0, + "T_sps_PUCCH_AN_List_r16", HFILL }}, + { &hf_nr_rrc_setup_79, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "SPS_PUCCH_AN_List_r16", HFILL }}, + { &hf_nr_rrc_schedulingRequestResourceToAddModList_v1610, + { "schedulingRequestResourceToAddModList-v1610", "nr-rrc.schedulingRequestResourceToAddModList_v1610", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_v1610", HFILL }}, + { &hf_nr_rrc_schedulingRequestResourceToAddModList_v1610_item, + { "SchedulingRequestResourceConfig-v1610", "nr-rrc.SchedulingRequestResourceConfig_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_interslotFrequencyHopping, { "interslotFrequencyHopping", "nr-rrc.interslotFrequencyHopping", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interslotFrequencyHopping_vals), 0, @@ -51575,6 +92489,46 @@ proto_register_nr_rrc(void) { { "format4", "nr-rrc.format4_element", FT_NONE, BASE_NONE, NULL, 0, "PUCCH_format4", HFILL }}, + { &hf_nr_rrc_interlaceAllocation_r16, + { "interlaceAllocation-r16", "nr-rrc.interlaceAllocation_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_rb_SetIndex, + { "rb-SetIndex", "nr-rrc.rb_SetIndex", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_4", HFILL }}, + { &hf_nr_rrc_interlace0, + { "interlace0", "nr-rrc.interlace0", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interlace0_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_scs15, + { "scs15", "nr-rrc.scs15", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_9", HFILL }}, + { &hf_nr_rrc_scs30, + { "scs30", "nr-rrc.scs30", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_4", HFILL }}, + { &hf_nr_rrc_formatExt_v1610, + { "formatExt-v1610", "nr-rrc.formatExt_v1610", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_formatExt_v1610_vals), 0, + "T_formatExt_v1610", HFILL }}, + { &hf_nr_rrc_interlace1_v1610, + { "interlace1-v1610", "nr-rrc.interlace1_v1610", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_9", HFILL }}, + { &hf_nr_rrc_occ_v1610, + { "occ-v1610", "nr-rrc.occ_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_occ_Length_v1610, + { "occ-Length-v1610", "nr-rrc.occ_Length_v1610", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_occ_Length_v1610_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_occ_Index_v1610, + { "occ-Index-v1610", "nr-rrc.occ_Index_v1610", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_occ_Index_v1610_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_initialCyclicShift, { "initialCyclicShift", "nr-rrc.initialCyclicShift", FT_UINT32, BASE_DEC, NULL, 0, @@ -51611,6 +92565,30 @@ proto_register_nr_rrc(void) { { "occ-Index", "nr-rrc.occ_Index", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_occ_Index_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_pucch_ResourceGroupId_r16, + { "pucch-ResourceGroupId-r16", "nr-rrc.pucch_ResourceGroupId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_resourcePerGroupList_r16, + { "resourcePerGroupList-r16", "nr-rrc.resourcePerGroupList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerGroup_r16_OF_PUCCH_ResourceId", HFILL }}, + { &hf_nr_rrc_resourcePerGroupList_r16_item, + { "PUCCH-ResourceId", "nr-rrc.PUCCH_ResourceId", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_DL_DataToUL_ACK_r16_item, + { "DL-DataToUL-ACK-r16 item", "nr-rrc.DL_DataToUL_ACK_r16_item", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER_M1_15", HFILL }}, + { &hf_nr_rrc_DL_DataToUL_ACK_ForDCI_Format1_2_r16_item, + { "DL-DataToUL-ACK-ForDCI-Format1-2-r16 item", "nr-rrc.DL_DataToUL_ACK_ForDCI_Format1_2_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_15", HFILL }}, + { &hf_nr_rrc_UL_AccessConfigListForDCI_Format1_1_r16_item, + { "UL-AccessConfigListForDCI-Format1-1-r16 item", "nr-rrc.UL_AccessConfigListForDCI_Format1_1_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_15", HFILL }}, { &hf_nr_rrc_pucch_ResourceCommon, { "pucch-ResourceCommon", "nr-rrc.pucch_ResourceCommon", FT_UINT32, BASE_DEC, NULL, 0, @@ -51627,6 +92605,10 @@ proto_register_nr_rrc(void) { { "p0-nominal", "nr-rrc.p0_nominal", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, "INTEGER_M202_24", HFILL }}, + { &hf_nr_rrc_PUCCH_ConfigurationList_r16_item, + { "PUCCH-Config", "nr-rrc.PUCCH_Config_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_deltaF_PUCCH_f0, { "deltaF-PUCCH-f0", "nr-rrc.deltaF_PUCCH_f0", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, @@ -51667,6 +92649,14 @@ 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_pathlossReferenceRSs_v1610, + { "pathlossReferenceRSs-v1610", "nr-rrc.pathlossReferenceRSs_v1610", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pathlossReferenceRSs_v1610_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_80, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "PathlossReferenceRSs_v1610", HFILL }}, { &hf_nr_rrc_p0_PUCCH_Id, { "p0-PUCCH-Id", "nr-rrc.p0_PUCCH_Id", FT_UINT32, BASE_DEC, NULL, 0, @@ -51675,6 +92665,10 @@ proto_register_nr_rrc(void) { { "p0-PUCCH-Value", "nr-rrc.p0_PUCCH_Value", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "INTEGER_M16_15", HFILL }}, + { &hf_nr_rrc_PathlossReferenceRSs_v1610_item, + { "PUCCH-PathlossReferenceRS-r16", "nr-rrc.PUCCH_PathlossReferenceRS_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_pucch_PathlossReferenceRS_Id, { "pucch-PathlossReferenceRS-Id", "nr-rrc.pucch_PathlossReferenceRS_Id", FT_UINT32, BASE_DEC, NULL, 0, @@ -51687,6 +92681,18 @@ proto_register_nr_rrc(void) { { "csi-RS-Index", "nr-rrc.csi_RS_Index", FT_UINT32, BASE_DEC, NULL, 0, "NZP_CSI_RS_ResourceId", HFILL }}, + { &hf_nr_rrc_pucch_PathlossReferenceRS_Id_r16, + { "pucch-PathlossReferenceRS-Id-r16", "nr-rrc.pucch_PathlossReferenceRS_Id_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "PUCCH_PathlossReferenceRS_Id_v1610", HFILL }}, + { &hf_nr_rrc_referenceSignal_r16, + { "referenceSignal-r16", "nr-rrc.referenceSignal_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_csi_RS_Index_r16_01, + { "csi-RS-Index-r16", "nr-rrc.csi_RS_Index_r16", + 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, @@ -51698,6 +92704,18 @@ proto_register_nr_rrc(void) { { &hf_nr_rrc_srs, { "srs", "nr-rrc.srs_element", FT_NONE, BASE_NONE, NULL, 0, + "PUCCH_SRS", 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_SpatialRelationInfoId_v1610, + { "pucch-SpatialRelationInfoId-v1610", "nr-rrc.pucch_SpatialRelationInfoId_v1610", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_pucch_PathlossReferenceRS_Id_v1610, + { "pucch-PathlossReferenceRS-Id-v1610", "nr-rrc.pucch_PathlossReferenceRS_Id_v1610", + FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_resource, { "resource", "nr-rrc.resource", @@ -51707,10 +92725,6 @@ proto_register_nr_rrc(void) { { "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, @@ -51731,7 +92745,7 @@ 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_41, + { &hf_nr_rrc_setup_81, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "DMRS_UplinkConfig", HFILL }}, @@ -51763,7 +92777,7 @@ 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_42, + { &hf_nr_rrc_setup_82, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, NULL, 0, "PUSCH_TimeDomainResourceAllocationList", HFILL }}, @@ -51799,7 +92813,7 @@ 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_43, + { &hf_nr_rrc_setup_83, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "UCI_OnPUSCH", HFILL }}, @@ -51807,6 +92821,170 @@ proto_register_nr_rrc(void) { { "tp-pi2BPSK", "nr-rrc.tp_pi2BPSK", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tp_pi2BPSK_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_minimumSchedulingOffsetK2_r16, + { "minimumSchedulingOffsetK2-r16", "nr-rrc.minimumSchedulingOffsetK2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_minimumSchedulingOffsetK2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_84, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "MinSchedulingOffsetK2_Values_r16", HFILL }}, + { &hf_nr_rrc_ul_AccessConfigListForDCI_Format0_1_r16, + { "ul-AccessConfigListForDCI-Format0-1-r16", "nr-rrc.ul_AccessConfigListForDCI_Format0_1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_AccessConfigListForDCI_Format0_1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_85, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "UL_AccessConfigListForDCI_Format0_1_r16", HFILL }}, + { &hf_nr_rrc_harq_ProcessNumberSizeForDCI_Format0_2_r16, + { "harq-ProcessNumberSizeForDCI-Format0-2-r16", "nr-rrc.harq_ProcessNumberSizeForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_4", HFILL }}, + { &hf_nr_rrc_dmrs_SequenceInitializationForDCI_Format0_2_r16, + { "dmrs-SequenceInitializationForDCI-Format0-2-r16", "nr-rrc.dmrs_SequenceInitializationForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_SequenceInitializationForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_numberOfBitsForRV_ForDCI_Format0_2_r16, + { "numberOfBitsForRV-ForDCI-Format0-2-r16", "nr-rrc.numberOfBitsForRV_ForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_2", HFILL }}, + { &hf_nr_rrc_antennaPortsFieldPresenceForDCI_Format0_2_r16, + { "antennaPortsFieldPresenceForDCI-Format0-2-r16", "nr-rrc.antennaPortsFieldPresenceForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_antennaPortsFieldPresenceForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA_ForDCI_Format0_2_r16, + { "dmrs-UplinkForPUSCH-MappingTypeA-ForDCI-Format0-2-r16", "nr-rrc.dmrs_UplinkForPUSCH_MappingTypeA_ForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_ForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB_ForDCI_Format0_2_r16, + { "dmrs-UplinkForPUSCH-MappingTypeB-ForDCI-Format0-2-r16", "nr-rrc.dmrs_UplinkForPUSCH_MappingTypeB_ForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_ForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_frequencyHoppingForDCI_Format0_2_r16, + { "frequencyHoppingForDCI-Format0-2-r16", "nr-rrc.frequencyHoppingForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyHoppingForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pusch_RepTypeA, + { "pusch-RepTypeA", "nr-rrc.pusch_RepTypeA", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_RepTypeA_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pusch_RepTypeB, + { "pusch-RepTypeB", "nr-rrc.pusch_RepTypeB", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_RepTypeB_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_frequencyHoppingOffsetListsForDCI_Format0_2_r16, + { "frequencyHoppingOffsetListsForDCI-Format0-2-r16", "nr-rrc.frequencyHoppingOffsetListsForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyHoppingOffsetListsForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_86, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "FrequencyHoppingOffsetListsForDCI_Format0_2_r16", HFILL }}, + { &hf_nr_rrc_codebookSubsetForDCI_Format0_2_r16, + { "codebookSubsetForDCI-Format0-2-r16", "nr-rrc.codebookSubsetForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookSubsetForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_invalidSymbolPatternIndicatorForDCI_Format0_2_r16, + { "invalidSymbolPatternIndicatorForDCI-Format0-2-r16", "nr-rrc.invalidSymbolPatternIndicatorForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_invalidSymbolPatternIndicatorForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxRankForDCI_Format0_2_r16, + { "maxRankForDCI-Format0-2-r16", "nr-rrc.maxRankForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_4", HFILL }}, + { &hf_nr_rrc_mcs_TableForDCI_Format0_2_r16, + { "mcs-TableForDCI-Format0-2-r16", "nr-rrc.mcs_TableForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_TableForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_mcs_TableTransformPrecoderForDCI_Format0_2_r16, + { "mcs-TableTransformPrecoderForDCI-Format0-2-r16", "nr-rrc.mcs_TableTransformPrecoderForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_TableTransformPrecoderForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_priorityIndicatorForDCI_Format0_2_r16, + { "priorityIndicatorForDCI-Format0-2-r16", "nr-rrc.priorityIndicatorForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_priorityIndicatorForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pusch_RepTypeIndicatorForDCI_Format0_2_r16, + { "pusch-RepTypeIndicatorForDCI-Format0-2-r16", "nr-rrc.pusch_RepTypeIndicatorForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_RepTypeIndicatorForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_resourceAllocationForDCI_Format0_2_r16, + { "resourceAllocationForDCI-Format0-2-r16", "nr-rrc.resourceAllocationForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocationForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_resourceAllocationType1GranularityForDCI_Format0_2_r16, + { "resourceAllocationType1GranularityForDCI-Format0-2-r16", "nr-rrc.resourceAllocationType1GranularityForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocationType1GranularityForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_uci_OnPUSCH_ListForDCI_Format0_2_r16, + { "uci-OnPUSCH-ListForDCI-Format0-2-r16", "nr-rrc.uci_OnPUSCH_ListForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_OnPUSCH_ListForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_87, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "UCI_OnPUSCH_ListForDCI_Format0_2_r16", HFILL }}, + { &hf_nr_rrc_pusch_TimeDomainAllocationListForDCI_Format0_2_r16, + { "pusch-TimeDomainAllocationListForDCI-Format0-2-r16", "nr-rrc.pusch_TimeDomainAllocationListForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_TimeDomainAllocationListForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_88, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "PUSCH_TimeDomainResourceAllocationList_r16", HFILL }}, + { &hf_nr_rrc_pusch_TimeDomainAllocationListForDCI_Format0_1_r16, + { "pusch-TimeDomainAllocationListForDCI-Format0-1-r16", "nr-rrc.pusch_TimeDomainAllocationListForDCI_Format0_1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_TimeDomainAllocationListForDCI_Format0_1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_invalidSymbolPatternIndicatorForDCI_Format0_1_r16, + { "invalidSymbolPatternIndicatorForDCI-Format0-1-r16", "nr-rrc.invalidSymbolPatternIndicatorForDCI_Format0_1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_invalidSymbolPatternIndicatorForDCI_Format0_1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_priorityIndicatorForDCI_Format0_1_r16, + { "priorityIndicatorForDCI-Format0-1-r16", "nr-rrc.priorityIndicatorForDCI_Format0_1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_priorityIndicatorForDCI_Format0_1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pusch_RepTypeIndicatorForDCI_Format0_1_r16, + { "pusch-RepTypeIndicatorForDCI-Format0-1-r16", "nr-rrc.pusch_RepTypeIndicatorForDCI_Format0_1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_RepTypeIndicatorForDCI_Format0_1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_frequencyHoppingForDCI_Format0_1_r16, + { "frequencyHoppingForDCI-Format0-1-r16", "nr-rrc.frequencyHoppingForDCI_Format0_1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyHoppingForDCI_Format0_1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_uci_OnPUSCH_ListForDCI_Format0_1_r16, + { "uci-OnPUSCH-ListForDCI-Format0-1-r16", "nr-rrc.uci_OnPUSCH_ListForDCI_Format0_1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_OnPUSCH_ListForDCI_Format0_1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_89, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "UCI_OnPUSCH_ListForDCI_Format0_1_r16", HFILL }}, + { &hf_nr_rrc_invalidSymbolPattern_r16, + { "invalidSymbolPattern-r16", "nr-rrc.invalidSymbolPattern_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_pusch_PowerControl_v1610, + { "pusch-PowerControl-v1610", "nr-rrc.pusch_PowerControl_v1610", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_PowerControl_v1610_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_90, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "PUSCH_PowerControl_v1610", HFILL }}, + { &hf_nr_rrc_ul_FullPowerTransmission_r16, + { "ul-FullPowerTransmission-r16", "nr-rrc.ul_FullPowerTransmission_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_FullPowerTransmission_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pusch_TimeDomainAllocationListForMultiPUSCH_r16, + { "pusch-TimeDomainAllocationListForMultiPUSCH-r16", "nr-rrc.pusch_TimeDomainAllocationListForMultiPUSCH_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_TimeDomainAllocationListForMultiPUSCH_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_numberOfInvalidSymbolsForDL_UL_Switching_r16, + { "numberOfInvalidSymbolsForDL-UL-Switching-r16", "nr-rrc.numberOfInvalidSymbolsForDL_UL_Switching_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_4", HFILL }}, { &hf_nr_rrc_betaOffsets, { "betaOffsets", "nr-rrc.betaOffsets", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_betaOffsets_vals), 0, @@ -51819,6 +92997,58 @@ proto_register_nr_rrc(void) { { "scaling", "nr-rrc.scaling", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scaling_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_MinSchedulingOffsetK2_Values_r16_item, + { "MinSchedulingOffsetK2-Values-r16 item", "nr-rrc.MinSchedulingOffsetK2_Values_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxK2_SchedulingOffset_r16", HFILL }}, + { &hf_nr_rrc_betaOffsetsForDCI_Format0_2_r16, + { "betaOffsetsForDCI-Format0-2-r16", "nr-rrc.betaOffsetsForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_betaOffsetsForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_dynamicForDCI_Format0_2_r16, + { "dynamicForDCI-Format0-2-r16", "nr-rrc.dynamicForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_oneBit_r16, + { "oneBit-r16", "nr-rrc.oneBit_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_2_OF_BetaOffsets", HFILL }}, + { &hf_nr_rrc_oneBit_r16_item, + { "BetaOffsets", "nr-rrc.BetaOffsets_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_twoBits_r16, + { "twoBits-r16", "nr-rrc.twoBits_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_4_OF_BetaOffsets", HFILL }}, + { &hf_nr_rrc_twoBits_r16_item, + { "BetaOffsets", "nr-rrc.BetaOffsets_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_semiStaticForDCI_Format0_2_r16, + { "semiStaticForDCI-Format0-2-r16", "nr-rrc.semiStaticForDCI_Format0_2_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "BetaOffsets", HFILL }}, + { &hf_nr_rrc_scalingForDCI_Format0_2_r16, + { "scalingForDCI-Format0-2-r16", "nr-rrc.scalingForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scalingForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_FrequencyHoppingOffsetListsForDCI_Format0_2_r16_item, + { "FrequencyHoppingOffsetListsForDCI-Format0-2-r16 item", "nr-rrc.FrequencyHoppingOffsetListsForDCI_Format0_2_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxNrofPhysicalResourceBlocks_1", HFILL }}, + { &hf_nr_rrc_UCI_OnPUSCH_ListForDCI_Format0_2_r16_item, + { "UCI-OnPUSCH-ForDCI-Format0-2-r16", "nr-rrc.UCI_OnPUSCH_ForDCI_Format0_2_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_UCI_OnPUSCH_ListForDCI_Format0_1_r16_item, + { "UCI-OnPUSCH", "nr-rrc.UCI_OnPUSCH_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_UL_AccessConfigListForDCI_Format0_1_r16_item, + { "UL-AccessConfigListForDCI-Format0-1-r16 item", "nr-rrc.UL_AccessConfigListForDCI_Format0_1_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_63", HFILL }}, { &hf_nr_rrc_groupHoppingEnabledTransformPrecoding, { "groupHoppingEnabledTransformPrecoding", "nr-rrc.groupHoppingEnabledTransformPrecoding", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupHoppingEnabledTransformPrecoding_vals), 0, @@ -51915,6 +93145,14 @@ proto_register_nr_rrc(void) { { "referenceSignal", "nr-rrc.referenceSignal", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_02_vals), 0, "T_referenceSignal_02", HFILL }}, + { &hf_nr_rrc_pusch_PathlossReferenceRS_Id_r16, + { "pusch-PathlossReferenceRS-Id-r16", "nr-rrc.pusch_PathlossReferenceRS_Id_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "PUSCH_PathlossReferenceRS_Id_v1610", HFILL }}, + { &hf_nr_rrc_referenceSignal_r16_01, + { "referenceSignal-r16", "nr-rrc.referenceSignal_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_r16_01_vals), 0, + "T_referenceSignal_r16_01", HFILL }}, { &hf_nr_rrc_sri_PUSCH_PowerControlId, { "sri-PUSCH-PowerControlId", "nr-rrc.sri_PUSCH_PowerControlId", FT_UINT32, BASE_DEC, NULL, 0, @@ -51931,11 +93169,59 @@ proto_register_nr_rrc(void) { { "sri-PUSCH-ClosedLoopIndex", "nr-rrc.sri_PUSCH_ClosedLoopIndex", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sri_PUSCH_ClosedLoopIndex_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_pathlossReferenceRSToAddModList2_r16, + { "pathlossReferenceRSToAddModList2-r16", "nr-rrc.pathlossReferenceRSToAddModList2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_r16", HFILL }}, + { &hf_nr_rrc_pathlossReferenceRSToAddModList2_r16_item, + { "PUSCH-PathlossReferenceRS-r16", "nr-rrc.PUSCH_PathlossReferenceRS_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_pathlossReferenceRSToReleaseList2_r16, + { "pathlossReferenceRSToReleaseList2-r16", "nr-rrc.pathlossReferenceRSToReleaseList2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_Id_v1610", HFILL }}, + { &hf_nr_rrc_pathlossReferenceRSToReleaseList2_r16_item, + { "PUSCH-PathlossReferenceRS-Id-v1610", "nr-rrc.PUSCH_PathlossReferenceRS_Id_v1610", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_p0_PUSCH_SetList_r16, + { "p0-PUSCH-SetList-r16", "nr-rrc.p0_PUSCH_SetList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16", HFILL }}, + { &hf_nr_rrc_p0_PUSCH_SetList_r16_item, + { "P0-PUSCH-Set-r16", "nr-rrc.P0_PUSCH_Set_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_olpc_ParameterSet, + { "olpc-ParameterSet", "nr-rrc.olpc_ParameterSet_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_olpc_ParameterSetForDCI_Format0_1_r16, + { "olpc-ParameterSetForDCI-Format0-1-r16", "nr-rrc.olpc_ParameterSetForDCI_Format0_1_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_2", HFILL }}, + { &hf_nr_rrc_olpc_ParameterSetForDCI_Format0_2_r16, + { "olpc-ParameterSetForDCI-Format0-2-r16", "nr-rrc.olpc_ParameterSetForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_2", HFILL }}, + { &hf_nr_rrc_p0_PUSCH_SetId_r16, + { "p0-PUSCH-SetId-r16", "nr-rrc.p0_PUSCH_SetId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_p0_List_r16, + { "p0-List-r16", "nr-rrc.p0_List_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofP0_PUSCH_Set_r16_OF_P0_PUSCH_r16", HFILL }}, + { &hf_nr_rrc_p0_List_r16_item, + { "P0-PUSCH-r16", "nr-rrc.P0_PUSCH_r16", + FT_INT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_codeBlockGroupTransmission_01, { "codeBlockGroupTransmission", "nr-rrc.codeBlockGroupTransmission", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codeBlockGroupTransmission_01_vals), 0, "T_codeBlockGroupTransmission_01", HFILL }}, - { &hf_nr_rrc_setup_44, + { &hf_nr_rrc_setup_91, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUSCH_CodeBlockGroupTransmission", HFILL }}, @@ -51951,6 +93237,14 @@ proto_register_nr_rrc(void) { { "maxMIMO-Layers", "nr-rrc.maxMIMO_Layers", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4", HFILL }}, + { &hf_nr_rrc_maxMIMO_LayersForDCI_Format0_2_r16, + { "maxMIMO-LayersForDCI-Format0-2-r16", "nr-rrc.maxMIMO_LayersForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxMIMO_LayersForDCI_Format0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_92, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "MaxMIMO_LayersForDCI_Format0_2_r16", HFILL }}, { &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock_01, { "maxCodeBlockGroupsPerTransportBlock", "nr-rrc.maxCodeBlockGroupsPerTransportBlock", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01_vals), 0, @@ -51967,6 +93261,38 @@ proto_register_nr_rrc(void) { { "mappingType", "nr-rrc.mappingType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mappingType_01_vals), 0, "T_mappingType_01", HFILL }}, + { &hf_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16_item, + { "PUSCH-TimeDomainResourceAllocation-r16", "nr-rrc.PUSCH_TimeDomainResourceAllocation_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_k2_r16, + { "k2-r16", "nr-rrc.k2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_32", HFILL }}, + { &hf_nr_rrc_puschAllocationList_r16, + { "puschAllocationList-r16", "nr-rrc.puschAllocationList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofMultiplePUSCHs_r16_OF_PUSCH_Allocation_r16", HFILL }}, + { &hf_nr_rrc_puschAllocationList_r16_item, + { "PUSCH-Allocation-r16", "nr-rrc.PUSCH_Allocation_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_mappingType_r16_01, + { "mappingType-r16", "nr-rrc.mappingType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mappingType_r16_01_vals), 0, + "T_mappingType_r16_01", HFILL }}, + { &hf_nr_rrc_startSymbol_r16, + { "startSymbol-r16", "nr-rrc.startSymbol_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_13", HFILL }}, + { &hf_nr_rrc_length_r16, + { "length-r16", "nr-rrc.length_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_14", HFILL }}, + { &hf_nr_rrc_numberOfRepetitions_r16, + { "numberOfRepetitions-r16", "nr-rrc.numberOfRepetitions_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numberOfRepetitions_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_tpc_Index, { "tpc-Index", "nr-rrc.tpc_Index", FT_UINT32, BASE_DEC, NULL, 0, @@ -51991,6 +93317,14 @@ proto_register_nr_rrc(void) { { "quantityConfigEUTRA", "nr-rrc.quantityConfigEUTRA_element", FT_NONE, BASE_NONE, NULL, 0, "FilterConfig", HFILL }}, + { &hf_nr_rrc_quantityConfigUTRA_FDD_r16, + { "quantityConfigUTRA-FDD-r16", "nr-rrc.quantityConfigUTRA_FDD_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_quantityConfigCLI_r16, + { "quantityConfigCLI-r16", "nr-rrc.quantityConfigCLI_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "FilterConfigCLI_r16", HFILL }}, { &hf_nr_rrc_quantityConfigCell, { "quantityConfigCell", "nr-rrc.quantityConfigCell_element", FT_NONE, BASE_NONE, NULL, 0, @@ -52019,6 +93353,22 @@ proto_register_nr_rrc(void) { { "filterCoefficientRS-SINR", "nr-rrc.filterCoefficientRS_SINR", FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0, "FilterCoefficient", HFILL }}, + { &hf_nr_rrc_filterCoefficientSRS_RSRP_r16, + { "filterCoefficientSRS-RSRP-r16", "nr-rrc.filterCoefficientSRS_RSRP_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0, + "FilterCoefficient", HFILL }}, + { &hf_nr_rrc_filterCoefficientCLI_RSSI_r16, + { "filterCoefficientCLI-RSSI-r16", "nr-rrc.filterCoefficientCLI_RSSI_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0, + "FilterCoefficient", HFILL }}, + { &hf_nr_rrc_filterCoefficientRSCP_r16, + { "filterCoefficientRSCP-r16", "nr-rrc.filterCoefficientRSCP_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0, + "FilterCoefficient", HFILL }}, + { &hf_nr_rrc_filterCoefficientEcNO_r16, + { "filterCoefficientEcNO-r16", "nr-rrc.filterCoefficientEcNO_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0, + "FilterCoefficient", HFILL }}, { &hf_nr_rrc_rach_ConfigGeneric, { "rach-ConfigGeneric", "nr-rrc.rach_ConfigGeneric_element", FT_NONE, BASE_NONE, NULL, 0, @@ -52107,10 +93457,126 @@ proto_register_nr_rrc(void) { { "msg3-transformPrecoder", "nr-rrc.msg3_transformPrecoder", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg3_transformPrecoder_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_ra_PrioritizationForAccessIdentity, + { "ra-PrioritizationForAccessIdentity", "nr-rrc.ra_PrioritizationForAccessIdentity_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ra_Prioritization_r16, + { "ra-Prioritization-r16", "nr-rrc.ra_Prioritization_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "RA_Prioritization", HFILL }}, + { &hf_nr_rrc_ra_PrioritizationForAI_r16, + { "ra-PrioritizationForAI-r16", "nr-rrc.ra_PrioritizationForAI_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_2", HFILL }}, + { &hf_nr_rrc_prach_RootSequenceIndex_r16, + { "prach-RootSequenceIndex-r16", "nr-rrc.prach_RootSequenceIndex_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prach_RootSequenceIndex_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_l571, + { "l571", "nr-rrc.l571", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_569", HFILL }}, + { &hf_nr_rrc_l1151, + { "l1151", "nr-rrc.l1151", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_1149", HFILL }}, + { &hf_nr_rrc_rach_ConfigGenericTwoStepRA_r16, + { "rach-ConfigGenericTwoStepRA-r16", "nr-rrc.rach_ConfigGenericTwoStepRA_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_msgA_TotalNumberOfRA_Preambles_r16, + { "msgA-TotalNumberOfRA-Preambles-r16", "nr-rrc.msgA_TotalNumberOfRA_Preambles_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_63", HFILL }}, + { &hf_nr_rrc_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16, + { "msgA-SSB-PerRACH-OccasionAndCB-PreamblesPerSSB-r16", "nr-rrc.msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_oneEighth_01, + { "oneEighth", "nr-rrc.oneEighth", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneEighth_01_vals), 0, + "T_oneEighth_01", HFILL }}, + { &hf_nr_rrc_oneFourth_01, + { "oneFourth", "nr-rrc.oneFourth", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneFourth_01_vals), 0, + "T_oneFourth_01", HFILL }}, + { &hf_nr_rrc_oneHalf_01, + { "oneHalf", "nr-rrc.oneHalf", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneHalf_01_vals), 0, + "T_oneHalf_01", HFILL }}, + { &hf_nr_rrc_one_02, + { "one", "nr-rrc.one", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_one_01_vals), 0, + "T_one_01", HFILL }}, + { &hf_nr_rrc_two_02, + { "two", "nr-rrc.two", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_two_02_vals), 0, + "T_two_02", HFILL }}, + { &hf_nr_rrc_msgA_CB_PreamblesPerSSB_PerSharedRO_r16, + { "msgA-CB-PreamblesPerSSB-PerSharedRO-r16", "nr-rrc.msgA_CB_PreamblesPerSSB_PerSharedRO_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_60", HFILL }}, + { &hf_nr_rrc_msgA_SSB_SharedRO_MaskIndex_r16, + { "msgA-SSB-SharedRO-MaskIndex-r16", "nr-rrc.msgA_SSB_SharedRO_MaskIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_15", HFILL }}, + { &hf_nr_rrc_groupB_ConfiguredTwoStepRA_r16, + { "groupB-ConfiguredTwoStepRA-r16", "nr-rrc.groupB_ConfiguredTwoStepRA_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_msgA_PRACH_RootSequenceIndex_r16, + { "msgA-PRACH-RootSequenceIndex-r16", "nr-rrc.msgA_PRACH_RootSequenceIndex_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_PRACH_RootSequenceIndex_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_msgA_TransMax_r16, + { "msgA-TransMax-r16", "nr-rrc.msgA_TransMax_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_TransMax_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_msgA_RSRP_Threshold_r16, + { "msgA-RSRP-Threshold-r16", "nr-rrc.msgA_RSRP_Threshold_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0, + "RSRP_Range", HFILL }}, + { &hf_nr_rrc_msgA_RSRP_ThresholdSSB_r16, + { "msgA-RSRP-ThresholdSSB-r16", "nr-rrc.msgA_RSRP_ThresholdSSB_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0, + "RSRP_Range", HFILL }}, + { &hf_nr_rrc_msgA_SubcarrierSpacing_r16, + { "msgA-SubcarrierSpacing-r16", "nr-rrc.msgA_SubcarrierSpacing_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0, + "SubcarrierSpacing", HFILL }}, + { &hf_nr_rrc_msgA_RestrictedSetConfig_r16, + { "msgA-RestrictedSetConfig-r16", "nr-rrc.msgA_RestrictedSetConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_RestrictedSetConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ra_PrioritizationForAccessIdentityTwoStep_r16, + { "ra-PrioritizationForAccessIdentityTwoStep-r16", "nr-rrc.ra_PrioritizationForAccessIdentityTwoStep_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ra_ContentionResolutionTimer_r16, + { "ra-ContentionResolutionTimer-r16", "nr-rrc.ra_ContentionResolutionTimer_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ContentionResolutionTimer_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ra_MsgA_SizeGroupA, + { "ra-MsgA-SizeGroupA", "nr-rrc.ra_MsgA_SizeGroupA", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_MsgA_SizeGroupA_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_messagePowerOffsetGroupB_01, + { "messagePowerOffsetGroupB", "nr-rrc.messagePowerOffsetGroupB", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_messagePowerOffsetGroupB_01_vals), 0, + "T_messagePowerOffsetGroupB_01", HFILL }}, + { &hf_nr_rrc_numberofRA_PreamblesGroupA, + { "numberofRA-PreamblesGroupA", "nr-rrc.numberofRA_PreamblesGroupA", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_64", HFILL }}, { &hf_nr_rrc_cfra, { "cfra", "nr-rrc.cfra_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_cfra_TwoStep_r16, + { "cfra-TwoStep-r16", "nr-rrc.cfra_TwoStep_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_occasions, { "occasions", "nr-rrc.occasions_element", FT_NONE, BASE_NONE, NULL, 0, @@ -52151,6 +93617,30 @@ proto_register_nr_rrc(void) { { "rsrp-ThresholdCSI-RS", "nr-rrc.rsrp_ThresholdCSI_RS", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0, "RSRP_Range", HFILL }}, + { &hf_nr_rrc_occasionsTwoStepRA_r16, + { "occasionsTwoStepRA-r16", "nr-rrc.occasionsTwoStepRA_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ssb_PerRACH_OccasionTwoStepRA_r16, + { "ssb-PerRACH-OccasionTwoStepRA-r16", "nr-rrc.ssb_PerRACH_OccasionTwoStepRA_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_PerRACH_OccasionTwoStepRA_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_msgA_CFRA_PUSCH_r16, + { "msgA-CFRA-PUSCH-r16", "nr-rrc.msgA_CFRA_PUSCH_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "MsgA_PUSCH_Resource_r16", HFILL }}, + { &hf_nr_rrc_msgA_TransMax_r16_01, + { "msgA-TransMax-r16", "nr-rrc.msgA_TransMax_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_TransMax_r16_01_vals), 0, + "T_msgA_TransMax_r16_01", HFILL }}, + { &hf_nr_rrc_resourcesTwoStep_r16, + { "resourcesTwoStep-r16", "nr-rrc.resourcesTwoStep_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_msgA_PUSCH_resource_Index_r16, + { "msgA-PUSCH-resource-Index-r16", "nr-rrc.msgA_PUSCH_resource_Index_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_3071", HFILL }}, { &hf_nr_rrc_csi_RS_02, { "csi-RS", "nr-rrc.csi_RS", FT_UINT32, BASE_DEC, NULL, 0, @@ -52191,6 +93681,58 @@ proto_register_nr_rrc(void) { { "ra-ResponseWindow", "nr-rrc.ra_ResponseWindow", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ResponseWindow_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_prach_ConfigurationPeriodScaling_IAB_r16, + { "prach-ConfigurationPeriodScaling-IAB-r16", "nr-rrc.prach_ConfigurationPeriodScaling_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prach_ConfigurationPeriodScaling_IAB_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_prach_ConfigurationFrameOffset_IAB_r16, + { "prach-ConfigurationFrameOffset-IAB-r16", "nr-rrc.prach_ConfigurationFrameOffset_IAB_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_63", HFILL }}, + { &hf_nr_rrc_prach_ConfigurationSOffset_IAB_r16, + { "prach-ConfigurationSOffset-IAB-r16", "nr-rrc.prach_ConfigurationSOffset_IAB_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_39", HFILL }}, + { &hf_nr_rrc_ra_ResponseWindow_v1610, + { "ra-ResponseWindow-v1610", "nr-rrc.ra_ResponseWindow_v1610", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ResponseWindow_v1610_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_prach_ConfigurationIndex_v1610, + { "prach-ConfigurationIndex-v1610", "nr-rrc.prach_ConfigurationIndex_v1610", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_256_262", HFILL }}, + { &hf_nr_rrc_msgA_PRACH_ConfigurationIndex_r16, + { "msgA-PRACH-ConfigurationIndex-r16", "nr-rrc.msgA_PRACH_ConfigurationIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_262", HFILL }}, + { &hf_nr_rrc_msgA_RO_FDM_r16, + { "msgA-RO-FDM-r16", "nr-rrc.msgA_RO_FDM_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_RO_FDM_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_msgA_RO_FrequencyStart_r16, + { "msgA-RO-FrequencyStart-r16", "nr-rrc.msgA_RO_FrequencyStart_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }}, + { &hf_nr_rrc_msgA_ZeroCorrelationZoneConfig_r16, + { "msgA-ZeroCorrelationZoneConfig-r16", "nr-rrc.msgA_ZeroCorrelationZoneConfig_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_15", HFILL }}, + { &hf_nr_rrc_msgA_PreamblePowerRampingStep_r16, + { "msgA-PreamblePowerRampingStep-r16", "nr-rrc.msgA_PreamblePowerRampingStep_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_PreamblePowerRampingStep_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_msgA_PreambleReceivedTargetPower_r16, + { "msgA-PreambleReceivedTargetPower-r16", "nr-rrc.msgA_PreambleReceivedTargetPower_r16", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER_M202_M60", HFILL }}, + { &hf_nr_rrc_msgB_ResponseWindow_r16, + { "msgB-ResponseWindow-r16", "nr-rrc.msgB_ResponseWindow_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgB_ResponseWindow_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_preambleTransMax_r16, + { "preambleTransMax-r16", "nr-rrc.preambleTransMax_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preambleTransMax_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_powerRampingStepHighPriority, { "powerRampingStepHighPriority", "nr-rrc.powerRampingStepHighPriority", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerRampingStepHighPriority_vals), 0, @@ -52263,6 +93805,10 @@ proto_register_nr_rrc(void) { { "recoverPDCP", "nr-rrc.recoverPDCP", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_recoverPDCP_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_daps_Config_r16, + { "daps-Config-r16", "nr-rrc.daps_Config_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_daps_Config_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_DRB_ToReleaseList_item, { "DRB-Identity", "nr-rrc.DRB_Identity", FT_UINT32, BASE_DEC, NULL, 0, @@ -52327,46 +93873,10 @@ proto_register_nr_rrc(void) { { "symbolsInResourceBlock", "nr-rrc.symbolsInResourceBlock", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_symbolsInResourceBlock_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_oneSlot, - { "oneSlot", "nr-rrc.oneSlot", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_14", HFILL }}, - { &hf_nr_rrc_twoSlots, - { "twoSlots", "nr-rrc.twoSlots", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_28", HFILL }}, { &hf_nr_rrc_periodicityAndPattern, { "periodicityAndPattern", "nr-rrc.periodicityAndPattern", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndPattern_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_n2, - { "n2", "nr-rrc.n2", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_2", HFILL }}, - { &hf_nr_rrc_n4, - { "n4", "nr-rrc.n4", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_4", HFILL }}, - { &hf_nr_rrc_n5, - { "n5", "nr-rrc.n5", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_5", HFILL }}, - { &hf_nr_rrc_n8, - { "n8", "nr-rrc.n8", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_8", HFILL }}, - { &hf_nr_rrc_n10, - { "n10", "nr-rrc.n10", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_10", HFILL }}, - { &hf_nr_rrc_n20, - { "n20", "nr-rrc.n20", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_20", HFILL }}, - { &hf_nr_rrc_n40, - { "n40", "nr-rrc.n40", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_40", HFILL }}, { &hf_nr_rrc_controlResourceSet, { "controlResourceSet", "nr-rrc.controlResourceSet", FT_UINT32, BASE_DEC, NULL, 0, @@ -52375,6 +93885,10 @@ proto_register_nr_rrc(void) { { "dummy", "nr-rrc.dummy", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy_01_vals), 0, "T_dummy_01", HFILL }}, + { &hf_nr_rrc_controlResourceSet_r16, + { "controlResourceSet-r16", "nr-rrc.controlResourceSet_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ControlResourceSetId_r16", HFILL }}, { &hf_nr_rrc_carrierFreqDL, { "carrierFreqDL", "nr-rrc.carrierFreqDL", FT_UINT32, BASE_DEC, NULL, 0, @@ -52395,15 +93909,83 @@ proto_register_nr_rrc(void) { { "v-Shift", "nr-rrc.v_Shift", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_v_Shift_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_reportType, - { "reportType", "nr-rrc.reportType", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportType_vals), 0, + { &hf_nr_rrc_LTE_CRS_PatternList_r16_item, + { "RateMatchPatternLTE-CRS", "nr-rrc.RateMatchPatternLTE_CRS_element", + FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_periodical, + { &hf_nr_rrc_time_r16, + { "time-r16", "nr-rrc.time_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "ReferenceTime_r16", HFILL }}, + { &hf_nr_rrc_uncertainty_r16, + { "uncertainty-r16", "nr-rrc.uncertainty_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_32767", HFILL }}, + { &hf_nr_rrc_timeInfoType_r16, + { "timeInfoType-r16", "nr-rrc.timeInfoType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeInfoType_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_referenceSFN_r16, + { "referenceSFN-r16", "nr-rrc.referenceSFN_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_1023", HFILL }}, + { &hf_nr_rrc_refDays_r16, + { "refDays-r16", "nr-rrc.refDays_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_72999", HFILL }}, + { &hf_nr_rrc_refSeconds_r16, + { "refSeconds-r16", "nr-rrc.refSeconds_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_86399", HFILL }}, + { &hf_nr_rrc_refMilliSeconds_r16, + { "refMilliSeconds-r16", "nr-rrc.refMilliSeconds_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_999", HFILL }}, + { &hf_nr_rrc_refTenNanoSeconds_r16, + { "refTenNanoSeconds-r16", "nr-rrc.refTenNanoSeconds_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_99999", HFILL }}, + { &hf_nr_rrc_fdm_TDM_r16, + { "fdm-TDM-r16", "nr-rrc.fdm_TDM_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fdm_TDM_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_93, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "FDM_TDM_r16", HFILL }}, + { &hf_nr_rrc_slotBased_r16, + { "slotBased-r16", "nr-rrc.slotBased_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_slotBased_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_94, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "SlotBased_r16", HFILL }}, + { &hf_nr_rrc_repetitionScheme_r16, + { "repetitionScheme-r16", "nr-rrc.repetitionScheme_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetitionScheme_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_startingSymbolOffsetK_r16, + { "startingSymbolOffsetK-r16", "nr-rrc.startingSymbolOffsetK_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_7", HFILL }}, + { &hf_nr_rrc_tciMapping_r16, + { "tciMapping-r16", "nr-rrc.tciMapping_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tciMapping_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sequenceOffsetforRV_r16, + { "sequenceOffsetforRV-r16", "nr-rrc.sequenceOffsetforRV_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_3", 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, "PeriodicalReportConfigInterRAT", HFILL }}, - { &hf_nr_rrc_eventTriggered, + { &hf_nr_rrc_eventTriggered_01, { "eventTriggered", "nr-rrc.eventTriggered_element", FT_NONE, BASE_NONE, NULL, 0, "EventTriggerConfigInterRAT", HFILL }}, @@ -52419,6 +94001,10 @@ proto_register_nr_rrc(void) { { "cellForWhichToReportCGI", "nr-rrc.cellForWhichToReportCGI", FT_UINT32, BASE_DEC, NULL, 0, "EUTRA_PhysCellId", HFILL }}, + { &hf_nr_rrc_useAutonomousGaps_r16, + { "useAutonomousGaps-r16", "nr-rrc.useAutonomousGaps_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_useAutonomousGaps_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_reportSFTD_Meas, { "reportSFTD-Meas", "nr-rrc.reportSFTD_Meas", FT_BOOLEAN, BASE_NONE, NULL, 0, @@ -52443,14 +94029,6 @@ proto_register_nr_rrc(void) { { "reportOnLeave", "nr-rrc.reportOnLeave", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, - { &hf_nr_rrc_hysteresis, - { "hysteresis", "nr-rrc.hysteresis", - FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Hysteresis_fmt), 0, - NULL, HFILL }}, - { &hf_nr_rrc_timeToTrigger, - { "timeToTrigger", "nr-rrc.timeToTrigger", - FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeToTrigger_vals), 0, - NULL, HFILL }}, { &hf_nr_rrc_eventB2, { "eventB2", "nr-rrc.eventB2_element", FT_NONE, BASE_NONE, NULL, 0, @@ -52463,6 +94041,38 @@ proto_register_nr_rrc(void) { { "b2-Threshold2EUTRA", "nr-rrc.b2_Threshold2EUTRA", FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityEUTRA_vals), 0, "MeasTriggerQuantityEUTRA", HFILL }}, + { &hf_nr_rrc_eventB1_UTRA_FDD_r16, + { "eventB1-UTRA-FDD-r16", "nr-rrc.eventB1_UTRA_FDD_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_b1_ThresholdUTRA_FDD_r16, + { "b1-ThresholdUTRA-FDD-r16", "nr-rrc.b1_ThresholdUTRA_FDD_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityUTRA_FDD_r16_vals), 0, + "MeasTriggerQuantityUTRA_FDD_r16", HFILL }}, + { &hf_nr_rrc_reportOnLeave_r16, + { "reportOnLeave-r16", "nr-rrc.reportOnLeave_r16", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_nr_rrc_hysteresis_r16, + { "hysteresis-r16", "nr-rrc.hysteresis_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Hysteresis_fmt), 0, + "Hysteresis", HFILL }}, + { &hf_nr_rrc_timeToTrigger_r16, + { "timeToTrigger-r16", "nr-rrc.timeToTrigger_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeToTrigger_vals), 0, + "TimeToTrigger", HFILL }}, + { &hf_nr_rrc_eventB2_UTRA_FDD_r16, + { "eventB2-UTRA-FDD-r16", "nr-rrc.eventB2_UTRA_FDD_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_b2_Threshold1_r16, + { "b2-Threshold1-r16", "nr-rrc.b2_Threshold1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0, + "MeasTriggerQuantity", HFILL }}, + { &hf_nr_rrc_b2_Threshold2UTRA_FDD_r16, + { "b2-Threshold2UTRA-FDD-r16", "nr-rrc.b2_Threshold2UTRA_FDD_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityUTRA_FDD_r16_vals), 0, + "MeasTriggerQuantityUTRA_FDD_r16", HFILL }}, { &hf_nr_rrc_rsType, { "rsType", "nr-rrc.rsType", FT_UINT32, BASE_DEC, VALS(nr_rrc_NR_RS_Type_vals), 0, @@ -52483,19 +94093,39 @@ proto_register_nr_rrc(void) { { "maxReportCells", "nr-rrc.maxReportCells", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxCellReport", HFILL }}, + { &hf_nr_rrc_reportQuantityUTRA_FDD_r16, + { "reportQuantityUTRA-FDD-r16", "nr-rrc.reportQuantityUTRA_FDD_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "MeasReportQuantityUTRA_FDD_r16", 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, + { &hf_nr_rrc_utra_FDD_RSCP_r16_01, + { "utra-FDD-RSCP-r16", "nr-rrc.utra_FDD_RSCP_r16", + FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_measTriggerQuantity_utra_FDD_RSCP_r16_fmt), 0, + "MeasTriggerQuantityUTRA_FDD_RSCP_r16", HFILL }}, + { &hf_nr_rrc_utra_FDD_EcN0_r16_01, + { "utra-FDD-EcN0-r16", "nr-rrc.utra_FDD_EcN0_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_measTriggerQuantity_utra_FDD_EcN0_r16_fmt), 0, + "MeasTriggerQuantityUTRA_FDD_EcN0_r16", HFILL }}, + { &hf_nr_rrc_cpich_RSCP, + { "cpich-RSCP", "nr-rrc.cpich_RSCP", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_nr_rrc_cpich_EcN0, + { "cpich-EcN0", "nr-rrc.cpich_EcN0", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_nr_rrc_reportType_02, { "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, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportType_02_vals), 0, + "T_reportType_02", HFILL }}, + { &hf_nr_rrc_periodical_02, { "periodical", "nr-rrc.periodical_element", FT_NONE, BASE_NONE, NULL, 0, "PeriodicalReportConfig", HFILL }}, - { &hf_nr_rrc_eventTriggered_01, + { &hf_nr_rrc_eventTriggered_02, { "eventTriggered", "nr-rrc.eventTriggered_element", FT_NONE, BASE_NONE, NULL, 0, "EventTriggerConfig", HFILL }}, @@ -52507,6 +94137,22 @@ proto_register_nr_rrc(void) { { "reportSFTD", "nr-rrc.reportSFTD_element", FT_NONE, BASE_NONE, NULL, 0, "ReportSFTD_NR", HFILL }}, + { &hf_nr_rrc_condTriggerConfig_r16, + { "condTriggerConfig-r16", "nr-rrc.condTriggerConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_cli_Periodical_r16, + { "cli-Periodical-r16", "nr-rrc.cli_Periodical_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "CLI_PeriodicalReportConfig_r16", HFILL }}, + { &hf_nr_rrc_cli_EventTriggered_r16, + { "cli-EventTriggered-r16", "nr-rrc.cli_EventTriggered_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "CLI_EventTriggerConfig_r16", HFILL }}, + { &hf_nr_rrc_useAutonomousGaps_r16_01, + { "useAutonomousGaps-r16", "nr-rrc.useAutonomousGaps_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_useAutonomousGaps_r16_01_vals), 0, + "T_useAutonomousGaps_r16_01", HFILL }}, { &hf_nr_rrc_reportSFTD_NeighMeas, { "reportSFTD-NeighMeas", "nr-rrc.reportSFTD_NeighMeas", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportSFTD_NeighMeas_vals), 0, @@ -52523,6 +94169,34 @@ proto_register_nr_rrc(void) { { "PhysCellId", "nr-rrc.PhysCellId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_condEventId, + { "condEventId", "nr-rrc.condEventId", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condEventId_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_condEventA3, + { "condEventA3", "nr-rrc.condEventA3_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_a3_Offset, + { "a3-Offset", "nr-rrc.a3_Offset", + FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityOffset_vals), 0, + "MeasTriggerQuantityOffset", HFILL }}, + { &hf_nr_rrc_condEventA5, + { "condEventA5", "nr-rrc.condEventA5_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_a5_Threshold1, + { "a5-Threshold1", "nr-rrc.a5_Threshold1", + FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0, + "MeasTriggerQuantity", HFILL }}, + { &hf_nr_rrc_a5_Threshold2, + { "a5-Threshold2", "nr-rrc.a5_Threshold2", + FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0, + "MeasTriggerQuantity", HFILL }}, + { &hf_nr_rrc_rsType_r16, + { "rsType-r16", "nr-rrc.rsType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_NR_RS_Type_vals), 0, + "NR_RS_Type", HFILL }}, { &hf_nr_rrc_eventId_01, { "eventId", "nr-rrc.eventId", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventId_01_vals), 0, @@ -52547,10 +94221,6 @@ proto_register_nr_rrc(void) { { "eventA3", "nr-rrc.eventA3_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_a3_Offset, - { "a3-Offset", "nr-rrc.a3_Offset", - FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityOffset_vals), 0, - "MeasTriggerQuantityOffset", HFILL }}, { &hf_nr_rrc_useWhiteCellList, { "useWhiteCellList", "nr-rrc.useWhiteCellList", FT_BOOLEAN, BASE_NONE, NULL, 0, @@ -52567,14 +94237,6 @@ proto_register_nr_rrc(void) { { "eventA5", "nr-rrc.eventA5_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_a5_Threshold1, - { "a5-Threshold1", "nr-rrc.a5_Threshold1", - FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0, - "MeasTriggerQuantity", HFILL }}, - { &hf_nr_rrc_a5_Threshold2, - { "a5-Threshold2", "nr-rrc.a5_Threshold2", - FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0, - "MeasTriggerQuantity", HFILL }}, { &hf_nr_rrc_eventA6, { "eventA6", "nr-rrc.eventA6_element", FT_NONE, BASE_NONE, NULL, 0, @@ -52607,10 +94269,62 @@ 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_measRSSI_ReportConfig_r16, + { "measRSSI-ReportConfig-r16", "nr-rrc.measRSSI_ReportConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_useT312_r16, + { "useT312-r16", "nr-rrc.useT312_r16", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_nr_rrc_includeCommonLocationInfo_r16, + { "includeCommonLocationInfo-r16", "nr-rrc.includeCommonLocationInfo_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeCommonLocationInfo_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_includeBT_Meas_r16, + { "includeBT-Meas-r16", "nr-rrc.includeBT_Meas_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeBT_Meas_r16_vals), 0, + "T_includeBT_Meas_r16", HFILL }}, + { &hf_nr_rrc_includeWLAN_Meas_r16, + { "includeWLAN-Meas-r16", "nr-rrc.includeWLAN_Meas_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeWLAN_Meas_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_includeSensor_Meas_r16, + { "includeSensor-Meas-r16", "nr-rrc.includeSensor_Meas_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeSensor_Meas_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_reportAmount_03, { "reportAmount", "nr-rrc.reportAmount", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_03_vals), 0, "T_reportAmount_03", HFILL }}, + { &hf_nr_rrc_includeCommonLocationInfo_r16_01, + { "includeCommonLocationInfo-r16", "nr-rrc.includeCommonLocationInfo_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeCommonLocationInfo_r16_01_vals), 0, + "T_includeCommonLocationInfo_r16_01", HFILL }}, + { &hf_nr_rrc_includeBT_Meas_r16_01, + { "includeBT-Meas-r16", "nr-rrc.includeBT_Meas_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeBT_Meas_r16_01_vals), 0, + "T_includeBT_Meas_r16_01", HFILL }}, + { &hf_nr_rrc_includeWLAN_Meas_r16_01, + { "includeWLAN-Meas-r16", "nr-rrc.includeWLAN_Meas_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeWLAN_Meas_r16_01_vals), 0, + "T_includeWLAN_Meas_r16_01", HFILL }}, + { &hf_nr_rrc_includeSensor_Meas_r16_01, + { "includeSensor-Meas-r16", "nr-rrc.includeSensor_Meas_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeSensor_Meas_r16_01_vals), 0, + "T_includeSensor_Meas_r16_01", HFILL }}, + { &hf_nr_rrc_ul_DelayValueConfig_r16, + { "ul-DelayValueConfig-r16", "nr-rrc.ul_DelayValueConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_DelayValueConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_95, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "UL_DelayValueConfig_r16", HFILL }}, + { &hf_nr_rrc_reportAddNeighMeas_r16, + { "reportAddNeighMeas-r16", "nr-rrc.reportAddNeighMeas_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAddNeighMeas_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_rsrp_02, { "rsrp", "nr-rrc.rsrp", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, @@ -52635,6 +94349,98 @@ proto_register_nr_rrc(void) { { "sinr", "nr-rrc.sinr", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, + { &hf_nr_rrc_channelOccupancyThreshold_r16, + { "channelOccupancyThreshold-r16", "nr-rrc.channelOccupancyThreshold_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "RSSI_Range_r16", HFILL }}, + { &hf_nr_rrc_eventId_r16, + { "eventId-r16", "nr-rrc.eventId_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventId_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_eventI1_r16, + { "eventI1-r16", "nr-rrc.eventI1_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_i1_Threshold_r16, + { "i1-Threshold-r16", "nr-rrc.i1_Threshold_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityCLI_r16_vals), 0, + "MeasTriggerQuantityCLI_r16", HFILL }}, + { &hf_nr_rrc_reportInterval_r16, + { "reportInterval-r16", "nr-rrc.reportInterval_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_ReportInterval_vals), 0, + "ReportInterval", HFILL }}, + { &hf_nr_rrc_reportAmount_r16, + { "reportAmount-r16", "nr-rrc.reportAmount_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_r16_vals), 0, + "T_reportAmount_r16", HFILL }}, + { &hf_nr_rrc_maxReportCLI_r16, + { "maxReportCLI-r16", "nr-rrc.maxReportCLI_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxCLI_Report_r16", HFILL }}, + { &hf_nr_rrc_reportAmount_r16_01, + { "reportAmount-r16", "nr-rrc.reportAmount_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_r16_01_vals), 0, + "T_reportAmount_r16_01", HFILL }}, + { &hf_nr_rrc_reportQuantityCLI_r16, + { "reportQuantityCLI-r16", "nr-rrc.reportQuantityCLI_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasReportQuantityCLI_r16_vals), 0, + "MeasReportQuantityCLI_r16", HFILL }}, + { &hf_nr_rrc_srs_RSRP_r16, + { "srs-RSRP-r16", "nr-rrc.srs_RSRP_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_SRS_RSRP_r16_fmt), 0, + "SRS_RSRP_Range_r16", HFILL }}, + { &hf_nr_rrc_cli_RSSI_r16, + { "cli-RSSI-r16", "nr-rrc.cli_RSSI_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_CLI_RSSI_Range_r16_fmt), 0, + "CLI_RSSI_Range_r16", HFILL }}, + { &hf_nr_rrc_reportType_r16, + { "reportType-r16", "nr-rrc.reportType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportType_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_periodical_r16, + { "periodical-r16", "nr-rrc.periodical_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "PeriodicalReportConfigNR_SL_r16", HFILL }}, + { &hf_nr_rrc_eventTriggered_r16, + { "eventTriggered-r16", "nr-rrc.eventTriggered_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "EventTriggerConfigNR_SL_r16", HFILL }}, + { &hf_nr_rrc_eventId_r16_01, + { "eventId-r16", "nr-rrc.eventId_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventId_r16_01_vals), 0, + "T_eventId_r16_01", HFILL }}, + { &hf_nr_rrc_eventC1, + { "eventC1", "nr-rrc.eventC1_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_c1_Threshold_r16, + { "c1-Threshold-r16", "nr-rrc.c1_Threshold_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_CBR_r16", HFILL }}, + { &hf_nr_rrc_eventC2_r16, + { "eventC2-r16", "nr-rrc.eventC2_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_c2_Threshold_r16, + { "c2-Threshold-r16", "nr-rrc.c2_Threshold_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_CBR_r16", HFILL }}, + { &hf_nr_rrc_reportAmount_r16_02, + { "reportAmount-r16", "nr-rrc.reportAmount_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_r16_02_vals), 0, + "T_reportAmount_r16_02", HFILL }}, + { &hf_nr_rrc_reportQuantity_r16_01, + { "reportQuantity-r16", "nr-rrc.reportQuantity_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "MeasReportQuantity_r16", HFILL }}, + { &hf_nr_rrc_reportAmount_r16_03, + { "reportAmount-r16", "nr-rrc.reportAmount_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_r16_03_vals), 0, + "T_reportAmount_r16_03", HFILL }}, + { &hf_nr_rrc_cbr_r16, + { "cbr-r16", "nr-rrc.cbr_r16", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, { &hf_nr_rrc_ReportConfigToAddModList_item, { "ReportConfigToAddMod", "nr-rrc.ReportConfigToAddMod_element", FT_NONE, BASE_NONE, NULL, 0, @@ -52651,6 +94457,10 @@ proto_register_nr_rrc(void) { { "reportConfigInterRAT", "nr-rrc.reportConfigInterRAT_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_reportConfigNR_SL_r16, + { "reportConfigNR-SL-r16", "nr-rrc.reportConfigNR_SL_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_servedRadioBearer, { "servedRadioBearer", "nr-rrc.servedRadioBearer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_servedRadioBearer_vals), 0, @@ -52667,6 +94477,10 @@ proto_register_nr_rrc(void) { { "mac-LogicalChannelConfig", "nr-rrc.mac_LogicalChannelConfig_element", FT_NONE, BASE_NONE, NULL, 0, "LogicalChannelConfig", HFILL }}, + { &hf_nr_rrc_rlc_Config_v1610, + { "rlc-Config-v1610", "nr-rrc.rlc_Config_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_am, { "am", "nr-rrc.am_element", FT_NONE, BASE_NONE, NULL, 0, @@ -52731,6 +94545,14 @@ proto_register_nr_rrc(void) { { "sn-FieldLength", "nr-rrc.sn_FieldLength", FT_UINT32, BASE_DEC, VALS(nr_rrc_SN_FieldLengthUM_vals), 0, "SN_FieldLengthUM", HFILL }}, + { &hf_nr_rrc_dl_AM_RLC_v1610, + { "dl-AM-RLC-v1610", "nr-rrc.dl_AM_RLC_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_t_StatusProhibit_v1610, + { "t-StatusProhibit-v1610", "nr-rrc.t_StatusProhibit_v1610", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_StatusProhibit_v1610_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_t310, { "t310", "nr-rrc.t310", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t310_vals), 0, @@ -52811,34 +94633,10 @@ proto_register_nr_rrc(void) { { "sl8", "nr-rrc.sl8", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_7", HFILL }}, - { &hf_nr_rrc_sl10, - { "sl10", "nr-rrc.sl10", - FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_9", HFILL }}, { &hf_nr_rrc_sl16, { "sl16", "nr-rrc.sl16", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, - { &hf_nr_rrc_sl20, - { "sl20", "nr-rrc.sl20", - FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_19", HFILL }}, - { &hf_nr_rrc_sl40, - { "sl40", "nr-rrc.sl40", - FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_39", HFILL }}, - { &hf_nr_rrc_sl80, - { "sl80", "nr-rrc.sl80", - FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_79", HFILL }}, - { &hf_nr_rrc_sl160, - { "sl160", "nr-rrc.sl160", - FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_159", HFILL }}, - { &hf_nr_rrc_sl320, - { "sl320", "nr-rrc.sl320", - FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_319", HFILL }}, { &hf_nr_rrc_sl640, { "sl640", "nr-rrc.sl640", FT_UINT32, BASE_DEC, NULL, 0, @@ -52847,6 +94645,10 @@ proto_register_nr_rrc(void) { { "resource", "nr-rrc.resource", FT_UINT32, BASE_DEC, NULL, 0, "PUCCH_ResourceId", HFILL }}, + { &hf_nr_rrc_phy_PriorityIndex_r16_01, + { "phy-PriorityIndex-r16", "nr-rrc.phy_PriorityIndex_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phy_PriorityIndex_r16_01_vals), 0, + "T_phy_PriorityIndex_r16_01", HFILL }}, { &hf_nr_rrc_offsetToCarrier, { "offsetToCarrier", "nr-rrc.offsetToCarrier", FT_UINT32, BASE_DEC, NULL, 0, @@ -53007,6 +94809,102 @@ proto_register_nr_rrc(void) { { "dci-Formats", "nr-rrc.dci_Formats", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_Formats_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_dci_Formats_MT_r16, + { "dci-Formats-MT-r16", "nr-rrc.dci_Formats_MT_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_Formats_MT_r16_vals), 0, + "T_dci_Formats_MT_r16", HFILL }}, + { &hf_nr_rrc_dci_FormatsSL_r16, + { "dci-FormatsSL-r16", "nr-rrc.dci_FormatsSL_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_FormatsSL_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_dci_FormatsExt_r16, + { "dci-FormatsExt-r16", "nr-rrc.dci_FormatsExt_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_FormatsExt_r16_vals), 0, + "T_dci_FormatsExt_r16", HFILL }}, + { &hf_nr_rrc_controlResourceSetId_r16, + { "controlResourceSetId-r16", "nr-rrc.controlResourceSetId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_searchSpaceType_r16, + { "searchSpaceType-r16", "nr-rrc.searchSpaceType_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_common_r16, + { "common-r16", "nr-rrc.common_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_dci_Format2_4_r16, + { "dci-Format2-4-r16", "nr-rrc.dci_Format2_4_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nrofCandidates_CI_r16, + { "nrofCandidates-CI-r16", "nr-rrc.nrofCandidates_CI_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_aggregationLevel1_r16, + { "aggregationLevel1-r16", "nr-rrc.aggregationLevel1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_aggregationLevel2_r16, + { "aggregationLevel2-r16", "nr-rrc.aggregationLevel2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_aggregationLevel4_r16, + { "aggregationLevel4-r16", "nr-rrc.aggregationLevel4_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel4_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_aggregationLevel8_r16, + { "aggregationLevel8-r16", "nr-rrc.aggregationLevel8_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel8_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_aggregationLevel16_r16, + { "aggregationLevel16-r16", "nr-rrc.aggregationLevel16_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel16_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_dci_Format2_5_r16, + { "dci-Format2-5-r16", "nr-rrc.dci_Format2_5_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nrofCandidates_IAB_r16, + { "nrofCandidates-IAB-r16", "nr-rrc.nrofCandidates_IAB_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_aggregationLevel1_r16_01, + { "aggregationLevel1-r16", "nr-rrc.aggregationLevel1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel1_r16_01_vals), 0, + "T_aggregationLevel1_r16_01", HFILL }}, + { &hf_nr_rrc_aggregationLevel2_r16_01, + { "aggregationLevel2-r16", "nr-rrc.aggregationLevel2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel2_r16_01_vals), 0, + "T_aggregationLevel2_r16_01", HFILL }}, + { &hf_nr_rrc_aggregationLevel4_r16_01, + { "aggregationLevel4-r16", "nr-rrc.aggregationLevel4_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel4_r16_01_vals), 0, + "T_aggregationLevel4_r16_01", HFILL }}, + { &hf_nr_rrc_aggregationLevel8_r16_01, + { "aggregationLevel8-r16", "nr-rrc.aggregationLevel8_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel8_r16_01_vals), 0, + "T_aggregationLevel8_r16_01", HFILL }}, + { &hf_nr_rrc_aggregationLevel16_r16_01, + { "aggregationLevel16-r16", "nr-rrc.aggregationLevel16_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel16_r16_01_vals), 0, + "T_aggregationLevel16_r16_01", HFILL }}, + { &hf_nr_rrc_dci_Format2_6_r16, + { "dci-Format2-6-r16", "nr-rrc.dci_Format2_6_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_searchSpaceGroupIdList_r16, + { "searchSpaceGroupIdList-r16", "nr-rrc.searchSpaceGroupIdList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "T_searchSpaceGroupIdList_r16", HFILL }}, + { &hf_nr_rrc_searchSpaceGroupIdList_r16_item, + { "searchSpaceGroupIdList-r16 item", "nr-rrc.searchSpaceGroupIdList_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_1", HFILL }}, + { &hf_nr_rrc_freqMonitorLocations_r16, + { "freqMonitorLocations-r16", "nr-rrc.freqMonitorLocations_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_5", HFILL }}, { &hf_nr_rrc_cipheringAlgorithm, { "cipheringAlgorithm", "nr-rrc.cipheringAlgorithm", FT_UINT32, BASE_DEC, VALS(nr_rrc_CipheringAlgorithm_vals), 0, @@ -53015,6 +94913,18 @@ proto_register_nr_rrc(void) { { "integrityProtAlgorithm", "nr-rrc.integrityProtAlgorithm", FT_UINT32, BASE_DEC, VALS(nr_rrc_IntegrityProtAlgorithm_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_period, + { "period", "nr-rrc.period", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_period_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sensor_MeasurementInformation_r16, + { "sensor-MeasurementInformation-r16", "nr-rrc.sensor_MeasurementInformation_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sensor_MotionInformation_r16, + { "sensor-MotionInformation-r16", "nr-rrc.sensor_MotionInformation_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated, { "tdd-UL-DL-ConfigurationDedicated", "nr-rrc.tdd_UL_DL_ConfigurationDedicated_element", FT_NONE, BASE_NONE, NULL, 0, @@ -53063,7 +94973,7 @@ 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_45, + { &hf_nr_rrc_setup_96, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDCCH_ServingCellConfig", HFILL }}, @@ -53071,7 +94981,7 @@ 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_46, + { &hf_nr_rrc_setup_97, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDSCH_ServingCellConfig", HFILL }}, @@ -53079,7 +94989,7 @@ 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_47, + { &hf_nr_rrc_setup_98, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "CSI_MeasConfig", HFILL }}, @@ -53111,7 +95021,7 @@ 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_48, + { &hf_nr_rrc_setup_99, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "RateMatchPatternLTE_CRS", HFILL }}, @@ -53123,6 +95033,98 @@ proto_register_nr_rrc(void) { { "SCS-SpecificCarrier", "nr-rrc.SCS_SpecificCarrier_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_supplementaryUplinkRelease, + { "supplementaryUplinkRelease", "nr-rrc.supplementaryUplinkRelease", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supplementaryUplinkRelease_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated_iab_mt_r16, + { "tdd-UL-DL-ConfigurationDedicated-iab-mt-r16", "nr-rrc.tdd_UL_DL_ConfigurationDedicated_iab_mt_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "TDD_UL_DL_ConfigDedicated_IAB_MT_r16", HFILL }}, + { &hf_nr_rrc_dormantBWP_Config_r16, + { "dormantBWP-Config-r16", "nr-rrc.dormantBWP_Config_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dormantBWP_Config_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_100, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "DormantBWP_Config_r16", HFILL }}, + { &hf_nr_rrc_ca_SlotOffset_r16, + { "ca-SlotOffset-r16", "nr-rrc.ca_SlotOffset_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ca_SlotOffset_r16_vals), 0, + "T_ca_SlotOffset_r16", HFILL }}, + { &hf_nr_rrc_refSCS15kHz, + { "refSCS15kHz", "nr-rrc.refSCS15kHz", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER_M2_2", HFILL }}, + { &hf_nr_rrc_refSCS30KHz, + { "refSCS30KHz", "nr-rrc.refSCS30KHz", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER_M5_5", HFILL }}, + { &hf_nr_rrc_refSCS60KHz, + { "refSCS60KHz", "nr-rrc.refSCS60KHz", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER_M10_10", HFILL }}, + { &hf_nr_rrc_refSCS120KHz, + { "refSCS120KHz", "nr-rrc.refSCS120KHz", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER_M20_20", HFILL }}, + { &hf_nr_rrc_channelAccessConfig_r16, + { "channelAccessConfig-r16", "nr-rrc.channelAccessConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelAccessConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_101, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "ChannelAccessConfig_r16", HFILL }}, + { &hf_nr_rrc_intraCellGuardBandsUL_r16, + { "intraCellGuardBandsUL-r16", "nr-rrc.intraCellGuardBandsUL_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "IntraCellGuardBands_r16", HFILL }}, + { &hf_nr_rrc_intraCellGuardBandsDL_r16, + { "intraCellGuardBandsDL-r16", "nr-rrc.intraCellGuardBandsDL_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "IntraCellGuardBands_r16", HFILL }}, + { &hf_nr_rrc_csi_RS_ValidationWith_DCI_r16, + { "csi-RS-ValidationWith-DCI-r16", "nr-rrc.csi_RS_ValidationWith_DCI_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_ValidationWith_DCI_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_lte_CRS_PatternList1_r16, + { "lte-CRS-PatternList1-r16", "nr-rrc.lte_CRS_PatternList1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lte_CRS_PatternList1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_102, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "LTE_CRS_PatternList_r16", HFILL }}, + { &hf_nr_rrc_lte_CRS_PatternList2_r16, + { "lte-CRS-PatternList2-r16", "nr-rrc.lte_CRS_PatternList2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lte_CRS_PatternList2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_crs_RateMatch_PerCORESETPoolIndex_r16, + { "crs-RateMatch-PerCORESETPoolIndex-r16", "nr-rrc.crs_RateMatch_PerCORESETPoolIndex_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crs_RateMatch_PerCORESETPoolIndex_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_enableTwoDefaultTCIStates_r16, + { "enableTwoDefaultTCIStates-r16", "nr-rrc.enableTwoDefaultTCIStates_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enableTwoDefaultTCIStates_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_enableDefaultTCIStatePerCoresetPoolIndex_r16, + { "enableDefaultTCIStatePerCoresetPoolIndex-r16", "nr-rrc.enableDefaultTCIStatePerCoresetPoolIndex_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enableDefaultTCIStatePerCoresetPoolIndex_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_enableBeamSwitchTiming_r16, + { "enableBeamSwitchTiming-r16", "nr-rrc.enableBeamSwitchTiming_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enableBeamSwitchTiming_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_cbg_TxDiffTBsProcessingType1_r16, + { "cbg-TxDiffTBsProcessingType1-r16", "nr-rrc.cbg_TxDiffTBsProcessingType1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cbg_TxDiffTBsProcessingType1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_cbg_TxDiffTBsProcessingType2_r16, + { "cbg-TxDiffTBsProcessingType2-r16", "nr-rrc.cbg_TxDiffTBsProcessingType2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cbg_TxDiffTBsProcessingType2_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_initialUplinkBWP, { "initialUplinkBWP", "nr-rrc.initialUplinkBWP_element", FT_NONE, BASE_NONE, NULL, 0, @@ -53151,7 +95153,7 @@ 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_49, + { &hf_nr_rrc_setup_103, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUSCH_ServingCellConfig", HFILL }}, @@ -53159,7 +95161,7 @@ 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_50, + { &hf_nr_rrc_setup_104, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "SRS_CarrierSwitching", HFILL }}, @@ -53175,6 +95177,102 @@ proto_register_nr_rrc(void) { { "SCS-SpecificCarrier", "nr-rrc.SCS_SpecificCarrier_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_enablePLRS_UpdateForPUSCH_SRS_r16, + { "enablePLRS-UpdateForPUSCH-SRS-r16", "nr-rrc.enablePLRS_UpdateForPUSCH_SRS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enablePLRS_UpdateForPUSCH_SRS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_enableDefaultBeamPL_ForPUSCH0_r16, + { "enableDefaultBeamPL-ForPUSCH0-r16", "nr-rrc.enableDefaultBeamPL_ForPUSCH0_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enableDefaultBeamPL_ForPUSCH0_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_enableDefaultBeamPL_ForPUCCH_r16, + { "enableDefaultBeamPL-ForPUCCH-r16", "nr-rrc.enableDefaultBeamPL_ForPUCCH_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enableDefaultBeamPL_ForPUCCH_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_enableDefaultBeamPL_ForSRS_r16, + { "enableDefaultBeamPL-ForSRS-r16", "nr-rrc.enableDefaultBeamPL_ForSRS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enableDefaultBeamPL_ForSRS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_uplinkTxSwitching_r16, + { "uplinkTxSwitching-r16", "nr-rrc.uplinkTxSwitching_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitching_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_105, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "UplinkTxSwitching_r16", HFILL }}, + { &hf_nr_rrc_maxEnergyDetectionThreshold_r16, + { "maxEnergyDetectionThreshold-r16", "nr-rrc.maxEnergyDetectionThreshold_r16", + FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, + "INTEGER_M85_M52", HFILL }}, + { &hf_nr_rrc_energyDetectionThresholdOffset_r16, + { "energyDetectionThresholdOffset-r16", "nr-rrc.energyDetectionThresholdOffset_r16", + FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, + "INTEGER_M20_M13", HFILL }}, + { &hf_nr_rrc_ul_toDL_COT_SharingED_Threshold_r16, + { "ul-toDL-COT-SharingED-Threshold-r16", "nr-rrc.ul_toDL_COT_SharingED_Threshold_r16", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER_M85_M52", HFILL }}, + { &hf_nr_rrc_absenceOfAnyOtherTechnology_r16, + { "absenceOfAnyOtherTechnology-r16", "nr-rrc.absenceOfAnyOtherTechnology_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_absenceOfAnyOtherTechnology_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_IntraCellGuardBands_r16_item, + { "GuardBand-r16", "nr-rrc.GuardBand_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_startCRB_r16, + { "startCRB-r16", "nr-rrc.startCRB_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_274", HFILL }}, + { &hf_nr_rrc_nrofCRBs_r16, + { "nrofCRBs-r16", "nr-rrc.nrofCRBs_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_15", HFILL }}, + { &hf_nr_rrc_dormantBWP_Id_r16, + { "dormantBWP-Id-r16", "nr-rrc.dormantBWP_Id_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "BWP_Id", HFILL }}, + { &hf_nr_rrc_withinActiveTimeConfig_r16, + { "withinActiveTimeConfig-r16", "nr-rrc.withinActiveTimeConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_withinActiveTimeConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_106, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "WithinActiveTimeConfig_r16", HFILL }}, + { &hf_nr_rrc_outsideActiveTimeConfig_r16, + { "outsideActiveTimeConfig-r16", "nr-rrc.outsideActiveTimeConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_outsideActiveTimeConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_107, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "OutsideActiveTimeConfig_r16", HFILL }}, + { &hf_nr_rrc_firstWithinActiveTimeBWP_Id_r16, + { "firstWithinActiveTimeBWP-Id-r16", "nr-rrc.firstWithinActiveTimeBWP_Id_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "BWP_Id", HFILL }}, + { &hf_nr_rrc_dormancyGroupWithinActiveTime_r16, + { "dormancyGroupWithinActiveTime-r16", "nr-rrc.dormancyGroupWithinActiveTime_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "DormancyGroupID_r16", HFILL }}, + { &hf_nr_rrc_firstOutsideActiveTimeBWP_Id_r16, + { "firstOutsideActiveTimeBWP-Id-r16", "nr-rrc.firstOutsideActiveTimeBWP_Id_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "BWP_Id", HFILL }}, + { &hf_nr_rrc_dormancyGroupOutsideActiveTime_r16, + { "dormancyGroupOutsideActiveTime-r16", "nr-rrc.dormancyGroupOutsideActiveTime_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "DormancyGroupID_r16", HFILL }}, + { &hf_nr_rrc_uplinkTxSwitchingPeriodLocation_r16, + { "uplinkTxSwitchingPeriodLocation-r16", "nr-rrc.uplinkTxSwitchingPeriodLocation_r16", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_nr_rrc_uplinkTxSwitchingCarrier_r16, + { "uplinkTxSwitchingCarrier-r16", "nr-rrc.uplinkTxSwitchingCarrier_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitchingCarrier_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_downlinkConfigCommon, { "downlinkConfigCommon", "nr-rrc.downlinkConfigCommon_element", FT_NONE, BASE_NONE, NULL, 0, @@ -53227,6 +95325,26 @@ proto_register_nr_rrc(void) { { "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_channelAccessMode_r16, + { "channelAccessMode-r16", "nr-rrc.channelAccessMode_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelAccessMode_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_dynamic_02, + { "dynamic", "nr-rrc.dynamic_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_semiStatic_01, + { "semiStatic", "nr-rrc.semiStatic_element", + FT_NONE, BASE_NONE, NULL, 0, + "SemiStaticChannelAccessConfig", HFILL }}, + { &hf_nr_rrc_discoveryBurstWindowLength_r16, + { "discoveryBurstWindowLength-r16", "nr-rrc.discoveryBurstWindowLength_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_discoveryBurstWindowLength_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_highSpeedConfig_r16, + { "highSpeedConfig-r16", "nr-rrc.highSpeedConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_downlinkConfigCommon_01, { "downlinkConfigCommon", "nr-rrc.downlinkConfigCommon_element", FT_NONE, BASE_NONE, NULL, 0, @@ -53259,6 +95377,46 @@ proto_register_nr_rrc(void) { { "ssb-PeriodicityServingCell", "nr-rrc.ssb_PeriodicityServingCell", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_PeriodicityServingCell_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_channelAccessMode_r16_01, + { "channelAccessMode-r16", "nr-rrc.channelAccessMode_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelAccessMode_r16_01_vals), 0, + "T_channelAccessMode_r16_01", HFILL }}, + { &hf_nr_rrc_discoveryBurstWindowLength_r16_01, + { "discoveryBurstWindowLength-r16", "nr-rrc.discoveryBurstWindowLength_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_discoveryBurstWindowLength_r16_01_vals), 0, + "T_discoveryBurstWindowLength_r16_01", 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_schedulingInfoList, { "schedulingInfoList", "nr-rrc.schedulingInfoList", FT_UINT32, BASE_DEC, NULL, 0, @@ -53311,38 +95469,6 @@ proto_register_nr_rrc(void) { { "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, @@ -53359,6 +95485,10 @@ proto_register_nr_rrc(void) { { "positionInDCI", "nr-rrc.positionInDCI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxSFI_DCI_PayloadSize_1", HFILL }}, + { &hf_nr_rrc_enableConfiguredUL_r16, + { "enableConfiguredUL-r16", "nr-rrc.enableConfiguredUL_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enableConfiguredUL_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_slotFormatCombinationId, { "slotFormatCombinationId", "nr-rrc.slotFormatCombinationId", FT_UINT32, BASE_DEC, NULL, 0, @@ -53395,6 +95525,70 @@ proto_register_nr_rrc(void) { { "ServCellIndex", "nr-rrc.ServCellIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_availableRB_SetsToAddModList_r16, + { "availableRB-SetsToAddModList-r16", "nr-rrc.availableRB_SetsToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_AvailableRB_SetsPerCell_r16", HFILL }}, + { &hf_nr_rrc_availableRB_SetsToAddModList_r16_item, + { "AvailableRB-SetsPerCell-r16", "nr-rrc.AvailableRB_SetsPerCell_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_availableRB_SetsToRelease_r16, + { "availableRB-SetsToRelease-r16", "nr-rrc.availableRB_SetsToRelease_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex", HFILL }}, + { &hf_nr_rrc_availableRB_SetsToRelease_r16_item, + { "ServCellIndex", "nr-rrc.ServCellIndex", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_searchSpaceSwitchTriggerToAddModList_r16, + { "searchSpaceSwitchTriggerToAddModList-r16", "nr-rrc.searchSpaceSwitchTriggerToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_4_OF_SearchSpaceSwitchTrigger_r16", HFILL }}, + { &hf_nr_rrc_searchSpaceSwitchTriggerToAddModList_r16_item, + { "SearchSpaceSwitchTrigger-r16", "nr-rrc.SearchSpaceSwitchTrigger_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_searchSpaceSwitchTriggerToReleaseList_r16, + { "searchSpaceSwitchTriggerToReleaseList-r16", "nr-rrc.searchSpaceSwitchTriggerToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_4_OF_ServCellIndex", HFILL }}, + { &hf_nr_rrc_searchSpaceSwitchTriggerToReleaseList_r16_item, + { "ServCellIndex", "nr-rrc.ServCellIndex", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_co_DurationsPerCellToAddModList_r16, + { "co-DurationsPerCellToAddModList-r16", "nr-rrc.co_DurationsPerCellToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r16", HFILL }}, + { &hf_nr_rrc_co_DurationsPerCellToAddModList_r16_item, + { "CO-DurationsPerCell-r16", "nr-rrc.CO_DurationsPerCell_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_co_DurationsPerCellToReleaseList_r16, + { "co-DurationsPerCellToReleaseList-r16", "nr-rrc.co_DurationsPerCellToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex", HFILL }}, + { &hf_nr_rrc_co_DurationsPerCellToReleaseList_r16_item, + { "ServCellIndex", "nr-rrc.ServCellIndex", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_servingCellId_r16, + { "servingCellId-r16", "nr-rrc.servingCellId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ServCellIndex", HFILL }}, + { &hf_nr_rrc_positionInDCI_r16, + { "positionInDCI-r16", "nr-rrc.positionInDCI_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxSFI_DCI_PayloadSize_1", HFILL }}, + { &hf_nr_rrc_co_DurationList_r16, + { "co-DurationList-r16", "nr-rrc.co_DurationList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_64_OF_CO_Duration_r16", HFILL }}, + { &hf_nr_rrc_co_DurationList_r16_item, + { "CO-Duration-r16", "nr-rrc.CO_Duration_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_sst, { "sst", "nr-rrc.sst", FT_BYTES, BASE_NONE, NULL, 0, @@ -53427,6 +95621,30 @@ proto_register_nr_rrc(void) { { "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_sps_ConfigIndex_r16, + { "sps-ConfigIndex-r16", "nr-rrc.sps_ConfigIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_harq_CodebookID_r16, + { "harq-CodebookID-r16", "nr-rrc.harq_CodebookID_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_2", HFILL }}, + { &hf_nr_rrc_pdsch_AggregationFactor_r16, + { "pdsch-AggregationFactor-r16", "nr-rrc.pdsch_AggregationFactor_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_AggregationFactor_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sps_PUCCH_AN_ResourceID_r16, + { "sps-PUCCH-AN-ResourceID-r16", "nr-rrc.sps_PUCCH_AN_ResourceID_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "PUCCH_ResourceId", HFILL }}, + { &hf_nr_rrc_maxPayloadSize_r16, + { "maxPayloadSize-r16", "nr-rrc.maxPayloadSize_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_4_256", HFILL }}, + { &hf_nr_rrc_SPS_PUCCH_AN_List_r16_item, + { "SPS-PUCCH-AN-r16", "nr-rrc.SPS_PUCCH_AN_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_srs_SwitchFromServCellIndex, { "srs-SwitchFromServCellIndex", "nr-rrc.srs_SwitchFromServCellIndex", FT_UINT32, BASE_DEC, NULL, 0, @@ -53511,6 +95729,62 @@ proto_register_nr_rrc(void) { { "tpc-Accumulation", "nr-rrc.tpc_Accumulation", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_Accumulation_01_vals), 0, "T_tpc_Accumulation_01", HFILL }}, + { &hf_nr_rrc_srs_RequestForDCI_Format1_2_r16, + { "srs-RequestForDCI-Format1-2-r16", "nr-rrc.srs_RequestForDCI_Format1_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_2", HFILL }}, + { &hf_nr_rrc_srs_RequestForDCI_Format0_2_r16, + { "srs-RequestForDCI-Format0-2-r16", "nr-rrc.srs_RequestForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_2", HFILL }}, + { &hf_nr_rrc_srs_ResourceSetToAddModListForDCI_Format0_2_r16, + { "srs-ResourceSetToAddModListForDCI-Format0-2-r16", "nr-rrc.srs_ResourceSetToAddModListForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet", HFILL }}, + { &hf_nr_rrc_srs_ResourceSetToAddModListForDCI_Format0_2_r16_item, + { "SRS-ResourceSet", "nr-rrc.SRS_ResourceSet_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_srs_ResourceSetToReleaseListForDCI_Format0_2_r16, + { "srs-ResourceSetToReleaseListForDCI-Format0-2-r16", "nr-rrc.srs_ResourceSetToReleaseListForDCI_Format0_2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId", HFILL }}, + { &hf_nr_rrc_srs_ResourceSetToReleaseListForDCI_Format0_2_r16_item, + { "SRS-ResourceSetId", "nr-rrc.SRS_ResourceSetId", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_srs_PosResourceSetToReleaseList_r16, + { "srs-PosResourceSetToReleaseList-r16", "nr-rrc.srs_PosResourceSetToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16", HFILL }}, + { &hf_nr_rrc_srs_PosResourceSetToReleaseList_r16_item, + { "SRS-PosResourceSetId-r16", "nr-rrc.SRS_PosResourceSetId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_srs_PosResourceSetToAddModList_r16, + { "srs-PosResourceSetToAddModList-r16", "nr-rrc.srs_PosResourceSetToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16", HFILL }}, + { &hf_nr_rrc_srs_PosResourceSetToAddModList_r16_item, + { "SRS-PosResourceSet-r16", "nr-rrc.SRS_PosResourceSet_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_srs_PosResourceToReleaseList_r16, + { "srs-PosResourceToReleaseList-r16", "nr-rrc.srs_PosResourceToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16", HFILL }}, + { &hf_nr_rrc_srs_PosResourceToReleaseList_r16_item, + { "SRS-PosResourceId-r16", "nr-rrc.SRS_PosResourceId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_srs_PosResourceToAddModList_r16, + { "srs-PosResourceToAddModList-r16", "nr-rrc.srs_PosResourceToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16", HFILL }}, + { &hf_nr_rrc_srs_PosResourceToAddModList_r16_item, + { "SRS-PosResource-r16", "nr-rrc.SRS_PosResource_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_srs_ResourceSetId, { "srs-ResourceSetId", "nr-rrc.srs_ResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, @@ -53569,12 +95843,92 @@ proto_register_nr_rrc(void) { "INTEGER_M202_24", HFILL }}, { &hf_nr_rrc_pathlossReferenceRS, { "pathlossReferenceRS", "nr-rrc.pathlossReferenceRS", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pathlossReferenceRS_vals), 0, - NULL, HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_PathlossReferenceRS_Config_vals), 0, + "PathlossReferenceRS_Config", HFILL }}, { &hf_nr_rrc_srs_PowerControlAdjustmentStates, { "srs-PowerControlAdjustmentStates", "nr-rrc.srs_PowerControlAdjustmentStates", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_PowerControlAdjustmentStates_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_pathlossReferenceRSList_r16, + { "pathlossReferenceRSList-r16", "nr-rrc.pathlossReferenceRSList_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pathlossReferenceRSList_r16_vals), 0, + "T_pathlossReferenceRSList_r16", HFILL }}, + { &hf_nr_rrc_setup_108, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "PathlossReferenceRSList_r16", HFILL }}, + { &hf_nr_rrc_PathlossReferenceRSList_r16_item, + { "PathlossReferenceRS-r16", "nr-rrc.PathlossReferenceRS_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_srs_PathlossReferenceRS_Id_r16, + { "srs-PathlossReferenceRS-Id-r16", "nr-rrc.srs_PathlossReferenceRS_Id_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_pathlossReferenceRS_r16, + { "pathlossReferenceRS-r16", "nr-rrc.pathlossReferenceRS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_PathlossReferenceRS_Config_vals), 0, + "PathlossReferenceRS_Config", HFILL }}, + { &hf_nr_rrc_srs_PosResourceSetId_r16, + { "srs-PosResourceSetId-r16", "nr-rrc.srs_PosResourceSetId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_srs_PosResourceIdList_r16, + { "srs-PosResourceIdList-r16", "nr-rrc.srs_PosResourceIdList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_PosResourceId_r16", HFILL }}, + { &hf_nr_rrc_srs_PosResourceIdList_r16_item, + { "SRS-PosResourceId-r16", "nr-rrc.SRS_PosResourceId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_resourceType_r16, + { "resourceType-r16", "nr-rrc.resourceType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_aperiodic_r16, + { "aperiodic-r16", "nr-rrc.aperiodic_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList_r16, + { "aperiodicSRS-ResourceTriggerList-r16", "nr-rrc.aperiodicSRS_ResourceTriggerList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "T_aperiodicSRS_ResourceTriggerList_r16", HFILL }}, + { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList_r16_item, + { "aperiodicSRS-ResourceTriggerList-r16 item", "nr-rrc.aperiodicSRS_ResourceTriggerList_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxNrofSRS_TriggerStates_1", HFILL }}, + { &hf_nr_rrc_semi_persistent_r16, + { "semi-persistent-r16", "nr-rrc.semi_persistent_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_semi_persistent_r16", HFILL }}, + { &hf_nr_rrc_periodic_r16, + { "periodic-r16", "nr-rrc.periodic_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_alpha_r16, + { "alpha-r16", "nr-rrc.alpha_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_Alpha_vals), 0, + "Alpha", HFILL }}, + { &hf_nr_rrc_p0_r16, + { "p0-r16", "nr-rrc.p0_r16", + FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, + "INTEGER_M202_24", HFILL }}, + { &hf_nr_rrc_pathlossReferenceRS_Pos_r16, + { "pathlossReferenceRS-Pos-r16", "nr-rrc.pathlossReferenceRS_Pos_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pathlossReferenceRS_Pos_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ssb_IndexServing_r16, + { "ssb-IndexServing-r16", "nr-rrc.ssb_IndexServing_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SSB_Index", HFILL }}, + { &hf_nr_rrc_ssb_Ncell_r16, + { "ssb-Ncell-r16", "nr-rrc.ssb_Ncell_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SSB_InfoNcell_r16", HFILL }}, + { &hf_nr_rrc_dl_PRS_r16, + { "dl-PRS-r16", "nr-rrc.dl_PRS_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "DL_PRS_Info_r16", HFILL }}, { &hf_nr_rrc_srs_ResourceId, { "srs-ResourceId", "nr-rrc.srs_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, @@ -53691,6 +96045,122 @@ proto_register_nr_rrc(void) { { "spatialRelationInfo", "nr-rrc.spatialRelationInfo_element", FT_NONE, BASE_NONE, NULL, 0, "SRS_SpatialRelationInfo", HFILL }}, + { &hf_nr_rrc_resourceMapping_r16, + { "resourceMapping-r16", "nr-rrc.resourceMapping_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nrofSymbols_r16_01, + { "nrofSymbols-r16", "nr-rrc.nrofSymbols_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSymbols_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_repetitionFactor_r16, + { "repetitionFactor-r16", "nr-rrc.repetitionFactor_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetitionFactor_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_srs_PosResourceId_r16, + { "srs-PosResourceId-r16", "nr-rrc.srs_PosResourceId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_transmissionComb_r16, + { "transmissionComb-r16", "nr-rrc.transmissionComb_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_transmissionComb_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_n2_r16, + { "n2-r16", "nr-rrc.n2_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_combOffset_n2_r16, + { "combOffset-n2-r16", "nr-rrc.combOffset_n2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_1", HFILL }}, + { &hf_nr_rrc_cyclicShift_n2_r16, + { "cyclicShift-n2-r16", "nr-rrc.cyclicShift_n2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_7", HFILL }}, + { &hf_nr_rrc_n4_r16, + { "n4-r16", "nr-rrc.n4_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_combOffset_n4_16, + { "combOffset-n4-16", "nr-rrc.combOffset_n4_16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_3", HFILL }}, + { &hf_nr_rrc_cyclicShift_n4_r16, + { "cyclicShift-n4-r16", "nr-rrc.cyclicShift_n4_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_11", HFILL }}, + { &hf_nr_rrc_n8_r16, + { "n8-r16", "nr-rrc.n8_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_combOffset_n8_r16, + { "combOffset-n8-r16", "nr-rrc.combOffset_n8_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_7", HFILL }}, + { &hf_nr_rrc_cyclicShift_n8_r16, + { "cyclicShift-n8-r16", "nr-rrc.cyclicShift_n8_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_5", HFILL }}, + { &hf_nr_rrc_resourceMapping_r16_01, + { "resourceMapping-r16", "nr-rrc.resourceMapping_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_resourceMapping_r16_01", HFILL }}, + { &hf_nr_rrc_nrofSymbols_r16_02, + { "nrofSymbols-r16", "nr-rrc.nrofSymbols_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSymbols_r16_01_vals), 0, + "T_nrofSymbols_r16_01", HFILL }}, + { &hf_nr_rrc_freqDomainShift_r16, + { "freqDomainShift-r16", "nr-rrc.freqDomainShift_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_268", HFILL }}, + { &hf_nr_rrc_freqHopping_r16, + { "freqHopping-r16", "nr-rrc.freqHopping_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_c_SRS_r16, + { "c-SRS-r16", "nr-rrc.c_SRS_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_63", HFILL }}, + { &hf_nr_rrc_groupOrSequenceHopping_r16, + { "groupOrSequenceHopping-r16", "nr-rrc.groupOrSequenceHopping_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupOrSequenceHopping_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_resourceType_r16_01, + { "resourceType-r16", "nr-rrc.resourceType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_r16_01_vals), 0, + "T_resourceType_r16_01", HFILL }}, + { &hf_nr_rrc_aperiodic_r16_01, + { "aperiodic-r16", "nr-rrc.aperiodic_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_aperiodic_r16_01", HFILL }}, + { &hf_nr_rrc_slotOffset_r16, + { "slotOffset-r16", "nr-rrc.slotOffset_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_32", HFILL }}, + { &hf_nr_rrc_semi_persistent_r16_01, + { "semi-persistent-r16", "nr-rrc.semi_persistent_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_semi_persistent_r16_01", HFILL }}, + { &hf_nr_rrc_periodicityAndOffset_sp_r16, + { "periodicityAndOffset-sp-r16", "nr-rrc.periodicityAndOffset_sp_r16", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_SRS_PeriodicityAndOffset_r16_vals_ext, 0, + "SRS_PeriodicityAndOffset_r16", HFILL }}, + { &hf_nr_rrc_periodic_r16_01, + { "periodic-r16", "nr-rrc.periodic_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_periodic_r16_01", HFILL }}, + { &hf_nr_rrc_periodicityAndOffset_p_r16, + { "periodicityAndOffset-p-r16", "nr-rrc.periodicityAndOffset_p_r16", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_SRS_PeriodicityAndOffset_r16_vals_ext, 0, + "SRS_PeriodicityAndOffset_r16", HFILL }}, + { &hf_nr_rrc_sequenceId_r16, + { "sequenceId-r16", "nr-rrc.sequenceId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_65535", HFILL }}, + { &hf_nr_rrc_spatialRelationInfoPos_r16, + { "spatialRelationInfoPos-r16", "nr-rrc.spatialRelationInfoPos_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SRS_SpatialRelationInfoPos_r16_vals), 0, + "SRS_SpatialRelationInfoPos_r16", HFILL }}, { &hf_nr_rrc_referenceSignal_03, { "referenceSignal", "nr-rrc.referenceSignal", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_03_vals), 0, @@ -53698,11 +96168,91 @@ proto_register_nr_rrc(void) { { &hf_nr_rrc_srs_01, { "srs", "nr-rrc.srs_element", FT_NONE, BASE_NONE, NULL, 0, - "T_srs_01", HFILL }}, + NULL, HFILL }}, { &hf_nr_rrc_resourceId, { "resourceId", "nr-rrc.resourceId", FT_UINT32, BASE_DEC, NULL, 0, "SRS_ResourceId", HFILL }}, + { &hf_nr_rrc_servingRS_r16, + { "servingRS-r16", "nr-rrc.servingRS_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_referenceSignal_r16_02, + { "referenceSignal-r16", "nr-rrc.referenceSignal_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_r16_02_vals), 0, + "T_referenceSignal_r16_02", HFILL }}, + { &hf_nr_rrc_csi_RS_IndexServing_r16, + { "csi-RS-IndexServing-r16", "nr-rrc.csi_RS_IndexServing_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "NZP_CSI_RS_ResourceId", HFILL }}, + { &hf_nr_rrc_srs_SpatialRelation_r16, + { "srs-SpatialRelation-r16", "nr-rrc.srs_SpatialRelation_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_resourceSelection_r16, + { "resourceSelection-r16", "nr-rrc.resourceSelection_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceSelection_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_uplinkBWP_r16, + { "uplinkBWP-r16", "nr-rrc.uplinkBWP_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "BWP_Id", HFILL }}, + { &hf_nr_rrc_ssb_Freq_r16, + { "ssb-Freq-r16", "nr-rrc.ssb_Freq_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueNR", HFILL }}, + { &hf_nr_rrc_halfFrameIndex_r16, + { "halfFrameIndex-r16", "nr-rrc.halfFrameIndex_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_halfFrameIndex_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ssb_Periodicity_r16, + { "ssb-Periodicity-r16", "nr-rrc.ssb_Periodicity_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_Periodicity_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sfn0_Offset_r16, + { "sfn0-Offset-r16", "nr-rrc.sfn0_Offset_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_sfn0_Offset_r16", HFILL }}, + { &hf_nr_rrc_sfn_Offset_r16, + { "sfn-Offset-r16", "nr-rrc.sfn_Offset_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_1023", HFILL }}, + { &hf_nr_rrc_integerSubframeOffset_r16, + { "integerSubframeOffset-r16", "nr-rrc.integerSubframeOffset_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_9", HFILL }}, + { &hf_nr_rrc_sfn_SSB_Offset_r16, + { "sfn-SSB-Offset-r16", "nr-rrc.sfn_SSB_Offset_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_15", HFILL }}, + { &hf_nr_rrc_ss_PBCH_BlockPower_r16, + { "ss-PBCH-BlockPower-r16", "nr-rrc.ss_PBCH_BlockPower_r16", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER_M60_50", HFILL }}, + { &hf_nr_rrc_physicalCellId_r16, + { "physicalCellId-r16", "nr-rrc.physicalCellId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "PhysCellId", HFILL }}, + { &hf_nr_rrc_ssb_IndexNcell_r16, + { "ssb-IndexNcell-r16", "nr-rrc.ssb_IndexNcell_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SSB_Index", HFILL }}, + { &hf_nr_rrc_ssb_Configuration_r16, + { "ssb-Configuration-r16", "nr-rrc.ssb_Configuration_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_dl_PRS_ID_r16, + { "dl-PRS-ID-r16", "nr-rrc.dl_PRS_ID_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_255", HFILL }}, + { &hf_nr_rrc_dl_PRS_ResourceSetId_r16, + { "dl-PRS-ResourceSetId-r16", "nr-rrc.dl_PRS_ResourceSetId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_7", HFILL }}, + { &hf_nr_rrc_dl_PRS_ResourceId_r16, + { "dl-PRS-ResourceId-r16", "nr-rrc.dl_PRS_ResourceId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_63", HFILL }}, { &hf_nr_rrc_sl32, { "sl32", "nr-rrc.sl32", FT_UINT32, BASE_DEC, NULL, 0, @@ -53711,6 +96261,22 @@ proto_register_nr_rrc(void) { { "sl64", "nr-rrc.sl64", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_63", HFILL }}, + { &hf_nr_rrc_sl5120, + { "sl5120", "nr-rrc.sl5120", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_5119", HFILL }}, + { &hf_nr_rrc_sl10240, + { "sl10240", "nr-rrc.sl10240", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_10239", HFILL }}, + { &hf_nr_rrc_sl40960, + { "sl40960", "nr-rrc.sl40960", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_40959", HFILL }}, + { &hf_nr_rrc_sl81920, + { "sl81920", "nr-rrc.sl81920", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_81919", HFILL }}, { &hf_nr_rrc_startingBitOfFormat2_3, { "startingBitOfFormat2-3", "nr-rrc.startingBitOfFormat2_3", FT_UINT32, BASE_DEC, NULL, 0, @@ -53767,6 +96333,66 @@ 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_periodicity_03, + { "periodicity", "nr-rrc.periodicity", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicity_03_vals), 0, + "T_periodicity_03", HFILL }}, + { &hf_nr_rrc_periodicityAndOffset_r16, + { "periodicityAndOffset-r16", "nr-rrc.periodicityAndOffset_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndOffset_r16_vals), 0, + "T_periodicityAndOffset_r16", HFILL }}, + { &hf_nr_rrc_sf5_r16, + { "sf5-r16", "nr-rrc.sf5_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_4", HFILL }}, + { &hf_nr_rrc_sf10_r16, + { "sf10-r16", "nr-rrc.sf10_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_9", HFILL }}, + { &hf_nr_rrc_sf20_r16, + { "sf20-r16", "nr-rrc.sf20_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_19", HFILL }}, + { &hf_nr_rrc_sf40_r16, + { "sf40-r16", "nr-rrc.sf40_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_39", HFILL }}, + { &hf_nr_rrc_sf80_r16, + { "sf80-r16", "nr-rrc.sf80_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_79", HFILL }}, + { &hf_nr_rrc_sf160_r16, + { "sf160-r16", "nr-rrc.sf160_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_159", HFILL }}, + { &hf_nr_rrc_sf320_r16, + { "sf320-r16", "nr-rrc.sf320_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_319", HFILL }}, + { &hf_nr_rrc_sf640_r16, + { "sf640-r16", "nr-rrc.sf640_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_639", HFILL }}, + { &hf_nr_rrc_sf1280_r16, + { "sf1280-r16", "nr-rrc.sf1280_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_1279", HFILL }}, + { &hf_nr_rrc_duration_r16_01, + { "duration-r16", "nr-rrc.duration_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_duration_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pci_List_r16, + { "pci-List-r16", "nr-rrc.pci_List_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId", HFILL }}, + { &hf_nr_rrc_pci_List_r16_item, + { "PhysCellId", "nr-rrc.PhysCellId", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ssb_ToMeasure_r16_01, + { "ssb-ToMeasure-r16", "nr-rrc.ssb_ToMeasure_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_ToMeasure_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_measurementSlots, { "measurementSlots", "nr-rrc.measurementSlots", FT_BYTES, BASE_NONE, NULL, 0, @@ -53875,6 +96501,22 @@ proto_register_nr_rrc(void) { { "TDD-UL-DL-SlotIndex", "nr-rrc.TDD_UL_DL_SlotIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_slotSpecificConfigurationsToAddModList_IAB_MT_r16, + { "slotSpecificConfigurationsToAddModList-IAB-MT-r16", "nr-rrc.slotSpecificConfigurationsToAddModList_IAB_MT_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_IAB_MT_r16", HFILL }}, + { &hf_nr_rrc_slotSpecificConfigurationsToAddModList_IAB_MT_r16_item, + { "TDD-UL-DL-SlotConfig-IAB-MT-r16", "nr-rrc.TDD_UL_DL_SlotConfig_IAB_MT_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_slotSpecificConfigurationsToReleaseList_IAB_MT_r16, + { "slotSpecificConfigurationsToReleaseList-IAB-MT-r16", "nr-rrc.slotSpecificConfigurationsToReleaseList_IAB_MT_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex", HFILL }}, + { &hf_nr_rrc_slotSpecificConfigurationsToReleaseList_IAB_MT_r16_item, + { "TDD-UL-DL-SlotIndex", "nr-rrc.TDD_UL_DL_SlotIndex", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_slotIndex, { "slotIndex", "nr-rrc.slotIndex", FT_UINT32, BASE_DEC, NULL, 0, @@ -53903,6 +96545,38 @@ proto_register_nr_rrc(void) { { "nrofUplinkSymbols", "nr-rrc.nrofUplinkSymbols", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxNrofSymbols_1", HFILL }}, + { &hf_nr_rrc_slotIndex_r16, + { "slotIndex-r16", "nr-rrc.slotIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "TDD_UL_DL_SlotIndex", HFILL }}, + { &hf_nr_rrc_symbols_IAB_MT_r16, + { "symbols-IAB-MT-r16", "nr-rrc.symbols_IAB_MT_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_symbols_IAB_MT_r16_vals), 0, + "T_symbols_IAB_MT_r16", HFILL }}, + { &hf_nr_rrc_allDownlink_r16, + { "allDownlink-r16", "nr-rrc.allDownlink_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_allUplink_r16, + { "allUplink-r16", "nr-rrc.allUplink_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_explicit_r16, + { "explicit-r16", "nr-rrc.explicit_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_explicit_r16", HFILL }}, + { &hf_nr_rrc_nrofDownlinkSymbols_r16, + { "nrofDownlinkSymbols-r16", "nr-rrc.nrofDownlinkSymbols_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxNrofSymbols_1", HFILL }}, + { &hf_nr_rrc_nrofUplinkSymbols_r16, + { "nrofUplinkSymbols-r16", "nr-rrc.nrofUplinkSymbols_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxNrofSymbols_1", HFILL }}, + { &hf_nr_rrc_explicit_IAB_MT_r16, + { "explicit-IAB-MT-r16", "nr-rrc.explicit_IAB_MT_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_explicit_IAB_MT_r16", HFILL }}, { &hf_nr_rrc_UAC_BarringInfoSetList_item, { "UAC-BarringInfoSet", "nr-rrc.UAC_BarringInfoSet_element", FT_NONE, BASE_NONE, NULL, 0, @@ -53983,6 +96657,66 @@ proto_register_nr_rrc(void) { { "t319", "nr-rrc.t319", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t319_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_delay_DRBlist, + { "delay-DRBlist", "nr-rrc.delay_DRBlist", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity", HFILL }}, + { &hf_nr_rrc_delay_DRBlist_item, + { "DRB-Identity", "nr-rrc.DRB_Identity", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ci_RNTI_r16, + { "ci-RNTI-r16", "nr-rrc.ci_RNTI_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "RNTI_Value", HFILL }}, + { &hf_nr_rrc_dci_PayloadSizeForCI_r16, + { "dci-PayloadSizeForCI-r16", "nr-rrc.dci_PayloadSizeForCI_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxCI_DCI_PayloadSize_r16", HFILL }}, + { &hf_nr_rrc_ci_ConfigurationPerServingCell_r16, + { "ci-ConfigurationPerServingCell-r16", "nr-rrc.ci_ConfigurationPerServingCell_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofServingCells_OF_CI_ConfigurationPerServingCell_r16", HFILL }}, + { &hf_nr_rrc_ci_ConfigurationPerServingCell_r16_item, + { "CI-ConfigurationPerServingCell-r16", "nr-rrc.CI_ConfigurationPerServingCell_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_positionInDCI_r16_01, + { "positionInDCI-r16", "nr-rrc.positionInDCI_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxCI_DCI_PayloadSize_r16_1", HFILL }}, + { &hf_nr_rrc_positionInDCI_ForSUL_r16, + { "positionInDCI-ForSUL-r16", "nr-rrc.positionInDCI_ForSUL_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxCI_DCI_PayloadSize_r16_1", HFILL }}, + { &hf_nr_rrc_ci_PayloadSize_r16, + { "ci-PayloadSize-r16", "nr-rrc.ci_PayloadSize_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ci_PayloadSize_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_timeFrequencyRegion_r16, + { "timeFrequencyRegion-r16", "nr-rrc.timeFrequencyRegion_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_timeDurationForCI_r16, + { "timeDurationForCI-r16", "nr-rrc.timeDurationForCI_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeDurationForCI_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_timeGranularityForCI_r16, + { "timeGranularityForCI-r16", "nr-rrc.timeGranularityForCI_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeGranularityForCI_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_frequencyRegionForCI_r16, + { "frequencyRegionForCI-r16", "nr-rrc.frequencyRegionForCI_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_37949", HFILL }}, + { &hf_nr_rrc_deltaOffset_r16, + { "deltaOffset-r16", "nr-rrc.deltaOffset_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_2", HFILL }}, + { &hf_nr_rrc_uplinkCancellationPriority_v1610, + { "uplinkCancellationPriority-v1610", "nr-rrc.uplinkCancellationPriority_v1610", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkCancellationPriority_v1610_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_frequencyInfoUL, { "frequencyInfoUL", "nr-rrc.frequencyInfoUL_element", FT_NONE, BASE_NONE, NULL, 0, @@ -54075,6 +96809,14 @@ proto_register_nr_rrc(void) { { "BandCombination-v1590", "nr-rrc.BandCombination_v1590_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_BandCombinationList_v1610_item, + { "BandCombination-v1610", "nr-rrc.BandCombination_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_BandCombinationList_UplinkTxSwitch_r16_item, + { "BandCombination-UplinkTxSwitch-r16", "nr-rrc.BandCombination_UplinkTxSwitch_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_bandList, { "bandList", "nr-rrc.bandList", FT_UINT32, BASE_DEC, NULL, 0, @@ -54123,6 +96865,26 @@ proto_register_nr_rrc(void) { { "ca-ParametersNR-v1550", "nr-rrc.ca_ParametersNR_v1550_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_bandList_v1610, + { "bandList-v1610", "nr-rrc.bandList_v1610", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1610", HFILL }}, + { &hf_nr_rrc_bandList_v1610_item, + { "BandParameters-v1610", "nr-rrc.BandParameters_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ca_ParametersNR_v1610, + { "ca-ParametersNR-v1610", "nr-rrc.ca_ParametersNR_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ca_ParametersNRDC_v1610, + { "ca-ParametersNRDC-v1610", "nr-rrc.ca_ParametersNRDC_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_powerClass_v1610, + { "powerClass-v1610", "nr-rrc.powerClass_v1610", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerClass_v1610_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_ne_DC_BC, { "ne-DC-BC", "nr-rrc.ne_DC_BC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ne_DC_BC_vals), 0, @@ -54155,6 +96917,62 @@ proto_register_nr_rrc(void) { { "mrdc-Parameters-v1590", "nr-rrc.mrdc_Parameters_v1590_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_bandCombination_r16, + { "bandCombination-r16", "nr-rrc.bandCombination_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "BandCombination", HFILL }}, + { &hf_nr_rrc_bandCombination_v1540, + { "bandCombination-v1540", "nr-rrc.bandCombination_v1540_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_bandCombination_v1560, + { "bandCombination-v1560", "nr-rrc.bandCombination_v1560_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_bandCombination_v1570, + { "bandCombination-v1570", "nr-rrc.bandCombination_v1570_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_bandCombination_v1580, + { "bandCombination-v1580", "nr-rrc.bandCombination_v1580_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_bandCombination_v1590, + { "bandCombination-v1590", "nr-rrc.bandCombination_v1590_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_bandCombination_v1610, + { "bandCombination-v1610", "nr-rrc.bandCombination_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_supportedBandPairListNR_r16, + { "supportedBandPairListNR-r16", "nr-rrc.supportedBandPairListNR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_r16", HFILL }}, + { &hf_nr_rrc_supportedBandPairListNR_r16_item, + { "ULTxSwitchingBandPair-r16", "nr-rrc.ULTxSwitchingBandPair_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_uplinkTxSwitching_OptionSupport_r16, + { "uplinkTxSwitching-OptionSupport-r16", "nr-rrc.uplinkTxSwitching_OptionSupport_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitching_OptionSupport_r16_vals), 0, + "T_uplinkTxSwitching_OptionSupport_r16", HFILL }}, + { &hf_nr_rrc_bandIndexUL1_r16, + { "bandIndexUL1-r16", "nr-rrc.bandIndexUL1_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxSimultaneousBands", HFILL }}, + { &hf_nr_rrc_bandIndexUL2_r16, + { "bandIndexUL2-r16", "nr-rrc.bandIndexUL2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxSimultaneousBands", HFILL }}, + { &hf_nr_rrc_uplinkTxSwitchingPeriod_r16, + { "uplinkTxSwitchingPeriod-r16", "nr-rrc.uplinkTxSwitchingPeriod_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitchingPeriod_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_uplinkTxSwitching_DL_Interruption_r16, + { "uplinkTxSwitching-DL-Interruption-r16", "nr-rrc.uplinkTxSwitching_DL_Interruption_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_1_maxSimultaneousBands", HFILL }}, { &hf_nr_rrc_eutra_01, { "eutra", "nr-rrc.eutra_element", FT_NONE, BASE_NONE, NULL, 0, @@ -54231,6 +97049,110 @@ proto_register_nr_rrc(void) { { "txSwitchWithAnotherBand", "nr-rrc.txSwitchWithAnotherBand", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_32", HFILL }}, + { &hf_nr_rrc_srs_TxSwitch_v1610, + { "srs-TxSwitch-v1610", "nr-rrc.srs_TxSwitch_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_supportedSRS_TxPortSwitch_v1610, + { "supportedSRS-TxPortSwitch-v1610", "nr-rrc.supportedSRS_TxPortSwitch_v1610", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedSRS_TxPortSwitch_v1610_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_intraFreqDAPS_Parameters_r16, + { "intraFreqDAPS-Parameters-r16", "nr-rrc.intraFreqDAPS_Parameters_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_intraFreqDiffSCS_DAPS_r16, + { "intraFreqDiffSCS-DAPS-r16", "nr-rrc.intraFreqDiffSCS_DAPS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFreqDiffSCS_DAPS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_intraFreqDAPS_r16, + { "intraFreqDAPS-r16", "nr-rrc.intraFreqDAPS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFreqDAPS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_intraFreqAsyncDAPS_r16, + { "intraFreqAsyncDAPS-r16", "nr-rrc.intraFreqAsyncDAPS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFreqAsyncDAPS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_intraFreqMultiUL_TransmissionDAPS_r16, + { "intraFreqMultiUL-TransmissionDAPS-r16", "nr-rrc.intraFreqMultiUL_TransmissionDAPS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFreqMultiUL_TransmissionDAPS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_intraFreqTwoTAGs_DAPS_r16, + { "intraFreqTwoTAGs-DAPS-r16", "nr-rrc.intraFreqTwoTAGs_DAPS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFreqTwoTAGs_DAPS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_intraFreqSemiStaticPowerSharingDAPS_Mode1_r16, + { "intraFreqSemiStaticPowerSharingDAPS-Mode1-r16", "nr-rrc.intraFreqSemiStaticPowerSharingDAPS_Mode1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFreqSemiStaticPowerSharingDAPS_Mode1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_intraFreqSemiStaticPowerSharingDAPS_Mode2_r16, + { "intraFreqSemiStaticPowerSharingDAPS-Mode2-r16", "nr-rrc.intraFreqSemiStaticPowerSharingDAPS_Mode2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFreqSemiStaticPowerSharingDAPS_Mode2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_intraFreqDynamicPowersharingDAPS_r16, + { "intraFreqDynamicPowersharingDAPS-r16", "nr-rrc.intraFreqDynamicPowersharingDAPS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFreqDynamicPowersharingDAPS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_supportedBandCombinationListSidelink_r16, + { "supportedBandCombinationListSidelink-r16", "nr-rrc.supportedBandCombinationListSidelink_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_supportedBandCombinationListSidelinkEUTRA_r16, + { "supportedBandCombinationListSidelinkEUTRA-r16", "nr-rrc.supportedBandCombinationListSidelinkEUTRA_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_supportedBandCombinationListSidelinkEUTRA_NR_r16, + { "supportedBandCombinationListSidelinkEUTRA-NR-r16", "nr-rrc.supportedBandCombinationListSidelinkEUTRA_NR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_SupportedBandCombinationListSidelink_r16_item, + { "BandCombinationParametersSidelink-r16", "nr-rrc.BandCombinationParametersSidelink_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_BandCombinationParametersSidelink_r16_item, + { "BandParametersSidelink-r16", "nr-rrc.BandParametersSidelink_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_freqBandSidelink_r16, + { "freqBandSidelink-r16", "nr-rrc.freqBandSidelink_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "FreqBandIndicatorNR", HFILL }}, + { &hf_nr_rrc_bandCombinationListEUTRA1_r16, + { "bandCombinationListEUTRA1-r16", "nr-rrc.bandCombinationListEUTRA1_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_bandCombinationListEUTRA2_r16, + { "bandCombinationListEUTRA2-r16", "nr-rrc.bandCombinationListEUTRA2_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_SupportedBandCombinationListSidelinkEUTRA_NR_r16_item, + { "BandCombinationParametersSidelinkEUTRA-NR-r16", "nr-rrc.BandCombinationParametersSidelinkEUTRA_NR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_r16_item, + { "BandParametersSidelinkEUTRA-NR-r16", "nr-rrc.BandParametersSidelinkEUTRA_NR_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_BandParametersSidelinkEUTRA_NR_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_eutra_03, + { "eutra", "nr-rrc.eutra_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_eutra_02", HFILL }}, + { &hf_nr_rrc_bandParametersSidelinkEUTRA1_r16, + { "bandParametersSidelinkEUTRA1-r16", "nr-rrc.bandParametersSidelinkEUTRA1_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_bandParametersSidelinkEUTRA2_r16, + { "bandParametersSidelinkEUTRA2-r16", "nr-rrc.bandParametersSidelinkEUTRA2_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nr_03, + { "nr", "nr-rrc.nr_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nr_02", HFILL }}, + { &hf_nr_rrc_bandParametersSidelinkNR_r16, + { "bandParametersSidelinkNR-r16", "nr-rrc.bandParametersSidelinkNR_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "BandParametersSidelink_r16", HFILL }}, { &hf_nr_rrc_multipleTimingAdvance, { "multipleTimingAdvance", "nr-rrc.multipleTimingAdvance", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleTimingAdvance_vals), 0, @@ -54327,6 +97249,86 @@ proto_register_nr_rrc(void) { { "diffNumerologyWithinPUCCH-GroupLargerSCS", "nr-rrc.diffNumerologyWithinPUCCH_GroupLargerSCS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffNumerologyWithinPUCCH_GroupLargerSCS_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_parallelTxMsgA_SRS_PUCCH_PUSCH_r16, + { "parallelTxMsgA-SRS-PUCCH-PUSCH-r16", "nr-rrc.parallelTxMsgA_SRS_PUCCH_PUSCH_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_parallelTxMsgA_SRS_PUCCH_PUSCH_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_msgA_SUL_r16, + { "msgA-SUL-r16", "nr-rrc.msgA_SUL_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msgA_SUL_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_jointSearchSpaceGroupSwitchingAcrossCells_r16, + { "jointSearchSpaceGroupSwitchingAcrossCells-r16", "nr-rrc.jointSearchSpaceGroupSwitchingAcrossCells_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_jointSearchSpaceGroupSwitchingAcrossCells_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_half_DuplexTDD_CA_SameSCS_r16, + { "half-DuplexTDD-CA-SameSCS-r16", "nr-rrc.half_DuplexTDD_CA_SameSCS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_half_DuplexTDD_CA_SameSCS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_scellDormancyWithinActiveTime_r16, + { "scellDormancyWithinActiveTime-r16", "nr-rrc.scellDormancyWithinActiveTime_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scellDormancyWithinActiveTime_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_scellDormancyOutsideActiveTime_r16, + { "scellDormancyOutsideActiveTime-r16", "nr-rrc.scellDormancyOutsideActiveTime_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scellDormancyOutsideActiveTime_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_crossCarrierA_CSI_trigDiffSCS_r16, + { "crossCarrierA-CSI-trigDiffSCS-r16", "nr-rrc.crossCarrierA_CSI_trigDiffSCS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierA_CSI_trigDiffSCS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_defaultQCL_CrossCarrierA_CSI_Trig_r16, + { "defaultQCL-CrossCarrierA-CSI-Trig-r16", "nr-rrc.defaultQCL_CrossCarrierA_CSI_Trig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_defaultQCL_CrossCarrierA_CSI_Trig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_interCA_NonAlignedFrame_r16, + { "interCA-NonAlignedFrame-r16", "nr-rrc.interCA_NonAlignedFrame_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interCA_NonAlignedFrame_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_simul_SRS_Trans_InterBandCA_r16, + { "simul-SRS-Trans-InterBandCA-r16", "nr-rrc.simul_SRS_Trans_InterBandCA_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_2", HFILL }}, + { &hf_nr_rrc_daps_Parameters_r16, + { "daps-Parameters-r16", "nr-rrc.daps_Parameters_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_asyncDAPS_r16, + { "asyncDAPS-r16", "nr-rrc.asyncDAPS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_asyncDAPS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_interFreqDAPS_r16, + { "interFreqDAPS-r16", "nr-rrc.interFreqDAPS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interFreqDAPS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_interFreqDiffSCS_DAPS_r16, + { "interFreqDiffSCS-DAPS-r16", "nr-rrc.interFreqDiffSCS_DAPS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interFreqDiffSCS_DAPS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_multiUL_TransmissionDAPS_r16, + { "multiUL-TransmissionDAPS-r16", "nr-rrc.multiUL_TransmissionDAPS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multiUL_TransmissionDAPS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_semiStaticPowerSharingDAPS_Mode1_r16, + { "semiStaticPowerSharingDAPS-Mode1-r16", "nr-rrc.semiStaticPowerSharingDAPS_Mode1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_semiStaticPowerSharingDAPS_Mode1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_semiStaticPowerSharingDAPS_Mode2_r16, + { "semiStaticPowerSharingDAPS-Mode2-r16", "nr-rrc.semiStaticPowerSharingDAPS_Mode2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_semiStaticPowerSharingDAPS_Mode2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_dynamicPowersharingDAPS_r16, + { "dynamicPowersharingDAPS-r16", "nr-rrc.dynamicPowersharingDAPS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicPowersharingDAPS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ul_TransCancellationDAPS_r16, + { "ul-TransCancellationDAPS-r16", "nr-rrc.ul_TransCancellationDAPS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_TransCancellationDAPS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_codebookParametersPerBC_r16, + { "codebookParametersPerBC-r16", "nr-rrc.codebookParametersPerBC_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "CodebookParameters_v1610", HFILL }}, { &hf_nr_rrc_ca_ParametersNR_ForDC, { "ca-ParametersNR-ForDC", "nr-rrc.ca_ParametersNR_ForDC_element", FT_NONE, BASE_NONE, NULL, 0, @@ -54347,6 +97349,54 @@ proto_register_nr_rrc(void) { { "featureSetCombinationDC", "nr-rrc.featureSetCombinationDC", FT_UINT32, BASE_DEC, NULL, 0, "FeatureSetCombinationId", HFILL }}, + { &hf_nr_rrc_intraFR_NR_DC_PwrSharingMode1_r16, + { "intraFR-NR-DC-PwrSharingMode1-r16", "nr-rrc.intraFR_NR_DC_PwrSharingMode1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFR_NR_DC_PwrSharingMode1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_intraFR_NR_DC_PwrSharingMode2_r16, + { "intraFR-NR-DC-PwrSharingMode2-r16", "nr-rrc.intraFR_NR_DC_PwrSharingMode2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFR_NR_DC_PwrSharingMode2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_intraFR_NR_DC_DynamicPwrSharing_r16, + { "intraFR-NR-DC-DynamicPwrSharing-r16", "nr-rrc.intraFR_NR_DC_DynamicPwrSharing_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFR_NR_DC_DynamicPwrSharing_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_fr1fdd_FR1TDD_CA_SpCellOnFR1FDD, + { "fr1fdd-FR1TDD-CA-SpCellOnFR1FDD", "nr-rrc.fr1fdd_FR1TDD_CA_SpCellOnFR1FDD", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1fdd_FR1TDD_CA_SpCellOnFR1FDD_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_fr1fdd_FR1TDD_CA_SpCellOnFR1TDD, + { "fr1fdd-FR1TDD-CA-SpCellOnFR1TDD", "nr-rrc.fr1fdd_FR1TDD_CA_SpCellOnFR1TDD", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1fdd_FR1TDD_CA_SpCellOnFR1TDD_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_fr1fdd_FR2TDD_CA_SpCellOnFR1FDD, + { "fr1fdd-FR2TDD-CA-SpCellOnFR1FDD", "nr-rrc.fr1fdd_FR2TDD_CA_SpCellOnFR1FDD", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1fdd_FR2TDD_CA_SpCellOnFR1FDD_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_fr1fdd_FR2TDD_CA_SpCellOnFR2TDD, + { "fr1fdd-FR2TDD-CA-SpCellOnFR2TDD", "nr-rrc.fr1fdd_FR2TDD_CA_SpCellOnFR2TDD", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1fdd_FR2TDD_CA_SpCellOnFR2TDD_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_fr1tdd_FR2TDD_CA_SpCellOnFR1TDD, + { "fr1tdd-FR2TDD-CA-SpCellOnFR1TDD", "nr-rrc.fr1tdd_FR2TDD_CA_SpCellOnFR1TDD", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1tdd_FR2TDD_CA_SpCellOnFR1TDD_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_fr1tdd_FR2TDD_CA_SpCellOnFR2TDD, + { "fr1tdd-FR2TDD-CA-SpCellOnFR2TDD", "nr-rrc.fr1tdd_FR2TDD_CA_SpCellOnFR2TDD", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1tdd_FR2TDD_CA_SpCellOnFR2TDD_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1FDD, + { "fr1fdd-FR1TDD-FR2TDD-CA-SpCellOnFR1FDD", "nr-rrc.fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1FDD", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1FDD_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1TDD, + { "fr1fdd-FR1TDD-FR2TDD-CA-SpCellOnFR1TDD", "nr-rrc.fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1TDD", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR1TDD_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR2TDD, + { "fr1fdd-FR1TDD-FR2TDD-CA-SpCellOnFR2TDD", "nr-rrc.fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR2TDD", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1fdd_FR1TDD_FR2TDD_CA_SpCellOnFR2TDD_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_type1_02, { "type1", "nr-rrc.type1_element", FT_NONE, BASE_NONE, NULL, 0, @@ -54383,10 +97433,10 @@ proto_register_nr_rrc(void) { { "nrofPanels", "nr-rrc.nrofPanels", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPanels_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_type2_01, + { &hf_nr_rrc_type2_02, { "type2", "nr-rrc.type2_element", FT_NONE, BASE_NONE, NULL, 0, - "T_type2_01", HFILL }}, + "T_type2_02", HFILL }}, { &hf_nr_rrc_parameterLx, { "parameterLx", "nr-rrc.parameterLx", FT_UINT32, BASE_DEC, NULL, 0, @@ -54407,6 +97457,46 @@ proto_register_nr_rrc(void) { { "amplitudeScalingType", "nr-rrc.amplitudeScalingType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_amplitudeScalingType_01_vals), 0, "T_amplitudeScalingType_01", HFILL }}, + { &hf_nr_rrc_supportedCSI_RS_ResourceListAlt_r16, + { "supportedCSI-RS-ResourceListAlt-r16", "nr-rrc.supportedCSI_RS_ResourceListAlt_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_supportedCSI_RS_ResourceListAlt_r16", HFILL }}, + { &hf_nr_rrc_type1_SinglePanel_r16, + { "type1-SinglePanel-r16", "nr-rrc.type1_SinglePanel_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_type1_SinglePanel_r16_item, + { "type1-SinglePanel-r16 item", "nr-rrc.type1_SinglePanel_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }}, + { &hf_nr_rrc_type1_MultiPanel_r16, + { "type1-MultiPanel-r16", "nr-rrc.type1_MultiPanel_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_type1_MultiPanel_r16_item, + { "type1-MultiPanel-r16 item", "nr-rrc.type1_MultiPanel_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }}, + { &hf_nr_rrc_type2_r16, + { "type2-r16", "nr-rrc.type2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_type2_r16_item, + { "type2-r16 item", "nr-rrc.type2_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }}, + { &hf_nr_rrc_type2_PortSelection_r16, + { "type2-PortSelection-r16", "nr-rrc.type2_PortSelection_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_type2_PortSelection_r16_item, + { "type2-PortSelection-r16 item", "nr-rrc.type2_PortSelection_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxNrofCSI_RS_ResourcesAlt_1_r16", HFILL }}, + { &hf_nr_rrc_CodebookVariantsList_r16_item, + { "SupportedCSI-RS-Resource", "nr-rrc.SupportedCSI_RS_Resource_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_maxNumberTxPortsPerResource, { "maxNumberTxPortsPerResource", "nr-rrc.maxNumberTxPortsPerResource", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberTxPortsPerResource_vals), 0, @@ -54427,10 +97517,10 @@ 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_03, + { &hf_nr_rrc_eutra_04, { "eutra", "nr-rrc.eutra_element", FT_NONE, BASE_NONE, NULL, 0, - "T_eutra_02", HFILL }}, + "T_eutra_03", HFILL }}, { &hf_nr_rrc_downlinkSetEUTRA, { "downlinkSetEUTRA", "nr-rrc.downlinkSetEUTRA", FT_UINT32, BASE_DEC, NULL, 0, @@ -54439,10 +97529,10 @@ proto_register_nr_rrc(void) { { "uplinkSetEUTRA", "nr-rrc.uplinkSetEUTRA", FT_UINT32, BASE_DEC, NULL, 0, "FeatureSetEUTRA_UplinkId", HFILL }}, - { &hf_nr_rrc_nr_03, + { &hf_nr_rrc_nr_04, { "nr", "nr-rrc.nr_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nr_02", HFILL }}, + "T_nr_03", HFILL }}, { &hf_nr_rrc_downlinkSetNR, { "downlinkSetNR", "nr-rrc.downlinkSetNR", FT_UINT32, BASE_DEC, NULL, 0, @@ -54639,6 +97729,50 @@ proto_register_nr_rrc(void) { { "dl-MCS-TableAlt-DynamicIndication", "nr-rrc.dl_MCS_TableAlt_DynamicIndication", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_MCS_TableAlt_DynamicIndication_vals), 0, "T_dl_MCS_TableAlt_DynamicIndication", HFILL }}, + { &hf_nr_rrc_supportedSRS_Resources, + { "supportedSRS-Resources", "nr-rrc.supportedSRS_Resources_element", + FT_NONE, BASE_NONE, NULL, 0, + "SRS_Resources", HFILL }}, + { &hf_nr_rrc_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot, + { "cbgPDSCH-ProcessingType1-DifferentTB-PerSlot", "nr-rrc.cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_scs_15kHz_03, + { "scs-15kHz", "nr-rrc.scs_15kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_02_vals), 0, + "T_scs_15kHz_02", HFILL }}, + { &hf_nr_rrc_scs_30kHz_03, + { "scs-30kHz", "nr-rrc.scs_30kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_02_vals), 0, + "T_scs_30kHz_02", HFILL }}, + { &hf_nr_rrc_scs_60kHz_04, + { "scs-60kHz", "nr-rrc.scs_60kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_03_vals), 0, + "T_scs_60kHz_03", HFILL }}, + { &hf_nr_rrc_scs_120kHz_03, + { "scs-120kHz", "nr-rrc.scs_120kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_03_vals), 0, + "T_scs_120kHz_03", HFILL }}, + { &hf_nr_rrc_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot, + { "cbgPDSCH-ProcessingType2-DifferentTB-PerSlot", "nr-rrc.cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_scs_15kHz_04, + { "scs-15kHz", "nr-rrc.scs_15kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_03_vals), 0, + "T_scs_15kHz_03", HFILL }}, + { &hf_nr_rrc_scs_30kHz_04, + { "scs-30kHz", "nr-rrc.scs_30kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_03_vals), 0, + "T_scs_30kHz_03", HFILL }}, + { &hf_nr_rrc_scs_60kHz_05, + { "scs-60kHz", "nr-rrc.scs_60kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_04_vals), 0, + "T_scs_60kHz_04", HFILL }}, + { &hf_nr_rrc_scs_120kHz_04, + { "scs-120kHz", "nr-rrc.scs_120kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_04_vals), 0, + "T_scs_120kHz_04", HFILL }}, { &hf_nr_rrc_maxNumberNZP_CSI_RS_PerCC, { "maxNumberNZP-CSI-RS-PerCC", "nr-rrc.maxNumberNZP_CSI_RS_PerCC", FT_UINT32, BASE_DEC, NULL, 0, @@ -54783,6 +97917,30 @@ proto_register_nr_rrc(void) { { "FeatureSetUplinkPerCC-v1540", "nr-rrc.FeatureSetUplinkPerCC_v1540_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_featureSetsDownlink_v15a0, + { "featureSetsDownlink-v15a0", "nr-rrc.featureSetsDownlink_v15a0", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v15a0", HFILL }}, + { &hf_nr_rrc_featureSetsDownlink_v15a0_item, + { "FeatureSetDownlink-v15a0", "nr-rrc.FeatureSetDownlink_v15a0_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_featureSetsDownlink_v1610, + { "featureSetsDownlink-v1610", "nr-rrc.featureSetsDownlink_v1610", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1610", HFILL }}, + { &hf_nr_rrc_featureSetsDownlink_v1610_item, + { "FeatureSetDownlink-v1610", "nr-rrc.FeatureSetDownlink_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_featureSetsUplink_v1610, + { "featureSetsUplink-v1610", "nr-rrc.featureSetsUplink_v1610", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1610", HFILL }}, + { &hf_nr_rrc_featureSetsUplink_v1610_item, + { "FeatureSetUplink-v1610", "nr-rrc.FeatureSetUplink_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_featureSetListPerUplinkCC, { "featureSetListPerUplinkCC", "nr-rrc.featureSetListPerUplinkCC", FT_UINT32, BASE_DEC, NULL, 0, @@ -54811,10 +97969,6 @@ proto_register_nr_rrc(void) { { "dummy1", "nr-rrc.dummy1_element", FT_NONE, BASE_NONE, NULL, 0, "DummyI", HFILL }}, - { &hf_nr_rrc_supportedSRS_Resources, - { "supportedSRS-Resources", "nr-rrc.supportedSRS_Resources_element", - FT_NONE, BASE_NONE, NULL, 0, - "SRS_Resources", HFILL }}, { &hf_nr_rrc_twoPUCCH_Group, { "twoPUCCH-Group", "nr-rrc.twoPUCCH_Group", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_Group_vals), 0, @@ -54831,22 +97985,22 @@ proto_register_nr_rrc(void) { { "pusch-ProcessingType1-DifferentTB-PerSlot", "nr-rrc.pusch_ProcessingType1_DifferentTB_PerSlot_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_scs_15kHz_03, + { &hf_nr_rrc_scs_15kHz_05, { "scs-15kHz", "nr-rrc.scs_15kHz", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_02_vals), 0, - "T_scs_15kHz_02", HFILL }}, - { &hf_nr_rrc_scs_30kHz_03, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_04_vals), 0, + "T_scs_15kHz_04", HFILL }}, + { &hf_nr_rrc_scs_30kHz_05, { "scs-30kHz", "nr-rrc.scs_30kHz", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_02_vals), 0, - "T_scs_30kHz_02", HFILL }}, - { &hf_nr_rrc_scs_60kHz_04, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_04_vals), 0, + "T_scs_30kHz_04", HFILL }}, + { &hf_nr_rrc_scs_60kHz_06, { "scs-60kHz", "nr-rrc.scs_60kHz", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_03_vals), 0, - "T_scs_60kHz_03", HFILL }}, - { &hf_nr_rrc_scs_120kHz_03, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_05_vals), 0, + "T_scs_60kHz_05", HFILL }}, + { &hf_nr_rrc_scs_120kHz_05, { "scs-120kHz", "nr-rrc.scs_120kHz", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_03_vals), 0, - "T_scs_120kHz_03", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_05_vals), 0, + "T_scs_120kHz_05", HFILL }}, { &hf_nr_rrc_dummy2_02, { "dummy2", "nr-rrc.dummy2_element", FT_NONE, BASE_NONE, NULL, 0, @@ -54871,6 +98025,122 @@ proto_register_nr_rrc(void) { { "ul-MCS-TableAlt-DynamicIndication", "nr-rrc.ul_MCS_TableAlt_DynamicIndication", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_MCS_TableAlt_DynamicIndication_vals), 0, "T_ul_MCS_TableAlt_DynamicIndication", HFILL }}, + { &hf_nr_rrc_pusch_RepetitionTypeB_r16, + { "pusch-RepetitionTypeB-r16", "nr-rrc.pusch_RepetitionTypeB_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxNumberPUSCH_Tx_r16, + { "maxNumberPUSCH-Tx-r16", "nr-rrc.maxNumberPUSCH_Tx_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPUSCH_Tx_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_hoppingScheme_r16, + { "hoppingScheme-r16", "nr-rrc.hoppingScheme_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_hoppingScheme_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ul_CancellationSelfCarrier_r16, + { "ul-CancellationSelfCarrier-r16", "nr-rrc.ul_CancellationSelfCarrier_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_CancellationSelfCarrier_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ul_CancellationCrossCarrier_r16, + { "ul-CancellationCrossCarrier-r16", "nr-rrc.ul_CancellationCrossCarrier_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_CancellationCrossCarrier_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ul_FullPwrMode2_MaxSRS_ResInSet, + { "ul-FullPwrMode2-MaxSRS-ResInSet", "nr-rrc.ul_FullPwrMode2_MaxSRS_ResInSet", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_FullPwrMode2_MaxSRS_ResInSet_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot, + { "cbgPUSCH-ProcessingType1-DifferentTB-PerSlot", "nr-rrc.cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_scs_15kHz_06, + { "scs-15kHz", "nr-rrc.scs_15kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_05_vals), 0, + "T_scs_15kHz_05", HFILL }}, + { &hf_nr_rrc_scs_30kHz_06, + { "scs-30kHz", "nr-rrc.scs_30kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_05_vals), 0, + "T_scs_30kHz_05", HFILL }}, + { &hf_nr_rrc_scs_60kHz_07, + { "scs-60kHz", "nr-rrc.scs_60kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_06_vals), 0, + "T_scs_60kHz_06", HFILL }}, + { &hf_nr_rrc_scs_120kHz_06, + { "scs-120kHz", "nr-rrc.scs_120kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_06_vals), 0, + "T_scs_120kHz_06", HFILL }}, + { &hf_nr_rrc_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot, + { "cbgPUSCH-ProcessingType2-DifferentTB-PerSlot", "nr-rrc.cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_scs_15kHz_07, + { "scs-15kHz", "nr-rrc.scs_15kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_06_vals), 0, + "T_scs_15kHz_06", HFILL }}, + { &hf_nr_rrc_scs_30kHz_07, + { "scs-30kHz", "nr-rrc.scs_30kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_06_vals), 0, + "T_scs_30kHz_06", HFILL }}, + { &hf_nr_rrc_scs_60kHz_08, + { "scs-60kHz", "nr-rrc.scs_60kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_07_vals), 0, + "T_scs_60kHz_07", HFILL }}, + { &hf_nr_rrc_scs_120kHz_07, + { "scs-120kHz", "nr-rrc.scs_120kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_07_vals), 0, + "T_scs_120kHz_07", HFILL }}, + { &hf_nr_rrc_supportedSRS_PosResources_r16, + { "supportedSRS-PosResources-r16", "nr-rrc.supportedSRS_PosResources_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SRS_AllPosResources_r16", HFILL }}, + { &hf_nr_rrc_srs_PosResources_r16, + { "srs-PosResources-r16", "nr-rrc.srs_PosResources_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_srs_PosResourceAP_r16, + { "srs-PosResourceAP-r16", "nr-rrc.srs_PosResourceAP_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_srs_PosResourceSP_r16, + { "srs-PosResourceSP-r16", "nr-rrc.srs_PosResourceSP_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxNumberSRS_PosResourceSetPerBWP_r16, + { "maxNumberSRS-PosResourceSetPerBWP-r16", "nr-rrc.maxNumberSRS_PosResourceSetPerBWP_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_PosResourceSetPerBWP_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxNumberSRS_PosResourcesPerBWP_r16, + { "maxNumberSRS-PosResourcesPerBWP-r16", "nr-rrc.maxNumberSRS_PosResourcesPerBWP_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_PosResourcesPerBWP_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxNumberSRS_ResourcesPerBWP_PerSlot_r16, + { "maxNumberSRS-ResourcesPerBWP-PerSlot-r16", "nr-rrc.maxNumberSRS_ResourcesPerBWP_PerSlot_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_ResourcesPerBWP_PerSlot_r16_vals), 0, + "T_maxNumberSRS_ResourcesPerBWP_PerSlot_r16", HFILL }}, + { &hf_nr_rrc_maxNumberPeriodicSRS_PosResourcesPerBWP_r16, + { "maxNumberPeriodicSRS-PosResourcesPerBWP-r16", "nr-rrc.maxNumberPeriodicSRS_PosResourcesPerBWP_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16, + { "maxNumberPeriodicSRS-PosResourcesPerBWP-PerSlot-r16", "nr-rrc.maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16_vals), 0, + "T_maxNumberPeriodicSRS_PosResourcesPerBWP_PerSlot_r16", HFILL }}, + { &hf_nr_rrc_maxNumberAP_SRS_PosResourcesPerBWP_r16, + { "maxNumberAP-SRS-PosResourcesPerBWP-r16", "nr-rrc.maxNumberAP_SRS_PosResourcesPerBWP_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberAP_SRS_PosResourcesPerBWP_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16, + { "maxNumberAP-SRS-PosResourcesPerBWP-PerSlot-r16", "nr-rrc.maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16_vals), 0, + "T_maxNumberAP_SRS_PosResourcesPerBWP_PerSlot_r16", HFILL }}, + { &hf_nr_rrc_maxNumberSP_SRS_PosResourcesPerBWP_r16, + { "maxNumberSP-SRS-PosResourcesPerBWP-r16", "nr-rrc.maxNumberSP_SRS_PosResourcesPerBWP_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSP_SRS_PosResourcesPerBWP_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16, + { "maxNumberSP-SRS-PosResourcesPerBWP-PerSlot-r16", "nr-rrc.maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16_vals), 0, + "T_maxNumberSP_SRS_PosResourcesPerBWP_PerSlot_r16", HFILL }}, { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP, { "maxNumberAperiodicSRS-PerBWP", "nr-rrc.maxNumberAperiodicSRS_PerBWP", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberAperiodicSRS_PerBWP_vals), 0, @@ -54983,6 +98253,14 @@ proto_register_nr_rrc(void) { { "maxCarriersRequestedUL", "nr-rrc.maxCarriersRequestedUL", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxNrofServingCells", HFILL }}, + { &hf_nr_rrc_measurementEnhancement_r16, + { "measurementEnhancement-r16", "nr-rrc.measurementEnhancement_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measurementEnhancement_r16_vals), 0, + "T_measurementEnhancement_r16", HFILL }}, + { &hf_nr_rrc_demodulationEnhancement_r16, + { "demodulationEnhancement-r16", "nr-rrc.demodulationEnhancement_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_demodulationEnhancement_r16_vals), 0, + "T_demodulationEnhancement_r16", HFILL }}, { &hf_nr_rrc_ims_ParametersCommon, { "ims-ParametersCommon", "nr-rrc.ims_ParametersCommon_element", FT_NONE, BASE_NONE, NULL, 0, @@ -54999,14 +98277,22 @@ proto_register_nr_rrc(void) { { "voiceOverSCG-BearerEUTRA-5GC", "nr-rrc.voiceOverSCG_BearerEUTRA_5GC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_voiceOverSCG_BearerEUTRA_5GC_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_voiceFallbackIndicationEPS_r16, + { "voiceFallbackIndicationEPS-r16", "nr-rrc.voiceFallbackIndicationEPS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_voiceFallbackIndicationEPS_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_voiceOverNR, { "voiceOverNR", "nr-rrc.voiceOverNR", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_voiceOverNR_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_eutra_04, + { &hf_nr_rrc_eutra_05, { "eutra", "nr-rrc.eutra_element", FT_NONE, BASE_NONE, NULL, 0, "EUTRA_Parameters", HFILL }}, + { &hf_nr_rrc_utra_FDD_r16, + { "utra-FDD-r16", "nr-rrc.utra_FDD_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "UTRA_FDD_Parameters_r16", HFILL }}, { &hf_nr_rrc_supportedBandListEUTRA, { "supportedBandListEUTRA", "nr-rrc.supportedBandListEUTRA", FT_UINT32, BASE_DEC, NULL, 0, @@ -55043,10 +98329,22 @@ proto_register_nr_rrc(void) { { "ne-DC", "nr-rrc.ne_DC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ne_DC_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_nr_HO_ToEN_DC_r16, + { "nr-HO-ToEN-DC-r16", "nr-rrc.nr_HO_ToEN_DC_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_HO_ToEN_DC_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_rsrqMeasWidebandEUTRA, { "rsrqMeasWidebandEUTRA", "nr-rrc.rsrqMeasWidebandEUTRA", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rsrqMeasWidebandEUTRA_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_supportedBandListUTRA_FDD_r16, + { "supportedBandListUTRA-FDD-r16", "nr-rrc.supportedBandListUTRA_FDD_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxBandsUTRA_FDD_r16_OF_SupportedBandUTRA_FDD_r16", HFILL }}, + { &hf_nr_rrc_supportedBandListUTRA_FDD_r16_item, + { "SupportedBandUTRA-FDD-r16", "nr-rrc.SupportedBandUTRA_FDD_r16", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_SupportedBandUTRA_FDD_r16_vals_ext, 0, + NULL, HFILL }}, { &hf_nr_rrc_mac_ParametersCommon, { "mac-ParametersCommon", "nr-rrc.mac_ParametersCommon_element", FT_NONE, BASE_NONE, NULL, 0, @@ -55055,6 +98353,10 @@ proto_register_nr_rrc(void) { { "mac-ParametersXDD-Diff", "nr-rrc.mac_ParametersXDD_Diff_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_mac_ParametersFRX_Diff_r16, + { "mac-ParametersFRX-Diff-r16", "nr-rrc.mac_ParametersFRX_Diff_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_lcp_Restriction, { "lcp-Restriction", "nr-rrc.lcp_Restriction", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lcp_Restriction_vals), 0, @@ -55075,6 +98377,70 @@ proto_register_nr_rrc(void) { { "recommendedBitRateQuery", "nr-rrc.recommendedBitRateQuery", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_recommendedBitRateQuery_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_recommendedBitRateMultiplier_r16, + { "recommendedBitRateMultiplier-r16", "nr-rrc.recommendedBitRateMultiplier_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_recommendedBitRateMultiplier_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_secondaryDRX_Group, + { "secondaryDRX-Group", "nr-rrc.secondaryDRX_Group", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_secondaryDRX_Group_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_preEmptiveBSR_r16, + { "preEmptiveBSR-r16", "nr-rrc.preEmptiveBSR_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preEmptiveBSR_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_autonomousTransmission_r16, + { "autonomousTransmission-r16", "nr-rrc.autonomousTransmission_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_autonomousTransmission_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_lch_PriorityBasedPrioritization_r16, + { "lch-PriorityBasedPrioritization-r16", "nr-rrc.lch_PriorityBasedPrioritization_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lch_PriorityBasedPrioritization_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_lch_ToConfiguredGrantMapping_r16, + { "lch-ToConfiguredGrantMapping-r16", "nr-rrc.lch_ToConfiguredGrantMapping_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lch_ToConfiguredGrantMapping_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_lch_ToGrantPriorityRestriction_r16, + { "lch-ToGrantPriorityRestriction-r16", "nr-rrc.lch_ToGrantPriorityRestriction_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lch_ToGrantPriorityRestriction_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_singlePHR_P_r16, + { "singlePHR-P-r16", "nr-rrc.singlePHR_P_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_singlePHR_P_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ul_LBT_FailureDetectionRecovery_r16, + { "ul-LBT-FailureDetectionRecovery-r16", "nr-rrc.ul_LBT_FailureDetectionRecovery_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_LBT_FailureDetectionRecovery_r16_vals), 0, + "T_ul_LBT_FailureDetectionRecovery_r16", HFILL }}, + { &hf_nr_rrc_directMCG_SCellActivation_r16, + { "directMCG-SCellActivation-r16", "nr-rrc.directMCG_SCellActivation_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_directMCG_SCellActivation_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_directMCG_SCellActivationResume_r16, + { "directMCG-SCellActivationResume-r16", "nr-rrc.directMCG_SCellActivationResume_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_directMCG_SCellActivationResume_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_directSCG_SCellActivation_r16, + { "directSCG-SCellActivation-r16", "nr-rrc.directSCG_SCellActivation_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_directSCG_SCellActivation_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_directSCG_SCellActivationResume_r16, + { "directSCG-SCellActivationResume-r16", "nr-rrc.directSCG_SCellActivationResume_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_directSCG_SCellActivationResume_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_drx_Adaptation_r16, + { "drx-Adaptation-r16", "nr-rrc.drx_Adaptation_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_licensedBand_r16, + { "licensedBand-r16", "nr-rrc.licensedBand_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "MinTimeGap_r16", HFILL }}, + { &hf_nr_rrc_unlicensedBand_r16, + { "unlicensedBand-r16", "nr-rrc.unlicensedBand_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "MinTimeGap_r16", HFILL }}, { &hf_nr_rrc_skipUplinkTxDynamic_01, { "skipUplinkTxDynamic", "nr-rrc.skipUplinkTxDynamic", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_skipUplinkTxDynamic_vals), 0, @@ -55099,6 +98465,22 @@ proto_register_nr_rrc(void) { { "multipleConfiguredGrants", "nr-rrc.multipleConfiguredGrants", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleConfiguredGrants_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_scs_15kHz_r16, + { "scs-15kHz-r16", "nr-rrc.scs_15kHz_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_scs_30kHz_r16, + { "scs-30kHz-r16", "nr-rrc.scs_30kHz_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_scs_60kHz_r16, + { "scs-60kHz-r16", "nr-rrc.scs_60kHz_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_scs_120kHz_r16, + { "scs-120kHz-r16", "nr-rrc.scs_120kHz_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_measAndMobParametersCommon, { "measAndMobParametersCommon", "nr-rrc.measAndMobParametersCommon_element", FT_NONE, BASE_NONE, NULL, 0, @@ -55159,6 +98541,82 @@ proto_register_nr_rrc(void) { { "nr-CGI-Reporting-ENDC", "nr-rrc.nr_CGI_Reporting_ENDC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_CGI_Reporting_ENDC_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_eutra_CGI_Reporting_NEDC, + { "eutra-CGI-Reporting-NEDC", "nr-rrc.eutra_CGI_Reporting_NEDC", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_CGI_Reporting_NEDC_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_eutra_CGI_Reporting_NRDC, + { "eutra-CGI-Reporting-NRDC", "nr-rrc.eutra_CGI_Reporting_NRDC", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_CGI_Reporting_NRDC_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nr_CGI_Reporting_NEDC, + { "nr-CGI-Reporting-NEDC", "nr-rrc.nr_CGI_Reporting_NEDC", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_CGI_Reporting_NEDC_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nr_CGI_Reporting_NRDC, + { "nr-CGI-Reporting-NRDC", "nr-rrc.nr_CGI_Reporting_NRDC", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_CGI_Reporting_NRDC_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_reportAddNeighMeasForPeriodic_r16, + { "reportAddNeighMeasForPeriodic-r16", "nr-rrc.reportAddNeighMeasForPeriodic_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAddNeighMeasForPeriodic_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_condHandoverParametersCommon_r16, + { "condHandoverParametersCommon-r16", "nr-rrc.condHandoverParametersCommon_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_condHandoverFDD_TDD_r16, + { "condHandoverFDD-TDD-r16", "nr-rrc.condHandoverFDD_TDD_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condHandoverFDD_TDD_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_condHandoverFR1_FR2_r16, + { "condHandoverFR1-FR2-r16", "nr-rrc.condHandoverFR1_FR2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condHandoverFR1_FR2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nr_NeedForGap_Reporting_r16, + { "nr-NeedForGap-Reporting-r16", "nr-rrc.nr_NeedForGap_Reporting_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_NeedForGap_Reporting_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_supportedGapPattern_NRonly_r16, + { "supportedGapPattern-NRonly-r16", "nr-rrc.supportedGapPattern_NRonly_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_10", HFILL }}, + { &hf_nr_rrc_supportedGapPattern_NRonly_NEDC_r16, + { "supportedGapPattern-NRonly-NEDC-r16", "nr-rrc.supportedGapPattern_NRonly_NEDC_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedGapPattern_NRonly_NEDC_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxNumberCLI_RSSI_r16, + { "maxNumberCLI-RSSI-r16", "nr-rrc.maxNumberCLI_RSSI_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberCLI_RSSI_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxNumberCLI_SRS_RSRP_r16, + { "maxNumberCLI-SRS-RSRP-r16", "nr-rrc.maxNumberCLI_SRS_RSRP_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberCLI_SRS_RSRP_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxNumberPerSlotCLI_SRS_RSRP_r16, + { "maxNumberPerSlotCLI-SRS-RSRP-r16", "nr-rrc.maxNumberPerSlotCLI_SRS_RSRP_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPerSlotCLI_SRS_RSRP_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_mfbi_IAB_r16, + { "mfbi-IAB-r16", "nr-rrc.mfbi_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mfbi_IAB_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_multipleNS_And_Pmax_IAB_r16, + { "multipleNS-And-Pmax-IAB-r16", "nr-rrc.multipleNS_And_Pmax_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleNS_And_Pmax_IAB_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nr_CGI_Reporting_NPN_r16, + { "nr-CGI-Reporting-NPN-r16", "nr-rrc.nr_CGI_Reporting_NPN_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_CGI_Reporting_NPN_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_idleInactiveEUTRA_MeasReport_r16, + { "idleInactiveEUTRA-MeasReport-r16", "nr-rrc.idleInactiveEUTRA_MeasReport_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleInactiveEUTRA_MeasReport_r16_vals), 0, + "T_idleInactiveEUTRA_MeasReport_r16", HFILL }}, + { &hf_nr_rrc_idleInactive_ValidityArea_r16, + { "idleInactive-ValidityArea-r16", "nr-rrc.idleInactive_ValidityArea_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleInactive_ValidityArea_r16_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, @@ -55187,6 +98645,62 @@ proto_register_nr_rrc(void) { { "sftd-MeasNR-Neigh-DRX", "nr-rrc.sftd_MeasNR_Neigh_DRX", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sftd_MeasNR_Neigh_DRX_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_condHandoverParametersXDD_Diff_r16, + { "condHandoverParametersXDD-Diff-r16", "nr-rrc.condHandoverParametersXDD_Diff_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_condHandover_r16, + { "condHandover-r16", "nr-rrc.condHandover_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condHandover_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_condHandoverFailure_r16, + { "condHandoverFailure-r16", "nr-rrc.condHandoverFailure_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condHandoverFailure_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_condHandoverTwoTriggerEvents_r16, + { "condHandoverTwoTriggerEvents-r16", "nr-rrc.condHandoverTwoTriggerEvents_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condHandoverTwoTriggerEvents_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pcellT312_r16, + { "pcellT312-r16", "nr-rrc.pcellT312_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pcellT312_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_handoverIntraF_IAB_r16, + { "handoverIntraF-IAB-r16", "nr-rrc.handoverIntraF_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverIntraF_IAB_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_eutra_AutonomousGaps_r16, + { "eutra-AutonomousGaps-r16", "nr-rrc.eutra_AutonomousGaps_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_AutonomousGaps_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_eutra_AutonomousGapsNEDC_r16, + { "eutra-AutonomousGapsNEDC-r16", "nr-rrc.eutra_AutonomousGapsNEDC_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_AutonomousGapsNEDC_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_eutra_AutonomousGapsNRDC_r16, + { "eutra-AutonomousGapsNRDC-r16", "nr-rrc.eutra_AutonomousGapsNRDC_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_AutonomousGapsNRDC_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nr_AutonomousGaps_r16, + { "nr-AutonomousGaps-r16", "nr-rrc.nr_AutonomousGaps_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_AutonomousGaps_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nr_AutonomousGaps_ENDC_r16, + { "nr-AutonomousGaps-ENDC-r16", "nr-rrc.nr_AutonomousGaps_ENDC_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_AutonomousGaps_ENDC_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nr_AutonomousGapsNEDC_r16, + { "nr-AutonomousGapsNEDC-r16", "nr-rrc.nr_AutonomousGapsNEDC_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_AutonomousGapsNEDC_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nr_AutonomousGapsNRDC_r16, + { "nr-AutonomousGapsNRDC-r16", "nr-rrc.nr_AutonomousGapsNRDC_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_AutonomousGapsNRDC_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_handoverUTRA_FDD_r16, + { "handoverUTRA-FDD-r16", "nr-rrc.handoverUTRA_FDD_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverUTRA_FDD_r16_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, @@ -55227,6 +98741,62 @@ 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_nr_AutonomousGaps_r16_01, + { "nr-AutonomousGaps-r16", "nr-rrc.nr_AutonomousGaps_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_AutonomousGaps_r16_01_vals), 0, + "T_nr_AutonomousGaps_r16_01", HFILL }}, + { &hf_nr_rrc_nr_AutonomousGaps_ENDC_r16_01, + { "nr-AutonomousGaps-ENDC-r16", "nr-rrc.nr_AutonomousGaps_ENDC_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_AutonomousGaps_ENDC_r16_01_vals), 0, + "T_nr_AutonomousGaps_ENDC_r16_01", HFILL }}, + { &hf_nr_rrc_handoverUTRA_FDD_r16_01, + { "handoverUTRA-FDD-r16", "nr-rrc.handoverUTRA_FDD_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverUTRA_FDD_r16_01_vals), 0, + "T_handoverUTRA_FDD_r16_01", HFILL }}, + { &hf_nr_rrc_cli_RSSI_Meas_r16, + { "cli-RSSI-Meas-r16", "nr-rrc.cli_RSSI_Meas_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cli_RSSI_Meas_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_cli_SRS_RSRP_Meas_r16, + { "cli-SRS-RSRP-Meas-r16", "nr-rrc.cli_SRS_RSRP_Meas_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cli_SRS_RSRP_Meas_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_condHandoverParametersFRX_Diff_r16, + { "condHandoverParametersFRX-Diff-r16", "nr-rrc.condHandoverParametersFRX_Diff_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_condHandover_r16_01, + { "condHandover-r16", "nr-rrc.condHandover_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condHandover_r16_01_vals), 0, + "T_condHandover_r16_01", HFILL }}, + { &hf_nr_rrc_condHandoverFailure_r16_01, + { "condHandoverFailure-r16", "nr-rrc.condHandoverFailure_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condHandoverFailure_r16_01_vals), 0, + "T_condHandoverFailure_r16_01", HFILL }}, + { &hf_nr_rrc_condHandoverTwoTriggerEvents_r16_01, + { "condHandoverTwoTriggerEvents-r16", "nr-rrc.condHandoverTwoTriggerEvents_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condHandoverTwoTriggerEvents_r16_01_vals), 0, + "T_condHandoverTwoTriggerEvents_r16_01", HFILL }}, + { &hf_nr_rrc_pcellT312_r16_01, + { "pcellT312-r16", "nr-rrc.pcellT312_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pcellT312_r16_01_vals), 0, + "T_pcellT312_r16_01", HFILL }}, + { &hf_nr_rrc_interFrequencyMeas_Nogap_r16, + { "interFrequencyMeas-Nogap-r16", "nr-rrc.interFrequencyMeas_Nogap_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interFrequencyMeas_Nogap_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology_Inter_r16, + { "simultaneousRxDataSSB-DiffNumerology-Inter-r16", "nr-rrc.simultaneousRxDataSSB_DiffNumerology_Inter_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_Inter_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_handoverIntraF_IAB_r16_01, + { "handoverIntraF-IAB-r16", "nr-rrc.handoverIntraF_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverIntraF_IAB_r16_01_vals), 0, + "T_handoverIntraF_IAB_r16_01", HFILL }}, + { &hf_nr_rrc_idleInactiveNR_MeasReport_r16, + { "idleInactiveNR-MeasReport-r16", "nr-rrc.idleInactiveNR_MeasReport_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idleInactiveNR_MeasReport_r16_vals), 0, + "T_idleInactiveNR_MeasReport_r16", HFILL }}, { &hf_nr_rrc_measAndMobParametersMRDC_Common, { "measAndMobParametersMRDC-Common", "nr-rrc.measAndMobParametersMRDC_Common_element", FT_NONE, BASE_NONE, NULL, 0, @@ -55243,10 +98813,38 @@ proto_register_nr_rrc(void) { { "measAndMobParametersMRDC-XDD-Diff-v1560", "nr-rrc.measAndMobParametersMRDC_XDD_Diff_v1560_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_measAndMobParametersMRDC_Common_v1610, + { "measAndMobParametersMRDC-Common-v1610", "nr-rrc.measAndMobParametersMRDC_Common_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff_v1610, + { "measAndMobParametersMRDC-XDD-Diff-v1610", "nr-rrc.measAndMobParametersMRDC_XDD_Diff_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_measAndMobParametersMRDC_FRX_Diff_v1610, + { "measAndMobParametersMRDC-FRX-Diff-v1610", "nr-rrc.measAndMobParametersMRDC_FRX_Diff_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_interNR_MeasEUTRA_IAB_r16, + { "interNR-MeasEUTRA-IAB-r16", "nr-rrc.interNR_MeasEUTRA_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interNR_MeasEUTRA_IAB_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_independentGapConfig_01, { "independentGapConfig", "nr-rrc.independentGapConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_independentGapConfig_01_vals), 0, "T_independentGapConfig_01", HFILL }}, + { &hf_nr_rrc_condPSCellChangeParametersCommon_r16, + { "condPSCellChangeParametersCommon-r16", "nr-rrc.condPSCellChangeParametersCommon_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_condPSCellChangeFDD_TDD_r16, + { "condPSCellChangeFDD-TDD-r16", "nr-rrc.condPSCellChangeFDD_TDD_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condPSCellChangeFDD_TDD_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_condPSCellChangeFR1_FR2_r16, + { "condPSCellChangeFR1-FR2-r16", "nr-rrc.condPSCellChangeFR1_FR2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condPSCellChangeFR1_FR2_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_sftd_MeasPSCell, { "sftd-MeasPSCell", "nr-rrc.sftd_MeasPSCell", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sftd_MeasPSCell_vals), 0, @@ -55259,10 +98857,42 @@ proto_register_nr_rrc(void) { { "sftd-MeasPSCell-NEDC", "nr-rrc.sftd_MeasPSCell_NEDC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sftd_MeasPSCell_NEDC_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_condPSCellChangeParametersXDD_Diff_r16, + { "condPSCellChangeParametersXDD-Diff-r16", "nr-rrc.condPSCellChangeParametersXDD_Diff_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_condPSCellChange_r16, + { "condPSCellChange-r16", "nr-rrc.condPSCellChange_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condPSCellChange_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_condPSCellChangeTwoTriggerEvents_r16, + { "condPSCellChangeTwoTriggerEvents-r16", "nr-rrc.condPSCellChangeTwoTriggerEvents_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condPSCellChangeTwoTriggerEvents_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pscellT312_r16, + { "pscellT312-r16", "nr-rrc.pscellT312_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pscellT312_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology_01, { "simultaneousRxDataSSB-DiffNumerology", "nr-rrc.simultaneousRxDataSSB_DiffNumerology", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_01_vals), 0, "T_simultaneousRxDataSSB_DiffNumerology_01", HFILL }}, + { &hf_nr_rrc_condPSCellChangeParametersFRX_Diff_r16, + { "condPSCellChangeParametersFRX-Diff-r16", "nr-rrc.condPSCellChangeParametersFRX_Diff_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_condPSCellChange_r16_01, + { "condPSCellChange-r16", "nr-rrc.condPSCellChange_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condPSCellChange_r16_01_vals), 0, + "T_condPSCellChange_r16_01", HFILL }}, + { &hf_nr_rrc_condPSCellChangeTwoTriggerEvents_r16_01, + { "condPSCellChangeTwoTriggerEvents-r16", "nr-rrc.condPSCellChangeTwoTriggerEvents_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_condPSCellChangeTwoTriggerEvents_r16_01_vals), 0, + "T_condPSCellChangeTwoTriggerEvents_r16_01", HFILL }}, + { &hf_nr_rrc_pscellT312_r16_01, + { "pscellT312-r16", "nr-rrc.pscellT312_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pscellT312_r16_01_vals), 0, + "T_pscellT312_r16_01", HFILL }}, { &hf_nr_rrc_tci_StatePDSCH, { "tci-StatePDSCH", "nr-rrc.tci_StatePDSCH_element", FT_NONE, BASE_NONE, NULL, 0, @@ -55315,22 +98945,22 @@ proto_register_nr_rrc(void) { { "maxNumberRxTxBeamSwitchDL", "nr-rrc.maxNumberRxTxBeamSwitchDL_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_scs_15kHz_04, + { &hf_nr_rrc_scs_15kHz_08, { "scs-15kHz", "nr-rrc.scs_15kHz", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_03_vals), 0, - "T_scs_15kHz_03", HFILL }}, - { &hf_nr_rrc_scs_30kHz_04, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_07_vals), 0, + "T_scs_15kHz_07", HFILL }}, + { &hf_nr_rrc_scs_30kHz_08, { "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, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_07_vals), 0, + "T_scs_30kHz_07", HFILL }}, + { &hf_nr_rrc_scs_60kHz_09, { "scs-60kHz", "nr-rrc.scs_60kHz", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_04_vals), 0, - "T_scs_60kHz_04", HFILL }}, - { &hf_nr_rrc_scs_120kHz_04, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_08_vals), 0, + "T_scs_60kHz_08", HFILL }}, + { &hf_nr_rrc_scs_120kHz_08, { "scs-120kHz", "nr-rrc.scs_120kHz", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_04_vals), 0, - "T_scs_120kHz_04", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_08_vals), 0, + "T_scs_120kHz_08", HFILL }}, { &hf_nr_rrc_scs_240kHz, { "scs-240kHz", "nr-rrc.scs_240kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_240kHz_vals), 0, @@ -55387,39 +99017,39 @@ proto_register_nr_rrc(void) { { "beamReportTiming", "nr-rrc.beamReportTiming_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_scs_15kHz_05, + { &hf_nr_rrc_scs_15kHz_09, { "scs-15kHz", "nr-rrc.scs_15kHz", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_04_vals), 0, - "T_scs_15kHz_04", HFILL }}, - { &hf_nr_rrc_scs_30kHz_05, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_08_vals), 0, + "T_scs_15kHz_08", HFILL }}, + { &hf_nr_rrc_scs_30kHz_09, { "scs-30kHz", "nr-rrc.scs_30kHz", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_04_vals), 0, - "T_scs_30kHz_04", HFILL }}, - { &hf_nr_rrc_scs_60kHz_06, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_08_vals), 0, + "T_scs_30kHz_08", HFILL }}, + { &hf_nr_rrc_scs_60kHz_10, { "scs-60kHz", "nr-rrc.scs_60kHz", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_05_vals), 0, - "T_scs_60kHz_05", HFILL }}, - { &hf_nr_rrc_scs_120kHz_05, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_09_vals), 0, + "T_scs_60kHz_09", HFILL }}, + { &hf_nr_rrc_scs_120kHz_09, { "scs-120kHz", "nr-rrc.scs_120kHz", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_05_vals), 0, - "T_scs_120kHz_05", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_09_vals), 0, + "T_scs_120kHz_09", HFILL }}, { &hf_nr_rrc_ptrs_DensityRecommendationSetDL, { "ptrs-DensityRecommendationSetDL", "nr-rrc.ptrs_DensityRecommendationSetDL_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_scs_15kHz_06, + { &hf_nr_rrc_scs_15kHz_10, { "scs-15kHz", "nr-rrc.scs_15kHz_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_DensityRecommendationDL", HFILL }}, - { &hf_nr_rrc_scs_30kHz_06, + { &hf_nr_rrc_scs_30kHz_10, { "scs-30kHz", "nr-rrc.scs_30kHz_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_DensityRecommendationDL", HFILL }}, - { &hf_nr_rrc_scs_60kHz_07, + { &hf_nr_rrc_scs_60kHz_11, { "scs-60kHz", "nr-rrc.scs_60kHz_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_DensityRecommendationDL", HFILL }}, - { &hf_nr_rrc_scs_120kHz_06, + { &hf_nr_rrc_scs_120kHz_10, { "scs-120kHz", "nr-rrc.scs_120kHz_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_DensityRecommendationDL", HFILL }}, @@ -55427,19 +99057,19 @@ proto_register_nr_rrc(void) { { "ptrs-DensityRecommendationSetUL", "nr-rrc.ptrs_DensityRecommendationSetUL_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_scs_15kHz_07, + { &hf_nr_rrc_scs_15kHz_11, { "scs-15kHz", "nr-rrc.scs_15kHz_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_DensityRecommendationUL", HFILL }}, - { &hf_nr_rrc_scs_30kHz_07, + { &hf_nr_rrc_scs_30kHz_11, { "scs-30kHz", "nr-rrc.scs_30kHz_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_DensityRecommendationUL", HFILL }}, - { &hf_nr_rrc_scs_60kHz_08, + { &hf_nr_rrc_scs_60kHz_12, { "scs-60kHz", "nr-rrc.scs_60kHz_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_DensityRecommendationUL", HFILL }}, - { &hf_nr_rrc_scs_120kHz_07, + { &hf_nr_rrc_scs_120kHz_11, { "scs-120kHz", "nr-rrc.scs_120kHz_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_DensityRecommendationUL", HFILL }}, @@ -55463,14 +99093,14 @@ proto_register_nr_rrc(void) { { "beamSwitchTiming", "nr-rrc.beamSwitchTiming_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_scs_60kHz_09, + { &hf_nr_rrc_scs_60kHz_13, { "scs-60kHz", "nr-rrc.scs_60kHz", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_06_vals), 0, - "T_scs_60kHz_06", HFILL }}, - { &hf_nr_rrc_scs_120kHz_08, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_10_vals), 0, + "T_scs_60kHz_10", HFILL }}, + { &hf_nr_rrc_scs_120kHz_12, { "scs-120kHz", "nr-rrc.scs_120kHz", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_06_vals), 0, - "T_scs_120kHz_06", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_10_vals), 0, + "T_scs_120kHz_10", HFILL }}, { &hf_nr_rrc_codebookParameters, { "codebookParameters", "nr-rrc.codebookParameters_element", FT_NONE, BASE_NONE, NULL, 0, @@ -55503,6 +99133,14 @@ proto_register_nr_rrc(void) { { "spatialRelations", "nr-rrc.spatialRelations_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_defaultQCL_TwoTCI_r16, + { "defaultQCL-TwoTCI-r16", "nr-rrc.defaultQCL_TwoTCI_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_defaultQCL_TwoTCI_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_codebookParametersPerBand_r16, + { "codebookParametersPerBand-r16", "nr-rrc.codebookParametersPerBand_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "CodebookParameters_v1610", 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, @@ -55731,6 +99369,38 @@ proto_register_nr_rrc(void) { { "ul-TimingAlignmentEUTRA-NR", "nr-rrc.ul_TimingAlignmentEUTRA_NR", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_TimingAlignmentEUTRA_NR_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16, + { "maxUplinkDutyCycle-interBandENDC-TDD-PC2-r16", "nr-rrc.maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_eutra_TDD_Config0_r16, + { "eutra-TDD-Config0-r16", "nr-rrc.eutra_TDD_Config0_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_TDD_Config0_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_eutra_TDD_Config1_r16, + { "eutra-TDD-Config1-r16", "nr-rrc.eutra_TDD_Config1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_TDD_Config1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_eutra_TDD_Config2_r16, + { "eutra-TDD-Config2-r16", "nr-rrc.eutra_TDD_Config2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_TDD_Config2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_eutra_TDD_Config3_r16, + { "eutra-TDD-Config3-r16", "nr-rrc.eutra_TDD_Config3_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_TDD_Config3_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_eutra_TDD_Config4_r16, + { "eutra-TDD-Config4-r16", "nr-rrc.eutra_TDD_Config4_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_TDD_Config4_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_eutra_TDD_Config5_r16, + { "eutra-TDD-Config5-r16", "nr-rrc.eutra_TDD_Config5_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_TDD_Config5_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_eutra_TDD_Config6_r16, + { "eutra-TDD-Config6-r16", "nr-rrc.eutra_TDD_Config6_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_TDD_Config6_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_dynamicPowerSharingNEDC, { "dynamicPowerSharingNEDC", "nr-rrc.dynamicPowerSharingNEDC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicPowerSharingNEDC_vals), 0, @@ -55771,6 +99441,26 @@ proto_register_nr_rrc(void) { { "sfn-SyncNRDC", "nr-rrc.sfn_SyncNRDC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sfn_SyncNRDC_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_measAndMobParametersNRDC_v1610, + { "measAndMobParametersNRDC-v1610", "nr-rrc.measAndMobParametersNRDC_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + "MeasAndMobParametersMRDC_v1610", HFILL }}, + { &hf_nr_rrc_olpc_SRS_PosBasedOnPRS_Serving_r16, + { "olpc-SRS-PosBasedOnPRS-Serving-r16", "nr-rrc.olpc_SRS_PosBasedOnPRS_Serving_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_olpc_SRS_PosBasedOnPRS_Serving_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_olpc_SRS_PosBasedOnSSB_Neigh_r16, + { "olpc-SRS-PosBasedOnSSB-Neigh-r16", "nr-rrc.olpc_SRS_PosBasedOnSSB_Neigh_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_olpc_SRS_PosBasedOnSSB_Neigh_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_olpc_SRS_PosBasedOnPRS_Neigh_r16, + { "olpc-SRS-PosBasedOnPRS-Neigh-r16", "nr-rrc.olpc_SRS_PosBasedOnPRS_Neigh_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_olpc_SRS_PosBasedOnPRS_Neigh_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxNumberPathLossEstimatePerServing_r16, + { "maxNumberPathLossEstimatePerServing-r16", "nr-rrc.maxNumberPathLossEstimatePerServing_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPathLossEstimatePerServing_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_supportedROHC_Profiles, { "supportedROHC-Profiles", "nr-rrc.supportedROHC_Profiles_element", FT_NONE, BASE_NONE, NULL, 0, @@ -55807,6 +99497,38 @@ proto_register_nr_rrc(void) { { "pdcp-DuplicationMCG-OrSCG-DRB", "nr-rrc.pdcp_DuplicationMCG_OrSCG_DRB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_DuplicationMCG_OrSCG_DRB_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_drb_IAB_r16, + { "drb-IAB-r16", "nr-rrc.drb_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drb_IAB_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_non_DRB_IAB_r16, + { "non-DRB-IAB-r16", "nr-rrc.non_DRB_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_non_DRB_IAB_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_extendedDiscardTimer_r16, + { "extendedDiscardTimer-r16", "nr-rrc.extendedDiscardTimer_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedDiscardTimer_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_continueEHC_Context_r16, + { "continueEHC-Context-r16", "nr-rrc.continueEHC_Context_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_continueEHC_Context_r16_vals), 0, + "T_continueEHC_Context_r16", HFILL }}, + { &hf_nr_rrc_ehc_r16, + { "ehc-r16", "nr-rrc.ehc_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ehc_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxNumberEHC_Contexts_r16, + { "maxNumberEHC-Contexts-r16", "nr-rrc.maxNumberEHC_Contexts_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberEHC_Contexts_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_jointEHC_ROHC_Config_r16, + { "jointEHC-ROHC-Config-r16", "nr-rrc.jointEHC_ROHC_Config_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_jointEHC_ROHC_Config_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pdcp_DuplicationMoreThanTwoRLC_r16, + { "pdcp-DuplicationMoreThanTwoRLC-r16", "nr-rrc.pdcp_DuplicationMoreThanTwoRLC_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_DuplicationMoreThanTwoRLC_r16_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, @@ -55815,6 +99537,10 @@ proto_register_nr_rrc(void) { { "pdcp-DuplicationSplitDRB", "nr-rrc.pdcp_DuplicationSplitDRB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_DuplicationSplitDRB_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_scg_DRB_NR_IAB_r16, + { "scg-DRB-NR-IAB-r16", "nr-rrc.scg_DRB_NR_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scg_DRB_NR_IAB_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_phy_ParametersCommon, { "phy-ParametersCommon", "nr-rrc.phy_ParametersCommon_element", FT_NONE, BASE_NONE, NULL, 0, @@ -55987,6 +99713,110 @@ proto_register_nr_rrc(void) { { "maxLayersMIMO-Indication", "nr-rrc.maxLayersMIMO_Indication", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxLayersMIMO_Indication_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_spCellPlacement, + { "spCellPlacement", "nr-rrc.spCellPlacement_element", + FT_NONE, BASE_NONE, NULL, 0, + "CarrierAggregationVariant", HFILL }}, + { &hf_nr_rrc_twoStepRACH_r16, + { "twoStepRACH-r16", "nr-rrc.twoStepRACH_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoStepRACH_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_dci_Format1_2And0_2_r16, + { "dci-Format1-2And0-2-r16", "nr-rrc.dci_Format1_2And0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_Format1_2And0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_monitoringDCI_SameSearchSpace_r16, + { "monitoringDCI-SameSearchSpace-r16", "nr-rrc.monitoringDCI_SameSearchSpace_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_monitoringDCI_SameSearchSpace_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_type2_CG_ReleaseDCI_0_1_r16, + { "type2-CG-ReleaseDCI-0-1-r16", "nr-rrc.type2_CG_ReleaseDCI_0_1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_CG_ReleaseDCI_0_1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_type2_CG_ReleaseDCI_0_2_r16, + { "type2-CG-ReleaseDCI-0-2-r16", "nr-rrc.type2_CG_ReleaseDCI_0_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_CG_ReleaseDCI_0_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sps_ReleaseDCI_1_1_r16, + { "sps-ReleaseDCI-1-1-r16", "nr-rrc.sps_ReleaseDCI_1_1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sps_ReleaseDCI_1_1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sps_ReleaseDCI_1_2_r16, + { "sps-ReleaseDCI-1-2-r16", "nr-rrc.sps_ReleaseDCI_1_2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sps_ReleaseDCI_1_2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_csi_TriggerStateNon_ActiveBWP_r16, + { "csi-TriggerStateNon-ActiveBWP-r16", "nr-rrc.csi_TriggerStateNon_ActiveBWP_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_TriggerStateNon_ActiveBWP_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_seperateSMTC_InterIAB_Support_r16, + { "seperateSMTC-InterIAB-Support-r16", "nr-rrc.seperateSMTC_InterIAB_Support_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_seperateSMTC_InterIAB_Support_r16_vals), 0, + "T_seperateSMTC_InterIAB_Support_r16", HFILL }}, + { &hf_nr_rrc_seperateRACH_IAB_Support_r16, + { "seperateRACH-IAB-Support-r16", "nr-rrc.seperateRACH_IAB_Support_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_seperateRACH_IAB_Support_r16_vals), 0, + "T_seperateRACH_IAB_Support_r16", HFILL }}, + { &hf_nr_rrc_ul_flexibleDL_SlotFormatSemiStatic_IAB_r16, + { "ul-flexibleDL-SlotFormatSemiStatic-IAB-r16", "nr-rrc.ul_flexibleDL_SlotFormatSemiStatic_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_flexibleDL_SlotFormatSemiStatic_IAB_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ul_flexibleDL_SlotFormatDynamics_IAB_r16, + { "ul-flexibleDL-SlotFormatDynamics-IAB-r16", "nr-rrc.ul_flexibleDL_SlotFormatDynamics_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_flexibleDL_SlotFormatDynamics_IAB_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_dft_S_OFDM_WaveformUL_IAB_r16, + { "dft-S-OFDM-WaveformUL-IAB-r16", "nr-rrc.dft_S_OFDM_WaveformUL_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dft_S_OFDM_WaveformUL_IAB_r16_vals), 0, + "T_dft_S_OFDM_WaveformUL_IAB_r16", HFILL }}, + { &hf_nr_rrc_dci_25_AI_RNTI_Support_IAB_r16, + { "dci-25-AI-RNTI-Support-IAB-r16", "nr-rrc.dci_25_AI_RNTI_Support_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_25_AI_RNTI_Support_IAB_r16_vals), 0, + "T_dci_25_AI_RNTI_Support_IAB_r16", HFILL }}, + { &hf_nr_rrc_t_DeltaReceptionSupport_IAB_r16, + { "t-DeltaReceptionSupport-IAB-r16", "nr-rrc.t_DeltaReceptionSupport_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t_DeltaReceptionSupport_IAB_r16_vals), 0, + "T_t_DeltaReceptionSupport_IAB_r16", HFILL }}, + { &hf_nr_rrc_guardSymbolReportReception_IAB_r16, + { "guardSymbolReportReception-IAB-r16", "nr-rrc.guardSymbolReportReception_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_guardSymbolReportReception_IAB_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_harqACK_CB_SpatialBundlingPUCCH_Group_r16, + { "harqACK-CB-SpatialBundlingPUCCH-Group-r16", "nr-rrc.harqACK_CB_SpatialBundlingPUCCH_Group_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harqACK_CB_SpatialBundlingPUCCH_Group_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_crossSlotScheduling_r16, + { "crossSlotScheduling-r16", "nr-rrc.crossSlotScheduling_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_licensedBand_r16_01, + { "licensedBand-r16", "nr-rrc.licensedBand_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_licensedBand_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_unlicensedBand_r16_01, + { "unlicensedBand-r16", "nr-rrc.unlicensedBand_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_unlicensedBand_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxNumberSRS_PosPathLossEstimateAllServingCells_r16, + { "maxNumberSRS-PosPathLossEstimateAllServingCells-r16", "nr-rrc.maxNumberSRS_PosPathLossEstimateAllServingCells_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_PosPathLossEstimateAllServingCells_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxNumberSRS_PosSpatialRelationsAllServingCells_r16, + { "maxNumberSRS-PosSpatialRelationsAllServingCells-r16", "nr-rrc.maxNumberSRS_PosSpatialRelationsAllServingCells_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_PosSpatialRelationsAllServingCells_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_extendedCG_Periodicities_r16, + { "extendedCG-Periodicities-r16", "nr-rrc.extendedCG_Periodicities_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedCG_Periodicities_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_extendedSPS_Periodicities_r16, + { "extendedSPS-Periodicities-r16", "nr-rrc.extendedSPS_Periodicities_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedSPS_Periodicities_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_codebookVariantsList_r16, + { "codebookVariantsList-r16", "nr-rrc.codebookVariantsList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_dynamicSFI, { "dynamicSFI", "nr-rrc.dynamicSFI", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSFI_vals), 0, @@ -56235,14 +100065,50 @@ proto_register_nr_rrc(void) { { "mux-HARQ-ACK-PUSCH-DiffSymbol", "nr-rrc.mux_HARQ_ACK_PUSCH_DiffSymbol", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_HARQ_ACK_PUSCH_DiffSymbol_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_type1_HARQ_ACK_Codebook_r16, + { "type1-HARQ-ACK-Codebook-r16", "nr-rrc.type1_HARQ_ACK_Codebook_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_HARQ_ACK_Codebook_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_enhancedPowerControl_r16, + { "enhancedPowerControl-r16", "nr-rrc.enhancedPowerControl_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enhancedPowerControl_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_simultaneousTCI_ActMultipleCC_r16, + { "simultaneousTCI-ActMultipleCC-r16", "nr-rrc.simultaneousTCI_ActMultipleCC_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousTCI_ActMultipleCC_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_simultaneousSpatialRelationMultipleCC_r16, + { "simultaneousSpatialRelationMultipleCC-r16", "nr-rrc.simultaneousSpatialRelationMultipleCC_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousSpatialRelationMultipleCC_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_defaultSpatialRelationPathlossRS_r16, + { "defaultSpatialRelationPathlossRS-r16", "nr-rrc.defaultSpatialRelationPathlossRS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_defaultSpatialRelationPathlossRS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_spatialRelationUpdateAP_SRS_r16, + { "spatialRelationUpdateAP-SRS-r16", "nr-rrc.spatialRelationUpdateAP_SRS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialRelationUpdateAP_SRS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_cli_RSSI_FDM_DL_r16, + { "cli-RSSI-FDM-DL-r16", "nr-rrc.cli_RSSI_FDM_DL_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cli_RSSI_FDM_DL_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_cli_SRS_RSRP_FDM_DL_r16, + { "cli-SRS-RSRP-FDM-DL-r16", "nr-rrc.cli_SRS_RSRP_FDM_DL_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cli_SRS_RSRP_FDM_DL_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxLayersMIMO_Adaptation_r16, + { "maxLayersMIMO-Adaptation-r16", "nr-rrc.maxLayersMIMO_Adaptation_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxLayersMIMO_Adaptation_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_pdcch_MonitoringSingleOccasion, { "pdcch-MonitoringSingleOccasion", "nr-rrc.pdcch_MonitoringSingleOccasion", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_MonitoringSingleOccasion_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_scs_60kHz_10, + { &hf_nr_rrc_scs_60kHz_14, { "scs-60kHz", "nr-rrc.scs_60kHz", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_07_vals), 0, - "T_scs_60kHz_07", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_11_vals), 0, + "T_scs_60kHz_11", 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, @@ -56287,6 +100153,38 @@ proto_register_nr_rrc(void) { { "numberOfAggregatedPRB", "nr-rrc.numberOfAggregatedPRB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numberOfAggregatedPRB_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_powSav_ParametersCommon_r16, + { "powSav-ParametersCommon-r16", "nr-rrc.powSav_ParametersCommon_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_powSav_ParametersFRX_Diff_r16, + { "powSav-ParametersFRX-Diff-r16", "nr-rrc.powSav_ParametersFRX_Diff_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_drx_Preference_r16_01, + { "drx-Preference-r16", "nr-rrc.drx_Preference_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_Preference_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxCC_Preference_r16_01, + { "maxCC-Preference-r16", "nr-rrc.maxCC_Preference_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCC_Preference_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_releasePreference_r16_01, + { "releasePreference-r16", "nr-rrc.releasePreference_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_releasePreference_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_minSchedulingOffsetPreference_r16_01, + { "minSchedulingOffsetPreference-r16", "nr-rrc.minSchedulingOffsetPreference_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_minSchedulingOffsetPreference_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxBW_Preference_r16_01, + { "maxBW-Preference-r16", "nr-rrc.maxBW_Preference_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxBW_Preference_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxMIMO_LayerPreference_r16_01, + { "maxMIMO-LayerPreference-r16", "nr-rrc.maxMIMO_LayerPreference_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxMIMO_LayerPreference_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_fallback, { "fallback", "nr-rrc.fallback", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fallback_vals), 0, @@ -56343,6 +100241,18 @@ proto_register_nr_rrc(void) { { "supportedBandCombinationList-v1560", "nr-rrc.supportedBandCombinationList_v1560", FT_UINT32, BASE_DEC, NULL, 0, "BandCombinationList_v1560", HFILL }}, + { &hf_nr_rrc_supportedBandCombinationList_v1610, + { "supportedBandCombinationList-v1610", "nr-rrc.supportedBandCombinationList_v1610", + FT_UINT32, BASE_DEC, NULL, 0, + "BandCombinationList_v1610", HFILL }}, + { &hf_nr_rrc_supportedBandCombinationListSidelink_r16_01, + { "supportedBandCombinationListSidelink-r16", "nr-rrc.supportedBandCombinationListSidelink_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "BandCombinationListSidelink_r16", HFILL }}, + { &hf_nr_rrc_supportedBandCombinationList_UplinkTxSwitch_r16, + { "supportedBandCombinationList-UplinkTxSwitch-r16", "nr-rrc.supportedBandCombinationList_UplinkTxSwitch_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "BandCombinationList_UplinkTxSwitch_r16", HFILL }}, { &hf_nr_rrc_modifiedMPR_Behaviour, { "modifiedMPR-Behaviour", "nr-rrc.modifiedMPR_Behaviour", FT_BYTES, BASE_NONE, NULL, 0, @@ -56399,15 +100309,15 @@ proto_register_nr_rrc(void) { { "fr1", "nr-rrc.fr1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_scs_15kHz_08, + { &hf_nr_rrc_scs_15kHz_12, { "scs-15kHz", "nr-rrc.scs_15kHz", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_10", HFILL }}, - { &hf_nr_rrc_scs_30kHz_08, + { &hf_nr_rrc_scs_30kHz_12, { "scs-30kHz", "nr-rrc.scs_30kHz", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_10", HFILL }}, - { &hf_nr_rrc_scs_60kHz_11, + { &hf_nr_rrc_scs_60kHz_15, { "scs-60kHz", "nr-rrc.scs_60kHz", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_10", HFILL }}, @@ -56415,11 +100325,11 @@ proto_register_nr_rrc(void) { { "fr2", "nr-rrc.fr2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_scs_60kHz_12, + { &hf_nr_rrc_scs_60kHz_16, { "scs-60kHz", "nr-rrc.scs_60kHz", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_3", HFILL }}, - { &hf_nr_rrc_scs_120kHz_09, + { &hf_nr_rrc_scs_120kHz_13, { "scs-120kHz", "nr-rrc.scs_120kHz", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_3", HFILL }}, @@ -56459,15 +100369,15 @@ proto_register_nr_rrc(void) { { "fr1", "nr-rrc.fr1_element", FT_NONE, BASE_NONE, NULL, 0, "T_fr1_02", HFILL }}, - { &hf_nr_rrc_scs_15kHz_09, + { &hf_nr_rrc_scs_15kHz_13, { "scs-15kHz", "nr-rrc.scs_15kHz", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_16", HFILL }}, - { &hf_nr_rrc_scs_30kHz_09, + { &hf_nr_rrc_scs_30kHz_13, { "scs-30kHz", "nr-rrc.scs_30kHz", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_16", HFILL }}, - { &hf_nr_rrc_scs_60kHz_13, + { &hf_nr_rrc_scs_60kHz_17, { "scs-60kHz", "nr-rrc.scs_60kHz", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_16", HFILL }}, @@ -56475,11 +100385,11 @@ proto_register_nr_rrc(void) { { "fr2", "nr-rrc.fr2_element", FT_NONE, BASE_NONE, NULL, 0, "T_fr2_02", HFILL }}, - { &hf_nr_rrc_scs_60kHz_14, + { &hf_nr_rrc_scs_60kHz_18, { "scs-60kHz", "nr-rrc.scs_60kHz", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_8", HFILL }}, - { &hf_nr_rrc_scs_120kHz_10, + { &hf_nr_rrc_scs_120kHz_14, { "scs-120kHz", "nr-rrc.scs_120kHz", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_8", HFILL }}, @@ -56495,6 +100405,126 @@ proto_register_nr_rrc(void) { { "fr2", "nr-rrc.fr2_element", FT_NONE, BASE_NONE, NULL, 0, "T_fr2_03", HFILL }}, + { &hf_nr_rrc_asymmetricBandwidthCombinationSet, + { "asymmetricBandwidthCombinationSet", "nr-rrc.asymmetricBandwidthCombinationSet", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_1_32", HFILL }}, + { &hf_nr_rrc_unlicensedParametersPerBand_r16, + { "unlicensedParametersPerBand-r16", "nr-rrc.unlicensedParametersPerBand_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_cancelOverlappingPUSCH_r16, + { "cancelOverlappingPUSCH-r16", "nr-rrc.cancelOverlappingPUSCH_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cancelOverlappingPUSCH_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_multipleRateMatchingEUTRA_CRS_r16, + { "multipleRateMatchingEUTRA-CRS-r16", "nr-rrc.multipleRateMatchingEUTRA_CRS_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxNumberPatterns_r16, + { "maxNumberPatterns-r16", "nr-rrc.maxNumberPatterns_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_2_6", HFILL }}, + { &hf_nr_rrc_maxNumberNon_OverlapPatterns_r16, + { "maxNumberNon-OverlapPatterns-r16", "nr-rrc.maxNumberNon_OverlapPatterns_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_3", HFILL }}, + { &hf_nr_rrc_overlapRateMatchingEUTRA_CRS_r16, + { "overlapRateMatchingEUTRA-CRS-r16", "nr-rrc.overlapRateMatchingEUTRA_CRS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_overlapRateMatchingEUTRA_CRS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pdsch_MappingTypeB_Alt_r16, + { "pdsch-MappingTypeB-Alt-r16", "nr-rrc.pdsch_MappingTypeB_Alt_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_MappingTypeB_Alt_r16_vals), 0, + "T_pdsch_MappingTypeB_Alt_r16", HFILL }}, + { &hf_nr_rrc_oneShotPeriodicTRS_r16, + { "oneShotPeriodicTRS-r16", "nr-rrc.oneShotPeriodicTRS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneShotPeriodicTRS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_olpc_SRS_Pos_r16, + { "olpc-SRS-Pos-r16", "nr-rrc.olpc_SRS_Pos_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_spatialRelationsSRS_Pos_r16, + { "spatialRelationsSRS-Pos-r16", "nr-rrc.spatialRelationsSRS_Pos_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_simul_SRS_Trans_IntraBandCA_r16, + { "simul-SRS-Trans-IntraBandCA-r16", "nr-rrc.simul_SRS_Trans_IntraBandCA_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_2", HFILL }}, + { &hf_nr_rrc_channelBW_DL_IAB_r16, + { "channelBW-DL-IAB-r16", "nr-rrc.channelBW_DL_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelBW_DL_IAB_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_fr1_100mhz, + { "fr1-100mhz", "nr-rrc.fr1_100mhz_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_scs_15kHz_14, + { "scs-15kHz", "nr-rrc.scs_15kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_09_vals), 0, + "T_scs_15kHz_09", HFILL }}, + { &hf_nr_rrc_scs_30kHz_14, + { "scs-30kHz", "nr-rrc.scs_30kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_09_vals), 0, + "T_scs_30kHz_09", HFILL }}, + { &hf_nr_rrc_scs_60kHz_19, + { "scs-60kHz", "nr-rrc.scs_60kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_12_vals), 0, + "T_scs_60kHz_12", HFILL }}, + { &hf_nr_rrc_fr2_200mhz, + { "fr2-200mhz", "nr-rrc.fr2_200mhz_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_scs_60kHz_20, + { "scs-60kHz", "nr-rrc.scs_60kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_13_vals), 0, + "T_scs_60kHz_13", HFILL }}, + { &hf_nr_rrc_scs_120kHz_15, + { "scs-120kHz", "nr-rrc.scs_120kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_11_vals), 0, + "T_scs_120kHz_11", HFILL }}, + { &hf_nr_rrc_channelBW_UL_IAB_r16, + { "channelBW-UL-IAB-r16", "nr-rrc.channelBW_UL_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelBW_UL_IAB_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_fr1_100mhz_01, + { "fr1-100mhz", "nr-rrc.fr1_100mhz_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_fr1_100mhz_01", HFILL }}, + { &hf_nr_rrc_scs_15kHz_15, + { "scs-15kHz", "nr-rrc.scs_15kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_10_vals), 0, + "T_scs_15kHz_10", HFILL }}, + { &hf_nr_rrc_scs_30kHz_15, + { "scs-30kHz", "nr-rrc.scs_30kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_10_vals), 0, + "T_scs_30kHz_10", HFILL }}, + { &hf_nr_rrc_scs_60kHz_21, + { "scs-60kHz", "nr-rrc.scs_60kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_14_vals), 0, + "T_scs_60kHz_14", HFILL }}, + { &hf_nr_rrc_fr2_200mhz_01, + { "fr2-200mhz", "nr-rrc.fr2_200mhz_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_fr2_200mhz_01", HFILL }}, + { &hf_nr_rrc_scs_60kHz_22, + { "scs-60kHz", "nr-rrc.scs_60kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_15_vals), 0, + "T_scs_60kHz_15", HFILL }}, + { &hf_nr_rrc_scs_120kHz_16, + { "scs-120kHz", "nr-rrc.scs_120kHz", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_12_vals), 0, + "T_scs_120kHz_12", HFILL }}, + { &hf_nr_rrc_rasterShift7dot5_IAB_r16, + { "rasterShift7dot5-IAB-r16", "nr-rrc.rasterShift7dot5_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rasterShift7dot5_IAB_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ue_PowerClass_v1610, + { "ue-PowerClass-v1610", "nr-rrc.ue_PowerClass_v1610", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_PowerClass_v1610_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_srs_SwitchingTimeRequested_01, { "srs-SwitchingTimeRequested", "nr-rrc.srs_SwitchingTimeRequested", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_SwitchingTimeRequested_01_vals), 0, @@ -56515,6 +100545,14 @@ proto_register_nr_rrc(void) { { "supportedBandCombinationList-v1590", "nr-rrc.supportedBandCombinationList_v1590", FT_UINT32, BASE_DEC, NULL, 0, "BandCombinationList_v1590", HFILL }}, + { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v15a0, + { "supportedBandCombinationListNEDC-Only-v15a0", "nr-rrc.supportedBandCombinationListNEDC_Only_v15a0_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_supportedBandCombinationListNEDC_Only_v1610, + { "supportedBandCombinationListNEDC-Only-v1610", "nr-rrc.supportedBandCombinationListNEDC_Only_v1610", + FT_UINT32, BASE_DEC, NULL, 0, + "BandCombinationList_v1610", HFILL }}, { &hf_nr_rrc_am_WithShortSN, { "am-WithShortSN", "nr-rrc.am_WithShortSN", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_am_WithShortSN_vals), 0, @@ -56527,10 +100565,146 @@ proto_register_nr_rrc(void) { { "um-WithLongSN", "nr-rrc.um_WithLongSN", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_um_WithLongSN_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_extendedT_PollRetransmit_r16, + { "extendedT-PollRetransmit-r16", "nr-rrc.extendedT_PollRetransmit_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedT_PollRetransmit_r16_vals), 0, + "T_extendedT_PollRetransmit_r16", HFILL }}, + { &hf_nr_rrc_extendedT_StatusProhibit_r16, + { "extendedT-StatusProhibit-r16", "nr-rrc.extendedT_StatusProhibit_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedT_StatusProhibit_r16_vals), 0, + "T_extendedT_StatusProhibit_r16", HFILL }}, { &hf_nr_rrc_as_ReflectiveQoS, { "as-ReflectiveQoS", "nr-rrc.as_ReflectiveQoS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_as_ReflectiveQoS_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_sdap_QOS_IAB_r16, + { "sdap-QOS-IAB-r16", "nr-rrc.sdap_QOS_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdap_QOS_IAB_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sdapHeaderIAB_r16, + { "sdapHeaderIAB-r16", "nr-rrc.sdapHeaderIAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdapHeaderIAB_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sidelinkParametersNR_r16, + { "sidelinkParametersNR-r16", "nr-rrc.sidelinkParametersNR_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sidelinkParametersEUTRA_r16, + { "sidelinkParametersEUTRA-r16", "nr-rrc.sidelinkParametersEUTRA_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_rlc_ParametersSidelink_r16, + { "rlc-ParametersSidelink-r16", "nr-rrc.rlc_ParametersSidelink_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_mac_ParametersSidelink_r16, + { "mac-ParametersSidelink-r16", "nr-rrc.mac_ParametersSidelink_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_fdd_Add_UE_Sidelink_Capabilities_r16, + { "fdd-Add-UE-Sidelink-Capabilities-r16", "nr-rrc.fdd_Add_UE_Sidelink_Capabilities_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "UE_SidelinkCapabilityAddXDD_Mode_r16", HFILL }}, + { &hf_nr_rrc_tdd_Add_UE_Sidelink_Capabilities_r16, + { "tdd-Add-UE-Sidelink-Capabilities-r16", "nr-rrc.tdd_Add_UE_Sidelink_Capabilities_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "UE_SidelinkCapabilityAddXDD_Mode_r16", HFILL }}, + { &hf_nr_rrc_sl_ParametersEUTRA1_r16, + { "sl-ParametersEUTRA1-r16", "nr-rrc.sl_ParametersEUTRA1_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ParametersEUTRA2_r16, + { "sl-ParametersEUTRA2-r16", "nr-rrc.sl_ParametersEUTRA2_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ParametersEUTRA3_r16, + { "sl-ParametersEUTRA3-r16", "nr-rrc.sl_ParametersEUTRA3_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_supportedBandListSidelinkEUTRA_r16, + { "supportedBandListSidelinkEUTRA-r16", "nr-rrc.supportedBandListSidelinkEUTRA_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxBandsEUTRA_OF_BandSidelinkEUTRA_r16", HFILL }}, + { &hf_nr_rrc_supportedBandListSidelinkEUTRA_r16_item, + { "BandSidelinkEUTRA-r16", "nr-rrc.BandSidelinkEUTRA_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_am_WithLongSN_Sidelink_r16, + { "am-WithLongSN-Sidelink-r16", "nr-rrc.am_WithLongSN_Sidelink_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_am_WithLongSN_Sidelink_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_um_WithLongSN_Sidelink_r16, + { "um-WithLongSN-Sidelink-r16", "nr-rrc.um_WithLongSN_Sidelink_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_um_WithLongSN_Sidelink_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_mac_ParametersSidelinkCommon_r16, + { "mac-ParametersSidelinkCommon-r16", "nr-rrc.mac_ParametersSidelinkCommon_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_mac_ParametersSidelinkXDD_Diff_r16, + { "mac-ParametersSidelinkXDD-Diff-r16", "nr-rrc.mac_ParametersSidelinkXDD_Diff_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_lcp_RestrictionSidelink_r16, + { "lcp-RestrictionSidelink-r16", "nr-rrc.lcp_RestrictionSidelink_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lcp_RestrictionSidelink_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_multipleConfiguredGrantsSidelink_r16, + { "multipleConfiguredGrantsSidelink-r16", "nr-rrc.multipleConfiguredGrantsSidelink_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleConfiguredGrantsSidelink_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_multipleSR_ConfigurationsSidelink_r16, + { "multipleSR-ConfigurationsSidelink-r16", "nr-rrc.multipleSR_ConfigurationsSidelink_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleSR_ConfigurationsSidelink_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_logicalChannelSR_DelayTimerSidelink_r16, + { "logicalChannelSR-DelayTimerSidelink-r16", "nr-rrc.logicalChannelSR_DelayTimerSidelink_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logicalChannelSR_DelayTimerSidelink_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_freqBandSidelinkEUTRA_r16, + { "freqBandSidelinkEUTRA-r16", "nr-rrc.freqBandSidelinkEUTRA_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "FreqBandIndicatorEUTRA", HFILL }}, + { &hf_nr_rrc_gnb_ScheduledMode3SidelinkEUTRA_r16, + { "gnb-ScheduledMode3SidelinkEUTRA-r16", "nr-rrc.gnb_ScheduledMode3SidelinkEUTRA_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_gnb_ScheduledMode3DelaySidelinkEUTRA_r16, + { "gnb-ScheduledMode3DelaySidelinkEUTRA-r16", "nr-rrc.gnb_ScheduledMode3DelaySidelinkEUTRA_r16", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_gnb_ScheduledMode3DelaySidelinkEUTRA_r16_vals_ext, 0, + NULL, HFILL }}, + { &hf_nr_rrc_gnb_ScheduledMode4SidelinkEUTRA_r16, + { "gnb-ScheduledMode4SidelinkEUTRA-r16", "nr-rrc.gnb_ScheduledMode4SidelinkEUTRA_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gnb_ScheduledMode4SidelinkEUTRA_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_rach_Report_r16, + { "rach-Report-r16", "nr-rrc.rach_Report_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rach_Report_r16_vals), 0, + "T_rach_Report_r16", HFILL }}, + { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnSSB_Serving_r16, + { "spatialRelation-SRS-PosBasedOnSSB-Serving-r16", "nr-rrc.spatialRelation_SRS_PosBasedOnSSB_Serving_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialRelation_SRS_PosBasedOnSSB_Serving_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16, + { "spatialRelation-SRS-PosBasedOnCSI-RS-Serving-r16", "nr-rrc.spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialRelation_SRS_PosBasedOnCSI_RS_Serving_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnPRS_Serving_r16, + { "spatialRelation-SRS-PosBasedOnPRS-Serving-r16", "nr-rrc.spatialRelation_SRS_PosBasedOnPRS_Serving_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialRelation_SRS_PosBasedOnPRS_Serving_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnSRS_r16, + { "spatialRelation-SRS-PosBasedOnSRS-r16", "nr-rrc.spatialRelation_SRS_PosBasedOnSRS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialRelation_SRS_PosBasedOnSRS_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16, + { "spatialRelation-SRS-PosBasedOnSSB-Neigh-r16", "nr-rrc.spatialRelation_SRS_PosBasedOnSSB_Neigh_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialRelation_SRS_PosBasedOnSSB_Neigh_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16, + { "spatialRelation-SRS-PosBasedOnPRS-Neigh-r16", "nr-rrc.spatialRelation_SRS_PosBasedOnPRS_Neigh_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialRelation_SRS_PosBasedOnPRS_Neigh_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_switchingTimeDL, { "switchingTimeDL", "nr-rrc.switchingTimeDL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_switchingTimeDL_vals), 0, @@ -56555,6 +100729,46 @@ proto_register_nr_rrc(void) { { "fr2", "nr-rrc.fr2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr2_04_vals), 0, "T_fr2_04", HFILL }}, + { &hf_nr_rrc_barometerMeasReport_r16, + { "barometerMeasReport-r16", "nr-rrc.barometerMeasReport_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_barometerMeasReport_r16_vals), 0, + "T_barometerMeasReport_r16", HFILL }}, + { &hf_nr_rrc_immMeasBT_r16, + { "immMeasBT-r16", "nr-rrc.immMeasBT_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_immMeasBT_r16_vals), 0, + "T_immMeasBT_r16", HFILL }}, + { &hf_nr_rrc_immMeasWLAN_r16, + { "immMeasWLAN-r16", "nr-rrc.immMeasWLAN_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_immMeasWLAN_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_loggedMeasBT_r16, + { "loggedMeasBT-r16", "nr-rrc.loggedMeasBT_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_loggedMeasBT_r16_vals), 0, + "T_loggedMeasBT_r16", HFILL }}, + { &hf_nr_rrc_loggedMeasurements_r16, + { "loggedMeasurements-r16", "nr-rrc.loggedMeasurements_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_loggedMeasurements_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_loggedMeasWLAN_r16, + { "loggedMeasWLAN-r16", "nr-rrc.loggedMeasWLAN_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_loggedMeasWLAN_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_orientationMeasReport_r16, + { "orientationMeasReport-r16", "nr-rrc.orientationMeasReport_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_orientationMeasReport_r16_vals), 0, + "T_orientationMeasReport_r16", HFILL }}, + { &hf_nr_rrc_speedMeasReport_r16, + { "speedMeasReport-r16", "nr-rrc.speedMeasReport_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_speedMeasReport_r16_vals), 0, + "T_speedMeasReport_r16", HFILL }}, + { &hf_nr_rrc_gnss_Location_r16, + { "gnss-Location-r16", "nr-rrc.gnss_Location_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gnss_Location_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ulPDCP_Delay_r16, + { "ulPDCP-Delay-r16", "nr-rrc.ulPDCP_Delay_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ulPDCP_Delay_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_UE_CapabilityRAT_ContainerList_item, { "UE-CapabilityRAT-Container", "nr-rrc.UE_CapabilityRAT_Container_element", FT_NONE, BASE_NONE, NULL, 0, @@ -56591,11 +100805,35 @@ proto_register_nr_rrc(void) { { "includeNE-DC", "nr-rrc.includeNE_DC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeNE_DC_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_codebookTypeRequest_r16, + { "codebookTypeRequest-r16", "nr-rrc.codebookTypeRequest_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_codebookTypeRequest_r16", HFILL }}, + { &hf_nr_rrc_type1_SinglePanel_r16_01, + { "type1-SinglePanel-r16", "nr-rrc.type1_SinglePanel_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_SinglePanel_r16_01_vals), 0, + "T_type1_SinglePanel_r16_01", HFILL }}, + { &hf_nr_rrc_type1_MultiPanel_r16_01, + { "type1-MultiPanel-r16", "nr-rrc.type1_MultiPanel_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_MultiPanel_r16_01_vals), 0, + "T_type1_MultiPanel_r16_01", HFILL }}, + { &hf_nr_rrc_type2_r16_01, + { "type2-r16", "nr-rrc.type2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_r16_01_vals), 0, + "T_type2_r16_01", HFILL }}, + { &hf_nr_rrc_type2_PortSelection_r16_01, + { "type2-PortSelection-r16", "nr-rrc.type2_PortSelection_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_PortSelection_r16_01_vals), 0, + "T_type2_PortSelection_r16_01", HFILL }}, + { &hf_nr_rrc_uplinkTxSwitchRequest_r16, + { "uplinkTxSwitchRequest-r16", "nr-rrc.uplinkTxSwitchRequest_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkTxSwitchRequest_r16_vals), 0, + "T_uplinkTxSwitchRequest_r16", HFILL }}, { &hf_nr_rrc_frequencyBandListFilter, { "frequencyBandListFilter", "nr-rrc.frequencyBandListFilter", FT_UINT32, BASE_DEC, NULL, 0, "FreqBandList", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_55, + { &hf_nr_rrc_nonCriticalExtension_83, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_CapabilityRequestFilterNR_v1540", HFILL }}, @@ -56603,10 +100841,10 @@ proto_register_nr_rrc(void) { { "srs-SwitchingTimeRequest", "nr-rrc.srs_SwitchingTimeRequest", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_SwitchingTimeRequest_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_56, + { &hf_nr_rrc_nonCriticalExtension_84, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_37", HFILL }}, + "T_nonCriticalExtension_49", HFILL }}, { &hf_nr_rrc_measAndMobParametersMRDC, { "measAndMobParametersMRDC", "nr-rrc.measAndMobParametersMRDC_element", FT_NONE, BASE_NONE, NULL, 0, @@ -56651,7 +100889,7 @@ proto_register_nr_rrc(void) { { "pdcp-ParametersMRDC-v1530", "nr-rrc.pdcp_ParametersMRDC_v1530_element", FT_NONE, BASE_NONE, NULL, 0, "PDCP_ParametersMRDC", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_57, + { &hf_nr_rrc_nonCriticalExtension_85, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_MRDC_Capability_v1560", HFILL }}, @@ -56671,10 +100909,26 @@ proto_register_nr_rrc(void) { { "tdd-Add-UE-MRDC-Capabilities-v1560", "nr-rrc.tdd_Add_UE_MRDC_Capabilities_v1560_element", FT_NONE, BASE_NONE, NULL, 0, "UE_MRDC_CapabilityAddXDD_Mode_v1560", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_58, + { &hf_nr_rrc_nonCriticalExtension_86, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_38", HFILL }}, + "UE_MRDC_Capability_v1610", HFILL }}, + { &hf_nr_rrc_measAndMobParametersMRDC_v1610, + { "measAndMobParametersMRDC-v1610", "nr-rrc.measAndMobParametersMRDC_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_generalParametersMRDC_v1610, + { "generalParametersMRDC-v1610", "nr-rrc.generalParametersMRDC_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_pdcp_ParametersMRDC_v1610, + { "pdcp-ParametersMRDC-v1610", "nr-rrc.pdcp_ParametersMRDC_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_87, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_50", HFILL }}, { &hf_nr_rrc_generalParametersMRDC_XDD_Diff, { "generalParametersMRDC-XDD-Diff", "nr-rrc.generalParametersMRDC_XDD_Diff_element", FT_NONE, BASE_NONE, NULL, 0, @@ -56695,6 +100949,10 @@ proto_register_nr_rrc(void) { { "v2x-EUTRA", "nr-rrc.v2x_EUTRA", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_v2x_EUTRA_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_f1c_OverEUTRA_r16, + { "f1c-OverEUTRA-r16", "nr-rrc.f1c_OverEUTRA_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_f1c_OverEUTRA_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_accessStratumRelease, { "accessStratumRelease", "nr-rrc.accessStratumRelease", FT_UINT32, BASE_DEC, VALS(nr_rrc_AccessStratumRelease_vals), 0, @@ -56743,7 +101001,7 @@ proto_register_nr_rrc(void) { { "featureSets", "nr-rrc.featureSets_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_59, + { &hf_nr_rrc_nonCriticalExtension_88, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_Capability_v1530", HFILL }}, @@ -56771,7 +101029,7 @@ proto_register_nr_rrc(void) { { "delayBudgetReporting", "nr-rrc.delayBudgetReporting", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_delayBudgetReporting_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_60, + { &hf_nr_rrc_nonCriticalExtension_89, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_Capability_v1540", HFILL }}, @@ -56799,7 +101057,7 @@ proto_register_nr_rrc(void) { { "fr1-fr2-Add-UE-NR-Capabilities", "nr-rrc.fr1_fr2_Add_UE_NR_Capabilities_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_CapabilityAddFRX_Mode", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_61, + { &hf_nr_rrc_nonCriticalExtension_90, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_Capability_v1550", HFILL }}, @@ -56807,7 +101065,7 @@ proto_register_nr_rrc(void) { { "reducedCP-Latency", "nr-rrc.reducedCP_Latency", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reducedCP_Latency_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_62, + { &hf_nr_rrc_nonCriticalExtension_91, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_Capability_v1560", HFILL }}, @@ -56819,7 +101077,7 @@ proto_register_nr_rrc(void) { { "receivedFilters", "nr-rrc.receivedFilters", FT_BYTES, BASE_NONE, NULL, 0, "T_receivedFilters_01", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_63, + { &hf_nr_rrc_nonCriticalExtension_92, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_Capability_v1570", HFILL }}, @@ -56827,10 +101085,254 @@ proto_register_nr_rrc(void) { { "nrdc-Parameters-v1570", "nr-rrc.nrdc_Parameters_v1570_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_64, + { &hf_nr_rrc_nonCriticalExtension_93, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_39", HFILL }}, + "UE_NR_Capability_v1610", HFILL }}, + { &hf_nr_rrc_inDeviceCoexInd_r16, + { "inDeviceCoexInd-r16", "nr-rrc.inDeviceCoexInd_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_inDeviceCoexInd_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_dl_DedicatedMessageSegmentation_r16, + { "dl-DedicatedMessageSegmentation-r16", "nr-rrc.dl_DedicatedMessageSegmentation_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_DedicatedMessageSegmentation_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nrdc_Parameters_v1610, + { "nrdc-Parameters-v1610", "nr-rrc.nrdc_Parameters_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_powSav_Parameters_r16, + { "powSav-Parameters-r16", "nr-rrc.powSav_Parameters_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_fr1_Add_UE_NR_Capabilities_v1610, + { "fr1-Add-UE-NR-Capabilities-v1610", "nr-rrc.fr1_Add_UE_NR_Capabilities_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + "UE_NR_CapabilityAddFRX_Mode_v1610", HFILL }}, + { &hf_nr_rrc_fr2_Add_UE_NR_Capabilities_v1610, + { "fr2-Add-UE-NR-Capabilities-v1610", "nr-rrc.fr2_Add_UE_NR_Capabilities_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + "UE_NR_CapabilityAddFRX_Mode_v1610", HFILL }}, + { &hf_nr_rrc_bh_RLF_Indication_r16, + { "bh-RLF-Indication-r16", "nr-rrc.bh_RLF_Indication_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bh_RLF_Indication_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_directSN_AdditionFirstRRC_IAB_r16, + { "directSN-AdditionFirstRRC-IAB-r16", "nr-rrc.directSN_AdditionFirstRRC_IAB_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_directSN_AdditionFirstRRC_IAB_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_bap_Parameters_r16, + { "bap-Parameters-r16", "nr-rrc.bap_Parameters_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_referenceTimeProvision_r16, + { "referenceTimeProvision-r16", "nr-rrc.referenceTimeProvision_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceTimeProvision_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sidelinkParameters_r16, + { "sidelinkParameters-r16", "nr-rrc.sidelinkParameters_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_highSpeedParameters_r16, + { "highSpeedParameters-r16", "nr-rrc.highSpeedParameters_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_mac_Parameters_v1610, + { "mac-Parameters-v1610", "nr-rrc.mac_Parameters_v1610_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_mcgRLF_RecoveryViaSCG_r16, + { "mcgRLF-RecoveryViaSCG-r16", "nr-rrc.mcgRLF_RecoveryViaSCG_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcgRLF_RecoveryViaSCG_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_resumeWithStoredMCG_SCells_r16, + { "resumeWithStoredMCG-SCells-r16", "nr-rrc.resumeWithStoredMCG_SCells_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resumeWithStoredMCG_SCells_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_resumeWithStoredSCG_r16, + { "resumeWithStoredSCG-r16", "nr-rrc.resumeWithStoredSCG_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resumeWithStoredSCG_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_resumeWithSCG_Config_r16, + { "resumeWithSCG-Config-r16", "nr-rrc.resumeWithSCG_Config_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resumeWithSCG_Config_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ue_BasedPerfMeas_Parameters_r16, + { "ue-BasedPerfMeas-Parameters-r16", "nr-rrc.ue_BasedPerfMeas_Parameters_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_son_Parameters_r16, + { "son-Parameters-r16", "nr-rrc.son_Parameters_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_onDemandSIB_Connected_r16, + { "onDemandSIB-Connected-r16", "nr-rrc.onDemandSIB_Connected_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_onDemandSIB_Connected_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_94, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_51", HFILL }}, + { &hf_nr_rrc_flowControlBH_RLC_ChannelBased_r16, + { "flowControlBH-RLC-ChannelBased-r16", "nr-rrc.flowControlBH_RLC_ChannelBased_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_flowControlBH_RLC_ChannelBased_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_flowControlRouting_ID_Based_r16, + { "flowControlRouting-ID-Based-r16", "nr-rrc.flowControlRouting_ID_Based_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_flowControlRouting_ID_Based_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ssb_BFD_CBD_dynamicChannelAccess_r16, + { "ssb-BFD-CBD-dynamicChannelAccess-r16", "nr-rrc.ssb_BFD_CBD_dynamicChannelAccess_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_BFD_CBD_dynamicChannelAccess_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ssb_BFD_CBD_semi_staticChannelAccess_r16, + { "ssb-BFD-CBD-semi-staticChannelAccess-r16", "nr-rrc.ssb_BFD_CBD_semi_staticChannelAccess_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_BFD_CBD_semi_staticChannelAccess_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_csi_RS_BFD_CBD_r16, + { "csi-RS-BFD-CBD-r16", "nr-rrc.csi_RS_BFD_CBD_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_BFD_CBD_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_rssi_ChannelOccupancyReporting_r16, + { "rssi-ChannelOccupancyReporting-r16", "nr-rrc.rssi_ChannelOccupancyReporting_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rssi_ChannelOccupancyReporting_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_srs_StartAnyOFDM_Symbol_r16, + { "srs-StartAnyOFDM-Symbol-r16", "nr-rrc.srs_StartAnyOFDM_Symbol_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_StartAnyOFDM_Symbol_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_searchSpaceFreqMonitorLocation_r16, + { "searchSpaceFreqMonitorLocation-r16", "nr-rrc.searchSpaceFreqMonitorLocation_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_5", HFILL }}, + { &hf_nr_rrc_coreset_RB_Offset_r16, + { "coreset-RB-Offset-r16", "nr-rrc.coreset_RB_Offset_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_coreset_RB_Offset_r16_vals), 0, + "T_coreset_RB_Offset_r16", HFILL }}, + { &hf_nr_rrc_cgi_Acquisition_r16, + { "cgi-Acquisition-r16", "nr-rrc.cgi_Acquisition_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cgi_Acquisition_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_configuredUL_Tx_r16, + { "configuredUL-Tx-r16", "nr-rrc.configuredUL_Tx_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredUL_Tx_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_typeB_PDSCH_length_r16, + { "typeB-PDSCH-length-r16", "nr-rrc.typeB_PDSCH_length_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_typeB_PDSCH_length_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_searchSpaceSetGroupSwitchingwithDCI_r16, + { "searchSpaceSetGroupSwitchingwithDCI-r16", "nr-rrc.searchSpaceSetGroupSwitchingwithDCI_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSetGroupSwitchingwithDCI_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_searchSpaceSetGroupSwitchingwithoutDCI_r16, + { "searchSpaceSetGroupSwitchingwithoutDCI-r16", "nr-rrc.searchSpaceSetGroupSwitchingwithoutDCI_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSetGroupSwitchingwithoutDCI_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_searchSpaceSetGroupSwitchingcapability2_r16, + { "searchSpaceSetGroupSwitchingcapability2-r16", "nr-rrc.searchSpaceSetGroupSwitchingcapability2_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSetGroupSwitchingcapability2_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_non_numericalPDSCH_HARQ_timing_r16, + { "non-numericalPDSCH-HARQ-timing-r16", "nr-rrc.non_numericalPDSCH_HARQ_timing_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_non_numericalPDSCH_HARQ_timing_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_enhancedDynamicHARQ_codebook_r16, + { "enhancedDynamicHARQ-codebook-r16", "nr-rrc.enhancedDynamicHARQ_codebook_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_enhancedDynamicHARQ_codebook_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_oneShotHARQ_feedback_r16, + { "oneShotHARQ-feedback-r16", "nr-rrc.oneShotHARQ_feedback_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneShotHARQ_feedback_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_multiPUSCH_UL_grant_r16, + { "multiPUSCH-UL-grant-r16", "nr-rrc.multiPUSCH_UL_grant_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multiPUSCH_UL_grant_r16_vals), 0, + "T_multiPUSCH_UL_grant_r16", HFILL }}, + { &hf_nr_rrc_csi_RS_RLM_r16, + { "csi-RS-RLM-r16", "nr-rrc.csi_RS_RLM_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_RLM_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_vcsi_RS_RRM_r16, + { "vcsi-RS-RRM-r16", "nr-rrc.vcsi_RS_RRM_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_vcsi_RS_RRM_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pusch_PRB_interlace_r16, + { "pusch-PRB-interlace-r16", "nr-rrc.pusch_PRB_interlace_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_PRB_interlace_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pucch_F0_F1_PRB_Interlace_r16, + { "pucch-F0-F1-PRB-Interlace-r16", "nr-rrc.pucch_F0_F1_PRB_Interlace_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F0_F1_PRB_Interlace_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_occ_PRB_PF2_PF3_r16, + { "occ-PRB-PF2-PF3-r16", "nr-rrc.occ_PRB_PF2_PF3_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_occ_PRB_PF2_PF3_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_extCP_rangeCG_PUSCH_r16, + { "extCP-rangeCG-PUSCH-r16", "nr-rrc.extCP_rangeCG_PUSCH_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extCP_rangeCG_PUSCH_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_configuredGrantWithReTx_r16, + { "configuredGrantWithReTx-r16", "nr-rrc.configuredGrantWithReTx_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredGrantWithReTx_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_mux_CG_UCI_HARQ_ACK_r16, + { "mux-CG-UCI-HARQ-ACK-r16", "nr-rrc.mux_CG_UCI_HARQ_ACK_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_CG_UCI_HARQ_ACK_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_cg_resourceConfig_r16, + { "cg-resourceConfig-r16", "nr-rrc.cg_resourceConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cg_resourceConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_areaConfig_r16, + { "areaConfig-r16", "nr-rrc.areaConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_AreaConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_interFreqTargetList_r16, + { "interFreqTargetList-r16", "nr-rrc.interFreqTargetList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16", HFILL }}, + { &hf_nr_rrc_interFreqTargetList_r16_item, + { "InterFreqTargetInfo-r16", "nr-rrc.InterFreqTargetInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_cellGlobalIdList_r16, + { "cellGlobalIdList-r16", "nr-rrc.cellGlobalIdList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_trackingAreaCodeList_r16, + { "trackingAreaCodeList-r16", "nr-rrc.trackingAreaCodeList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_trackingAreaIdentityList_r16, + { "trackingAreaIdentityList-r16", "nr-rrc.trackingAreaIdentityList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_cellList_01, + { "cellList", "nr-rrc.cellList", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_32_OF_PhysCellId", HFILL }}, + { &hf_nr_rrc_cellList_item, + { "PhysCellId", "nr-rrc.PhysCellId", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_CellGlobalIdList_r16_item, + { "CGI-Info-Logging-r16", "nr-rrc.CGI_Info_Logging_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_TrackingAreaCodeList_r16_item, + { "TrackingAreaCode", "nr-rrc.TrackingAreaCode", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_TrackingAreaIdentityList_r16_item, + { "TrackingAreaIdentity-r16", "nr-rrc.TrackingAreaIdentity_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_BT_NameList_r16_item, + { "BT-Name-r16", "nr-rrc.BT_Name_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_EUTRA_MBSFN_SubframeConfigList_item, { "EUTRA-MBSFN-SubframeConfig", "nr-rrc.EUTRA_MBSFN_SubframeConfig_element", FT_NONE, BASE_NONE, NULL, 0, @@ -56899,11 +101401,75 @@ proto_register_nr_rrc(void) { { "range", "nr-rrc.range", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_range_01_vals), 0, "T_range_01", HFILL }}, + { &hf_nr_rrc_iPv4_Address_r16, + { "iPv4-Address-r16", "nr-rrc.iPv4_Address_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_32", HFILL }}, + { &hf_nr_rrc_iPv6_Address_r16, + { "iPv6-Address-r16", "nr-rrc.iPv6_Address_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_128", HFILL }}, + { &hf_nr_rrc_iPv6_Prefix_r16, + { "iPv6-Prefix-r16", "nr-rrc.iPv6_Prefix_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_64", HFILL }}, + { &hf_nr_rrc_LogMeasResultListBT_r16_item, + { "LogMeasResultBT-r16", "nr-rrc.LogMeasResultBT_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_bt_Addr_r16, + { "bt-Addr-r16", "nr-rrc.bt_Addr_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_48", HFILL }}, + { &hf_nr_rrc_rssi_BT_r16, + { "rssi-BT-r16", "nr-rrc.rssi_BT_r16", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER_M128_127", HFILL }}, + { &hf_nr_rrc_LogMeasResultListWLAN_r16_item, + { "LogMeasResultWLAN-r16", "nr-rrc.LogMeasResultWLAN_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_wlan_Identifiers_r16, + { "wlan-Identifiers-r16", "nr-rrc.wlan_Identifiers_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_rssiWLAN_r16, + { "rssiWLAN-r16", "nr-rrc.rssiWLAN_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "WLAN_RSSI_Range_r16", HFILL }}, + { &hf_nr_rrc_rtt_WLAN_r16, + { "rtt-WLAN-r16", "nr-rrc.rtt_WLAN_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "WLAN_RTT_r16", HFILL }}, + { &hf_nr_rrc_ssid_r16, + { "ssid-r16", "nr-rrc.ssid_r16", + FT_STRING, STR_ASCII, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_bssid_r16, + { "bssid-r16", "nr-rrc.bssid_r16", + FT_ETHER, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_6", HFILL }}, + { &hf_nr_rrc_hessid_r16, + { "hessid-r16", "nr-rrc.hessid_r16", + FT_ETHER, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_6", HFILL }}, + { &hf_nr_rrc_rttValue_r16, + { "rttValue-r16", "nr-rrc.rttValue_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_16777215", HFILL }}, + { &hf_nr_rrc_rttUnits_r16, + { "rttUnits-r16", "nr-rrc.rttUnits_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rttUnits_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_rttAccuracy_r16, + { "rttAccuracy-r16", "nr-rrc.rttAccuracy_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_255", HFILL }}, { &hf_nr_rrc_delayBudgetReportingConfig, { "delayBudgetReportingConfig", "nr-rrc.delayBudgetReportingConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_delayBudgetReportingConfig_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_51, + { &hf_nr_rrc_setup_109, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, @@ -56915,17 +101481,1813 @@ proto_register_nr_rrc(void) { { "overheatingAssistanceConfig", "nr-rrc.overheatingAssistanceConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_overheatingAssistanceConfig_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_setup_52, + { &hf_nr_rrc_setup_110, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "OverheatingAssistanceConfig", HFILL }}, + { &hf_nr_rrc_CandidateServingFreqListNR_r16_item, + { "ARFCN-ValueNR", "nr-rrc.ARFCN_ValueNR", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_idc_AssistanceConfig_r16, + { "idc-AssistanceConfig-r16", "nr-rrc.idc_AssistanceConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_idc_AssistanceConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_111, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "IDC_AssistanceConfig_r16", HFILL }}, + { &hf_nr_rrc_drx_PreferenceConfig_r16, + { "drx-PreferenceConfig-r16", "nr-rrc.drx_PreferenceConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_PreferenceConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_112, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "DRX_PreferenceConfig_r16", HFILL }}, + { &hf_nr_rrc_maxBW_PreferenceConfig_r16, + { "maxBW-PreferenceConfig-r16", "nr-rrc.maxBW_PreferenceConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxBW_PreferenceConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_113, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "MaxBW_PreferenceConfig_r16", HFILL }}, + { &hf_nr_rrc_maxCC_PreferenceConfig_r16, + { "maxCC-PreferenceConfig-r16", "nr-rrc.maxCC_PreferenceConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCC_PreferenceConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_114, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "MaxCC_PreferenceConfig_r16", HFILL }}, + { &hf_nr_rrc_maxMIMO_LayerPreferenceConfig_r16, + { "maxMIMO-LayerPreferenceConfig-r16", "nr-rrc.maxMIMO_LayerPreferenceConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxMIMO_LayerPreferenceConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_115, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "MaxMIMO_LayerPreferenceConfig_r16", HFILL }}, + { &hf_nr_rrc_minSchedulingOffsetPreferenceConfig_r16, + { "minSchedulingOffsetPreferenceConfig-r16", "nr-rrc.minSchedulingOffsetPreferenceConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_minSchedulingOffsetPreferenceConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_116, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "MinSchedulingOffsetPreferenceConfig_r16", HFILL }}, + { &hf_nr_rrc_releasePreferenceConfig_r16, + { "releasePreferenceConfig-r16", "nr-rrc.releasePreferenceConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_releasePreferenceConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_117, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "ReleasePreferenceConfig_r16", HFILL }}, + { &hf_nr_rrc_referenceTimePreferenceReporting_r16, + { "referenceTimePreferenceReporting-r16", "nr-rrc.referenceTimePreferenceReporting_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceTimePreferenceReporting_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_btNameList_r16, + { "btNameList-r16", "nr-rrc.btNameList_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_btNameList_r16_vals), 0, + "T_btNameList_r16", HFILL }}, + { &hf_nr_rrc_wlanNameList_r16, + { "wlanNameList-r16", "nr-rrc.wlanNameList_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_wlanNameList_r16_vals), 0, + "T_wlanNameList_r16", HFILL }}, + { &hf_nr_rrc_sensorNameList_r16, + { "sensorNameList-r16", "nr-rrc.sensorNameList_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sensorNameList_r16_vals), 0, + "T_sensorNameList_r16", HFILL }}, + { &hf_nr_rrc_obtainCommonLocation_r16, + { "obtainCommonLocation-r16", "nr-rrc.obtainCommonLocation_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_obtainCommonLocation_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_AssistanceConfigNR_r16, + { "sl-AssistanceConfigNR-r16", "nr-rrc.sl_AssistanceConfigNR_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_AssistanceConfigNR_r16_vals), 0, + NULL, HFILL }}, { &hf_nr_rrc_overheatingIndicationProhibitTimer, { "overheatingIndicationProhibitTimer", "nr-rrc.overheatingIndicationProhibitTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_overheatingIndicationProhibitTimer_vals), 0, NULL, HFILL }}, + { &hf_nr_rrc_candidateServingFreqListNR_r16, + { "candidateServingFreqListNR-r16", "nr-rrc.candidateServingFreqListNR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_drx_PreferenceProhibitTimer_r16, + { "drx-PreferenceProhibitTimer-r16", "nr-rrc.drx_PreferenceProhibitTimer_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_PreferenceProhibitTimer_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxBW_PreferenceProhibitTimer_r16, + { "maxBW-PreferenceProhibitTimer-r16", "nr-rrc.maxBW_PreferenceProhibitTimer_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxBW_PreferenceProhibitTimer_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxCC_PreferenceProhibitTimer_r16, + { "maxCC-PreferenceProhibitTimer-r16", "nr-rrc.maxCC_PreferenceProhibitTimer_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCC_PreferenceProhibitTimer_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_maxMIMO_LayerPreferenceProhibitTimer_r16, + { "maxMIMO-LayerPreferenceProhibitTimer-r16", "nr-rrc.maxMIMO_LayerPreferenceProhibitTimer_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxMIMO_LayerPreferenceProhibitTimer_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_minSchedulingOffsetPreferenceProhibitTimer_r16, + { "minSchedulingOffsetPreferenceProhibitTimer-r16", "nr-rrc.minSchedulingOffsetPreferenceProhibitTimer_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_minSchedulingOffsetPreferenceProhibitTimer_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_releasePreferenceProhibitTimer_r16, + { "releasePreferenceProhibitTimer-r16", "nr-rrc.releasePreferenceProhibitTimer_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_releasePreferenceProhibitTimer_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_connectedReporting, + { "connectedReporting", "nr-rrc.connectedReporting", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_connectedReporting_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_measUncomBarPre_r16, + { "measUncomBarPre-r16", "nr-rrc.measUncomBarPre_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measUncomBarPre_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_measUeSpeed, + { "measUeSpeed", "nr-rrc.measUeSpeed", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measUeSpeed_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_measUeOrientation, + { "measUeOrientation", "nr-rrc.measUeOrientation", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measUeOrientation_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_traceId_r16, + { "traceId-r16", "nr-rrc.traceId_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_3", HFILL }}, + { &hf_nr_rrc_logMeasAvailable_r16_01, + { "logMeasAvailable-r16", "nr-rrc.logMeasAvailable_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logMeasAvailable_r16_01_vals), 0, + "T_logMeasAvailable_r16_01", HFILL }}, + { &hf_nr_rrc_logMeasAvailableBT_r16_01, + { "logMeasAvailableBT-r16", "nr-rrc.logMeasAvailableBT_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logMeasAvailableBT_r16_01_vals), 0, + "T_logMeasAvailableBT_r16_01", HFILL }}, + { &hf_nr_rrc_logMeasAvailableWLAN_r16_01, + { "logMeasAvailableWLAN-r16", "nr-rrc.logMeasAvailableWLAN_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logMeasAvailableWLAN_r16_01_vals), 0, + "T_logMeasAvailableWLAN_r16_01", HFILL }}, + { &hf_nr_rrc_connEstFailInfoAvailable_r16, + { "connEstFailInfoAvailable-r16", "nr-rrc.connEstFailInfoAvailable_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_connEstFailInfoAvailable_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_rlf_InfoAvailable_r16, + { "rlf-InfoAvailable-r16", "nr-rrc.rlf_InfoAvailable_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlf_InfoAvailable_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_VisitedCellInfoList_r16_item, + { "VisitedCellInfo-r16", "nr-rrc.VisitedCellInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_visitedCellId_r16, + { "visitedCellId-r16", "nr-rrc.visitedCellId_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_visitedCellId_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_nr_CellId_r16, + { "nr-CellId-r16", "nr-rrc.nr_CellId_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_CellId_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pci_arfcn_r16_02, + { "pci-arfcn-r16", "nr-rrc.pci_arfcn_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_pci_arfcn_r16_02", HFILL }}, + { &hf_nr_rrc_eutra_CellId_r16, + { "eutra-CellId-r16", "nr-rrc.eutra_CellId_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_CellId_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_cellGlobalId_r16_02, + { "cellGlobalId-r16", "nr-rrc.cellGlobalId_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "CGI_InfoEUTRA", HFILL }}, + { &hf_nr_rrc_pci_arfcn_r16_03, + { "pci-arfcn-r16", "nr-rrc.pci_arfcn_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_pci_arfcn_r16_03", HFILL }}, + { &hf_nr_rrc_timeSpent_r16, + { "timeSpent-r16", "nr-rrc.timeSpent_r16", + FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, + "INTEGER_0_4095", HFILL }}, + { &hf_nr_rrc_WLAN_NameList_r16_item, + { "WLAN-Name-r16", "nr-rrc.WLAN_Name_r16", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_BWP_Id, + { "sl-BWP-Id", "nr-rrc.sl_BWP_Id", + FT_UINT32, BASE_DEC, NULL, 0, + "BWP_Id", HFILL }}, + { &hf_nr_rrc_sl_BWP_Generic_r16, + { "sl-BWP-Generic-r16", "nr-rrc.sl_BWP_Generic_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_BWP_PoolConfig_r16, + { "sl-BWP-PoolConfig-r16", "nr-rrc.sl_BWP_PoolConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_BWP_r16, + { "sl-BWP-r16", "nr-rrc.sl_BWP_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "BWP", HFILL }}, + { &hf_nr_rrc_sl_LengthSymbols_r16, + { "sl-LengthSymbols-r16", "nr-rrc.sl_LengthSymbols_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_LengthSymbols_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_StartSymbol_r16, + { "sl-StartSymbol-r16", "nr-rrc.sl_StartSymbol_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_StartSymbol_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PSBCH_Config_r16, + { "sl-PSBCH-Config-r16", "nr-rrc.sl_PSBCH_Config_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PSBCH_Config_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_118, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_PSBCH_Config_r16", HFILL }}, + { &hf_nr_rrc_sl_TxDirectCurrentLocation_r16, + { "sl-TxDirectCurrentLocation-r16", "nr-rrc.sl_TxDirectCurrentLocation_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_3301", HFILL }}, + { &hf_nr_rrc_sl_RxPool_r16, + { "sl-RxPool-r16", "nr-rrc.sl_RxPool_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16", HFILL }}, + { &hf_nr_rrc_sl_RxPool_r16_item, + { "SL-ResourcePool-r16", "nr-rrc.SL_ResourcePool_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_TxPoolSelectedNormal_r16, + { "sl-TxPoolSelectedNormal-r16", "nr-rrc.sl_TxPoolSelectedNormal_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_TxPoolDedicated_r16", HFILL }}, + { &hf_nr_rrc_sl_TxPoolScheduling_r16, + { "sl-TxPoolScheduling-r16", "nr-rrc.sl_TxPoolScheduling_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_TxPoolDedicated_r16", HFILL }}, + { &hf_nr_rrc_sl_TxPoolExceptional_r16, + { "sl-TxPoolExceptional-r16", "nr-rrc.sl_TxPoolExceptional_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_ResourcePoolConfig_r16", HFILL }}, + { &hf_nr_rrc_sl_PoolToReleaseList_r16, + { "sl-PoolToReleaseList-r16", "nr-rrc.sl_PoolToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolID_r16", HFILL }}, + { &hf_nr_rrc_sl_PoolToReleaseList_r16_item, + { "SL-ResourcePoolID-r16", "nr-rrc.SL_ResourcePoolID_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PoolToAddModList_r16, + { "sl-PoolToAddModList-r16", "nr-rrc.sl_PoolToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolConfig_r16", HFILL }}, + { &hf_nr_rrc_sl_PoolToAddModList_r16_item, + { "SL-ResourcePoolConfig-r16", "nr-rrc.SL_ResourcePoolConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ResourcePoolID_r16, + { "sl-ResourcePoolID-r16", "nr-rrc.sl_ResourcePoolID_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ResourcePool_r16, + { "sl-ResourcePool-r16", "nr-rrc.sl_ResourcePool_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_SL_CBR_PriorityTxConfigList_r16_item, + { "SL-PriorityTxConfigIndex-r16", "nr-rrc.SL_PriorityTxConfigIndex_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PriorityThreshold_r16, + { "sl-PriorityThreshold-r16", "nr-rrc.sl_PriorityThreshold_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_8", HFILL }}, + { &hf_nr_rrc_sl_DefaultTxConfigIndex_r16, + { "sl-DefaultTxConfigIndex-r16", "nr-rrc.sl_DefaultTxConfigIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxCBR_Level_1_r16", HFILL }}, + { &hf_nr_rrc_sl_CBR_ConfigIndex_r16, + { "sl-CBR-ConfigIndex-r16", "nr-rrc.sl_CBR_ConfigIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxCBR_Config_1_r16", HFILL }}, + { &hf_nr_rrc_sl_Tx_ConfigIndexList_r16, + { "sl-Tx-ConfigIndexList-r16", "nr-rrc.sl_Tx_ConfigIndexList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_TxConfigIndex_r16", HFILL }}, + { &hf_nr_rrc_sl_Tx_ConfigIndexList_r16_item, + { "SL-TxConfigIndex-r16", "nr-rrc.SL_TxConfigIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_CBR_RangeConfigList_r16, + { "sl-CBR-RangeConfigList-r16", "nr-rrc.sl_CBR_RangeConfigList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxCBR_Config_r16_OF_SL_CBR_LevelsConfig_r16", HFILL }}, + { &hf_nr_rrc_sl_CBR_RangeConfigList_r16_item, + { "SL-CBR-LevelsConfig-r16", "nr-rrc.SL_CBR_LevelsConfig_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_CBR_PSSCH_TxConfigList_r16, + { "sl-CBR-PSSCH-TxConfigList-r16", "nr-rrc.sl_CBR_PSSCH_TxConfigList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxTxConfig_r16_OF_SL_CBR_PSSCH_TxConfig_r16", HFILL }}, + { &hf_nr_rrc_sl_CBR_PSSCH_TxConfigList_r16_item, + { "SL-CBR-PSSCH-TxConfig-r16", "nr-rrc.SL_CBR_PSSCH_TxConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_SL_CBR_LevelsConfig_r16_item, + { "SL-CBR-r16", "nr-rrc.SL_CBR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_CR_Limit_r16, + { "sl-CR-Limit-r16", "nr-rrc.sl_CR_Limit_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_10000", HFILL }}, + { &hf_nr_rrc_sl_TxParameters_r16, + { "sl-TxParameters-r16", "nr-rrc.sl_TxParameters_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_PSSCH_TxParameters_r16", HFILL }}, + { &hf_nr_rrc_sl_PHY_MAC_RLC_Config_r16, + { "sl-PHY-MAC-RLC-Config-r16", "nr-rrc.sl_PHY_MAC_RLC_Config_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_RadioBearerToReleaseList_r16, + { "sl-RadioBearerToReleaseList-r16", "nr-rrc.sl_RadioBearerToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Uu_ConfigIndex_r16", HFILL }}, + { &hf_nr_rrc_sl_RadioBearerToReleaseList_r16_item, + { "SLRB-Uu-ConfigIndex-r16", "nr-rrc.SLRB_Uu_ConfigIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_RadioBearerToAddModList_r16, + { "sl-RadioBearerToAddModList-r16", "nr-rrc.sl_RadioBearerToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RadioBearerConfig_r16", HFILL }}, + { &hf_nr_rrc_sl_RadioBearerToAddModList_r16_item, + { "SL-RadioBearerConfig-r16", "nr-rrc.SL_RadioBearerConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MeasConfigInfoToReleaseList_r16, + { "sl-MeasConfigInfoToReleaseList-r16", "nr-rrc.sl_MeasConfigInfoToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16", HFILL }}, + { &hf_nr_rrc_sl_MeasConfigInfoToReleaseList_r16_item, + { "SL-DestinationIndex-r16", "nr-rrc.SL_DestinationIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MeasConfigInfoToAddModList_r16, + { "sl-MeasConfigInfoToAddModList-r16", "nr-rrc.sl_MeasConfigInfoToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_MeasConfigInfo_r16", HFILL }}, + { &hf_nr_rrc_sl_MeasConfigInfoToAddModList_r16_item, + { "SL-MeasConfigInfo-r16", "nr-rrc.SL_MeasConfigInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_t400_r16, + { "t400-r16", "nr-rrc.t400_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t400_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ScheduledConfig_r16, + { "sl-ScheduledConfig-r16", "nr-rrc.sl_ScheduledConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ScheduledConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_119, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_ScheduledConfig_r16", HFILL }}, + { &hf_nr_rrc_sl_UE_SelectedConfig_r16, + { "sl-UE-SelectedConfig-r16", "nr-rrc.sl_UE_SelectedConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_UE_SelectedConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_120, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_UE_SelectedConfig_r16", HFILL }}, + { &hf_nr_rrc_sl_FreqInfoToReleaseList_r16, + { "sl-FreqInfoToReleaseList-r16", "nr-rrc.sl_FreqInfoToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_Freq_Id_r16", HFILL }}, + { &hf_nr_rrc_sl_FreqInfoToReleaseList_r16_item, + { "SL-Freq-Id-r16", "nr-rrc.SL_Freq_Id_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_FreqInfoToAddModList_r16, + { "sl-FreqInfoToAddModList-r16", "nr-rrc.sl_FreqInfoToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_FreqConfig_r16", HFILL }}, + { &hf_nr_rrc_sl_FreqInfoToAddModList_r16_item, + { "SL-FreqConfig-r16", "nr-rrc.SL_FreqConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_RLC_BearerToReleaseList_r16, + { "sl-RLC-BearerToReleaseList-r16", "nr-rrc.sl_RLC_BearerToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfigIndex_r16", HFILL }}, + { &hf_nr_rrc_sl_RLC_BearerToReleaseList_r16_item, + { "SL-RLC-BearerConfigIndex-r16", "nr-rrc.SL_RLC_BearerConfigIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_RLC_BearerToAddModList_r16, + { "sl-RLC-BearerToAddModList-r16", "nr-rrc.sl_RLC_BearerToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfig_r16", HFILL }}, + { &hf_nr_rrc_sl_RLC_BearerToAddModList_r16_item, + { "SL-RLC-BearerConfig-r16", "nr-rrc.SL_RLC_BearerConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MaxNumConsecutiveDTX_r16, + { "sl-MaxNumConsecutiveDTX-r16", "nr-rrc.sl_MaxNumConsecutiveDTX_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_MaxNumConsecutiveDTX_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_CSI_Acquisition_r16, + { "sl-CSI-Acquisition-r16", "nr-rrc.sl_CSI_Acquisition_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_CSI_Acquisition_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_CSI_SchedulingRequestId_r16, + { "sl-CSI-SchedulingRequestId-r16", "nr-rrc.sl_CSI_SchedulingRequestId_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_CSI_SchedulingRequestId_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_121, + { "setup", "nr-rrc.setup", + FT_UINT32, BASE_DEC, NULL, 0, + "SchedulingRequestId", HFILL }}, + { &hf_nr_rrc_sl_SSB_PriorityNR_r16, + { "sl-SSB-PriorityNR-r16", "nr-rrc.sl_SSB_PriorityNR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_8", HFILL }}, + { &hf_nr_rrc_networkControlledSyncTx_r16, + { "networkControlledSyncTx-r16", "nr-rrc.networkControlledSyncTx_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_networkControlledSyncTx_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ConfigIndexCG_r16, + { "sl-ConfigIndexCG-r16", "nr-rrc.sl_ConfigIndexCG_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PeriodCG_r16, + { "sl-PeriodCG-r16", "nr-rrc.sl_PeriodCG_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_PeriodCG_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_NrOfHARQ_Processes_r16, + { "sl-NrOfHARQ-Processes-r16", "nr-rrc.sl_NrOfHARQ_Processes_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_16", HFILL }}, + { &hf_nr_rrc_sl_HARQ_ProcID_offset_r16, + { "sl-HARQ-ProcID-offset-r16", "nr-rrc.sl_HARQ_ProcID_offset_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_16", HFILL }}, + { &hf_nr_rrc_sl_CG_MaxTransNumList_r16, + { "sl-CG-MaxTransNumList-r16", "nr-rrc.sl_CG_MaxTransNumList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_rrc_ConfiguredSidelinkGrant, + { "rrc-ConfiguredSidelinkGrant", "nr-rrc.rrc_ConfiguredSidelinkGrant_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_TimeResourceCG_Type1_r16, + { "sl-TimeResourceCG-Type1-r16", "nr-rrc.sl_TimeResourceCG_Type1_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_496", HFILL }}, + { &hf_nr_rrc_sl_StartSubchannelCG_Type1_r16, + { "sl-StartSubchannelCG-Type1-r16", "nr-rrc.sl_StartSubchannelCG_Type1_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_26", HFILL }}, + { &hf_nr_rrc_sl_FreqResourceCG_Type1_r16, + { "sl-FreqResourceCG-Type1-r16", "nr-rrc.sl_FreqResourceCG_Type1_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_6929", HFILL }}, + { &hf_nr_rrc_sl_TimeOffsetCG_Type1_r16, + { "sl-TimeOffsetCG-Type1-r16", "nr-rrc.sl_TimeOffsetCG_Type1_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_7999", HFILL }}, + { &hf_nr_rrc_sl_N1PUCCH_AN_r16, + { "sl-N1PUCCH-AN-r16", "nr-rrc.sl_N1PUCCH_AN_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "PUCCH_ResourceId", HFILL }}, + { &hf_nr_rrc_sl_PSFCH_ToPUCCH_CG_Type1_r16, + { "sl-PSFCH-ToPUCCH-CG-Type1-r16", "nr-rrc.sl_PSFCH_ToPUCCH_CG_Type1_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_15", HFILL }}, + { &hf_nr_rrc_SL_CG_MaxTransNumList_r16_item, + { "SL-CG-MaxTransNum-r16", "nr-rrc.SL_CG_MaxTransNum_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_Priority_r16, + { "sl-Priority-r16", "nr-rrc.sl_Priority_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_8", HFILL }}, + { &hf_nr_rrc_sl_MaxTransNum_r16, + { "sl-MaxTransNum-r16", "nr-rrc.sl_MaxTransNum_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_32", HFILL }}, + { &hf_nr_rrc_sl_PeriodCG1_r16, + { "sl-PeriodCG1-r16", "nr-rrc.sl_PeriodCG1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PeriodCG1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PeriodCG2_r16, + { "sl-PeriodCG2-r16", "nr-rrc.sl_PeriodCG2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_99", HFILL }}, + { &hf_nr_rrc_sl_Freq_Id_r16, + { "sl-Freq-Id-r16", "nr-rrc.sl_Freq_Id_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_SCS_SpecificCarrierList_r16, + { "sl-SCS-SpecificCarrierList-r16", "nr-rrc.sl_SCS_SpecificCarrierList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier", HFILL }}, + { &hf_nr_rrc_sl_SCS_SpecificCarrierList_r16_item, + { "SCS-SpecificCarrier", "nr-rrc.SCS_SpecificCarrier_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_AbsoluteFrequencyPointA_r16, + { "sl-AbsoluteFrequencyPointA-r16", "nr-rrc.sl_AbsoluteFrequencyPointA_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueNR", HFILL }}, + { &hf_nr_rrc_sl_AbsoluteFrequencySSB_r16, + { "sl-AbsoluteFrequencySSB-r16", "nr-rrc.sl_AbsoluteFrequencySSB_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueNR", HFILL }}, + { &hf_nr_rrc_frequencyShift7p5khzSL_r16, + { "frequencyShift7p5khzSL-r16", "nr-rrc.frequencyShift7p5khzSL_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyShift7p5khzSL_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_valueN_r16, + { "valueN-r16", "nr-rrc.valueN_r16", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER_M1_1", HFILL }}, + { &hf_nr_rrc_sl_BWP_ToReleaseList_r16, + { "sl-BWP-ToReleaseList-r16", "nr-rrc.sl_BWP_ToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_BWP_Id", HFILL }}, + { &hf_nr_rrc_sl_BWP_ToReleaseList_r16_item, + { "BWP-Id", "nr-rrc.BWP_Id", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_BWP_ToAddModList_r16, + { "sl-BWP-ToAddModList-r16", "nr-rrc.sl_BWP_ToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_SL_BWP_Config_r16", HFILL }}, + { &hf_nr_rrc_sl_BWP_ToAddModList_r16_item, + { "SL-BWP-Config-r16", "nr-rrc.SL_BWP_Config_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_SyncConfigList_r16, + { "sl-SyncConfigList-r16", "nr-rrc.sl_SyncConfigList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_SyncPriority_r16, + { "sl-SyncPriority-r16", "nr-rrc.sl_SyncPriority_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_SyncPriority_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PrioritisedBitRate_r16, + { "sl-PrioritisedBitRate-r16", "nr-rrc.sl_PrioritisedBitRate_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PrioritisedBitRate_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_BucketSizeDuration_r16, + { "sl-BucketSizeDuration-r16", "nr-rrc.sl_BucketSizeDuration_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_BucketSizeDuration_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ConfiguredGrantType1Allowed_r16, + { "sl-ConfiguredGrantType1Allowed-r16", "nr-rrc.sl_ConfiguredGrantType1Allowed_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ConfiguredGrantType1Allowed_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_HARQ_FeedbackEnabled_r16, + { "sl-HARQ-FeedbackEnabled-r16", "nr-rrc.sl_HARQ_FeedbackEnabled_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_HARQ_FeedbackEnabled_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_AllowedCG_List_r16, + { "sl-AllowedCG-List-r16", "nr-rrc.sl_AllowedCG_List_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_0_maxNrofCG_SL_r16_1_OF_SL_ConfigIndexCG_r16", HFILL }}, + { &hf_nr_rrc_sl_AllowedCG_List_r16_item, + { "SL-ConfigIndexCG-r16", "nr-rrc.SL_ConfigIndexCG_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_AllowedSCS_List_r16, + { "sl-AllowedSCS-List-r16", "nr-rrc.sl_AllowedSCS_List_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing", HFILL }}, + { &hf_nr_rrc_sl_AllowedSCS_List_r16_item, + { "SubcarrierSpacing", "nr-rrc.SubcarrierSpacing", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MaxPUSCH_Duration_r16, + { "sl-MaxPUSCH-Duration-r16", "nr-rrc.sl_MaxPUSCH_Duration_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_MaxPUSCH_Duration_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_LogicalChannelGroup_r16, + { "sl-LogicalChannelGroup-r16", "nr-rrc.sl_LogicalChannelGroup_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxLCG_ID", HFILL }}, + { &hf_nr_rrc_sl_SchedulingRequestId_r16, + { "sl-SchedulingRequestId-r16", "nr-rrc.sl_SchedulingRequestId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SchedulingRequestId", HFILL }}, + { &hf_nr_rrc_sl_LogicalChannelSR_DelayTimerApplied_r16, + { "sl-LogicalChannelSR-DelayTimerApplied-r16", "nr-rrc.sl_LogicalChannelSR_DelayTimerApplied_r16", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_nr_rrc_sl_DestinationIndex_r16, + { "sl-DestinationIndex-r16", "nr-rrc.sl_DestinationIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MeasConfig_r16, + { "sl-MeasConfig-r16", "nr-rrc.sl_MeasConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MeasObjectToRemoveList_r16, + { "sl-MeasObjectToRemoveList-r16", "nr-rrc.sl_MeasObjectToRemoveList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MeasObjectToAddModList_r16, + { "sl-MeasObjectToAddModList-r16", "nr-rrc.sl_MeasObjectToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_MeasObjectList_r16", HFILL }}, + { &hf_nr_rrc_sl_ReportConfigToRemoveList_r16, + { "sl-ReportConfigToRemoveList-r16", "nr-rrc.sl_ReportConfigToRemoveList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ReportConfigToAddModList_r16, + { "sl-ReportConfigToAddModList-r16", "nr-rrc.sl_ReportConfigToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_ReportConfigList_r16", HFILL }}, + { &hf_nr_rrc_sl_MeasIdToRemoveList_r16, + { "sl-MeasIdToRemoveList-r16", "nr-rrc.sl_MeasIdToRemoveList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MeasIdToAddModList_r16, + { "sl-MeasIdToAddModList-r16", "nr-rrc.sl_MeasIdToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_MeasIdList_r16", HFILL }}, + { &hf_nr_rrc_sl_QuantityConfig_r16, + { "sl-QuantityConfig-r16", "nr-rrc.sl_QuantityConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_SL_MeasObjectToRemoveList_r16_item, + { "SL-MeasObjectId-r16", "nr-rrc.SL_MeasObjectId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_SL_ReportConfigToRemoveList_r16_item, + { "SL-ReportConfigId-r16", "nr-rrc.SL_ReportConfigId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_SL_MeasIdToRemoveList_r16_item, + { "SL-MeasId-r16", "nr-rrc.SL_MeasId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_SL_MeasIdList_r16_item, + { "SL-MeasIdInfo-r16", "nr-rrc.SL_MeasIdInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MeasId_r16, + { "sl-MeasId-r16", "nr-rrc.sl_MeasId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MeasObjectId_r16, + { "sl-MeasObjectId-r16", "nr-rrc.sl_MeasObjectId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ReportConfigId_r16, + { "sl-ReportConfigId-r16", "nr-rrc.sl_ReportConfigId_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_SL_MeasObjectList_r16_item, + { "SL-MeasObjectInfo-r16", "nr-rrc.SL_MeasObjectInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MeasObject_r16, + { "sl-MeasObject-r16", "nr-rrc.sl_MeasObject_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_frequencyInfoSL_r16, + { "frequencyInfoSL-r16", "nr-rrc.frequencyInfoSL_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueNR", HFILL }}, + { &hf_nr_rrc_sl_DiscardTimer_r16, + { "sl-DiscardTimer-r16", "nr-rrc.sl_DiscardTimer_r16", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_sl_DiscardTimer_r16_vals_ext, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PDCP_SN_Size_r16, + { "sl-PDCP-SN-Size-r16", "nr-rrc.sl_PDCP_SN_Size_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PDCP_SN_Size_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_OutOfOrderDelivery, + { "sl-OutOfOrderDelivery", "nr-rrc.sl_OutOfOrderDelivery", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_OutOfOrderDelivery_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_dl_P0_PSBCH_r16, + { "dl-P0-PSBCH-r16", "nr-rrc.dl_P0_PSBCH_r16", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER_M16_15", HFILL }}, + { &hf_nr_rrc_dl_Alpha_PSBCH_r16, + { "dl-Alpha-PSBCH-r16", "nr-rrc.dl_Alpha_PSBCH_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_Alpha_PSBCH_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_SL_PSSCH_TxConfigList_r16_item, + { "SL-PSSCH-TxConfig-r16", "nr-rrc.SL_PSSCH_TxConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_TypeTxSync_r16, + { "sl-TypeTxSync-r16", "nr-rrc.sl_TypeTxSync_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_TypeTxSync_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ThresUE_Speed_r16, + { "sl-ThresUE-Speed-r16", "nr-rrc.sl_ThresUE_Speed_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ThresUE_Speed_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ParametersAboveThres_r16, + { "sl-ParametersAboveThres-r16", "nr-rrc.sl_ParametersAboveThres_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_PSSCH_TxParameters_r16", HFILL }}, + { &hf_nr_rrc_sl_ParametersBelowThres_r16, + { "sl-ParametersBelowThres-r16", "nr-rrc.sl_ParametersBelowThres_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_PSSCH_TxParameters_r16", HFILL }}, + { &hf_nr_rrc_sl_MinMCS_PSSCH_r16, + { "sl-MinMCS-PSSCH-r16", "nr-rrc.sl_MinMCS_PSSCH_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_27", HFILL }}, + { &hf_nr_rrc_sl_MaxMCS_PSSCH_r16, + { "sl-MaxMCS-PSSCH-r16", "nr-rrc.sl_MaxMCS_PSSCH_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_31", HFILL }}, + { &hf_nr_rrc_sl_MinSubChannelNumPSSCH_r16, + { "sl-MinSubChannelNumPSSCH-r16", "nr-rrc.sl_MinSubChannelNumPSSCH_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_27", HFILL }}, + { &hf_nr_rrc_sl_MaxSubchannelNumPSSCH_r16, + { "sl-MaxSubchannelNumPSSCH-r16", "nr-rrc.sl_MaxSubchannelNumPSSCH_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_27", HFILL }}, + { &hf_nr_rrc_sl_MaxTxTransNumPSSCH_r16, + { "sl-MaxTxTransNumPSSCH-r16", "nr-rrc.sl_MaxTxTransNumPSSCH_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_32", HFILL }}, + { &hf_nr_rrc_sl_MaxTxPower_r16, + { "sl-MaxTxPower-r16", "nr-rrc.sl_MaxTxPower_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_TxPower_r16_vals), 0, + "SL_TxPower_r16", HFILL }}, + { &hf_nr_rrc_sl_PQI_r16, + { "sl-PQI-r16", "nr-rrc.sl_PQI_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_PQI_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_GFBR_r16, + { "sl-GFBR-r16", "nr-rrc.sl_GFBR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_4000000000", HFILL }}, + { &hf_nr_rrc_sl_MFBR_r16, + { "sl-MFBR-r16", "nr-rrc.sl_MFBR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_4000000000", HFILL }}, + { &hf_nr_rrc_sl_Range_r16, + { "sl-Range-r16", "nr-rrc.sl_Range_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_1000", HFILL }}, + { &hf_nr_rrc_sl_StandardizedPQI_r16, + { "sl-StandardizedPQI-r16", "nr-rrc.sl_StandardizedPQI_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_255", HFILL }}, + { &hf_nr_rrc_sl_Non_StandardizedPQI_r16, + { "sl-Non-StandardizedPQI-r16", "nr-rrc.sl_Non_StandardizedPQI_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ResourceType_r16, + { "sl-ResourceType-r16", "nr-rrc.sl_ResourceType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ResourceType_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PriorityLevel_r16, + { "sl-PriorityLevel-r16", "nr-rrc.sl_PriorityLevel_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_8", HFILL }}, + { &hf_nr_rrc_sl_PacketDelayBudget_r16, + { "sl-PacketDelayBudget-r16", "nr-rrc.sl_PacketDelayBudget_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_1023", HFILL }}, + { &hf_nr_rrc_sl_PacketErrorRate_r16, + { "sl-PacketErrorRate-r16", "nr-rrc.sl_PacketErrorRate_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_9", HFILL }}, + { &hf_nr_rrc_sl_AveragingWindow_r16, + { "sl-AveragingWindow-r16", "nr-rrc.sl_AveragingWindow_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_4095", HFILL }}, + { &hf_nr_rrc_sl_MaxDataBurstVolume_r16, + { "sl-MaxDataBurstVolume-r16", "nr-rrc.sl_MaxDataBurstVolume_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_4095", HFILL }}, + { &hf_nr_rrc_sl_FilterCoefficientDMRS_r16, + { "sl-FilterCoefficientDMRS-r16", "nr-rrc.sl_FilterCoefficientDMRS_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0, + "FilterCoefficient", HFILL }}, + { &hf_nr_rrc_slrb_Uu_ConfigIndex_r16, + { "slrb-Uu-ConfigIndex-r16", "nr-rrc.slrb_Uu_ConfigIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_SDAP_Config_r16, + { "sl-SDAP-Config-r16", "nr-rrc.sl_SDAP_Config_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PDCP_Config_r16, + { "sl-PDCP-Config-r16", "nr-rrc.sl_PDCP_Config_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_TransRange_r16, + { "sl-TransRange-r16", "nr-rrc.sl_TransRange_r16", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_sl_TransRange_r16_vals_ext, 0, + NULL, HFILL }}, + { &hf_nr_rrc_SL_ReportConfigList_r16_item, + { "SL-ReportConfigInfo-r16", "nr-rrc.SL_ReportConfigInfo_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ReportConfig_r16, + { "sl-ReportConfig-r16", "nr-rrc.sl_ReportConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ReportType_r16, + { "sl-ReportType-r16", "nr-rrc.sl_ReportType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ReportType_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_Periodical_r16, + { "sl-Periodical-r16", "nr-rrc.sl_Periodical_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_PeriodicalReportConfig_r16", HFILL }}, + { &hf_nr_rrc_sl_EventTriggered_r16, + { "sl-EventTriggered-r16", "nr-rrc.sl_EventTriggered_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_EventTriggerConfig_r16", HFILL }}, + { &hf_nr_rrc_sl_ReportInterval_r16, + { "sl-ReportInterval-r16", "nr-rrc.sl_ReportInterval_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_ReportInterval_vals), 0, + "ReportInterval", HFILL }}, + { &hf_nr_rrc_sl_ReportAmount_r16, + { "sl-ReportAmount-r16", "nr-rrc.sl_ReportAmount_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ReportAmount_r16_vals), 0, + "T_sl_ReportAmount_r16", HFILL }}, + { &hf_nr_rrc_sl_ReportQuantity_r16, + { "sl-ReportQuantity-r16", "nr-rrc.sl_ReportQuantity_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_MeasReportQuantity_r16_vals), 0, + "SL_MeasReportQuantity_r16", HFILL }}, + { &hf_nr_rrc_sl_RS_Type_r16, + { "sl-RS-Type-r16", "nr-rrc.sl_RS_Type_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_RS_Type_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_EventId_r16, + { "sl-EventId-r16", "nr-rrc.sl_EventId_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_EventId_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_eventS1_r16, + { "eventS1-r16", "nr-rrc.eventS1_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_s1_Threshold_r16, + { "s1-Threshold-r16", "nr-rrc.s1_Threshold_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_MeasTriggerQuantity_r16_vals), 0, + "SL_MeasTriggerQuantity_r16", HFILL }}, + { &hf_nr_rrc_sl_ReportOnLeave_r16, + { "sl-ReportOnLeave-r16", "nr-rrc.sl_ReportOnLeave_r16", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_nr_rrc_sl_Hysteresis_r16, + { "sl-Hysteresis-r16", "nr-rrc.sl_Hysteresis_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Hysteresis_fmt), 0, + "Hysteresis", HFILL }}, + { &hf_nr_rrc_sl_TimeToTrigger_r16, + { "sl-TimeToTrigger-r16", "nr-rrc.sl_TimeToTrigger_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeToTrigger_vals), 0, + "TimeToTrigger", HFILL }}, + { &hf_nr_rrc_eventS2_r16, + { "eventS2-r16", "nr-rrc.eventS2_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_s2_Threshold_r16, + { "s2-Threshold-r16", "nr-rrc.s2_Threshold_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_MeasTriggerQuantity_r16_vals), 0, + "SL_MeasTriggerQuantity_r16", HFILL }}, + { &hf_nr_rrc_sl_ReportAmount_r16_01, + { "sl-ReportAmount-r16", "nr-rrc.sl_ReportAmount_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ReportAmount_r16_01_vals), 0, + "T_sl_ReportAmount_r16_01", HFILL }}, + { &hf_nr_rrc_sl_RSRP_r16, + { "sl-RSRP-r16", "nr-rrc.sl_RSRP_r16", + FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0, + "RSRP_Range", HFILL }}, + { &hf_nr_rrc_sl_PSCCH_Config_r16, + { "sl-PSCCH-Config-r16", "nr-rrc.sl_PSCCH_Config_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PSCCH_Config_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_122, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_PSCCH_Config_r16", HFILL }}, + { &hf_nr_rrc_sl_PSSCH_Config_r16, + { "sl-PSSCH-Config-r16", "nr-rrc.sl_PSSCH_Config_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PSSCH_Config_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_123, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_PSSCH_Config_r16", HFILL }}, + { &hf_nr_rrc_sl_PSFCH_Config_r16, + { "sl-PSFCH-Config-r16", "nr-rrc.sl_PSFCH_Config_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PSFCH_Config_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_124, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_PSFCH_Config_r16", HFILL }}, + { &hf_nr_rrc_sl_SyncAllowed_r16, + { "sl-SyncAllowed-r16", "nr-rrc.sl_SyncAllowed_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_SubchannelSize_r16, + { "sl-SubchannelSize-r16", "nr-rrc.sl_SubchannelSize_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_SubchannelSize_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_TimeResource_r16, + { "sl-TimeResource-r16", "nr-rrc.sl_TimeResource_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_10_160", HFILL }}, + { &hf_nr_rrc_sl_StartRB_Subchannel_r16, + { "sl-StartRB-Subchannel-r16", "nr-rrc.sl_StartRB_Subchannel_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_265", HFILL }}, + { &hf_nr_rrc_sl_NumSubchannel_r16, + { "sl-NumSubchannel-r16", "nr-rrc.sl_NumSubchannel_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_27", HFILL }}, + { &hf_nr_rrc_sl_Additional_MCS_Table_r16, + { "sl-Additional-MCS-Table-r16", "nr-rrc.sl_Additional_MCS_Table_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_Additional_MCS_Table_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ThreshS_RSSI_CBR_r16, + { "sl-ThreshS-RSSI-CBR-r16", "nr-rrc.sl_ThreshS_RSSI_CBR_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_45", HFILL }}, + { &hf_nr_rrc_sl_TimeWindowSizeCBR_r16, + { "sl-TimeWindowSizeCBR-r16", "nr-rrc.sl_TimeWindowSizeCBR_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_TimeWindowSizeCBR_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_TimeWindowSizeCR_r16, + { "sl-TimeWindowSizeCR-r16", "nr-rrc.sl_TimeWindowSizeCR_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_TimeWindowSizeCR_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PTRS_Config_r16, + { "sl-PTRS-Config-r16", "nr-rrc.sl_PTRS_Config_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_UE_SelectedConfigRP_r16, + { "sl-UE-SelectedConfigRP-r16", "nr-rrc.sl_UE_SelectedConfigRP_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_RxParametersNcell_r16, + { "sl-RxParametersNcell-r16", "nr-rrc.sl_RxParametersNcell_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_TDD_Configuration_r16, + { "sl-TDD-Configuration-r16", "nr-rrc.sl_TDD_Configuration_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "TDD_UL_DL_ConfigCommon", HFILL }}, + { &hf_nr_rrc_sl_SyncConfigIndex_r16, + { "sl-SyncConfigIndex-r16", "nr-rrc.sl_SyncConfigIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_15", HFILL }}, + { &hf_nr_rrc_sl_ZoneConfigMCR_List_r16, + { "sl-ZoneConfigMCR-List-r16", "nr-rrc.sl_ZoneConfigMCR_List_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_16_OF_SL_ZoneConfigMCR_r16", HFILL }}, + { &hf_nr_rrc_sl_ZoneConfigMCR_List_r16_item, + { "SL-ZoneConfigMCR-r16", "nr-rrc.SL_ZoneConfigMCR_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_FilterCoefficient_r16, + { "sl-FilterCoefficient-r16", "nr-rrc.sl_FilterCoefficient_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0, + "FilterCoefficient", HFILL }}, + { &hf_nr_rrc_sl_RB_Number_r16, + { "sl-RB-Number-r16", "nr-rrc.sl_RB_Number_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_10_275", HFILL }}, + { &hf_nr_rrc_sl_PreemptionEnable_r16, + { "sl-PreemptionEnable-r16", "nr-rrc.sl_PreemptionEnable_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PreemptionEnable_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PriorityThreshold_UL_URLLC_r16, + { "sl-PriorityThreshold-UL-URLLC-r16", "nr-rrc.sl_PriorityThreshold_UL_URLLC_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_9", HFILL }}, + { &hf_nr_rrc_sl_PriorityThreshold_r16_01, + { "sl-PriorityThreshold-r16", "nr-rrc.sl_PriorityThreshold_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_9", HFILL }}, + { &hf_nr_rrc_sl_X_Overhead_r16, + { "sl-X-Overhead-r16", "nr-rrc.sl_X_Overhead_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_X_Overhead_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PowerControl_r16, + { "sl-PowerControl-r16", "nr-rrc.sl_PowerControl_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_TxPercentageList_r16, + { "sl-TxPercentageList-r16", "nr-rrc.sl_TxPercentageList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MinMaxMCS_List_r16, + { "sl-MinMaxMCS-List-r16", "nr-rrc.sl_MinMaxMCS_List_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ZoneConfigMCR_Index_r16, + { "sl-ZoneConfigMCR-Index-r16", "nr-rrc.sl_ZoneConfigMCR_Index_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_15", HFILL }}, + { &hf_nr_rrc_sl_TransRange_r16_01, + { "sl-TransRange-r16", "nr-rrc.sl_TransRange_r16", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_sl_TransRange_r16_01_vals_ext, 0, + "T_sl_TransRange_r16_01", HFILL }}, + { &hf_nr_rrc_sl_ZoneConfig_r16, + { "sl-ZoneConfig-r16", "nr-rrc.sl_ZoneConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_gnss_Sync_r16, + { "gnss-Sync-r16", "nr-rrc.gnss_Sync_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gnss_Sync_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_gnbEnb_Sync_r16, + { "gnbEnb-Sync-r16", "nr-rrc.gnbEnb_Sync_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gnbEnb_Sync_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ue_Sync_r16, + { "ue-Sync-r16", "nr-rrc.ue_Sync_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_Sync_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_TimeResourcePSCCH_r16, + { "sl-TimeResourcePSCCH-r16", "nr-rrc.sl_TimeResourcePSCCH_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_TimeResourcePSCCH_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_FreqResourcePSCCH_r16, + { "sl-FreqResourcePSCCH-r16", "nr-rrc.sl_FreqResourcePSCCH_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_FreqResourcePSCCH_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_DMRS_ScrambleID_r16, + { "sl-DMRS-ScrambleID-r16", "nr-rrc.sl_DMRS_ScrambleID_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_65535", HFILL }}, + { &hf_nr_rrc_sl_NumReservedBits_r16, + { "sl-NumReservedBits-r16", "nr-rrc.sl_NumReservedBits_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_2_4", HFILL }}, + { &hf_nr_rrc_sl_PSSCH_DMRS_TimePatternList_r16, + { "sl-PSSCH-DMRS-TimePatternList-r16", "nr-rrc.sl_PSSCH_DMRS_TimePatternList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "T_sl_PSSCH_DMRS_TimePatternList_r16", HFILL }}, + { &hf_nr_rrc_sl_PSSCH_DMRS_TimePatternList_r16_item, + { "sl-PSSCH-DMRS-TimePatternList-r16 item", "nr-rrc.sl_PSSCH_DMRS_TimePatternList_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_2_4", HFILL }}, + { &hf_nr_rrc_sl_BetaOffsets2ndSCI_r16, + { "sl-BetaOffsets2ndSCI-r16", "nr-rrc.sl_BetaOffsets2ndSCI_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_4_OF_SL_BetaOffsets_r16", HFILL }}, + { &hf_nr_rrc_sl_BetaOffsets2ndSCI_r16_item, + { "SL-BetaOffsets-r16", "nr-rrc.SL_BetaOffsets_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_Scaling_r16, + { "sl-Scaling-r16", "nr-rrc.sl_Scaling_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_Scaling_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PSFCH_Period_r16, + { "sl-PSFCH-Period-r16", "nr-rrc.sl_PSFCH_Period_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PSFCH_Period_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PSFCH_RB_Set_r16, + { "sl-PSFCH-RB-Set-r16", "nr-rrc.sl_PSFCH_RB_Set_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_10_275", HFILL }}, + { &hf_nr_rrc_sl_NumMuxCS_Pair_r16, + { "sl-NumMuxCS-Pair-r16", "nr-rrc.sl_NumMuxCS_Pair_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_NumMuxCS_Pair_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MinTimeGapPSFCH_r16, + { "sl-MinTimeGapPSFCH-r16", "nr-rrc.sl_MinTimeGapPSFCH_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_MinTimeGapPSFCH_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PSFCH_HopID_r16, + { "sl-PSFCH-HopID-r16", "nr-rrc.sl_PSFCH_HopID_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_1023", HFILL }}, + { &hf_nr_rrc_sl_PSFCH_CandidateResourceType_r16, + { "sl-PSFCH-CandidateResourceType-r16", "nr-rrc.sl_PSFCH_CandidateResourceType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PSFCH_CandidateResourceType_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PTRS_FreqDensity_r16, + { "sl-PTRS-FreqDensity-r16", "nr-rrc.sl_PTRS_FreqDensity_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PTRS_FreqDensity_r16_item, + { "sl-PTRS-FreqDensity-r16 item", "nr-rrc.sl_PTRS_FreqDensity_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_276", HFILL }}, + { &hf_nr_rrc_sl_PTRS_TimeDensity_r16, + { "sl-PTRS-TimeDensity-r16", "nr-rrc.sl_PTRS_TimeDensity_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PTRS_TimeDensity_r16_item, + { "sl-PTRS-TimeDensity-r16 item", "nr-rrc.sl_PTRS_TimeDensity_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_29", HFILL }}, + { &hf_nr_rrc_sl_PTRS_RE_Offset_r16, + { "sl-PTRS-RE-Offset-r16", "nr-rrc.sl_PTRS_RE_Offset_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PTRS_RE_Offset_r16_vals), 0, + "T_sl_PTRS_RE_Offset_r16", HFILL }}, + { &hf_nr_rrc_sl_CBR_PriorityTxConfigList_r16, + { "sl-CBR-PriorityTxConfigList-r16", "nr-rrc.sl_CBR_PriorityTxConfigList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ThresPSSCH_RSRP_List_r16, + { "sl-ThresPSSCH-RSRP-List-r16", "nr-rrc.sl_ThresPSSCH_RSRP_List_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MultiReserveResource_r16, + { "sl-MultiReserveResource-r16", "nr-rrc.sl_MultiReserveResource_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_MultiReserveResource_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MaxNumPerReserve_r16, + { "sl-MaxNumPerReserve-r16", "nr-rrc.sl_MaxNumPerReserve_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_MaxNumPerReserve_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_SensingWindow_r16, + { "sl-SensingWindow-r16", "nr-rrc.sl_SensingWindow_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_SensingWindow_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_SelectionWindowList_r16, + { "sl-SelectionWindowList-r16", "nr-rrc.sl_SelectionWindowList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ResourceReservePeriodList_r16, + { "sl-ResourceReservePeriodList-r16", "nr-rrc.sl_ResourceReservePeriodList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_16_OF_SL_ResourceReservePeriod_r16", HFILL }}, + { &hf_nr_rrc_sl_ResourceReservePeriodList_r16_item, + { "SL-ResourceReservePeriod-r16", "nr-rrc.SL_ResourceReservePeriod_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_ResourceReservePeriod_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_RS_ForSensing_r16, + { "sl-RS-ForSensing-r16", "nr-rrc.sl_RS_ForSensing_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_RS_ForSensing_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ResourceReservePeriod1_r16, + { "sl-ResourceReservePeriod1-r16", "nr-rrc.sl_ResourceReservePeriod1_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ResourceReservePeriod1_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ResourceReservePeriod2_r16, + { "sl-ResourceReservePeriod2-r16", "nr-rrc.sl_ResourceReservePeriod2_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_99", HFILL }}, + { &hf_nr_rrc_SL_SelectionWindowList_r16_item, + { "SL-SelectionWindowConfig-r16", "nr-rrc.SL_SelectionWindowConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_SelectionWindow_r16, + { "sl-SelectionWindow-r16", "nr-rrc.sl_SelectionWindow_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_SelectionWindow_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_SL_TxPercentageList_r16_item, + { "SL-TxPercentageConfig-r16", "nr-rrc.SL_TxPercentageConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_TxPercentage_r16, + { "sl-TxPercentage-r16", "nr-rrc.sl_TxPercentage_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_TxPercentage_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_SL_MinMaxMCS_List_r16_item, + { "SL-MinMaxMCS-Config-r16", "nr-rrc.SL_MinMaxMCS_Config_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MCS_Table_r16, + { "sl-MCS-Table-r16", "nr-rrc.sl_MCS_Table_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_MCS_Table_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MaxTransPower_r16, + { "sl-MaxTransPower-r16", "nr-rrc.sl_MaxTransPower_r16", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER_M30_33", HFILL }}, + { &hf_nr_rrc_sl_Alpha_PSSCH_PSCCH_r16, + { "sl-Alpha-PSSCH-PSCCH-r16", "nr-rrc.sl_Alpha_PSSCH_PSCCH_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_Alpha_PSSCH_PSCCH_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_dl_Alpha_PSSCH_PSCCH_r16, + { "dl-Alpha-PSSCH-PSCCH-r16", "nr-rrc.dl_Alpha_PSSCH_PSCCH_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_Alpha_PSSCH_PSCCH_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_P0_PSSCH_PSCCH_r16, + { "sl-P0-PSSCH-PSCCH-r16", "nr-rrc.sl_P0_PSSCH_PSCCH_r16", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER_M16_15", HFILL }}, + { &hf_nr_rrc_dl_P0_PSSCH_PSCCH_r16, + { "dl-P0-PSSCH-PSCCH-r16", "nr-rrc.dl_P0_PSSCH_PSCCH_r16", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER_M16_15", HFILL }}, + { &hf_nr_rrc_dl_Alpha_PSFCH_r16, + { "dl-Alpha-PSFCH-r16", "nr-rrc.dl_Alpha_PSFCH_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_Alpha_PSFCH_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_dl_P0_PSFCH_r16, + { "dl-P0-PSFCH-r16", "nr-rrc.dl_P0_PSFCH_r16", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER_M16_15", HFILL }}, + { &hf_nr_rrc_sl_RLC_BearerConfigIndex_r16, + { "sl-RLC-BearerConfigIndex-r16", "nr-rrc.sl_RLC_BearerConfigIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ServedRadioBearer_r16, + { "sl-ServedRadioBearer-r16", "nr-rrc.sl_ServedRadioBearer_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SLRB_Uu_ConfigIndex_r16", HFILL }}, + { &hf_nr_rrc_sl_RLC_Config_r16, + { "sl-RLC-Config-r16", "nr-rrc.sl_RLC_Config_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_RLC_Config_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MAC_LogicalChannelConfig_r16, + { "sl-MAC-LogicalChannelConfig-r16", "nr-rrc.sl_MAC_LogicalChannelConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_LogicalChannelConfig_r16", HFILL }}, + { &hf_nr_rrc_sl_AM_RLC_r16, + { "sl-AM-RLC-r16", "nr-rrc.sl_AM_RLC_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_SN_FieldLengthAM_r16, + { "sl-SN-FieldLengthAM-r16", "nr-rrc.sl_SN_FieldLengthAM_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SN_FieldLengthAM_vals), 0, + "SN_FieldLengthAM", HFILL }}, + { &hf_nr_rrc_sl_T_PollRetransmit_r16, + { "sl-T-PollRetransmit-r16", "nr-rrc.sl_T_PollRetransmit_r16", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_PollRetransmit_vals_ext, 0, + "T_PollRetransmit", HFILL }}, + { &hf_nr_rrc_sl_PollPDU_r16, + { "sl-PollPDU-r16", "nr-rrc.sl_PollPDU_r16", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_PollPDU_vals_ext, 0, + "PollPDU", HFILL }}, + { &hf_nr_rrc_sl_PollByte_r16, + { "sl-PollByte-r16", "nr-rrc.sl_PollByte_r16", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_PollByte_vals_ext, 0, + "PollByte", HFILL }}, + { &hf_nr_rrc_sl_MaxRetxThreshold_r16, + { "sl-MaxRetxThreshold-r16", "nr-rrc.sl_MaxRetxThreshold_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_MaxRetxThreshold_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_UM_RLC_r16, + { "sl-UM-RLC-r16", "nr-rrc.sl_UM_RLC_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_SN_FieldLengthUM_r16, + { "sl-SN-FieldLengthUM-r16", "nr-rrc.sl_SN_FieldLengthUM_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SN_FieldLengthUM_vals), 0, + "SN_FieldLengthUM", HFILL }}, + { &hf_nr_rrc_sl_RNTI_r16, + { "sl-RNTI-r16", "nr-rrc.sl_RNTI_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "RNTI_Value", HFILL }}, + { &hf_nr_rrc_mac_MainConfigSL_r16, + { "mac-MainConfigSL-r16", "nr-rrc.mac_MainConfigSL_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_Timing_Config_r16, + { "sl-Timing-Config-r16", "nr-rrc.sl_Timing_Config_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_TimingConfig_r16", HFILL }}, + { &hf_nr_rrc_sl_CS_RNTI_r16, + { "sl-CS-RNTI-r16", "nr-rrc.sl_CS_RNTI_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "RNTI_Value", HFILL }}, + { &hf_nr_rrc_sl_PSFCH_ToPUCCH_r16, + { "sl-PSFCH-ToPUCCH-r16", "nr-rrc.sl_PSFCH_ToPUCCH_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PSFCH_ToPUCCH_r16_item, + { "sl-PSFCH-ToPUCCH-r16 item", "nr-rrc.sl_PSFCH_ToPUCCH_r16_item", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_15", HFILL }}, + { &hf_nr_rrc_sl_ConfiguredGrantConfigList_r16, + { "sl-ConfiguredGrantConfigList-r16", "nr-rrc.sl_ConfiguredGrantConfigList_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_BSR_Config_r16, + { "sl-BSR-Config-r16", "nr-rrc.sl_BSR_Config_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "BSR_Config", HFILL }}, + { &hf_nr_rrc_ul_PrioritizationThres_r16, + { "ul-PrioritizationThres-r16", "nr-rrc.ul_PrioritizationThres_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_16", HFILL }}, + { &hf_nr_rrc_sl_PrioritizationThres_r16, + { "sl-PrioritizationThres-r16", "nr-rrc.sl_PrioritizationThres_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_8", HFILL }}, + { &hf_nr_rrc_sl_DCI_ToSL_Trans_r16, + { "sl-DCI-ToSL-Trans-r16", "nr-rrc.sl_DCI_ToSL_Trans_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_DCI_ToSL_Trans_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ConfiguredGrantConfigToReleaseList_r16, + { "sl-ConfiguredGrantConfigToReleaseList-r16", "nr-rrc.sl_ConfiguredGrantConfigToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfigIndexCG_r16", HFILL }}, + { &hf_nr_rrc_sl_ConfiguredGrantConfigToReleaseList_r16_item, + { "SL-ConfigIndexCG-r16", "nr-rrc.SL_ConfigIndexCG_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ConfiguredGrantConfigToAddModList_r16, + { "sl-ConfiguredGrantConfigToAddModList-r16", "nr-rrc.sl_ConfiguredGrantConfigToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfiguredGrantConfig_r16", HFILL }}, + { &hf_nr_rrc_sl_ConfiguredGrantConfigToAddModList_r16_item, + { "SL-ConfiguredGrantConfig-r16", "nr-rrc.SL_ConfiguredGrantConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_SDAP_Header_r16, + { "sl-SDAP-Header-r16", "nr-rrc.sl_SDAP_Header_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_SDAP_Header_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_DefaultRB_r16, + { "sl-DefaultRB-r16", "nr-rrc.sl_DefaultRB_r16", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_nr_rrc_sl_MappedQoS_Flows_r16, + { "sl-MappedQoS-Flows-r16", "nr-rrc.sl_MappedQoS_Flows_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_MappedQoS_Flows_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MappedQoS_FlowsList_r16, + { "sl-MappedQoS-FlowsList-r16", "nr-rrc.sl_MappedQoS_FlowsList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16", HFILL }}, + { &hf_nr_rrc_sl_MappedQoS_FlowsList_r16_item, + { "SL-QoS-Profile-r16", "nr-rrc.SL_QoS_Profile_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MappedQoS_FlowsListDedicated_r16, + { "sl-MappedQoS-FlowsListDedicated-r16", "nr-rrc.sl_MappedQoS_FlowsListDedicated_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_CastType_r16_01, + { "sl-CastType-r16", "nr-rrc.sl_CastType_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_CastType_r16_01_vals), 0, + "T_sl_CastType_r16_01", HFILL }}, + { &hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16, + { "sl-MappedQoS-FlowsToAddList-r16", "nr-rrc.sl_MappedQoS_FlowsToAddList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16", HFILL }}, + { &hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16_item, + { "SL-QoS-FlowIdentity-r16", "nr-rrc.SL_QoS_FlowIdentity_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_16, + { "sl-MappedQoS-FlowsToReleaseList-16", "nr-rrc.sl_MappedQoS_FlowsToReleaseList_16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16", HFILL }}, + { &hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_16_item, + { "SL-QoS-FlowIdentity-r16", "nr-rrc.SL_QoS_FlowIdentity_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_SL_SyncConfigList_r16_item, + { "SL-SyncConfig-r16", "nr-rrc.SL_SyncConfig_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_SyncRefMinHyst_r16, + { "sl-SyncRefMinHyst-r16", "nr-rrc.sl_SyncRefMinHyst_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_SyncRefMinHyst_r16_vals), 0, + "T_sl_SyncRefMinHyst_r16", HFILL }}, + { &hf_nr_rrc_sl_SyncRefDiffHyst_r16, + { "sl-SyncRefDiffHyst-r16", "nr-rrc.sl_SyncRefDiffHyst_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_SyncRefDiffHyst_r16_vals), 0, + "T_sl_SyncRefDiffHyst_r16", HFILL }}, + { &hf_nr_rrc_sl_filterCoefficient_r16, + { "sl-filterCoefficient-r16", "nr-rrc.sl_filterCoefficient_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0, + "FilterCoefficient", HFILL }}, + { &hf_nr_rrc_sl_SSB_TimeAllocation1_r16, + { "sl-SSB-TimeAllocation1-r16", "nr-rrc.sl_SSB_TimeAllocation1_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_SSB_TimeAllocation_r16", HFILL }}, + { &hf_nr_rrc_sl_SSB_TimeAllocation2_r16, + { "sl-SSB-TimeAllocation2-r16", "nr-rrc.sl_SSB_TimeAllocation2_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_SSB_TimeAllocation_r16", HFILL }}, + { &hf_nr_rrc_sl_SSB_TimeAllocation3_r16, + { "sl-SSB-TimeAllocation3-r16", "nr-rrc.sl_SSB_TimeAllocation3_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_SSB_TimeAllocation_r16", HFILL }}, + { &hf_nr_rrc_sl_SSID_r16, + { "sl-SSID-r16", "nr-rrc.sl_SSID_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_671", HFILL }}, + { &hf_nr_rrc_txParameters_r16, + { "txParameters-r16", "nr-rrc.txParameters_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_syncTxThreshIC_r16, + { "syncTxThreshIC-r16", "nr-rrc.syncTxThreshIC_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_RSRP_Range_r16", HFILL }}, + { &hf_nr_rrc_syncTxThreshOoC_r16, + { "syncTxThreshOoC-r16", "nr-rrc.syncTxThreshOoC_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_RSRP_Range_r16", HFILL }}, + { &hf_nr_rrc_syncInfoReserved_r16, + { "syncInfoReserved-r16", "nr-rrc.syncInfoReserved_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_2", HFILL }}, + { &hf_nr_rrc_gnss_Sync_r16_01, + { "gnss-Sync-r16", "nr-rrc.gnss_Sync_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gnss_Sync_r16_01_vals), 0, + "T_gnss_Sync_r16_01", HFILL }}, + { &hf_nr_rrc_sl_NumSSB_WithinPeriod_r16, + { "sl-NumSSB-WithinPeriod-r16", "nr-rrc.sl_NumSSB_WithinPeriod_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_NumSSB_WithinPeriod_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_TimeOffsetSSB_r16, + { "sl-TimeOffsetSSB-r16", "nr-rrc.sl_TimeOffsetSSB_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_1279", HFILL }}, + { &hf_nr_rrc_sl_TimeInterval_r16, + { "sl-TimeInterval-r16", "nr-rrc.sl_TimeInterval_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_639", HFILL }}, + { &hf_nr_rrc_SL_ThresPSSCH_RSRP_List_r16_item, + { "SL-ThresPSSCH-RSRP-r16", "nr-rrc.SL_ThresPSSCH_RSRP_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_minusinfinity_r16, + { "minusinfinity-r16", "nr-rrc.minusinfinity_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_txPower_r16, + { "txPower-r16", "nr-rrc.txPower_r16", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER_M30_33", HFILL }}, + { &hf_nr_rrc_sl_PSSCH_TxConfigList_r16, + { "sl-PSSCH-TxConfigList-r16", "nr-rrc.sl_PSSCH_TxConfigList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ProbResourceKeep_r16, + { "sl-ProbResourceKeep-r16", "nr-rrc.sl_ProbResourceKeep_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ProbResourceKeep_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ReselectAfter_r16, + { "sl-ReselectAfter-r16", "nr-rrc.sl_ReselectAfter_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ReselectAfter_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_CBR_CommonTxConfigList_r16, + { "sl-CBR-CommonTxConfigList-r16", "nr-rrc.sl_CBR_CommonTxConfigList_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ZoneLength_r16, + { "sl-ZoneLength-r16", "nr-rrc.sl_ZoneLength_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ZoneLength_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_message_08, + { "message", "nr-rrc.message", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SBCCH_SL_BCH_MessageType_vals), 0, + "SBCCH_SL_BCH_MessageType", HFILL }}, + { &hf_nr_rrc_c1_17, + { "c1", "nr-rrc.c1", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_17_vals), 0, + "T_c1_17", HFILL }}, + { &hf_nr_rrc_masterInformationBlockSidelink, + { "masterInformationBlockSidelink", "nr-rrc.masterInformationBlockSidelink_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_messageClassExtension_08, + { "messageClassExtension", "nr-rrc.messageClassExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_messageClassExtension_08", HFILL }}, + { &hf_nr_rrc_message_09, + { "message", "nr-rrc.message", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SCCH_MessageType_vals), 0, + "SCCH_MessageType", HFILL }}, + { &hf_nr_rrc_c1_18, + { "c1", "nr-rrc.c1", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_18_vals), 0, + "T_c1_18", HFILL }}, + { &hf_nr_rrc_measurementReportSidelink, + { "measurementReportSidelink", "nr-rrc.measurementReportSidelink_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_rrcReconfigurationSidelink, + { "rrcReconfigurationSidelink", "nr-rrc.rrcReconfigurationSidelink_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_rrcReconfigurationCompleteSidelink, + { "rrcReconfigurationCompleteSidelink", "nr-rrc.rrcReconfigurationCompleteSidelink_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_rrcReconfigurationFailureSidelink, + { "rrcReconfigurationFailureSidelink", "nr-rrc.rrcReconfigurationFailureSidelink_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ueCapabilityEnquirySidelink, + { "ueCapabilityEnquirySidelink", "nr-rrc.ueCapabilityEnquirySidelink_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_ueCapabilityInformationSidelink, + { "ueCapabilityInformationSidelink", "nr-rrc.ueCapabilityInformationSidelink_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_messageClassExtension_09, + { "messageClassExtension", "nr-rrc.messageClassExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_messageClassExtension_09", HFILL }}, + { &hf_nr_rrc_sl_TDD_Config_r16, + { "sl-TDD-Config-r16", "nr-rrc.sl_TDD_Config_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_12", HFILL }}, + { &hf_nr_rrc_inCoverage_r16, + { "inCoverage-r16", "nr-rrc.inCoverage_r16", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_nr_rrc_directFrameNumber_r16, + { "directFrameNumber-r16", "nr-rrc.directFrameNumber_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_10", HFILL }}, + { &hf_nr_rrc_slotIndex_r16_01, + { "slotIndex-r16", "nr-rrc.slotIndex_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_7", HFILL }}, + { &hf_nr_rrc_reservedBits_r16, + { "reservedBits-r16", "nr-rrc.reservedBits_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_2", HFILL }}, + { &hf_nr_rrc_criticalExtensions_47, + { "criticalExtensions", "nr-rrc.criticalExtensions", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_47_vals), 0, + "T_criticalExtensions_47", HFILL }}, + { &hf_nr_rrc_measurementReportSidelink_r16, + { "measurementReportSidelink-r16", "nr-rrc.measurementReportSidelink_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "MeasurementReportSidelink_IEs_r16", HFILL }}, + { &hf_nr_rrc_criticalExtensionsFuture_47, + { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_criticalExtensionsFuture_47", HFILL }}, + { &hf_nr_rrc_sl_measResults_r16, + { "sl-measResults-r16", "nr-rrc.sl_measResults_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_95, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_52", HFILL }}, + { &hf_nr_rrc_sl_MeasResult_r16, + { "sl-MeasResult-r16", "nr-rrc.sl_MeasResult_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_ResultDMRS_r16, + { "sl-ResultDMRS-r16", "nr-rrc.sl_ResultDMRS_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_MeasQuantityResult_r16", HFILL }}, + { &hf_nr_rrc_rrc_TransactionIdentifier_r16, + { "rrc-TransactionIdentifier-r16", "nr-rrc.rrc_TransactionIdentifier_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "RRC_TransactionIdentifier", HFILL }}, + { &hf_nr_rrc_criticalExtensions_48, + { "criticalExtensions", "nr-rrc.criticalExtensions", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_48_vals), 0, + "T_criticalExtensions_48", HFILL }}, + { &hf_nr_rrc_rrcReconfigurationSidelink_r16, + { "rrcReconfigurationSidelink-r16", "nr-rrc.rrcReconfigurationSidelink_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "RRCReconfigurationSidelink_IEs_r16", HFILL }}, + { &hf_nr_rrc_criticalExtensionsFuture_48, + { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_criticalExtensionsFuture_48", HFILL }}, + { &hf_nr_rrc_slrb_ConfigToAddModList_r16, + { "slrb-ConfigToAddModList-r16", "nr-rrc.slrb_ConfigToAddModList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Config_r16", HFILL }}, + { &hf_nr_rrc_slrb_ConfigToAddModList_r16_item, + { "SLRB-Config-r16", "nr-rrc.SLRB_Config_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_slrb_ConfigToReleaseList_r16, + { "slrb-ConfigToReleaseList-r16", "nr-rrc.slrb_ConfigToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_PC5_ConfigIndex_r16", HFILL }}, + { &hf_nr_rrc_slrb_ConfigToReleaseList_r16_item, + { "SLRB-PC5-ConfigIndex-r16", "nr-rrc.SLRB_PC5_ConfigIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MeasConfig_r16_01, + { "sl-MeasConfig-r16", "nr-rrc.sl_MeasConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_MeasConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_125, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_MeasConfig_r16", HFILL }}, + { &hf_nr_rrc_sl_CSI_RS_Config_r16, + { "sl-CSI-RS-Config-r16", "nr-rrc.sl_CSI_RS_Config_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_CSI_RS_Config_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_setup_126, + { "setup", "nr-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_CSI_RS_Config_r16", HFILL }}, + { &hf_nr_rrc_sl_ResetConfig_r16, + { "sl-ResetConfig-r16", "nr-rrc.sl_ResetConfig_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_ResetConfig_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_LatencyBoundCSI_Report_r16, + { "sl-LatencyBoundCSI-Report-r16", "nr-rrc.sl_LatencyBoundCSI_Report_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_3_160", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_96, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_53", HFILL }}, + { &hf_nr_rrc_slrb_PC5_ConfigIndex_r16, + { "slrb-PC5-ConfigIndex-r16", "nr-rrc.slrb_PC5_ConfigIndex_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_SDAP_ConfigPC5_r16, + { "sl-SDAP-ConfigPC5-r16", "nr-rrc.sl_SDAP_ConfigPC5_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PDCP_ConfigPC5_r16, + { "sl-PDCP-ConfigPC5-r16", "nr-rrc.sl_PDCP_ConfigPC5_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_RLC_ConfigPC5_r16, + { "sl-RLC-ConfigPC5-r16", "nr-rrc.sl_RLC_ConfigPC5_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_SL_RLC_ConfigPC5_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MAC_LogicalChannelConfigPC5_r16, + { "sl-MAC-LogicalChannelConfigPC5-r16", "nr-rrc.sl_MAC_LogicalChannelConfigPC5_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_LogicalChannelConfigPC5_r16", HFILL }}, + { &hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16_01, + { "sl-MappedQoS-FlowsToAddList-r16", "nr-rrc.sl_MappedQoS_FlowsToAddList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PFI_r16", HFILL }}, + { &hf_nr_rrc_sl_MappedQoS_FlowsToAddList_r16_item_01, + { "SL-PFI-r16", "nr-rrc.SL_PFI_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_r16, + { "sl-MappedQoS-FlowsToReleaseList-r16", "nr-rrc.sl_MappedQoS_FlowsToReleaseList_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PFI_r16", HFILL }}, + { &hf_nr_rrc_sl_MappedQoS_FlowsToReleaseList_r16_item, + { "SL-PFI-r16", "nr-rrc.SL_PFI_r16", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_PDCP_SN_Size_r16_01, + { "sl-PDCP-SN-Size-r16", "nr-rrc.sl_PDCP_SN_Size_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_PDCP_SN_Size_r16_01_vals), 0, + "T_sl_PDCP_SN_Size_r16_01", HFILL }}, + { &hf_nr_rrc_sl_OutOfOrderDelivery_01, + { "sl-OutOfOrderDelivery", "nr-rrc.sl_OutOfOrderDelivery", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_OutOfOrderDelivery_01_vals), 0, + "T_sl_OutOfOrderDelivery_01", HFILL }}, + { &hf_nr_rrc_sl_AM_RLC_r16_01, + { "sl-AM-RLC-r16", "nr-rrc.sl_AM_RLC_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_sl_AM_RLC_r16_01", HFILL }}, + { &hf_nr_rrc_sl_UM_Bi_Directional_RLC_r16, + { "sl-UM-Bi-Directional-RLC-r16", "nr-rrc.sl_UM_Bi_Directional_RLC_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_UM_Uni_Directional_RLC_r16, + { "sl-UM-Uni-Directional-RLC-r16", "nr-rrc.sl_UM_Uni_Directional_RLC_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_LogicalChannelIdentity_r16, + { "sl-LogicalChannelIdentity-r16", "nr-rrc.sl_LogicalChannelIdentity_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "LogicalChannelIdentity", HFILL }}, + { &hf_nr_rrc_sl_CSI_RS_FreqAllocation_r16, + { "sl-CSI-RS-FreqAllocation-r16", "nr-rrc.sl_CSI_RS_FreqAllocation_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sl_CSI_RS_FreqAllocation_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_sl_OneAntennaPort_r16, + { "sl-OneAntennaPort-r16", "nr-rrc.sl_OneAntennaPort_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_12", HFILL }}, + { &hf_nr_rrc_sl_TwoAntennaPort_r16, + { "sl-TwoAntennaPort-r16", "nr-rrc.sl_TwoAntennaPort_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_6", HFILL }}, + { &hf_nr_rrc_sl_CSI_RS_FirstSymbol_r16, + { "sl-CSI-RS-FirstSymbol-r16", "nr-rrc.sl_CSI_RS_FirstSymbol_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_3_12", HFILL }}, + { &hf_nr_rrc_criticalExtensions_49, + { "criticalExtensions", "nr-rrc.criticalExtensions", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_49_vals), 0, + "T_criticalExtensions_49", HFILL }}, + { &hf_nr_rrc_rrcReconfigurationCompleteSidelink_r16, + { "rrcReconfigurationCompleteSidelink-r16", "nr-rrc.rrcReconfigurationCompleteSidelink_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "RRCReconfigurationCompleteSidelink_IEs_r16", HFILL }}, + { &hf_nr_rrc_criticalExtensionsFuture_49, + { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_criticalExtensionsFuture_49", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_97, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_54", HFILL }}, + { &hf_nr_rrc_criticalExtensions_50, + { "criticalExtensions", "nr-rrc.criticalExtensions", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_50_vals), 0, + "T_criticalExtensions_50", HFILL }}, + { &hf_nr_rrc_rrcReconfigurationFailureSidelink_r16, + { "rrcReconfigurationFailureSidelink-r16", "nr-rrc.rrcReconfigurationFailureSidelink_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "RRCReconfigurationFailureSidelink_IEs_r16", HFILL }}, + { &hf_nr_rrc_criticalExtensionsFuture_50, + { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_criticalExtensionsFuture_50", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_98, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_55", HFILL }}, + { &hf_nr_rrc_criticalExtensions_51, + { "criticalExtensions", "nr-rrc.criticalExtensions", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_51_vals), 0, + "T_criticalExtensions_51", HFILL }}, + { &hf_nr_rrc_ueCapabilityEnquirySidelink_r16, + { "ueCapabilityEnquirySidelink-r16", "nr-rrc.ueCapabilityEnquirySidelink_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "UECapabilityEnquirySidelink_IEs_r16", HFILL }}, + { &hf_nr_rrc_criticalExtensionsFuture_51, + { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_criticalExtensionsFuture_51", HFILL }}, + { &hf_nr_rrc_ueCapabilityRequestFilterSidelink_r16, + { "ueCapabilityRequestFilterSidelink-r16", "nr-rrc.ueCapabilityRequestFilterSidelink_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "UE_CapabilityRequestFilterSidelink_r16", HFILL }}, + { &hf_nr_rrc_ue_CapabilityInformationSidelink_r16, + { "ue-CapabilityInformationSidelink-r16", "nr-rrc.ue_CapabilityInformationSidelink_r16", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_99, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_56", HFILL }}, + { &hf_nr_rrc_criticalExtensions_52, + { "criticalExtensions", "nr-rrc.criticalExtensions", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_52_vals), 0, + "T_criticalExtensions_52", HFILL }}, + { &hf_nr_rrc_ueCapabilityInformationSidelink_r16, + { "ueCapabilityInformationSidelink-r16", "nr-rrc.ueCapabilityInformationSidelink_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "UECapabilityInformationSidelink_IEs_r16", HFILL }}, + { &hf_nr_rrc_criticalExtensionsFuture_52, + { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_criticalExtensionsFuture_52", HFILL }}, + { &hf_nr_rrc_accessStratumReleaseSidelink_r16, + { "accessStratumReleaseSidelink-r16", "nr-rrc.accessStratumReleaseSidelink_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_AccessStratumReleaseSidelink_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_pdcp_ParametersSidelink_r16, + { "pdcp-ParametersSidelink-r16", "nr-rrc.pdcp_ParametersSidelink_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_rlc_ParametersSidelink_r16_01, + { "rlc-ParametersSidelink-r16", "nr-rrc.rlc_ParametersSidelink_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + "PC5_RLC_ParametersSidelink_r16", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_100, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_57", HFILL }}, + { &hf_nr_rrc_outOfOrderDeliverySidelink_r16, + { "outOfOrderDeliverySidelink-r16", "nr-rrc.outOfOrderDeliverySidelink_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_outOfOrderDeliverySidelink_r16_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_am_WithLongSN_Sidelink_r16_01, + { "am-WithLongSN-Sidelink-r16", "nr-rrc.am_WithLongSN_Sidelink_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_am_WithLongSN_Sidelink_r16_01_vals), 0, + "T_am_WithLongSN_Sidelink_r16_01", HFILL }}, + { &hf_nr_rrc_um_WithLongSN_Sidelink_r16_01, + { "um-WithLongSN-Sidelink-r16", "nr-rrc.um_WithLongSN_Sidelink_r16", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_um_WithLongSN_Sidelink_r16_01_vals), 0, + "T_um_WithLongSN_Sidelink_r16_01", HFILL }}, + { &hf_nr_rrc_frequencyBandListFilterSidelink_r16, + { "frequencyBandListFilterSidelink-r16", "nr-rrc.frequencyBandListFilterSidelink_r16", + FT_UINT32, BASE_DEC, NULL, 0, + "FreqBandList", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_101, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_58", HFILL }}, /*--- End of included file: packet-nr-rrc-hfarr.c ---*/ -#line 393 "./asn1/nr-rrc/packet-nr-rrc-template.c" +#line 523 "./asn1/nr-rrc/packet-nr-rrc-template.c" { &hf_nr_rrc_serialNumber_gs, { "Geographical Scope", "nr-rrc.serialNumber.gs", @@ -57055,6 +103417,10 @@ proto_register_nr_rrc(void) { { "Local time", "nr-rrc.local_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL }}, + { &hf_nr_rrc_absolute_time, + { "Absolute time", "nr-rrc.absolute_time", + FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL }}, }; static gint *ett[] = { @@ -57076,6 +103442,8 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_nonCriticalExtension_01, &ett_nr_rrc_AS_Config, &ett_nr_rrc_AS_Context, + &ett_nr_rrc_ConfigRestrictInfoDAPS_r16, + &ett_nr_rrc_T_powerCoordination_r16, &ett_nr_rrc_ReestablishmentInfo, &ett_nr_rrc_ReestabNCellInfoList, &ett_nr_rrc_ReestabNCellInfo, @@ -57094,6 +103462,7 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_CG_Config_v1590_IEs, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueNR, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ARFCN_ValueEUTRA, + &ett_nr_rrc_CG_Config_v1610_IEs, &ett_nr_rrc_T_nonCriticalExtension_02, &ett_nr_rrc_PH_TypeListSCG, &ett_nr_rrc_PH_InfoSCG, @@ -57120,6 +103489,9 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_measResultReportCGI_EUTRA, &ett_nr_rrc_CG_ConfigInfo_v1570_IEs, &ett_nr_rrc_CG_ConfigInfo_v1590_IEs, + &ett_nr_rrc_CG_ConfigInfo_v1610_IEs, + &ett_nr_rrc_T_scgFailureInfo_r16, + &ett_nr_rrc_T_scgFailureInfoEUTRA_r16, &ett_nr_rrc_T_nonCriticalExtension_03, &ett_nr_rrc_SFTD_FrequencyList_NR, &ett_nr_rrc_SFTD_FrequencyList_EUTRA, @@ -57127,6 +103499,7 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_powerCoordination_FR1, &ett_nr_rrc_T_servCellIndexRangeSCG, &ett_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN, + &ett_nr_rrc_T_powerCoordination_FR2_r16, &ett_nr_rrc_SelectedBandEntriesMN, &ett_nr_rrc_PH_TypeListMCG, &ett_nr_rrc_PH_InfoMCG, @@ -57137,6 +103510,8 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_DRX_Info, &ett_nr_rrc_T_drx_LongCycleStartOffset, &ett_nr_rrc_T_shortDRX, + &ett_nr_rrc_DRX_Info2, + &ett_nr_rrc_T_drx_onDurationTimer, &ett_nr_rrc_MeasConfigMN, &ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo, &ett_nr_rrc_T_measGapConfig, @@ -57154,6 +103529,8 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_criticalExtensionsFuture_04, &ett_nr_rrc_MeasurementTimingConfiguration_IEs, &ett_nr_rrc_MeasurementTimingConfiguration_v1550_IEs, + &ett_nr_rrc_MeasurementTimingConfiguration_v1610_IEs, + &ett_nr_rrc_T_csi_RS_Config_r16, &ett_nr_rrc_T_nonCriticalExtension_04, &ett_nr_rrc_MeasTimingList, &ett_nr_rrc_MeasTiming, @@ -57202,6 +103579,8 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_UL_DCCH_MessageType, &ett_nr_rrc_T_c1_13, &ett_nr_rrc_T_messageClassExtension_07, + &ett_nr_rrc_T_c2, + &ett_nr_rrc_T_messageClassExtensionFuture_r16, &ett_nr_rrc_CounterCheck, &ett_nr_rrc_T_criticalExtensions_07, &ett_nr_rrc_T_criticalExtensionsFuture_07, @@ -57216,85 +103595,165 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_nonCriticalExtension_08, &ett_nr_rrc_DRB_CountInfoList, &ett_nr_rrc_DRB_CountInfo, - &ett_nr_rrc_DLInformationTransfer, + &ett_nr_rrc_DedicatedSIBRequest_r16, &ett_nr_rrc_T_criticalExtensions_09, &ett_nr_rrc_T_criticalExtensionsFuture_09, - &ett_nr_rrc_DLInformationTransfer_IEs, + &ett_nr_rrc_DedicatedSIBRequest_r16_IEs, + &ett_nr_rrc_T_onDemandSIB_RequestList_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandSIB_r16_OF_SIB_ReqInfo_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxOnDemandPosSIB_r16_OF_PosSIB_ReqInfo_r16, &ett_nr_rrc_T_nonCriticalExtension_09, - &ett_nr_rrc_FailureInformation, + &ett_nr_rrc_PosSIB_ReqInfo_r16, + &ett_nr_rrc_DLDedicatedMessageSegment_r16, &ett_nr_rrc_T_criticalExtensions_10, &ett_nr_rrc_T_criticalExtensionsFuture_10, - &ett_nr_rrc_FailureInformation_IEs, + &ett_nr_rrc_DLDedicatedMessageSegment_r16_IEs, &ett_nr_rrc_T_nonCriticalExtension_10, - &ett_nr_rrc_FailureInfoRLC_Bearer, - &ett_nr_rrc_LocationMeasurementIndication, + &ett_nr_rrc_DLInformationTransfer, &ett_nr_rrc_T_criticalExtensions_11, &ett_nr_rrc_T_criticalExtensionsFuture_11, - &ett_nr_rrc_LocationMeasurementIndication_IEs, - &ett_nr_rrc_T_measurementIndication, + &ett_nr_rrc_DLInformationTransfer_IEs, + &ett_nr_rrc_DLInformationTransfer_v1610_IEs, &ett_nr_rrc_T_nonCriticalExtension_11, - &ett_nr_rrc_MeasurementReport, + &ett_nr_rrc_DLInformationTransferMRDC_r16, &ett_nr_rrc_T_criticalExtensions_12, + &ett_nr_rrc_T_c1_14, &ett_nr_rrc_T_criticalExtensionsFuture_12, - &ett_nr_rrc_MeasurementReport_IEs, + &ett_nr_rrc_DLInformationTransferMRDC_r16_IEs, &ett_nr_rrc_T_nonCriticalExtension_12, - &ett_nr_rrc_MIB, - &ett_nr_rrc_MobilityFromNRCommand, + &ett_nr_rrc_FailureInformation, &ett_nr_rrc_T_criticalExtensions_13, &ett_nr_rrc_T_criticalExtensionsFuture_13, - &ett_nr_rrc_MobilityFromNRCommand_IEs, + &ett_nr_rrc_FailureInformation_IEs, + &ett_nr_rrc_FailureInfoRLC_Bearer, + &ett_nr_rrc_FailureInformation_v1610_IEs, &ett_nr_rrc_T_nonCriticalExtension_13, - &ett_nr_rrc_Paging, + &ett_nr_rrc_FailureInfoDAPS_r16, + &ett_nr_rrc_IABOtherInformation_r16, + &ett_nr_rrc_T_criticalExtensions_14, + &ett_nr_rrc_T_criticalExtensionsFuture_14, + &ett_nr_rrc_IABOtherInformation_r16_IEs, + &ett_nr_rrc_T_ip_InfoType, + &ett_nr_rrc_T_iab_IP_Request_r16, + &ett_nr_rrc_T_iab_IPv6_AddressReq_r16, + &ett_nr_rrc_T_iab_IP_Report_r16, + &ett_nr_rrc_T_iab_IPv6_Report_r16, &ett_nr_rrc_T_nonCriticalExtension_14, + &ett_nr_rrc_IAB_IPAddressNumReq_r16, + &ett_nr_rrc_IAB_IPAddressPrefixReq_r16, + &ett_nr_rrc_IAB_IP_AddressAndTraffic_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_8_OF_IAB_IP_Address_r16, + &ett_nr_rrc_IAB_IP_PrefixAndTraffic_r16, + &ett_nr_rrc_LocationMeasurementIndication, + &ett_nr_rrc_T_criticalExtensions_15, + &ett_nr_rrc_T_criticalExtensionsFuture_15, + &ett_nr_rrc_LocationMeasurementIndication_IEs, + &ett_nr_rrc_T_measurementIndication, + &ett_nr_rrc_T_nonCriticalExtension_15, + &ett_nr_rrc_LoggedMeasurementConfiguration_r16, + &ett_nr_rrc_T_criticalExtensions_16, + &ett_nr_rrc_T_criticalExtensionsFuture_16, + &ett_nr_rrc_LoggedMeasurementConfiguration_r16_IEs, + &ett_nr_rrc_T_bt_NameList_r16, + &ett_nr_rrc_T_wlan_NameList_r16, + &ett_nr_rrc_T_sensor_NameList_r16, + &ett_nr_rrc_T_reportType, + &ett_nr_rrc_T_nonCriticalExtension_16, + &ett_nr_rrc_LoggedPeriodicalReportConfig_r16, + &ett_nr_rrc_LoggedEventTriggerConfig_r16, + &ett_nr_rrc_EventType_r16, + &ett_nr_rrc_T_eventL1, + &ett_nr_rrc_MCGFailureInformation_r16, + &ett_nr_rrc_T_criticalExtensions_17, + &ett_nr_rrc_T_criticalExtensionsFuture_17, + &ett_nr_rrc_MCGFailureInformation_r16_IEs, + &ett_nr_rrc_T_nonCriticalExtension_17, + &ett_nr_rrc_FailureReportMCG_r16, + &ett_nr_rrc_MeasResultList2UTRA, + &ett_nr_rrc_MeasResult2UTRA_FDD_r16, + &ett_nr_rrc_MeasResultList2EUTRA, + &ett_nr_rrc_MeasurementReport, + &ett_nr_rrc_T_criticalExtensions_18, + &ett_nr_rrc_T_criticalExtensionsFuture_18, + &ett_nr_rrc_MeasurementReport_IEs, + &ett_nr_rrc_T_nonCriticalExtension_18, + &ett_nr_rrc_MIB, + &ett_nr_rrc_MobilityFromNRCommand, + &ett_nr_rrc_T_criticalExtensions_19, + &ett_nr_rrc_T_criticalExtensionsFuture_19, + &ett_nr_rrc_MobilityFromNRCommand_IEs, + &ett_nr_rrc_MobilityFromNRCommand_v1610_IEs, + &ett_nr_rrc_T_nonCriticalExtension_19, + &ett_nr_rrc_Paging, + &ett_nr_rrc_T_nonCriticalExtension_20, &ett_nr_rrc_PagingRecordList, &ett_nr_rrc_PagingRecord, &ett_nr_rrc_PagingUE_Identity, &ett_nr_rrc_RRCReestablishment, - &ett_nr_rrc_T_criticalExtensions_14, - &ett_nr_rrc_T_criticalExtensionsFuture_14, + &ett_nr_rrc_T_criticalExtensions_20, + &ett_nr_rrc_T_criticalExtensionsFuture_20, &ett_nr_rrc_RRCReestablishment_IEs, - &ett_nr_rrc_T_nonCriticalExtension_15, + &ett_nr_rrc_T_nonCriticalExtension_21, &ett_nr_rrc_RRCReestablishmentComplete, - &ett_nr_rrc_T_criticalExtensions_15, - &ett_nr_rrc_T_criticalExtensionsFuture_15, + &ett_nr_rrc_T_criticalExtensions_21, + &ett_nr_rrc_T_criticalExtensionsFuture_21, &ett_nr_rrc_RRCReestablishmentComplete_IEs, - &ett_nr_rrc_T_nonCriticalExtension_16, + &ett_nr_rrc_RRCReestablishmentComplete_v1610_IEs, + &ett_nr_rrc_T_nonCriticalExtension_22, &ett_nr_rrc_RRCReestablishmentRequest, &ett_nr_rrc_RRCReestablishmentRequest_IEs, &ett_nr_rrc_ReestabUE_Identity, &ett_nr_rrc_RRCReconfiguration, - &ett_nr_rrc_T_criticalExtensions_16, - &ett_nr_rrc_T_criticalExtensionsFuture_16, + &ett_nr_rrc_T_criticalExtensions_22, + &ett_nr_rrc_T_criticalExtensionsFuture_22, &ett_nr_rrc_RRCReconfiguration_IEs, &ett_nr_rrc_RRCReconfiguration_v1530_IEs, &ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message, &ett_nr_rrc_RRCReconfiguration_v1540_IEs, &ett_nr_rrc_RRCReconfiguration_v1560_IEs, &ett_nr_rrc_T_mrdc_SecondaryCellGroupConfig, - &ett_nr_rrc_T_nonCriticalExtension_17, + &ett_nr_rrc_RRCReconfiguration_v1610_IEs, + &ett_nr_rrc_T_bap_Config_r16, + &ett_nr_rrc_T_t316_r16, + &ett_nr_rrc_T_needForGapsConfigNR_r16, + &ett_nr_rrc_T_onDemandSIB_Request_r16, + &ett_nr_rrc_T_sl_ConfigDedicatedNR_r16, + &ett_nr_rrc_T_sl_ConfigDedicatedEUTRA_Info_r16, + &ett_nr_rrc_T_nonCriticalExtension_23, &ett_nr_rrc_MRDC_SecondaryCellGroupConfig, &ett_nr_rrc_T_mrdc_SecondaryCellGroup, + &ett_nr_rrc_BAP_Config_r16, &ett_nr_rrc_MasterKeyUpdate, + &ett_nr_rrc_OnDemandSIB_Request_r16, + &ett_nr_rrc_IAB_IP_AddressConfigurationList_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressConfiguration_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxIAB_IP_Address_r16_OF_IAB_IP_AddressIndex_r16, + &ett_nr_rrc_IAB_IP_AddressConfiguration_r16, + &ett_nr_rrc_SL_ConfigDedicatedEUTRA_Info_r16, + &ett_nr_rrc_SEQUENCE_SIZE_8_OF_SL_TimeOffsetEUTRA_r16, &ett_nr_rrc_RRCReconfigurationComplete, - &ett_nr_rrc_T_criticalExtensions_17, - &ett_nr_rrc_T_criticalExtensionsFuture_17, + &ett_nr_rrc_T_criticalExtensions_23, + &ett_nr_rrc_T_criticalExtensionsFuture_23, &ett_nr_rrc_RRCReconfigurationComplete_IEs, &ett_nr_rrc_RRCReconfigurationComplete_v1530_IEs, &ett_nr_rrc_RRCReconfigurationComplete_v1560_IEs, &ett_nr_rrc_T_scg_Response, - &ett_nr_rrc_T_nonCriticalExtension_18, + &ett_nr_rrc_RRCReconfigurationComplete_v1610_IEs, + &ett_nr_rrc_T_nonCriticalExtension_24, &ett_nr_rrc_RRCReject, - &ett_nr_rrc_T_criticalExtensions_18, - &ett_nr_rrc_T_criticalExtensionsFuture_18, + &ett_nr_rrc_T_criticalExtensions_24, + &ett_nr_rrc_T_criticalExtensionsFuture_24, &ett_nr_rrc_RRCReject_IEs, - &ett_nr_rrc_T_nonCriticalExtension_19, + &ett_nr_rrc_T_nonCriticalExtension_25, &ett_nr_rrc_RRCRelease, - &ett_nr_rrc_T_criticalExtensions_19, - &ett_nr_rrc_T_criticalExtensionsFuture_19, + &ett_nr_rrc_T_criticalExtensions_25, + &ett_nr_rrc_T_criticalExtensionsFuture_25, &ett_nr_rrc_RRCRelease_IEs, &ett_nr_rrc_T_deprioritisationReq, &ett_nr_rrc_RRCRelease_v1540_IEs, - &ett_nr_rrc_T_nonCriticalExtension_20, + &ett_nr_rrc_RRCRelease_v1610_IEs, + &ett_nr_rrc_T_measIdleConfig_r16, + &ett_nr_rrc_T_nonCriticalExtension_26, &ett_nr_rrc_RedirectedCarrierInfo, &ett_nr_rrc_RedirectedCarrierInfo_EUTRA, &ett_nr_rrc_CarrierInfoNR, @@ -57314,141 +103773,270 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_RAN_AreaConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_RAN_AreaCode, &ett_nr_rrc_RRCResume, - &ett_nr_rrc_T_criticalExtensions_20, - &ett_nr_rrc_T_criticalExtensionsFuture_20, + &ett_nr_rrc_T_criticalExtensions_26, + &ett_nr_rrc_T_criticalExtensionsFuture_26, &ett_nr_rrc_RRCResume_IEs, &ett_nr_rrc_RRCResume_v1560_IEs, - &ett_nr_rrc_T_nonCriticalExtension_21, + &ett_nr_rrc_RRCResume_v1610_IEs, + &ett_nr_rrc_T_mrdc_SecondaryCellGroup_r16, + &ett_nr_rrc_T_needForGapsConfigNR_r16_01, + &ett_nr_rrc_T_nonCriticalExtension_27, &ett_nr_rrc_RRCResumeComplete, - &ett_nr_rrc_T_criticalExtensions_21, - &ett_nr_rrc_T_criticalExtensionsFuture_21, + &ett_nr_rrc_T_criticalExtensions_27, + &ett_nr_rrc_T_criticalExtensionsFuture_27, &ett_nr_rrc_RRCResumeComplete_IEs, - &ett_nr_rrc_T_nonCriticalExtension_22, + &ett_nr_rrc_RRCResumeComplete_v1610_IEs, + &ett_nr_rrc_T_scg_Response_r16, + &ett_nr_rrc_T_nonCriticalExtension_28, &ett_nr_rrc_RRCResumeRequest, &ett_nr_rrc_RRCResumeRequest_IEs, &ett_nr_rrc_RRCResumeRequest1, &ett_nr_rrc_RRCResumeRequest1_IEs, &ett_nr_rrc_RRCSetup, - &ett_nr_rrc_T_criticalExtensions_22, - &ett_nr_rrc_T_criticalExtensionsFuture_22, + &ett_nr_rrc_T_criticalExtensions_28, + &ett_nr_rrc_T_criticalExtensionsFuture_28, &ett_nr_rrc_RRCSetup_IEs, - &ett_nr_rrc_T_nonCriticalExtension_23, + &ett_nr_rrc_T_nonCriticalExtension_29, &ett_nr_rrc_RRCSetupComplete, - &ett_nr_rrc_T_criticalExtensions_23, - &ett_nr_rrc_T_criticalExtensionsFuture_23, + &ett_nr_rrc_T_criticalExtensions_29, + &ett_nr_rrc_T_criticalExtensionsFuture_29, &ett_nr_rrc_RRCSetupComplete_IEs, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI, &ett_nr_rrc_T_ng_5G_S_TMSI_Value, - &ett_nr_rrc_T_nonCriticalExtension_24, + &ett_nr_rrc_RRCSetupComplete_v1610_IEs, + &ett_nr_rrc_T_nonCriticalExtension_30, &ett_nr_rrc_RegisteredAMF, &ett_nr_rrc_RRCSetupRequest, &ett_nr_rrc_RRCSetupRequest_IEs, &ett_nr_rrc_InitialUE_Identity, &ett_nr_rrc_RRCSystemInfoRequest, - &ett_nr_rrc_T_criticalExtensions_24, - &ett_nr_rrc_T_criticalExtensionsFuture_24, + &ett_nr_rrc_T_criticalExtensions_30, + &ett_nr_rrc_T_criticalExtensionsFuture_r16, + &ett_nr_rrc_T_criticalExtensionsFuture_30, &ett_nr_rrc_RRCSystemInfoRequest_IEs, + &ett_nr_rrc_RRC_PosSystemInfoRequest_r16_IEs, &ett_nr_rrc_SCGFailureInformation, - &ett_nr_rrc_T_criticalExtensions_25, - &ett_nr_rrc_T_criticalExtensionsFuture_25, + &ett_nr_rrc_T_criticalExtensions_31, + &ett_nr_rrc_T_criticalExtensionsFuture_31, &ett_nr_rrc_SCGFailureInformation_IEs, &ett_nr_rrc_SCGFailureInformation_v1590_IEs, - &ett_nr_rrc_T_nonCriticalExtension_25, + &ett_nr_rrc_T_nonCriticalExtension_31, &ett_nr_rrc_FailureReportSCG, &ett_nr_rrc_MeasResultFreqList, &ett_nr_rrc_SCGFailureInformationEUTRA, - &ett_nr_rrc_T_criticalExtensions_26, - &ett_nr_rrc_T_criticalExtensionsFuture_26, + &ett_nr_rrc_T_criticalExtensions_32, + &ett_nr_rrc_T_criticalExtensionsFuture_32, &ett_nr_rrc_SCGFailureInformationEUTRA_IEs, &ett_nr_rrc_SCGFailureInformationEUTRA_v1590_IEs, - &ett_nr_rrc_T_nonCriticalExtension_26, + &ett_nr_rrc_T_nonCriticalExtension_32, &ett_nr_rrc_FailureReportSCG_EUTRA, &ett_nr_rrc_MeasResultFreqListFailMRDC, &ett_nr_rrc_SecurityModeCommand, - &ett_nr_rrc_T_criticalExtensions_27, - &ett_nr_rrc_T_criticalExtensionsFuture_27, + &ett_nr_rrc_T_criticalExtensions_33, + &ett_nr_rrc_T_criticalExtensionsFuture_33, &ett_nr_rrc_SecurityModeCommand_IEs, - &ett_nr_rrc_T_nonCriticalExtension_27, + &ett_nr_rrc_T_nonCriticalExtension_33, &ett_nr_rrc_SecurityConfigSMC, &ett_nr_rrc_SecurityModeComplete, - &ett_nr_rrc_T_criticalExtensions_28, - &ett_nr_rrc_T_criticalExtensionsFuture_28, + &ett_nr_rrc_T_criticalExtensions_34, + &ett_nr_rrc_T_criticalExtensionsFuture_34, &ett_nr_rrc_SecurityModeComplete_IEs, - &ett_nr_rrc_T_nonCriticalExtension_28, + &ett_nr_rrc_T_nonCriticalExtension_34, &ett_nr_rrc_SecurityModeFailure, - &ett_nr_rrc_T_criticalExtensions_29, - &ett_nr_rrc_T_criticalExtensionsFuture_29, + &ett_nr_rrc_T_criticalExtensions_35, + &ett_nr_rrc_T_criticalExtensionsFuture_35, &ett_nr_rrc_SecurityModeFailure_IEs, - &ett_nr_rrc_T_nonCriticalExtension_29, + &ett_nr_rrc_T_nonCriticalExtension_35, &ett_nr_rrc_SIB1, &ett_nr_rrc_T_cellSelectionInfo, &ett_nr_rrc_T_uac_BarringInfo, &ett_nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo, &ett_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo, - &ett_nr_rrc_T_nonCriticalExtension_30, + &ett_nr_rrc_SIB1_v1610_IEs, + &ett_nr_rrc_T_nonCriticalExtension_36, + &ett_nr_rrc_SidelinkUEInformationNR_r16, + &ett_nr_rrc_T_criticalExtensions_36, + &ett_nr_rrc_T_criticalExtensionsFuture_36, + &ett_nr_rrc_SidelinkUEInformationNR_r16_IEs, + &ett_nr_rrc_T_nonCriticalExtension_37, + &ett_nr_rrc_SL_InterestedFreqList_r16, + &ett_nr_rrc_SL_TxResourceReqList_r16, + &ett_nr_rrc_SL_TxResourceReq_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RLC_ModeIndication_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_QoS_Info_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_TypeTxSync_r16, + &ett_nr_rrc_SL_TxInterestedFreqList_r16, + &ett_nr_rrc_SL_QoS_Info_r16, + &ett_nr_rrc_SL_RLC_ModeIndication_r16, + &ett_nr_rrc_T_sl_Mode_r16, + &ett_nr_rrc_SL_FailureList_r16, + &ett_nr_rrc_SL_Failure_r16, &ett_nr_rrc_SystemInformation, - &ett_nr_rrc_T_criticalExtensions_30, - &ett_nr_rrc_T_criticalExtensionsFuture_30, + &ett_nr_rrc_T_criticalExtensions_37, + &ett_nr_rrc_T_criticalExtensionsFuture_r16_01, + &ett_nr_rrc_T_criticalExtensionsFuture_37, &ett_nr_rrc_SystemInformation_IEs, &ett_nr_rrc_T_sib_TypeAndInfo, &ett_nr_rrc_T_sib_TypeAndInfo_item, - &ett_nr_rrc_T_nonCriticalExtension_31, + &ett_nr_rrc_T_nonCriticalExtension_38, &ett_nr_rrc_UEAssistanceInformation, - &ett_nr_rrc_T_criticalExtensions_31, - &ett_nr_rrc_T_criticalExtensionsFuture_31, + &ett_nr_rrc_T_criticalExtensions_38, + &ett_nr_rrc_T_criticalExtensionsFuture_38, &ett_nr_rrc_UEAssistanceInformation_IEs, &ett_nr_rrc_DelayBudgetReport, &ett_nr_rrc_UEAssistanceInformation_v1540_IEs, - &ett_nr_rrc_T_nonCriticalExtension_32, &ett_nr_rrc_OverheatingAssistance, - &ett_nr_rrc_T_reducedMaxCCs, - &ett_nr_rrc_T_reducedMaxBW_FR1, - &ett_nr_rrc_T_reducedMaxBW_FR2, &ett_nr_rrc_T_reducedMaxMIMO_LayersFR1, &ett_nr_rrc_T_reducedMaxMIMO_LayersFR2, + &ett_nr_rrc_UEAssistanceInformation_v1610_IEs, + &ett_nr_rrc_T_nonCriticalExtension_39, + &ett_nr_rrc_IDC_Assistance_r16, + &ett_nr_rrc_AffectedCarrierFreqList_r16, + &ett_nr_rrc_AffectedCarrierFreq_r16, + &ett_nr_rrc_AffectedCarrierFreqCombList_r16, + &ett_nr_rrc_AffectedCarrierFreqComb_r16, + &ett_nr_rrc_SEQUENCE_SIZE_2_maxNrofServingCells_OF_ARFCN_ValueNR, + &ett_nr_rrc_VictimSystemType_r16, + &ett_nr_rrc_DRX_Preference_r16, + &ett_nr_rrc_MaxBW_Preference_r16, + &ett_nr_rrc_MaxCC_Preference_r16, + &ett_nr_rrc_MaxMIMO_LayerPreference_r16, + &ett_nr_rrc_T_reducedMaxMIMO_LayersFR1_r16, + &ett_nr_rrc_T_reducedMaxMIMO_LayersFR2_r16, + &ett_nr_rrc_MinSchedulingOffsetPreference_r16, + &ett_nr_rrc_T_preferredK0_r16, + &ett_nr_rrc_T_preferredK2_r16, + &ett_nr_rrc_ReleasePreference_r16, + &ett_nr_rrc_ReducedMaxBW_FRx_r16, + &ett_nr_rrc_ReducedMaxCCs_r16, + &ett_nr_rrc_SL_UE_AssistanceInformationNR_r16, + &ett_nr_rrc_SL_TrafficPatternInfo_r16, &ett_nr_rrc_UECapabilityEnquiry, - &ett_nr_rrc_T_criticalExtensions_32, - &ett_nr_rrc_T_criticalExtensionsFuture_32, + &ett_nr_rrc_T_criticalExtensions_39, + &ett_nr_rrc_T_criticalExtensionsFuture_39, &ett_nr_rrc_UECapabilityEnquiry_IEs, &ett_nr_rrc_UECapabilityEnquiry_v1560_IEs, - &ett_nr_rrc_T_nonCriticalExtension_33, + &ett_nr_rrc_UECapabilityEnquiry_v1610_IEs, + &ett_nr_rrc_T_nonCriticalExtension_40, &ett_nr_rrc_UECapabilityInformation, - &ett_nr_rrc_T_criticalExtensions_33, - &ett_nr_rrc_T_criticalExtensionsFuture_33, + &ett_nr_rrc_T_criticalExtensions_40, + &ett_nr_rrc_T_criticalExtensionsFuture_40, &ett_nr_rrc_UECapabilityInformation_IEs, - &ett_nr_rrc_T_nonCriticalExtension_34, + &ett_nr_rrc_T_nonCriticalExtension_41, + &ett_nr_rrc_UEInformationRequest_r16, + &ett_nr_rrc_T_criticalExtensions_41, + &ett_nr_rrc_T_criticalExtensionsFuture_41, + &ett_nr_rrc_UEInformationRequest_r16_IEs, + &ett_nr_rrc_T_nonCriticalExtension_42, + &ett_nr_rrc_UEInformationResponse_r16, + &ett_nr_rrc_T_criticalExtensions_42, + &ett_nr_rrc_T_criticalExtensionsFuture_42, + &ett_nr_rrc_UEInformationResponse_r16_IEs, + &ett_nr_rrc_T_nonCriticalExtension_43, + &ett_nr_rrc_LogMeasReport_r16, + &ett_nr_rrc_LogMeasInfoList_r16, + &ett_nr_rrc_LogMeasInfo_r16, + &ett_nr_rrc_T_measResultNeighCells_r16, + &ett_nr_rrc_ConnEstFailReport_r16, + &ett_nr_rrc_T_measResultNeighCells_r16_01, + &ett_nr_rrc_MeasResultServingCell_r16, + &ett_nr_rrc_T_resultsSSB, + &ett_nr_rrc_MeasResultFailedCell_r16, + &ett_nr_rrc_T_measResult_r16, + &ett_nr_rrc_T_cellResults_r16, + &ett_nr_rrc_T_rsIndexResults_r16, + &ett_nr_rrc_RA_ReportList_r16, + &ett_nr_rrc_RA_Report_r16, + &ett_nr_rrc_RA_InformationCommon_r16, + &ett_nr_rrc_PerRAInfoList_r16, + &ett_nr_rrc_PerRAInfo_r16, + &ett_nr_rrc_PerRASSBInfo_r16, + &ett_nr_rrc_PerRACSI_RSInfo_r16, + &ett_nr_rrc_PerRAAttemptInfoList_r16, + &ett_nr_rrc_PerRAAttemptInfo_r16, + &ett_nr_rrc_RLF_Report_r16, + &ett_nr_rrc_T_nr_RLF_Report_r16, + &ett_nr_rrc_T_measResultNeighCells_r16_02, + &ett_nr_rrc_T_previousPCellId_r16, + &ett_nr_rrc_T_failedPCellId_r16, + &ett_nr_rrc_T_nrFailedPCellId_r16, + &ett_nr_rrc_T_pci_arfcn_r16, + &ett_nr_rrc_T_eutraFailedPCellId_r16, + &ett_nr_rrc_T_pci_arfcn_r16_01, + &ett_nr_rrc_T_reconnectCellId_r16, + &ett_nr_rrc_T_eutra_RLF_Report_r16, + &ett_nr_rrc_MeasResultList2NR_r16, + &ett_nr_rrc_MeasResultList2EUTRA_r16, + &ett_nr_rrc_MeasResult2NR_r16, + &ett_nr_rrc_MeasResultListLogging2NR_r16, + &ett_nr_rrc_MeasResultListLoggingNR_r16, + &ett_nr_rrc_MeasResultLoggingNR_r16, + &ett_nr_rrc_MeasResult2EUTRA_r16, + &ett_nr_rrc_MeasResultRLFNR_r16, + &ett_nr_rrc_T_measResult_r16_01, + &ett_nr_rrc_T_cellResults_r16_01, + &ett_nr_rrc_T_rsIndexResults_r16_01, + &ett_nr_rrc_ULDedicatedMessageSegment_r16, + &ett_nr_rrc_T_criticalExtensions_43, + &ett_nr_rrc_T_criticalExtensionsFuture_43, + &ett_nr_rrc_ULDedicatedMessageSegment_r16_IEs, + &ett_nr_rrc_T_nonCriticalExtension_44, &ett_nr_rrc_ULInformationTransfer, - &ett_nr_rrc_T_criticalExtensions_34, - &ett_nr_rrc_T_criticalExtensionsFuture_34, + &ett_nr_rrc_T_criticalExtensions_44, + &ett_nr_rrc_T_criticalExtensionsFuture_44, &ett_nr_rrc_ULInformationTransfer_IEs, - &ett_nr_rrc_T_nonCriticalExtension_35, + &ett_nr_rrc_T_nonCriticalExtension_45, + &ett_nr_rrc_ULInformationTransferIRAT_r16, + &ett_nr_rrc_T_criticalExtensions_45, + &ett_nr_rrc_T_c1_15, + &ett_nr_rrc_T_criticalExtensionsFuture_45, + &ett_nr_rrc_ULInformationTransferIRAT_r16_IEs, + &ett_nr_rrc_T_nonCriticalExtension_46, &ett_nr_rrc_ULInformationTransferMRDC, - &ett_nr_rrc_T_criticalExtensions_35, - &ett_nr_rrc_T_c1_14, - &ett_nr_rrc_T_criticalExtensionsFuture_35, + &ett_nr_rrc_T_criticalExtensions_46, + &ett_nr_rrc_T_c1_16, + &ett_nr_rrc_T_criticalExtensionsFuture_46, &ett_nr_rrc_ULInformationTransferMRDC_IEs, - &ett_nr_rrc_T_nonCriticalExtension_36, + &ett_nr_rrc_T_nonCriticalExtension_47, &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_T_relaxedMeasurement_r16, + &ett_nr_rrc_T_lowMobilityEvaluation_r16, + &ett_nr_rrc_T_cellEdgeEvaluation_r16, &ett_nr_rrc_SIB3, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_IntraFreqCAG_CellPerPLMN_r16, &ett_nr_rrc_IntraFreqNeighCellList, + &ett_nr_rrc_IntraFreqNeighCellList_v1610, &ett_nr_rrc_IntraFreqNeighCellInfo, + &ett_nr_rrc_IntraFreqNeighCellInfo_v1610, &ett_nr_rrc_IntraFreqBlackCellList, + &ett_nr_rrc_IntraFreqWhiteCellList_r16, + &ett_nr_rrc_IntraFreqCAG_CellPerPLMN_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxCAG_Cell_r16_OF_PCI_Range, &ett_nr_rrc_SIB4, &ett_nr_rrc_InterFreqCarrierFreqList, + &ett_nr_rrc_InterFreqCarrierFreqList_v1610, &ett_nr_rrc_InterFreqCarrierFreqInfo, &ett_nr_rrc_T_threshX_Q, + &ett_nr_rrc_InterFreqCarrierFreqInfo_v1610, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_InterFreqCAG_CellList_r16, &ett_nr_rrc_InterFreqNeighCellList, + &ett_nr_rrc_InterFreqNeighCellList_v1610, &ett_nr_rrc_InterFreqNeighCellInfo, + &ett_nr_rrc_InterFreqNeighCellInfo_v1610, &ett_nr_rrc_InterFreqBlackCellList, + &ett_nr_rrc_InterFreqWhiteCellList_r16, + &ett_nr_rrc_InterFreqCAG_CellList_r16, &ett_nr_rrc_SIB5, &ett_nr_rrc_CarrierFreqListEUTRA, + &ett_nr_rrc_CarrierFreqListEUTRA_v1610, &ett_nr_rrc_CarrierFreqEUTRA, &ett_nr_rrc_T_threshX_Q_01, + &ett_nr_rrc_CarrierFreqEUTRA_v1610, &ett_nr_rrc_EUTRA_FreqBlackCellList, &ett_nr_rrc_EUTRA_FreqNeighCellList, &ett_nr_rrc_EUTRA_FreqNeighCellInfo, @@ -57457,13 +104045,48 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_SIB8, &ett_nr_rrc_SIB9, &ett_nr_rrc_T_timeInfo, + &ett_nr_rrc_SIB10_r16, + &ett_nr_rrc_HRNN_List_r16, + &ett_nr_rrc_HRNN_r16, + &ett_nr_rrc_SIB11_r16, + &ett_nr_rrc_SIB12_r16, + &ett_nr_rrc_SIB13_r16, + &ett_nr_rrc_SIB14_r16, + &ett_nr_rrc_PosSystemInformation_r16_IEs, + &ett_nr_rrc_T_posSIB_TypeAndInfo_r16, + &ett_nr_rrc_T_posSIB_TypeAndInfo_r16_item, + &ett_nr_rrc_T_nonCriticalExtension_48, + &ett_nr_rrc_PosSI_SchedulingInfo_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_PosSchedulingInfo_r16, + &ett_nr_rrc_PosSchedulingInfo_r16, + &ett_nr_rrc_PosSIB_MappingInfo_r16, + &ett_nr_rrc_PosSIB_Type_r16, + &ett_nr_rrc_GNSS_ID_r16, + &ett_nr_rrc_SBAS_ID_r16, + &ett_nr_rrc_SIBpos_r16, + &ett_nr_rrc_AvailabilityCombinationsPerCell_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAvailabilityCombinationsPerSet_r16_OF_AvailabilityCombination_r16, + &ett_nr_rrc_AvailabilityCombination_r16, + &ett_nr_rrc_T_resourceAvailability_r16, + &ett_nr_rrc_AvailabilityIndicator_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCell_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofDUCells_r16_OF_AvailabilityCombinationsPerCellIndex_r16, + &ett_nr_rrc_BAP_Routing_ID_r16, &ett_nr_rrc_BeamFailureRecoveryConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR, + &ett_nr_rrc_T_candidateBeamRSListExt_v1610, &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_CandidateBeamRSListExt_r16, + &ett_nr_rrc_BeamFailureRecoverySCellConfig_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_r16_OF_CandidateBeamRS_r16, + &ett_nr_rrc_CandidateBeamRS_r16, + &ett_nr_rrc_T_candidateBeamConfig_r16, &ett_nr_rrc_BetaOffsets, + &ett_nr_rrc_BH_RLC_ChannelConfig_r16, + &ett_nr_rrc_BH_LogicalChannelIdentity_r16, &ett_nr_rrc_BSR_Config, &ett_nr_rrc_BWP, &ett_nr_rrc_BWP_Downlink, @@ -57475,17 +104098,33 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_pdsch_Config, &ett_nr_rrc_T_sps_Config, &ett_nr_rrc_T_radioLinkMonitoringConfig, + &ett_nr_rrc_T_beamFailureRecoverySCellConfig_r16, + &ett_nr_rrc_T_sl_PDCCH_Config_r16, + &ett_nr_rrc_T_sl_V2X_PDCCH_Config_r16, + &ett_nr_rrc_SPS_ConfigToAddModList_r16, + &ett_nr_rrc_SPS_ConfigToReleaseList_r16, + &ett_nr_rrc_SPS_ConfigDeactivationState_r16, + &ett_nr_rrc_SPS_ConfigDeactivationStateList_r16, &ett_nr_rrc_BWP_Uplink, &ett_nr_rrc_BWP_UplinkCommon, &ett_nr_rrc_T_rach_ConfigCommon, &ett_nr_rrc_T_pusch_ConfigCommon, &ett_nr_rrc_T_pucch_ConfigCommon, + &ett_nr_rrc_T_rach_ConfigCommonIAB_r16, + &ett_nr_rrc_T_msgA_ConfigCommon_r16, &ett_nr_rrc_BWP_UplinkDedicated, &ett_nr_rrc_T_pucch_Config, &ett_nr_rrc_T_pusch_Config, &ett_nr_rrc_T_configuredGrantConfig, &ett_nr_rrc_T_srs_Config, &ett_nr_rrc_T_beamFailureRecoveryConfig, + &ett_nr_rrc_T_sl_PUCCH_Config_r16, + &ett_nr_rrc_T_pucch_ConfigurationList_r16, + &ett_nr_rrc_T_lbt_FailureRecoveryConfig_r16, + &ett_nr_rrc_ConfiguredGrantConfigToAddModList_r16, + &ett_nr_rrc_ConfiguredGrantConfigToReleaseList_r16, + &ett_nr_rrc_ConfiguredGrantConfigType2DeactivationState_r16, + &ett_nr_rrc_ConfiguredGrantConfigType2DeactivationStateList_r16, &ett_nr_rrc_CellAccessRelatedInfo, &ett_nr_rrc_CellAccessRelatedInfo_EUTRA_5GC, &ett_nr_rrc_PLMN_IdentityList_EUTRA_5GC, @@ -57498,17 +104137,23 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelConfig_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxBH_RLC_ChannelID_r16_OF_BH_RLC_ChannelID_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCellsTCI_r16_OF_ServCellIndex, &ett_nr_rrc_SpCellConfig, &ett_nr_rrc_T_rlf_TimersAndConstants, &ett_nr_rrc_ReconfigurationWithSync, &ett_nr_rrc_T_rach_ConfigDedicated, + &ett_nr_rrc_DAPS_UplinkPowerConfig_r16, &ett_nr_rrc_SCellConfig, &ett_nr_rrc_CGI_InfoEUTRA, &ett_nr_rrc_T_cgi_info_EPC, &ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC, &ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC, + &ett_nr_rrc_CGI_InfoEUTRALogging, &ett_nr_rrc_CGI_InfoNR, &ett_nr_rrc_T_noSIB1, + &ett_nr_rrc_CGI_Info_Logging_r16, &ett_nr_rrc_CodebookConfig, &ett_nr_rrc_T_codebookType, &ett_nr_rrc_T_type1_01, @@ -57525,11 +104170,30 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_typeII, &ett_nr_rrc_T_n1_n2_codebookSubsetRestriction, &ett_nr_rrc_T_typeII_PortSelection, + &ett_nr_rrc_CodebookConfig_r16, + &ett_nr_rrc_T_codebookType_01, + &ett_nr_rrc_T_type2_01, + &ett_nr_rrc_T_subType_02, + &ett_nr_rrc_T_typeII_r16, + &ett_nr_rrc_T_n1_n2_codebookSubsetRestriction_r16, + &ett_nr_rrc_T_typeII_PortSelection_r16, + &ett_nr_rrc_CommonLocationInfo_r16, + &ett_nr_rrc_CondReconfigToAddModList_r16, + &ett_nr_rrc_CondReconfigToAddMod_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_MeasId, + &ett_nr_rrc_ConditionalReconfiguration_r16, + &ett_nr_rrc_CondReconfigToRemoveList_r16, &ett_nr_rrc_ConfiguredGrantConfig, &ett_nr_rrc_T_uci_OnPUSCH, &ett_nr_rrc_T_rrc_ConfiguredUplinkGrant, + &ett_nr_rrc_SEQUENCE_SIZE_1_1709_OF_CG_COT_Sharing_r16, &ett_nr_rrc_CG_UCI_OnPUSCH, &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets, + &ett_nr_rrc_CG_COT_Sharing_r16, + &ett_nr_rrc_T_cot_Sharing_r16, + &ett_nr_rrc_CG_StartingOffsets_r16, + &ett_nr_rrc_T_cg_StartingFullBW_InsideCOT_r16, + &ett_nr_rrc_T_cg_StartingFullBW_OutsideCOT_r16, &ett_nr_rrc_ConnEstFailureControl, &ett_nr_rrc_ControlResourceSet, &ett_nr_rrc_T_cce_REG_MappingType, @@ -57539,6 +104203,7 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_schedulingCellInfo, &ett_nr_rrc_T_own, &ett_nr_rrc_T_other, + &ett_nr_rrc_T_carrierIndicatorSize, &ett_nr_rrc_CSI_AperiodicTriggerStateList, &ett_nr_rrc_CSI_AperiodicTriggerState, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo, @@ -57587,6 +104252,13 @@ proto_register_nr_rrc(void) { &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_T_semiPersistentOnPUSCH_v1610, + &ett_nr_rrc_T_reportSlotOffsetListForDCI_Format0_2_r16, + &ett_nr_rrc_T_reportSlotOffsetListForDCI_Format0_1_r16, + &ett_nr_rrc_T_aperiodic_v1610, + &ett_nr_rrc_T_reportSlotOffsetListForDCI_Format0_2_r16_01, + &ett_nr_rrc_T_reportSlotOffsetListForDCI_Format0_1_r16_01, + &ett_nr_rrc_T_reportQuantity_r16, &ett_nr_rrc_CSI_ReportPeriodicityAndOffset, &ett_nr_rrc_PUCCH_CSI_Resource, &ett_nr_rrc_PortIndexFor8Ranks, @@ -57633,6 +104305,8 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_phaseTrackingRS_01, &ett_nr_rrc_T_transformPrecodingDisabled, &ett_nr_rrc_T_transformPrecodingEnabled, + &ett_nr_rrc_T_dmrs_UplinkTransformPrecoding_r16, + &ett_nr_rrc_DMRS_UplinkTransformPrecoding_r16, &ett_nr_rrc_DownlinkConfigCommon, &ett_nr_rrc_DownlinkConfigCommonSIB, &ett_nr_rrc_BCCH_Config, @@ -57651,25 +104325,38 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell, &ett_nr_rrc_INT_ConfigurationPerServingCell, &ett_nr_rrc_DRX_Config, - &ett_nr_rrc_T_drx_onDurationTimer, + &ett_nr_rrc_T_drx_onDurationTimer_01, &ett_nr_rrc_T_drx_LongCycleStartOffset_01, &ett_nr_rrc_T_shortDRX_01, + &ett_nr_rrc_DRX_ConfigSecondaryGroup, + &ett_nr_rrc_T_drx_onDurationTimer_02, &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_HighSpeedConfig_r16, + &ett_nr_rrc_InvalidSymbolPattern_r16, + &ett_nr_rrc_T_symbols_r16, + &ett_nr_rrc_T_periodicityAndPattern_r16, + &ett_nr_rrc_LBT_FailureRecoveryConfig_r16, + &ett_nr_rrc_LocationInfo_r16, &ett_nr_rrc_LocationMeasurementInfo, &ett_nr_rrc_EUTRA_RSTD_InfoList, &ett_nr_rrc_EUTRA_RSTD_Info, + &ett_nr_rrc_NR_PRS_MeasurementInfoList_r16, + &ett_nr_rrc_NR_PRS_MeasurementInfo_r16, + &ett_nr_rrc_T_nr_MeasPRS_RepetitionAndOffset_r16, &ett_nr_rrc_LogicalChannelConfig, &ett_nr_rrc_T_ul_SpecificParameters, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex, &ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing, + &ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofConfiguredGrantConfigMAC_r16_1_OF_ConfiguredGrantConfigIndexMAC_r16, &ett_nr_rrc_MAC_CellGroupConfig, &ett_nr_rrc_T_drx_Config, &ett_nr_rrc_T_phr_Config, &ett_nr_rrc_T_dataInactivityTimer, + &ett_nr_rrc_T_drx_ConfigSecondaryGroup_r16, &ett_nr_rrc_MeasConfig, &ett_nr_rrc_T_s_MeasureConfig, &ett_nr_rrc_MeasObjectToRemoveList, @@ -57684,8 +104371,32 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_gapSharingFR2, &ett_nr_rrc_T_gapSharingFR1, &ett_nr_rrc_T_gapSharingUE, + &ett_nr_rrc_MeasIdleConfigSIB_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierNR_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasIdleCarrierEUTRA_r16, + &ett_nr_rrc_MeasIdleConfigDedicated_r16, + &ett_nr_rrc_ValidityAreaList_r16, + &ett_nr_rrc_ValidityArea_r16, + &ett_nr_rrc_ValidityCellList, + &ett_nr_rrc_MeasIdleCarrierNR_r16, + &ett_nr_rrc_T_qualityThreshold_r16, + &ett_nr_rrc_T_ssb_MeasConfig_r16, + &ett_nr_rrc_MeasIdleCarrierEUTRA_r16, + &ett_nr_rrc_T_qualityThresholdEUTRA_r16, + &ett_nr_rrc_CellListNR_r16, + &ett_nr_rrc_CellListEUTRA_r16, + &ett_nr_rrc_BeamMeasConfigIdle_NR_r16, &ett_nr_rrc_MeasIdToAddModList, &ett_nr_rrc_MeasIdToAddMod, + &ett_nr_rrc_MeasObjectCLI_r16, + &ett_nr_rrc_CLI_ResourceConfig_r16, + &ett_nr_rrc_T_srs_ResourceConfig_r16, + &ett_nr_rrc_T_rssi_ResourceConfig_r16, + &ett_nr_rrc_SRS_ResourceListConfigCLI_r16, + &ett_nr_rrc_RSSI_ResourceListConfigCLI_r16, + &ett_nr_rrc_SRS_ResourceConfigCLI_r16, + &ett_nr_rrc_RSSI_ResourceConfigCLI_r16, + &ett_nr_rrc_RSSI_PeriodicityAndOffset_r16, &ett_nr_rrc_MeasObjectEUTRA, &ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell, &ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_BlackCell, @@ -57694,6 +104405,9 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_EUTRA_BlackCell, &ett_nr_rrc_MeasObjectNR, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement, + &ett_nr_rrc_T_rmtc_Config_r16, + &ett_nr_rrc_T_t312_r16, + &ett_nr_rrc_SSB_MTC3List_r16, &ett_nr_rrc_ReferenceSignalConfig, &ett_nr_rrc_T_csi_rs_ResourceConfigMobility, &ett_nr_rrc_SSB_ConfigMobility, @@ -57702,9 +104416,18 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_ThresholdNR, &ett_nr_rrc_CellsToAddModList, &ett_nr_rrc_CellsToAddMod, + &ett_nr_rrc_RMTC_Config_r16, + &ett_nr_rrc_SSB_PositionQCL_CellsToAddModList_r16, + &ett_nr_rrc_SSB_PositionQCL_CellsToAddMod_r16, + &ett_nr_rrc_MeasObjectNR_SL_r16, + &ett_nr_rrc_Tx_PoolMeasList_r16, &ett_nr_rrc_MeasObjectToAddModList, &ett_nr_rrc_MeasObjectToAddMod, &ett_nr_rrc_T_measObject, + &ett_nr_rrc_MeasObjectUTRA_FDD_r16, + &ett_nr_rrc_CellsToAddModListUTRA_FDD_r16, + &ett_nr_rrc_CellsToAddModUTRA_FDD_r16, + &ett_nr_rrc_UTRA_FDD_CellIndexList_r16, &ett_nr_rrc_MeasResultCellListSFTD_NR, &ett_nr_rrc_MeasResultCellSFTD_NR, &ett_nr_rrc_MeasResultCellListSFTD_EUTRA, @@ -57729,15 +104452,66 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_ResultsPerCSI_RS_Index, &ett_nr_rrc_MeasResultServFreqListEUTRA_SCG, &ett_nr_rrc_MeasResultServFreqListNR_SCG, + &ett_nr_rrc_MeasResultListUTRA_FDD_r16, + &ett_nr_rrc_MeasResultUTRA_FDD_r16, + &ett_nr_rrc_T_measResult_r16_02, + &ett_nr_rrc_MeasResultForRSSI_r16, + &ett_nr_rrc_MeasResultCLI_r16, + &ett_nr_rrc_MeasResultListSRS_RSRP_r16, + &ett_nr_rrc_MeasResultSRS_RSRP_r16, + &ett_nr_rrc_MeasResultListCLI_RSSI_r16, + &ett_nr_rrc_MeasResultCLI_RSSI_r16, + &ett_nr_rrc_UL_PDCP_DelayValueResultList_r16, + &ett_nr_rrc_UL_PDCP_DelayValueResult_r16, &ett_nr_rrc_MeasResult2EUTRA, &ett_nr_rrc_MeasResult2NR, + &ett_nr_rrc_MeasResultIdleEUTRA_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleEUTRA_r16, + &ett_nr_rrc_MeasResultsPerCarrierIdleEUTRA_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleEUTRA_r16, + &ett_nr_rrc_MeasResultsPerCellIdleEUTRA_r16, + &ett_nr_rrc_T_measIdleResultEUTRA_r16, + &ett_nr_rrc_MeasResultIdleNR_r16, + &ett_nr_rrc_T_measResultServingCell_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxFreqIdle_r16_OF_MeasResultsPerCarrierIdleNR_r16, + &ett_nr_rrc_MeasResultsPerCarrierIdleNR_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasIdle_r16_OF_MeasResultsPerCellIdleNR_r16, + &ett_nr_rrc_MeasResultsPerCellIdleNR_r16, + &ett_nr_rrc_T_measIdleResultNR_r16, + &ett_nr_rrc_ResultsPerSSB_IndexList_r16, + &ett_nr_rrc_ResultsPerSSB_IndexIdle_r16, + &ett_nr_rrc_T_ssb_Results_r16, &ett_nr_rrc_MeasResultSCG_Failure, &ett_nr_rrc_MeasResultList2NR, + &ett_nr_rrc_MeasResultsSL_r16, + &ett_nr_rrc_T_measResultsListSL_r16, + &ett_nr_rrc_MeasResultNR_SL_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_PoolToMeasureNR_r16_OF_MeasResultCBR_NR_r16, + &ett_nr_rrc_MeasResultCBR_NR_r16, &ett_nr_rrc_MeasTriggerQuantityEUTRA, &ett_nr_rrc_MobilityStateParameters, + &ett_nr_rrc_MsgA_ConfigCommon_r16, + &ett_nr_rrc_MsgA_PUSCH_Config_r16, + &ett_nr_rrc_MsgA_PUSCH_Resource_r16, + &ett_nr_rrc_MsgA_DMRS_Config_r16, &ett_nr_rrc_MultiFrequencyBandListNR, &ett_nr_rrc_MultiFrequencyBandListNR_SIB, &ett_nr_rrc_NR_MultiBandInfo, + &ett_nr_rrc_NeedForGapsConfigNR_r16, + &ett_nr_rrc_NeedForGapsInfoNR_r16, + &ett_nr_rrc_NeedForGapsIntraFreqlist_r16, + &ett_nr_rrc_NeedForGapsBandlistNR_r16, + &ett_nr_rrc_NeedForGapsIntraFreq_r16, + &ett_nr_rrc_NeedForGapsNR_r16, + &ett_nr_rrc_NPN_Identity_r16, + &ett_nr_rrc_T_pni_npn_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_CAG_IdentityInfo_r16, + &ett_nr_rrc_T_snpn_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NID_r16, + &ett_nr_rrc_CAG_IdentityInfo_r16, + &ett_nr_rrc_NPN_IdentityInfoList_r16, + &ett_nr_rrc_NPN_IdentityInfo_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNPN_r16_OF_NPN_Identity_r16, &ett_nr_rrc_NR_NS_PmaxList, &ett_nr_rrc_NR_NS_PmaxValue, &ett_nr_rrc_NZP_CSI_RS_Resource, @@ -57756,6 +104530,12 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_tpc_PUSCH, &ett_nr_rrc_T_tpc_PUCCH, &ett_nr_rrc_T_tpc_SRS, + &ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_ControlResourceSet, + &ett_nr_rrc_SEQUENCE_SIZE_1_5_OF_ControlResourceSetId_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceExt_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_CellGroupForSwitching_r16, + &ett_nr_rrc_T_uplinkCancellation_r16, + &ett_nr_rrc_CellGroupForSwitching_r16, &ett_nr_rrc_PDCCH_ConfigCommon, &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace, &ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_01, @@ -57767,9 +104547,11 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01, &ett_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01, &ett_nr_rrc_T_sCS120KHZoneSixteenthT_01, + &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceExt_r16, &ett_nr_rrc_PDCCH_ConfigSIB1, &ett_nr_rrc_PDCCH_ServingCellConfig, &ett_nr_rrc_T_slotFormatIndicator, + &ett_nr_rrc_T_availabilityIndicator_r16, &ett_nr_rrc_PDCP_Config, &ett_nr_rrc_T_drb, &ett_nr_rrc_T_headerCompression, @@ -57779,6 +104561,14 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_profiles_01, &ett_nr_rrc_T_moreThanOneRLC, &ett_nr_rrc_T_primaryPath, + &ett_nr_rrc_T_discardTimerExt_r16, + &ett_nr_rrc_T_moreThanTwoRLC_DRB_r16, + &ett_nr_rrc_T_duplicationState, + &ett_nr_rrc_T_ethernetHeaderCompression_r16, + &ett_nr_rrc_EthernetHeaderCompression_r16, + &ett_nr_rrc_T_ehc_Common, + &ett_nr_rrc_T_ehc_Downlink, + &ett_nr_rrc_T_ehc_Uplink, &ett_nr_rrc_PDSCH_Config, &ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA, &ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB, @@ -57795,24 +104585,48 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId, &ett_nr_rrc_T_p_ZP_CSI_RS_ResourceSet, + &ett_nr_rrc_T_maxMIMO_Layers_r16, + &ett_nr_rrc_T_minimumSchedulingOffsetK0_r16, + &ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_ForDCI_Format1_2_r16, + &ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_ForDCI_Format1_2_r16, + &ett_nr_rrc_T_pdsch_TimeDomainAllocationListForDCI_Format1_2_r16, + &ett_nr_rrc_T_prb_BundlingTypeForDCI_Format1_2_r16, + &ett_nr_rrc_T_staticBundling_r16, + &ett_nr_rrc_T_dynamicBundling_r16, + &ett_nr_rrc_T_pdsch_TimeDomainAllocationList_r16, + &ett_nr_rrc_T_repetitionSchemeConfig_r16, &ett_nr_rrc_RateMatchPatternGroup, &ett_nr_rrc_RateMatchPatternGroup_item, + &ett_nr_rrc_MinSchedulingOffsetK0_Values_r16, &ett_nr_rrc_PDSCH_ConfigCommon, &ett_nr_rrc_PDSCH_ServingCellConfig, &ett_nr_rrc_T_codeBlockGroupTransmission, + &ett_nr_rrc_T_pdsch_CodeBlockGroupTransmissionList_r16, &ett_nr_rrc_PDSCH_CodeBlockGroupTransmission, + &ett_nr_rrc_PDSCH_CodeBlockGroupTransmissionList_r16, &ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList, &ett_nr_rrc_PDSCH_TimeDomainResourceAllocation, + &ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList_r16, + &ett_nr_rrc_PDSCH_TimeDomainResourceAllocation_r16, &ett_nr_rrc_PHR_Config, &ett_nr_rrc_PhysicalCellGroupConfig, &ett_nr_rrc_T_cs_RNTI, &ett_nr_rrc_T_pdcch_BlindDetection, + &ett_nr_rrc_T_dcp_Config_r16, + &ett_nr_rrc_T_pdsch_HARQ_ACK_CodebookList_r16, + &ett_nr_rrc_T_pdcch_BlindDetectionCA_CombIndicator_r16, + &ett_nr_rrc_T_pdcch_BlindDetection2_r16, + &ett_nr_rrc_T_pdcch_BlindDetection3_r16, + &ett_nr_rrc_DCP_Config_r16, + &ett_nr_rrc_PDSCH_HARQ_ACK_CodebookList_r16, + &ett_nr_rrc_PDCCH_BlindDetectionCA_CombIndicator_r16, &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_PLMN_IdentityList2_r16, &ett_nr_rrc_PTRS_DownlinkConfig, &ett_nr_rrc_T_frequencyDensity, &ett_nr_rrc_T_timeDensity, @@ -57837,26 +104651,55 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_dl_DataToUL_ACK, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceExt_r16, + &ett_nr_rrc_T_dl_DataToUL_ACK_r16, + &ett_nr_rrc_T_ul_AccessConfigListForDCI_Format_1_1_r16, + &ett_nr_rrc_T_subslotLengthForPUCCH_r16, + &ett_nr_rrc_T_dl_DataToUL_ACK_ForDCI_Format1_2_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfo, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfosDiff_r16_OF_PUCCH_SpatialRelationInfoId, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoExt_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_r16_OF_PUCCH_SpatialRelationInfoId_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroup_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceGroups_r16_OF_PUCCH_ResourceGroupId_r16, + &ett_nr_rrc_T_sps_PUCCH_AN_List_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_v1610, &ett_nr_rrc_PUCCH_FormatConfig, &ett_nr_rrc_PUCCH_ResourceSet, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId, &ett_nr_rrc_PUCCH_Resource, &ett_nr_rrc_T_format, + &ett_nr_rrc_PUCCH_ResourceExt_r16, + &ett_nr_rrc_T_interlaceAllocation_r16, + &ett_nr_rrc_T_interlace0, + &ett_nr_rrc_T_formatExt_v1610, + &ett_nr_rrc_T_occ_v1610, &ett_nr_rrc_PUCCH_format0, &ett_nr_rrc_PUCCH_format1, &ett_nr_rrc_PUCCH_format2, &ett_nr_rrc_PUCCH_format3, &ett_nr_rrc_PUCCH_format4, + &ett_nr_rrc_PUCCH_ResourceGroup_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerGroup_r16_OF_PUCCH_ResourceId, + &ett_nr_rrc_DL_DataToUL_ACK_r16, + &ett_nr_rrc_DL_DataToUL_ACK_ForDCI_Format1_2_r16, + &ett_nr_rrc_UL_AccessConfigListForDCI_Format1_1_r16, &ett_nr_rrc_PUCCH_ConfigCommon, + &ett_nr_rrc_PUCCH_ConfigurationList_r16, &ett_nr_rrc_PUCCH_PowerControl, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS, + &ett_nr_rrc_T_pathlossReferenceRSs_v1610, &ett_nr_rrc_P0_PUCCH, + &ett_nr_rrc_PathlossReferenceRSs_v1610, &ett_nr_rrc_PUCCH_PathlossReferenceRS, &ett_nr_rrc_T_referenceSignal, + &ett_nr_rrc_PUCCH_PathlossReferenceRS_r16, + &ett_nr_rrc_T_referenceSignal_r16, &ett_nr_rrc_PUCCH_SpatialRelationInfo, &ett_nr_rrc_T_referenceSignal_01, - &ett_nr_rrc_T_srs, + &ett_nr_rrc_PUCCH_SpatialRelationInfoExt_r16, + &ett_nr_rrc_PUCCH_SRS, &ett_nr_rrc_PUCCH_TPC_CommandConfig, &ett_nr_rrc_PUSCH_Config, &ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA, @@ -57864,9 +104707,30 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_frequencyHoppingOffsetLists, &ett_nr_rrc_T_pusch_TimeDomainAllocationList, &ett_nr_rrc_T_uci_OnPUSCH_01, + &ett_nr_rrc_T_minimumSchedulingOffsetK2_r16, + &ett_nr_rrc_T_ul_AccessConfigListForDCI_Format0_1_r16, + &ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_ForDCI_Format0_2_r16, + &ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_ForDCI_Format0_2_r16, + &ett_nr_rrc_T_frequencyHoppingForDCI_Format0_2_r16, + &ett_nr_rrc_T_frequencyHoppingOffsetListsForDCI_Format0_2_r16, + &ett_nr_rrc_T_uci_OnPUSCH_ListForDCI_Format0_2_r16, + &ett_nr_rrc_T_pusch_TimeDomainAllocationListForDCI_Format0_2_r16, + &ett_nr_rrc_T_pusch_TimeDomainAllocationListForDCI_Format0_1_r16, + &ett_nr_rrc_T_uci_OnPUSCH_ListForDCI_Format0_1_r16, + &ett_nr_rrc_T_pusch_PowerControl_v1610, + &ett_nr_rrc_T_pusch_TimeDomainAllocationListForMultiPUSCH_r16, &ett_nr_rrc_UCI_OnPUSCH, &ett_nr_rrc_T_betaOffsets, &ett_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets, + &ett_nr_rrc_MinSchedulingOffsetK2_Values_r16, + &ett_nr_rrc_UCI_OnPUSCH_ForDCI_Format0_2_r16, + &ett_nr_rrc_T_betaOffsetsForDCI_Format0_2_r16, + &ett_nr_rrc_T_dynamicForDCI_Format0_2_r16, + &ett_nr_rrc_SEQUENCE_SIZE_2_OF_BetaOffsets, + &ett_nr_rrc_FrequencyHoppingOffsetListsForDCI_Format0_2_r16, + &ett_nr_rrc_UCI_OnPUSCH_ListForDCI_Format0_2_r16, + &ett_nr_rrc_UCI_OnPUSCH_ListForDCI_Format0_1_r16, + &ett_nr_rrc_UL_AccessConfigListForDCI_Format0_1_r16, &ett_nr_rrc_PUSCH_ConfigCommon, &ett_nr_rrc_PUSCH_PowerControl, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet, @@ -57877,22 +104741,45 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_P0_PUSCH_AlphaSet, &ett_nr_rrc_PUSCH_PathlossReferenceRS, &ett_nr_rrc_T_referenceSignal_02, + &ett_nr_rrc_PUSCH_PathlossReferenceRS_r16, + &ett_nr_rrc_T_referenceSignal_r16_01, &ett_nr_rrc_SRI_PUSCH_PowerControl, + &ett_nr_rrc_PUSCH_PowerControl_v1610, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSsDiff_r16_OF_PUSCH_PathlossReferenceRS_Id_v1610, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_P0_PUSCH_Set_r16, + &ett_nr_rrc_T_olpc_ParameterSet, + &ett_nr_rrc_P0_PUSCH_Set_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_Set_r16_OF_P0_PUSCH_r16, &ett_nr_rrc_PUSCH_ServingCellConfig, &ett_nr_rrc_T_codeBlockGroupTransmission_01, + &ett_nr_rrc_T_maxMIMO_LayersForDCI_Format0_2_r16, &ett_nr_rrc_PUSCH_CodeBlockGroupTransmission, &ett_nr_rrc_PUSCH_TimeDomainResourceAllocationList, &ett_nr_rrc_PUSCH_TimeDomainResourceAllocation, + &ett_nr_rrc_PUSCH_TimeDomainResourceAllocationList_r16, + &ett_nr_rrc_PUSCH_TimeDomainResourceAllocation_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofMultiplePUSCHs_r16_OF_PUSCH_Allocation_r16, + &ett_nr_rrc_PUSCH_Allocation_r16, &ett_nr_rrc_PUSCH_TPC_CommandConfig, &ett_nr_rrc_QuantityConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR, &ett_nr_rrc_QuantityConfigNR, &ett_nr_rrc_QuantityConfigRS, &ett_nr_rrc_FilterConfig, + &ett_nr_rrc_FilterConfigCLI_r16, + &ett_nr_rrc_QuantityConfigUTRA_FDD_r16, &ett_nr_rrc_RACH_ConfigCommon, &ett_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB, &ett_nr_rrc_T_groupBconfigured, &ett_nr_rrc_T_prach_RootSequenceIndex, + &ett_nr_rrc_T_ra_PrioritizationForAccessIdentity, + &ett_nr_rrc_T_prach_RootSequenceIndex_r16, + &ett_nr_rrc_RACH_ConfigCommonTwoStepRA_r16, + &ett_nr_rrc_T_msgA_SSB_PerRACH_OccasionAndCB_PreamblesPerSSB_r16, + &ett_nr_rrc_T_msgA_PRACH_RootSequenceIndex_r16, + &ett_nr_rrc_T_ra_PrioritizationForAccessIdentityTwoStep_r16, + &ett_nr_rrc_GroupB_ConfiguredTwoStepRA_r16, &ett_nr_rrc_RACH_ConfigDedicated, &ett_nr_rrc_CFRA, &ett_nr_rrc_T_occasions, @@ -57901,10 +104788,14 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource, &ett_nr_rrc_T_csirs, &ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource, + &ett_nr_rrc_CFRA_TwoStep_r16, + &ett_nr_rrc_T_occasionsTwoStepRA_r16, + &ett_nr_rrc_T_resourcesTwoStep_r16, &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_RACH_ConfigGenericTwoStepRA_r16, &ett_nr_rrc_RA_Prioritization, &ett_nr_rrc_RadioBearerConfig, &ett_nr_rrc_SRB_ToAddModList, @@ -57925,20 +104816,36 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_symbolsInResourceBlock, &ett_nr_rrc_T_periodicityAndPattern, &ett_nr_rrc_RateMatchPatternLTE_CRS, + &ett_nr_rrc_LTE_CRS_PatternList_r16, + &ett_nr_rrc_ReferenceTimeInfo_r16, + &ett_nr_rrc_ReferenceTime_r16, + &ett_nr_rrc_RepetitionSchemeConfig_r16, + &ett_nr_rrc_T_fdm_TDM_r16, + &ett_nr_rrc_T_slotBased_r16, + &ett_nr_rrc_FDM_TDM_r16, + &ett_nr_rrc_SlotBased_r16, &ett_nr_rrc_ReportConfigInterRAT, - &ett_nr_rrc_T_reportType, + &ett_nr_rrc_T_reportType_01, &ett_nr_rrc_ReportCGI_EUTRA, &ett_nr_rrc_ReportSFTD_EUTRA, &ett_nr_rrc_EventTriggerConfigInterRAT, &ett_nr_rrc_T_eventId, &ett_nr_rrc_T_eventB1, &ett_nr_rrc_T_eventB2, + &ett_nr_rrc_T_eventB1_UTRA_FDD_r16, + &ett_nr_rrc_T_eventB2_UTRA_FDD_r16, &ett_nr_rrc_PeriodicalReportConfigInterRAT, + &ett_nr_rrc_MeasTriggerQuantityUTRA_FDD_r16, + &ett_nr_rrc_MeasReportQuantityUTRA_FDD_r16, &ett_nr_rrc_ReportConfigNR, - &ett_nr_rrc_T_reportType_01, + &ett_nr_rrc_T_reportType_02, &ett_nr_rrc_ReportCGI, &ett_nr_rrc_ReportSFTD_NR, &ett_nr_rrc_SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId, + &ett_nr_rrc_CondTriggerConfig_r16, + &ett_nr_rrc_T_condEventId, + &ett_nr_rrc_T_condEventA3, + &ett_nr_rrc_T_condEventA5, &ett_nr_rrc_EventTriggerConfig, &ett_nr_rrc_T_eventId_01, &ett_nr_rrc_T_eventA1, @@ -57947,10 +104854,31 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_eventA4, &ett_nr_rrc_T_eventA5, &ett_nr_rrc_T_eventA6, + &ett_nr_rrc_T_includeBT_Meas_r16, + &ett_nr_rrc_T_includeWLAN_Meas_r16, + &ett_nr_rrc_T_includeSensor_Meas_r16, &ett_nr_rrc_PeriodicalReportConfig, + &ett_nr_rrc_T_includeBT_Meas_r16_01, + &ett_nr_rrc_T_includeWLAN_Meas_r16_01, + &ett_nr_rrc_T_includeSensor_Meas_r16_01, + &ett_nr_rrc_T_ul_DelayValueConfig_r16, &ett_nr_rrc_MeasTriggerQuantity, &ett_nr_rrc_MeasTriggerQuantityOffset, &ett_nr_rrc_MeasReportQuantity, + &ett_nr_rrc_MeasRSSI_ReportConfig_r16, + &ett_nr_rrc_CLI_EventTriggerConfig_r16, + &ett_nr_rrc_T_eventId_r16, + &ett_nr_rrc_T_eventI1_r16, + &ett_nr_rrc_CLI_PeriodicalReportConfig_r16, + &ett_nr_rrc_MeasTriggerQuantityCLI_r16, + &ett_nr_rrc_ReportConfigNR_SL_r16, + &ett_nr_rrc_T_reportType_r16, + &ett_nr_rrc_EventTriggerConfigNR_SL_r16, + &ett_nr_rrc_T_eventId_r16_01, + &ett_nr_rrc_T_eventC1, + &ett_nr_rrc_T_eventC2_r16, + &ett_nr_rrc_PeriodicalReportConfigNR_SL_r16, + &ett_nr_rrc_MeasReportQuantity_r16, &ett_nr_rrc_ReportConfigToAddModList, &ett_nr_rrc_ReportConfigToAddMod, &ett_nr_rrc_T_reportConfig, @@ -57965,6 +104893,8 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_DL_AM_RLC, &ett_nr_rrc_UL_UM_RLC, &ett_nr_rrc_DL_UM_RLC, + &ett_nr_rrc_RLC_Config_v1610, + &ett_nr_rrc_DL_AM_RLC_v1610, &ett_nr_rrc_RLF_TimersAndConstants, &ett_nr_rrc_SchedulingRequestConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod, @@ -57972,6 +104902,7 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_SchedulingRequestToAddMod, &ett_nr_rrc_SchedulingRequestResourceConfig, &ett_nr_rrc_T_periodicityAndOffset, + &ett_nr_rrc_SchedulingRequestResourceConfig_v1610, &ett_nr_rrc_SCS_SpecificCarrier, &ett_nr_rrc_SDAP_Config, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI, @@ -57987,7 +104918,18 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_dci_Format2_2, &ett_nr_rrc_T_dci_Format2_3, &ett_nr_rrc_T_ue_Specific, + &ett_nr_rrc_SearchSpaceExt_r16, + &ett_nr_rrc_T_searchSpaceType_r16, + &ett_nr_rrc_T_common_r16, + &ett_nr_rrc_T_dci_Format2_4_r16, + &ett_nr_rrc_T_nrofCandidates_CI_r16, + &ett_nr_rrc_T_dci_Format2_5_r16, + &ett_nr_rrc_T_nrofCandidates_IAB_r16, + &ett_nr_rrc_T_dci_Format2_6_r16, + &ett_nr_rrc_T_searchSpaceGroupIdList_r16, &ett_nr_rrc_SecurityAlgorithmConfig, + &ett_nr_rrc_SemiStaticChannelAccessConfig, + &ett_nr_rrc_Sensor_LocationInfo_r16, &ett_nr_rrc_ServingCellConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink, @@ -57995,24 +104937,41 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_pdsch_ServingCellConfig, &ett_nr_rrc_T_csi_MeasConfig, &ett_nr_rrc_T_lte_CRS_ToMatchAround, + &ett_nr_rrc_T_dormantBWP_Config_r16, + &ett_nr_rrc_T_ca_SlotOffset_r16, + &ett_nr_rrc_T_channelAccessConfig_r16, + &ett_nr_rrc_T_lte_CRS_PatternList1_r16, + &ett_nr_rrc_T_lte_CRS_PatternList2_r16, &ett_nr_rrc_UplinkConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink, &ett_nr_rrc_T_pusch_ServingCellConfig, &ett_nr_rrc_T_carrierSwitching, + &ett_nr_rrc_T_uplinkTxSwitching_r16, + &ett_nr_rrc_ChannelAccessConfig_r16, + &ett_nr_rrc_IntraCellGuardBands_r16, + &ett_nr_rrc_GuardBand_r16, + &ett_nr_rrc_DormantBWP_Config_r16, + &ett_nr_rrc_T_withinActiveTimeConfig_r16, + &ett_nr_rrc_T_outsideActiveTimeConfig_r16, + &ett_nr_rrc_WithinActiveTimeConfig_r16, + &ett_nr_rrc_OutsideActiveTimeConfig_r16, + &ett_nr_rrc_UplinkTxSwitching_r16, &ett_nr_rrc_ServingCellConfigCommon, &ett_nr_rrc_T_ssb_PositionsInBurst, &ett_nr_rrc_T_lte_CRS_ToMatchAround_01, + &ett_nr_rrc_T_channelAccessMode_r16, &ett_nr_rrc_ServingCellConfigCommonSIB, &ett_nr_rrc_T_ssb_PositionsInBurst_01, + &ett_nr_rrc_T_channelAccessMode_r16_01, + &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_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, @@ -58020,9 +104979,19 @@ 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_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_AvailableRB_SetsPerCell_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpaceSwitchTrigger_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_ServCellIndex, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_CO_DurationsPerCell_r16, + &ett_nr_rrc_CO_DurationsPerCell_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_64_OF_CO_Duration_r16, + &ett_nr_rrc_AvailableRB_SetsPerCell_r16, + &ett_nr_rrc_SearchSpaceSwitchTrigger_r16, &ett_nr_rrc_S_NSSAI, &ett_nr_rrc_SpeedStateScaleFactors, &ett_nr_rrc_SPS_Config, + &ett_nr_rrc_SPS_PUCCH_AN_r16, + &ett_nr_rrc_SPS_PUCCH_AN_List_r16, &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, @@ -58035,6 +105004,10 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSetId_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResourceSets_r16_OF_SRS_PosResourceSet_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResourceId_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_PosResources_r16_OF_SRS_PosResource_r16, &ett_nr_rrc_SRS_ResourceSet, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId, &ett_nr_rrc_T_resourceType_01, @@ -58042,7 +105015,18 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_aperiodicSRS_ResourceTriggerList, &ett_nr_rrc_T_semi_persistent, &ett_nr_rrc_T_periodic_01, - &ett_nr_rrc_T_pathlossReferenceRS, + &ett_nr_rrc_T_pathlossReferenceRSList_r16, + &ett_nr_rrc_PathlossReferenceRS_Config, + &ett_nr_rrc_PathlossReferenceRSList_r16, + &ett_nr_rrc_PathlossReferenceRS_r16, + &ett_nr_rrc_SRS_PosResourceSet_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_PosResourceId_r16, + &ett_nr_rrc_T_resourceType_r16, + &ett_nr_rrc_T_aperiodic_r16, + &ett_nr_rrc_T_aperiodicSRS_ResourceTriggerList_r16, + &ett_nr_rrc_T_semi_persistent_r16, + &ett_nr_rrc_T_periodic_r16, + &ett_nr_rrc_T_pathlossReferenceRS_Pos_r16, &ett_nr_rrc_SRS_Resource, &ett_nr_rrc_T_transmissionComb, &ett_nr_rrc_T_n2, @@ -58053,15 +105037,41 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_aperiodic_02, &ett_nr_rrc_T_semi_persistent_01, &ett_nr_rrc_T_periodic_02, + &ett_nr_rrc_T_resourceMapping_r16, + &ett_nr_rrc_SRS_PosResource_r16, + &ett_nr_rrc_T_transmissionComb_r16, + &ett_nr_rrc_T_n2_r16, + &ett_nr_rrc_T_n4_r16, + &ett_nr_rrc_T_n8_r16, + &ett_nr_rrc_T_resourceMapping_r16_01, + &ett_nr_rrc_T_freqHopping_r16, + &ett_nr_rrc_T_resourceType_r16_01, + &ett_nr_rrc_T_aperiodic_r16_01, + &ett_nr_rrc_T_semi_persistent_r16_01, + &ett_nr_rrc_T_periodic_r16_01, &ett_nr_rrc_SRS_SpatialRelationInfo, &ett_nr_rrc_T_referenceSignal_03, - &ett_nr_rrc_T_srs_01, + &ett_nr_rrc_T_srs, + &ett_nr_rrc_SRS_SpatialRelationInfoPos_r16, + &ett_nr_rrc_T_servingRS_r16, + &ett_nr_rrc_T_referenceSignal_r16_02, + &ett_nr_rrc_T_srs_SpatialRelation_r16, + &ett_nr_rrc_T_resourceSelection_r16, + &ett_nr_rrc_SSB_Configuration_r16, + &ett_nr_rrc_T_sfn0_Offset_r16, + &ett_nr_rrc_SSB_InfoNcell_r16, + &ett_nr_rrc_DL_PRS_Info_r16, &ett_nr_rrc_SRS_PeriodicityAndOffset, + &ett_nr_rrc_SRS_PeriodicityAndOffset_r16, &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_MTC2_LP_r16, + &ett_nr_rrc_SSB_MTC3_r16, + &ett_nr_rrc_T_periodicityAndOffset_r16, + &ett_nr_rrc_T_ssb_ToMeasure_r16, &ett_nr_rrc_SSB_ToMeasure, &ett_nr_rrc_SS_RSSI_Measurement, &ett_nr_rrc_TAG_Config, @@ -58076,9 +105086,15 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_TDD_UL_DL_ConfigDedicated, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex, + &ett_nr_rrc_TDD_UL_DL_ConfigDedicated_IAB_MT_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_IAB_MT_r16, &ett_nr_rrc_TDD_UL_DL_SlotConfig, &ett_nr_rrc_T_symbols, &ett_nr_rrc_T_explicit, + &ett_nr_rrc_TDD_UL_DL_SlotConfig_IAB_MT_r16, + &ett_nr_rrc_T_symbols_IAB_MT_r16, + &ett_nr_rrc_T_explicit_r16, + &ett_nr_rrc_T_explicit_IAB_MT_r16, &ett_nr_rrc_UAC_BarringInfoSetList, &ett_nr_rrc_UAC_BarringInfoSet, &ett_nr_rrc_UAC_BarringPerCatList, @@ -58088,6 +105104,12 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_uac_ACBarringListType, &ett_nr_rrc_SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex, &ett_nr_rrc_UE_TimersAndConstants, + &ett_nr_rrc_UL_DelayValueConfig_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DRB_Identity, + &ett_nr_rrc_UplinkCancellation_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_CI_ConfigurationPerServingCell_r16, + &ett_nr_rrc_CI_ConfigurationPerServingCell_r16, + &ett_nr_rrc_T_timeFrequencyRegion_r16, &ett_nr_rrc_UplinkConfigCommon, &ett_nr_rrc_UplinkConfigCommonSIB, &ett_nr_rrc_UplinkTxDirectCurrentList, @@ -58104,15 +105126,22 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_BandCombinationList_v1570, &ett_nr_rrc_BandCombinationList_v1580, &ett_nr_rrc_BandCombinationList_v1590, + &ett_nr_rrc_BandCombinationList_v1610, + &ett_nr_rrc_BandCombinationList_UplinkTxSwitch_r16, &ett_nr_rrc_BandCombination, &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters, &ett_nr_rrc_BandCombination_v1540, &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540, &ett_nr_rrc_BandCombination_v1550, + &ett_nr_rrc_BandCombination_v1610, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1610, &ett_nr_rrc_BandCombination_v1560, &ett_nr_rrc_BandCombination_v1570, &ett_nr_rrc_BandCombination_v1580, &ett_nr_rrc_BandCombination_v1590, + &ett_nr_rrc_BandCombination_UplinkTxSwitch_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxULTxSwitchingBandPairs_OF_ULTxSwitchingBandPair_r16, + &ett_nr_rrc_ULTxSwitchingBandPair_r16, &ett_nr_rrc_BandParameters, &ett_nr_rrc_T_eutra, &ett_nr_rrc_T_nr, @@ -58123,6 +105152,19 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_eutra_01, &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA, &ett_nr_rrc_T_srs_TxSwitch, + &ett_nr_rrc_BandParameters_v1610, + &ett_nr_rrc_T_srs_TxSwitch_v1610, + &ett_nr_rrc_T_intraFreqDAPS_Parameters_r16, + &ett_nr_rrc_BandCombinationListSidelink_r16, + &ett_nr_rrc_SupportedBandCombinationListSidelink_r16, + &ett_nr_rrc_BandCombinationParametersSidelink_r16, + &ett_nr_rrc_BandParametersSidelink_r16, + &ett_nr_rrc_SupportedBandCombinationListSidelinkEUTRA_r16, + &ett_nr_rrc_SupportedBandCombinationListSidelinkEUTRA_NR_r16, + &ett_nr_rrc_BandCombinationParametersSidelinkEUTRA_NR_r16, + &ett_nr_rrc_BandParametersSidelinkEUTRA_NR_r16, + &ett_nr_rrc_T_eutra_02, + &ett_nr_rrc_T_nr_02, &ett_nr_rrc_CA_ParametersEUTRA, &ett_nr_rrc_CA_ParametersEUTRA_v1560, &ett_nr_rrc_CA_ParametersEUTRA_v1570, @@ -58131,20 +105173,31 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_csi_RS_IM_ReceptionForFeedbackPerBandComb, &ett_nr_rrc_CA_ParametersNR_v1550, &ett_nr_rrc_CA_ParametersNR_v1560, + &ett_nr_rrc_CA_ParametersNR_v1610, + &ett_nr_rrc_T_daps_Parameters_r16, &ett_nr_rrc_CA_ParametersNRDC, + &ett_nr_rrc_CA_ParametersNRDC_v1610, + &ett_nr_rrc_CarrierAggregationVariant, &ett_nr_rrc_CodebookParameters, &ett_nr_rrc_T_type1_02, &ett_nr_rrc_T_singlePanel, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource, &ett_nr_rrc_T_multiPanel, - &ett_nr_rrc_T_type2_01, + &ett_nr_rrc_T_type2_02, &ett_nr_rrc_T_type2_PortSelection, + &ett_nr_rrc_CodebookParameters_v1610, + &ett_nr_rrc_T_supportedCSI_RS_ResourceListAlt_r16, + &ett_nr_rrc_T_type1_SinglePanel_r16, + &ett_nr_rrc_T_type1_MultiPanel_r16, + &ett_nr_rrc_T_type2_r16, + &ett_nr_rrc_T_type2_PortSelection_r16, + &ett_nr_rrc_CodebookVariantsList_r16, &ett_nr_rrc_SupportedCSI_RS_Resource, &ett_nr_rrc_FeatureSetCombination, &ett_nr_rrc_FeatureSetsPerBand, &ett_nr_rrc_FeatureSet, - &ett_nr_rrc_T_eutra_02, - &ett_nr_rrc_T_nr_02, + &ett_nr_rrc_T_eutra_03, + &ett_nr_rrc_T_nr_03, &ett_nr_rrc_FeatureSetDownlink, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id, &ett_nr_rrc_T_timeDurationForQCL, @@ -58157,6 +105210,10 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGap, &ett_nr_rrc_T_pdsch_ProcessingType2, &ett_nr_rrc_T_pdsch_ProcessingType2_Limited, + &ett_nr_rrc_FeatureSetDownlink_v15a0, + &ett_nr_rrc_FeatureSetDownlink_v1610, + &ett_nr_rrc_T_cbgPDSCH_ProcessingType1_DifferentTB_PerSlot, + &ett_nr_rrc_T_cbgPDSCH_ProcessingType2_DifferentTB_PerSlot, &ett_nr_rrc_DummyA, &ett_nr_rrc_DummyB, &ett_nr_rrc_DummyC, @@ -58171,11 +105228,22 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540, &ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540, &ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v15a0, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1610, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1610, &ett_nr_rrc_FeatureSetUplink, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id, &ett_nr_rrc_T_pusch_ProcessingType1_DifferentTB_PerSlot, &ett_nr_rrc_FeatureSetUplink_v1540, &ett_nr_rrc_T_pusch_ProcessingType2, + &ett_nr_rrc_FeatureSetUplink_v1610, + &ett_nr_rrc_T_pusch_RepetitionTypeB_r16, + &ett_nr_rrc_T_cbgPUSCH_ProcessingType1_DifferentTB_PerSlot, + &ett_nr_rrc_T_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot, + &ett_nr_rrc_SRS_AllPosResources_r16, + &ett_nr_rrc_SRS_PosResources_r16, + &ett_nr_rrc_SRS_PosResourceAP_r16, + &ett_nr_rrc_SRS_PosResourceSP_r16, &ett_nr_rrc_SRS_Resources, &ett_nr_rrc_DummyF, &ett_nr_rrc_FeatureSetUplinkPerCC, @@ -58186,6 +105254,7 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_FreqBandInformation, &ett_nr_rrc_FreqBandInformationEUTRA, &ett_nr_rrc_FreqBandInformationNR, + &ett_nr_rrc_HighSpeedParameters_r16, &ett_nr_rrc_IMS_Parameters, &ett_nr_rrc_IMS_ParametersCommon, &ett_nr_rrc_IMS_ParametersFRX_Diff, @@ -58194,19 +105263,35 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA, &ett_nr_rrc_EUTRA_ParametersCommon, &ett_nr_rrc_EUTRA_ParametersXDD_Diff, + &ett_nr_rrc_UTRA_FDD_Parameters_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsUTRA_FDD_r16_OF_SupportedBandUTRA_FDD_r16, &ett_nr_rrc_MAC_Parameters, + &ett_nr_rrc_MAC_Parameters_v1610, &ett_nr_rrc_MAC_ParametersCommon, + &ett_nr_rrc_MAC_ParametersFRX_Diff_r16, + &ett_nr_rrc_T_drx_Adaptation_r16, &ett_nr_rrc_MAC_ParametersXDD_Diff, + &ett_nr_rrc_MinTimeGap_r16, &ett_nr_rrc_MeasAndMobParameters, &ett_nr_rrc_MeasAndMobParametersCommon, + &ett_nr_rrc_T_condHandoverParametersCommon_r16, &ett_nr_rrc_MeasAndMobParametersXDD_Diff, + &ett_nr_rrc_T_condHandoverParametersXDD_Diff_r16, &ett_nr_rrc_MeasAndMobParametersFRX_Diff, + &ett_nr_rrc_T_condHandoverParametersFRX_Diff_r16, &ett_nr_rrc_MeasAndMobParametersMRDC, &ett_nr_rrc_MeasAndMobParametersMRDC_v1560, + &ett_nr_rrc_MeasAndMobParametersMRDC_v1610, &ett_nr_rrc_MeasAndMobParametersMRDC_Common, + &ett_nr_rrc_MeasAndMobParametersMRDC_Common_v1610, + &ett_nr_rrc_T_condPSCellChangeParametersCommon_r16, &ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff, &ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff_v1560, + &ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff_v1610, + &ett_nr_rrc_T_condPSCellChangeParametersXDD_Diff_r16, &ett_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff, + &ett_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff_v1610, + &ett_nr_rrc_T_condPSCellChangeParametersFRX_Diff_r16, &ett_nr_rrc_MIMO_ParametersPerBand, &ett_nr_rrc_T_tci_StatePDSCH, &ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL, @@ -58227,16 +105312,21 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_SpatialRelations, &ett_nr_rrc_DummyI, &ett_nr_rrc_MRDC_Parameters, + &ett_nr_rrc_T_maxUplinkDutyCycle_interBandENDC_TDD_PC2_r16, &ett_nr_rrc_MRDC_Parameters_v1580, &ett_nr_rrc_MRDC_Parameters_v1590, &ett_nr_rrc_NRDC_Parameters, &ett_nr_rrc_T_dummy_06, &ett_nr_rrc_NRDC_Parameters_v1570, + &ett_nr_rrc_NRDC_Parameters_v1610, + &ett_nr_rrc_OLPC_SRS_Pos_r16, &ett_nr_rrc_PDCP_Parameters, &ett_nr_rrc_T_supportedROHC_Profiles, &ett_nr_rrc_PDCP_ParametersMRDC, + &ett_nr_rrc_PDCP_ParametersMRDC_v1610, &ett_nr_rrc_Phy_Parameters, &ett_nr_rrc_Phy_ParametersCommon, + &ett_nr_rrc_T_crossSlotScheduling_r16, &ett_nr_rrc_Phy_ParametersXDD_Diff, &ett_nr_rrc_Phy_ParametersFRX_Diff, &ett_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot, @@ -58246,6 +105336,9 @@ proto_register_nr_rrc(void) { &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_PowSav_Parameters_r16, + &ett_nr_rrc_PowSav_ParametersCommon_r16, + &ett_nr_rrc_PowSav_ParametersFRX_Diff_r16, &ett_nr_rrc_ProcessingParameters, &ett_nr_rrc_T_differentTB_PerSlot, &ett_nr_rrc_RF_Parameters, @@ -58263,40 +105356,79 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_channelBWs_UL_v1590, &ett_nr_rrc_T_fr1_03, &ett_nr_rrc_T_fr2_03, + &ett_nr_rrc_T_multipleRateMatchingEUTRA_CRS_r16, + &ett_nr_rrc_T_channelBW_DL_IAB_r16, + &ett_nr_rrc_T_fr1_100mhz, + &ett_nr_rrc_T_fr2_200mhz, + &ett_nr_rrc_T_channelBW_UL_IAB_r16, + &ett_nr_rrc_T_fr1_100mhz_01, + &ett_nr_rrc_T_fr2_200mhz_01, &ett_nr_rrc_RF_ParametersMRDC, + &ett_nr_rrc_T_supportedBandCombinationListNEDC_Only_v15a0, &ett_nr_rrc_RLC_Parameters, &ett_nr_rrc_SDAP_Parameters, + &ett_nr_rrc_SidelinkParameters_r16, + &ett_nr_rrc_SidelinkParametersNR_r16, + &ett_nr_rrc_SidelinkParametersEUTRA_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_BandSidelinkEUTRA_r16, + &ett_nr_rrc_RLC_ParametersSidelink_r16, + &ett_nr_rrc_MAC_ParametersSidelink_r16, + &ett_nr_rrc_UE_SidelinkCapabilityAddXDD_Mode_r16, + &ett_nr_rrc_MAC_ParametersSidelinkCommon_r16, + &ett_nr_rrc_MAC_ParametersSidelinkXDD_Diff_r16, + &ett_nr_rrc_BandSidelinkEUTRA_r16, + &ett_nr_rrc_T_gnb_ScheduledMode3SidelinkEUTRA_r16, + &ett_nr_rrc_SON_Parameters_r16, + &ett_nr_rrc_SpatialRelationsSRS_Pos_r16, &ett_nr_rrc_SRS_SwitchingTimeNR, &ett_nr_rrc_SRS_SwitchingTimeEUTRA, &ett_nr_rrc_SupportedBandwidth, + &ett_nr_rrc_UE_BasedPerfMeas_Parameters_r16, &ett_nr_rrc_UE_CapabilityRAT_ContainerList, &ett_nr_rrc_UE_CapabilityRAT_Container, &ett_nr_rrc_UE_CapabilityRAT_RequestList, &ett_nr_rrc_UE_CapabilityRAT_Request, &ett_nr_rrc_UE_CapabilityRequestFilterCommon, &ett_nr_rrc_T_mrdc_Request, + &ett_nr_rrc_T_codebookTypeRequest_r16, &ett_nr_rrc_UE_CapabilityRequestFilterNR, &ett_nr_rrc_UE_CapabilityRequestFilterNR_v1540, - &ett_nr_rrc_T_nonCriticalExtension_37, + &ett_nr_rrc_T_nonCriticalExtension_49, &ett_nr_rrc_UE_MRDC_Capability, &ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination, &ett_nr_rrc_UE_MRDC_Capability_v1560, - &ett_nr_rrc_T_nonCriticalExtension_38, + &ett_nr_rrc_UE_MRDC_Capability_v1610, + &ett_nr_rrc_T_nonCriticalExtension_50, &ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode, &ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode_v1560, &ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode, &ett_nr_rrc_GeneralParametersMRDC_XDD_Diff, + &ett_nr_rrc_GeneralParametersMRDC_v1610, &ett_nr_rrc_UE_NR_Capability, &ett_nr_rrc_UE_NR_Capability_v1530, &ett_nr_rrc_UE_NR_Capability_v1540, &ett_nr_rrc_UE_NR_Capability_v1550, &ett_nr_rrc_UE_NR_Capability_v1560, &ett_nr_rrc_UE_NR_Capability_v1570, - &ett_nr_rrc_T_nonCriticalExtension_39, + &ett_nr_rrc_UE_NR_Capability_v1610, + &ett_nr_rrc_T_nonCriticalExtension_51, &ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode, &ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode_v1530, &ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode, &ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1540, + &ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1610, + &ett_nr_rrc_BAP_Parameters_r16, + &ett_nr_rrc_UnlicensedParametersPerBand_r16, + &ett_nr_rrc_AreaConfiguration_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxFreq_OF_InterFreqTargetInfo_r16, + &ett_nr_rrc_AreaConfig_r16, + &ett_nr_rrc_InterFreqTargetInfo_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_PhysCellId, + &ett_nr_rrc_CellGlobalIdList_r16, + &ett_nr_rrc_TrackingAreaCodeList_r16, + &ett_nr_rrc_TrackingAreaIdentityList_r16, + &ett_nr_rrc_TrackingAreaIdentity_r16, + &ett_nr_rrc_BT_NameList_r16, &ett_nr_rrc_EUTRA_MBSFN_SubframeConfigList, &ett_nr_rrc_EUTRA_MBSFN_SubframeConfig, &ett_nr_rrc_T_subframeAllocation1, @@ -58306,17 +105438,236 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_EUTRA_NS_PmaxList, &ett_nr_rrc_EUTRA_NS_PmaxValue, &ett_nr_rrc_EUTRA_PhysCellIdRange, + &ett_nr_rrc_IAB_IP_Address_r16, + &ett_nr_rrc_LogMeasResultListBT_r16, + &ett_nr_rrc_LogMeasResultBT_r16, + &ett_nr_rrc_LogMeasResultListWLAN_r16, + &ett_nr_rrc_LogMeasResultWLAN_r16, + &ett_nr_rrc_WLAN_Identifiers_r16, + &ett_nr_rrc_WLAN_RTT_r16, &ett_nr_rrc_OtherConfig, &ett_nr_rrc_T_delayBudgetReportingConfig, &ett_nr_rrc_T_setup, &ett_nr_rrc_OtherConfig_v1540, &ett_nr_rrc_T_overheatingAssistanceConfig, + &ett_nr_rrc_CandidateServingFreqListNR_r16, + &ett_nr_rrc_OtherConfig_v1610, + &ett_nr_rrc_T_idc_AssistanceConfig_r16, + &ett_nr_rrc_T_drx_PreferenceConfig_r16, + &ett_nr_rrc_T_maxBW_PreferenceConfig_r16, + &ett_nr_rrc_T_maxCC_PreferenceConfig_r16, + &ett_nr_rrc_T_maxMIMO_LayerPreferenceConfig_r16, + &ett_nr_rrc_T_minSchedulingOffsetPreferenceConfig_r16, + &ett_nr_rrc_T_releasePreferenceConfig_r16, + &ett_nr_rrc_T_btNameList_r16, + &ett_nr_rrc_T_wlanNameList_r16, + &ett_nr_rrc_T_sensorNameList_r16, &ett_nr_rrc_OverheatingAssistanceConfig, + &ett_nr_rrc_IDC_AssistanceConfig_r16, + &ett_nr_rrc_DRX_PreferenceConfig_r16, + &ett_nr_rrc_MaxBW_PreferenceConfig_r16, + &ett_nr_rrc_MaxCC_PreferenceConfig_r16, + &ett_nr_rrc_MaxMIMO_LayerPreferenceConfig_r16, + &ett_nr_rrc_MinSchedulingOffsetPreferenceConfig_r16, + &ett_nr_rrc_ReleasePreferenceConfig_r16, + &ett_nr_rrc_Sensor_NameList_r16, + &ett_nr_rrc_TraceReference_r16, + &ett_nr_rrc_UEMeasurementsAvailable_r16, + &ett_nr_rrc_VisitedCellInfoList_r16, + &ett_nr_rrc_VisitedCellInfo_r16, + &ett_nr_rrc_T_visitedCellId_r16, + &ett_nr_rrc_T_nr_CellId_r16, + &ett_nr_rrc_T_pci_arfcn_r16_02, + &ett_nr_rrc_T_eutra_CellId_r16, + &ett_nr_rrc_T_pci_arfcn_r16_03, + &ett_nr_rrc_WLAN_NameList_r16, + &ett_nr_rrc_SL_BWP_Config_r16, + &ett_nr_rrc_SL_BWP_Generic_r16, + &ett_nr_rrc_T_sl_PSBCH_Config_r16, + &ett_nr_rrc_SL_BWP_PoolConfig_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRXPool_r16_OF_SL_ResourcePool_r16, + &ett_nr_rrc_SL_TxPoolDedicated_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolID_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTXPool_r16_OF_SL_ResourcePoolConfig_r16, + &ett_nr_rrc_SL_ResourcePoolConfig_r16, + &ett_nr_rrc_SL_CBR_PriorityTxConfigList_r16, + &ett_nr_rrc_SL_PriorityTxConfigIndex_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Level_r16_OF_SL_TxConfigIndex_r16, + &ett_nr_rrc_SL_CBR_CommonTxConfigList_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxCBR_Config_r16_OF_SL_CBR_LevelsConfig_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxTxConfig_r16_OF_SL_CBR_PSSCH_TxConfig_r16, + &ett_nr_rrc_SL_CBR_LevelsConfig_r16, + &ett_nr_rrc_SL_CBR_PSSCH_TxConfig_r16, + &ett_nr_rrc_SL_ConfigDedicatedNR_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Uu_ConfigIndex_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SL_RadioBearerConfig_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_DestinationIndex_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_Dest_r16_OF_SL_MeasConfigInfo_r16, + &ett_nr_rrc_SL_PHY_MAC_RLC_Config_r16, + &ett_nr_rrc_T_sl_ScheduledConfig_r16, + &ett_nr_rrc_T_sl_UE_SelectedConfig_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_Freq_Id_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFreqSL_r16_OF_SL_FreqConfig_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfigIndex_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxSL_LCID_r16_OF_SL_RLC_BearerConfig_r16, + &ett_nr_rrc_T_sl_CSI_SchedulingRequestId_r16, + &ett_nr_rrc_SL_ConfiguredGrantConfig_r16, + &ett_nr_rrc_T_rrc_ConfiguredSidelinkGrant, + &ett_nr_rrc_SL_CG_MaxTransNumList_r16, + &ett_nr_rrc_SL_CG_MaxTransNum_r16, + &ett_nr_rrc_SL_PeriodCG_r16, + &ett_nr_rrc_SL_FreqConfig_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_BWP_Id, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_BWPs_r16_OF_SL_BWP_Config_r16, + &ett_nr_rrc_SL_LogicalChannelConfig_r16, + &ett_nr_rrc_SEQUENCE_SIZE_0_maxNrofCG_SL_r16_1_OF_SL_ConfigIndexCG_r16, + &ett_nr_rrc_SL_MeasConfigInfo_r16, + &ett_nr_rrc_SL_MeasConfig_r16, + &ett_nr_rrc_SL_MeasObjectToRemoveList_r16, + &ett_nr_rrc_SL_ReportConfigToRemoveList_r16, + &ett_nr_rrc_SL_MeasIdToRemoveList_r16, + &ett_nr_rrc_SL_MeasIdList_r16, + &ett_nr_rrc_SL_MeasIdInfo_r16, + &ett_nr_rrc_SL_MeasObjectList_r16, + &ett_nr_rrc_SL_MeasObjectInfo_r16, + &ett_nr_rrc_SL_MeasObject_r16, + &ett_nr_rrc_SL_PDCP_Config_r16, + &ett_nr_rrc_SL_PSBCH_Config_r16, + &ett_nr_rrc_SL_PSSCH_TxConfigList_r16, + &ett_nr_rrc_SL_PSSCH_TxConfig_r16, + &ett_nr_rrc_SL_PSSCH_TxParameters_r16, + &ett_nr_rrc_SL_QoS_Profile_r16, + &ett_nr_rrc_SL_PQI_r16, + &ett_nr_rrc_T_sl_Non_StandardizedPQI_r16, + &ett_nr_rrc_SL_QuantityConfig_r16, + &ett_nr_rrc_SL_RadioBearerConfig_r16, + &ett_nr_rrc_SL_ReportConfigList_r16, + &ett_nr_rrc_SL_ReportConfigInfo_r16, + &ett_nr_rrc_SL_ReportConfig_r16, + &ett_nr_rrc_T_sl_ReportType_r16, + &ett_nr_rrc_SL_PeriodicalReportConfig_r16, + &ett_nr_rrc_SL_EventTriggerConfig_r16, + &ett_nr_rrc_T_sl_EventId_r16, + &ett_nr_rrc_T_eventS1_r16, + &ett_nr_rrc_T_eventS2_r16, + &ett_nr_rrc_SL_MeasReportQuantity_r16, + &ett_nr_rrc_SL_MeasTriggerQuantity_r16, + &ett_nr_rrc_SL_ResourcePool_r16, + &ett_nr_rrc_T_sl_PSCCH_Config_r16, + &ett_nr_rrc_T_sl_PSSCH_Config_r16, + &ett_nr_rrc_T_sl_PSFCH_Config_r16, + &ett_nr_rrc_T_sl_RxParametersNcell_r16, + &ett_nr_rrc_SEQUENCE_SIZE_16_OF_SL_ZoneConfigMCR_r16, + &ett_nr_rrc_SL_ZoneConfigMCR_r16, + &ett_nr_rrc_SL_SyncAllowed_r16, + &ett_nr_rrc_SL_PSCCH_Config_r16, + &ett_nr_rrc_SL_PSSCH_Config_r16, + &ett_nr_rrc_T_sl_PSSCH_DMRS_TimePatternList_r16, + &ett_nr_rrc_SEQUENCE_SIZE_4_OF_SL_BetaOffsets_r16, + &ett_nr_rrc_SL_PSFCH_Config_r16, + &ett_nr_rrc_SL_PTRS_Config_r16, + &ett_nr_rrc_T_sl_PTRS_FreqDensity_r16, + &ett_nr_rrc_T_sl_PTRS_TimeDensity_r16, + &ett_nr_rrc_SL_UE_SelectedConfigRP_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_16_OF_SL_ResourceReservePeriod_r16, + &ett_nr_rrc_SL_ResourceReservePeriod_r16, + &ett_nr_rrc_SL_SelectionWindowList_r16, + &ett_nr_rrc_SL_SelectionWindowConfig_r16, + &ett_nr_rrc_SL_TxPercentageList_r16, + &ett_nr_rrc_SL_TxPercentageConfig_r16, + &ett_nr_rrc_SL_MinMaxMCS_List_r16, + &ett_nr_rrc_SL_MinMaxMCS_Config_r16, + &ett_nr_rrc_SL_PowerControl_r16, + &ett_nr_rrc_SL_RLC_BearerConfig_r16, + &ett_nr_rrc_SL_RLC_Config_r16, + &ett_nr_rrc_T_sl_AM_RLC_r16, + &ett_nr_rrc_T_sl_UM_RLC_r16, + &ett_nr_rrc_SL_ScheduledConfig_r16, + &ett_nr_rrc_T_sl_PSFCH_ToPUCCH_r16, + &ett_nr_rrc_MAC_MainConfigSL_r16, + &ett_nr_rrc_SL_TimingConfig_r16, + &ett_nr_rrc_SL_ConfiguredGrantConfigList_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfigIndexCG_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCG_SL_r16_OF_SL_ConfiguredGrantConfig_r16, + &ett_nr_rrc_SL_SDAP_Config_r16, + &ett_nr_rrc_T_sl_MappedQoS_Flows_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_Profile_r16, + &ett_nr_rrc_SL_MappedQoS_FlowsListDedicated_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIs_r16_OF_SL_QoS_FlowIdentity_r16, + &ett_nr_rrc_SL_SyncConfigList_r16, + &ett_nr_rrc_SL_SyncConfig_r16, + &ett_nr_rrc_T_txParameters_r16, + &ett_nr_rrc_SL_SSB_TimeAllocation_r16, + &ett_nr_rrc_SL_ThresPSSCH_RSRP_List_r16, + &ett_nr_rrc_SL_TxPower_r16, + &ett_nr_rrc_SL_UE_SelectedConfig_r16, + &ett_nr_rrc_SL_ZoneConfig_r16, + &ett_nr_rrc_SBCCH_SL_BCH_Message, + &ett_nr_rrc_SBCCH_SL_BCH_MessageType, + &ett_nr_rrc_T_c1_17, + &ett_nr_rrc_T_messageClassExtension_08, + &ett_nr_rrc_SCCH_Message, + &ett_nr_rrc_SCCH_MessageType, + &ett_nr_rrc_T_c1_18, + &ett_nr_rrc_T_messageClassExtension_09, + &ett_nr_rrc_MasterInformationBlockSidelink, + &ett_nr_rrc_MeasurementReportSidelink, + &ett_nr_rrc_T_criticalExtensions_47, + &ett_nr_rrc_T_criticalExtensionsFuture_47, + &ett_nr_rrc_MeasurementReportSidelink_IEs_r16, + &ett_nr_rrc_T_nonCriticalExtension_52, + &ett_nr_rrc_SL_MeasResults_r16, + &ett_nr_rrc_SL_MeasResult_r16, + &ett_nr_rrc_SL_MeasQuantityResult_r16, + &ett_nr_rrc_RRCReconfigurationSidelink, + &ett_nr_rrc_T_criticalExtensions_48, + &ett_nr_rrc_T_criticalExtensionsFuture_48, + &ett_nr_rrc_RRCReconfigurationSidelink_IEs_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_Config_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSLRB_r16_OF_SLRB_PC5_ConfigIndex_r16, + &ett_nr_rrc_T_sl_MeasConfig_r16, + &ett_nr_rrc_T_sl_CSI_RS_Config_r16, + &ett_nr_rrc_T_nonCriticalExtension_53, + &ett_nr_rrc_SLRB_Config_r16, + &ett_nr_rrc_SL_SDAP_ConfigPC5_r16, + &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSL_QFIsPerDest_r16_OF_SL_PFI_r16, + &ett_nr_rrc_SL_PDCP_ConfigPC5_r16, + &ett_nr_rrc_SL_RLC_ConfigPC5_r16, + &ett_nr_rrc_T_sl_AM_RLC_r16_01, + &ett_nr_rrc_T_sl_UM_Bi_Directional_RLC_r16, + &ett_nr_rrc_T_sl_UM_Uni_Directional_RLC_r16, + &ett_nr_rrc_SL_LogicalChannelConfigPC5_r16, + &ett_nr_rrc_SL_CSI_RS_Config_r16, + &ett_nr_rrc_T_sl_CSI_RS_FreqAllocation_r16, + &ett_nr_rrc_RRCReconfigurationCompleteSidelink, + &ett_nr_rrc_T_criticalExtensions_49, + &ett_nr_rrc_T_criticalExtensionsFuture_49, + &ett_nr_rrc_RRCReconfigurationCompleteSidelink_IEs_r16, + &ett_nr_rrc_T_nonCriticalExtension_54, + &ett_nr_rrc_RRCReconfigurationFailureSidelink, + &ett_nr_rrc_T_criticalExtensions_50, + &ett_nr_rrc_T_criticalExtensionsFuture_50, + &ett_nr_rrc_RRCReconfigurationFailureSidelink_IEs_r16, + &ett_nr_rrc_T_nonCriticalExtension_55, + &ett_nr_rrc_UECapabilityEnquirySidelink, + &ett_nr_rrc_T_criticalExtensions_51, + &ett_nr_rrc_T_criticalExtensionsFuture_51, + &ett_nr_rrc_UECapabilityEnquirySidelink_IEs_r16, + &ett_nr_rrc_T_nonCriticalExtension_56, + &ett_nr_rrc_UECapabilityInformationSidelink, + &ett_nr_rrc_T_criticalExtensions_52, + &ett_nr_rrc_T_criticalExtensionsFuture_52, + &ett_nr_rrc_UECapabilityInformationSidelink_IEs_r16, + &ett_nr_rrc_T_nonCriticalExtension_57, + &ett_nr_rrc_PDCP_ParametersSidelink_r16, + &ett_nr_rrc_PC5_RLC_ParametersSidelink_r16, + &ett_nr_rrc_UE_CapabilityRequestFilterSidelink_r16, + &ett_nr_rrc_T_nonCriticalExtension_58, /*--- End of included file: packet-nr-rrc-ettarr.c ---*/ -#line 527 "./asn1/nr-rrc/packet-nr-rrc-template.c" +#line 661 "./asn1/nr-rrc/packet-nr-rrc-template.c" &ett_nr_rrc_DedicatedNAS_Message, - &ett_rr_rrc_targetRAT_MessageContainer, + &ett_nr_rrc_targetRAT_MessageContainer, &ett_nr_rrc_nas_Container, &ett_nr_rrc_serialNumber, &ett_nr_rrc_warningType, @@ -58339,7 +105690,30 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_measResultSCG_FailureMRDC, &ett_nr_rrc_ul_DCCH_MessageNR, &ett_nr_rrc_ul_DCCH_MessageEUTRA, - &ett_rr_rrc_nas_SecurityParamFromNR + &ett_rr_rrc_nas_SecurityParamFromNR, + &ett_nr_rrc_sidelinkUEInformationNR, + &ett_nr_rrc_sidelinkUEInformationEUTRA, + &ett_nr_rrc_ueAssistanceInformationEUTRA, + &ett_nr_rrc_dl_DCCH_MessageNR, + &ett_nr_rrc_dl_DCCH_MessageEUTRA, + &ett_nr_rrc_sl_ConfigDedicatedEUTRA, + &ett_nr_rrc_sl_CapabilityInformationSidelink, + &ett_nr_rrc_measResult_RLF_Report_EUTRA, + &ett_nr_rrc_locationTimestamp_r16, + &ett_nr_rrc_locationCoordinate_r16, + &ett_nr_rrc_locationError_r16, + &ett_nr_rrc_locationSource_r16, + &ett_nr_rrc_velocityEstimate_r16, + &ett_nr_rrc_sensor_MeasurementInformation_r16, + &ett_nr_rrc_sensor_MotionInformation_r16, + &ett_nr_rrc_bandCombinationListEUTRA1_r16, + &ett_nr_rrc_bandCombinationListEUTRA2_r16, + &ett_nr_rrc_bandParametersSidelinkEUTRA1_r16, + &ett_nr_rrc_bandParametersSidelinkEUTRA2_r16, + &ett_nr_rrc_sl_ParametersEUTRA1_r16, + &ett_nr_rrc_sl_ParametersEUTRA2_r16, + &ett_nr_rrc_sl_ParametersEUTRA3_r16, + &ett_nr_rrc_absTimeInfo }; static ei_register_info ei[] = { @@ -58374,10 +105748,12 @@ proto_register_nr_rrc(void) { register_dissector("nr-rrc.rrc_reconf", dissect_nr_rrc_RRCReconfiguration_PDU, proto_nr_rrc); register_dissector("nr-rrc.ue_mrdc_cap", dissect_nr_rrc_UE_MRDC_Capability_PDU, proto_nr_rrc); register_dissector("nr-rrc.ue_nr_cap", dissect_nr_rrc_UE_NR_Capability_PDU, proto_nr_rrc); + register_dissector("nr-rrc.sbcch.sl.bch", dissect_SBCCH_SL_BCH_Message_PDU, proto_nr_rrc); + register_dissector("nr-rrc.scch", dissect_SCCH_Message_PDU, proto_nr_rrc); /*--- End of included file: packet-nr-rrc-dis-reg.c ---*/ -#line 571 "./asn1/nr-rrc/packet-nr-rrc-template.c" +#line 728 "./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); diff --git a/epan/dissectors/packet-nr-rrc.h b/epan/dissectors/packet-nr-rrc.h index 068bf1e5a1..36dd13e68a 100644 --- a/epan/dissectors/packet-nr-rrc.h +++ b/epan/dissectors/packet-nr-rrc.h @@ -1,7 +1,7 @@ /* Do not modify this file. Changes will be overwritten. */ /* Generated automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-nr-rrc.h */ -/* asn2wrs.py -L -p nr-rrc -c ./nr-rrc.cnf -s ./packet-nr-rrc-template -D . -O ../.. NR-InterNodeDefinitions.asn NR-RRC-Definitions.asn NR-UE-Variables.asn */ +/* asn2wrs.py -L -p nr-rrc -c ./nr-rrc.cnf -s ./packet-nr-rrc-template -D . -O ../.. NR-InterNodeDefinitions.asn NR-RRC-Definitions.asn NR-Sidelink-Preconf.asn NR-UE-Variables.asn PC5-RRC-Definitions.asn */ /* Input file: packet-nr-rrc-template.h */ @@ -39,6 +39,7 @@ int dissect_nr_rrc_MIB_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree int dissect_nr_rrc_RRCReconfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_RRCReconfigurationComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_SIB1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_nr_rrc_SidelinkUEInformationNR_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_UEAssistanceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_SIB2_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_SIB3_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); @@ -57,12 +58,16 @@ int dissect_nr_rrc_MeasResultSCG_Failure_PDU(tvbuff_t *tvb _U_, packet_info *pin int dissect_nr_rrc_P_Max_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_RadioBearerConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_UplinkTxDirectCurrentList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_nr_rrc_SupportedBandCombinationListSidelink_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_nr_rrc_BandParametersSidelink_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_FreqBandList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_nr_rrc_SidelinkParametersNR_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_UE_CapabilityRAT_ContainerList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_UE_CapabilityRequestFilterCommon_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_UE_CapabilityRequestFilterNR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_UE_MRDC_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_UE_NR_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_nr_rrc_SL_CBR_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); /*--- End of included file: packet-nr-rrc-exp.h ---*/ #line 15 "./asn1/nr-rrc/packet-nr-rrc-template.h" |