From 291c836392e13e41565df06dd54ef882c49c3e0b Mon Sep 17 00:00:00 2001 From: Pascal Quantin Date: Fri, 4 Sep 2020 23:21:41 +0200 Subject: F1AP: upgrade dissector to v16.2.0 --- epan/dissectors/CMakeLists.txt | 1 + epan/dissectors/asn1/f1ap/CMakeLists.txt | 1 + epan/dissectors/asn1/f1ap/F1AP-CommonDataTypes.asn | 2 +- epan/dissectors/asn1/f1ap/F1AP-Constants.asn | 205 +- epan/dissectors/asn1/f1ap/F1AP-Containers.asn | 2 +- epan/dissectors/asn1/f1ap/F1AP-IEs.asn | 2059 ++- epan/dissectors/asn1/f1ap/F1AP-PDU-Contents.asn | 1031 +- .../dissectors/asn1/f1ap/F1AP-PDU-Descriptions.asn | 187 +- epan/dissectors/asn1/f1ap/f1ap.cnf | 806 +- epan/dissectors/asn1/f1ap/packet-f1ap-template.c | 174 +- epan/dissectors/asn1/f1ap/packet-f1ap-template.h | 29 + epan/dissectors/asn1/nr-rrc/nr-rrc.cnf | 20 + .../asn1/nr-rrc/packet-nr-rrc-template.c | 12 + .../asn1/nr-rrc/packet-nr-rrc-template.h | 1 + epan/dissectors/asn1/x2ap/packet-x2ap-template.c | 3 + epan/dissectors/asn1/x2ap/x2ap.cnf | 9 + epan/dissectors/asn1/xnap/packet-xnap-template.c | 3 + epan/dissectors/asn1/xnap/xnap.cnf | 9 + epan/dissectors/packet-f1ap.c | 18022 +++++++++++++++---- epan/dissectors/packet-f1ap.h | 43 + epan/dissectors/packet-nr-rrc.c | 170 +- epan/dissectors/packet-nr-rrc.h | 11 + epan/dissectors/packet-x2ap.c | 235 +- epan/dissectors/packet-xnap.c | 163 +- 24 files changed, 19020 insertions(+), 4178 deletions(-) create mode 100644 epan/dissectors/asn1/f1ap/packet-f1ap-template.h create mode 100644 epan/dissectors/packet-f1ap.h diff --git a/epan/dissectors/CMakeLists.txt b/epan/dissectors/CMakeLists.txt index 604fa0a88f..2357ea6ccf 100644 --- a/epan/dissectors/CMakeLists.txt +++ b/epan/dissectors/CMakeLists.txt @@ -342,6 +342,7 @@ set(DISSECTOR_PUBLIC_HEADERS packet-epmd.h packet-ess.h packet-eth.h + packet-f1ap.h packet-f5ethtrailer.h packet-fc.h packet-fcbls.h diff --git a/epan/dissectors/asn1/f1ap/CMakeLists.txt b/epan/dissectors/asn1/f1ap/CMakeLists.txt index 7f7500e4eb..c35c917782 100644 --- a/epan/dissectors/asn1/f1ap/CMakeLists.txt +++ b/epan/dissectors/asn1/f1ap/CMakeLists.txt @@ -30,6 +30,7 @@ set( ASN_FILE_LIST set( EXTRA_DIST ${ASN_FILE_LIST} packet-${PROTOCOL_NAME}-template.c + packet-${PROTOCOL_NAME}-template.h ${PROTOCOL_NAME}.cnf ) diff --git a/epan/dissectors/asn1/f1ap/F1AP-CommonDataTypes.asn b/epan/dissectors/asn1/f1ap/F1AP-CommonDataTypes.asn index 2f3bd22880..fdb25d81fa 100644 --- a/epan/dissectors/asn1/f1ap/F1AP-CommonDataTypes.asn +++ b/epan/dissectors/asn1/f1ap/F1AP-CommonDataTypes.asn @@ -1,4 +1,4 @@ --- 3GPP TS 38.473 V15.8.0 (2019-12) +-- 3GPP TS 38.473 V16.2.0 (2020-07) -- 9.4.6 Common Definitions -- ************************************************************** -- diff --git a/epan/dissectors/asn1/f1ap/F1AP-Constants.asn b/epan/dissectors/asn1/f1ap/F1AP-Constants.asn index 31cd498129..23119da22c 100644 --- a/epan/dissectors/asn1/f1ap/F1AP-Constants.asn +++ b/epan/dissectors/asn1/f1ap/F1AP-Constants.asn @@ -1,4 +1,4 @@ --- 3GPP TS 38.473 V15.8.0 (2019-12) +-- 3GPP TS 38.473 V16.2.0 (2020-07) -- 9.4.7 Constant Definitions -- ************************************************************** -- @@ -61,6 +61,19 @@ id-GNBDUStatusIndication ProcedureCode ::= 24 id-RRCDeliveryReport ProcedureCode ::= 25 id-F1Removal ProcedureCode ::= 26 id-NetworkAccessRateReduction ProcedureCode ::= 27 +id-TraceStart ProcedureCode ::= 28 +id-DeactivateTrace ProcedureCode ::= 29 +id-DUCURadioInformationTransfer ProcedureCode ::= 30 +id-CUDURadioInformationTransfer ProcedureCode ::= 31 +id-BAPMappingConfiguration ProcedureCode ::= 32 +id-GNBDUResourceConfiguration ProcedureCode ::= 33 +id-IABTNLAddressAllocation ProcedureCode ::= 34 +id-IABUPConfigurationUpdate ProcedureCode ::= 35 +id-resourceStatusReportingInitiation ProcedureCode ::= 36 +id-resourceStatusReporting ProcedureCode ::= 37 +id-accessAndMobilityIndication ProcedureCode ::= 38 +id-accessSuccess ProcedureCode ::= 39 +id-cellTrafficTrace ProcedureCode ::= 40 -- ************************************************************** @@ -100,10 +113,46 @@ maxnoofSliceItems INTEGER ::= 1024 maxCellineNB INTEGER ::= 256 maxnoofExtendedBPLMNs INTEGER ::= 6 maxnoofUEIDs INTEGER ::= 65536 -maxnoofBPLMNsNRminus1 INTEGER ::= 11 +maxnoofBPLMNsNR INTEGER ::= 12 maxnoofUACPLMNs INTEGER ::= 12 maxnoofUACperPLMN INTEGER ::= 64 maxnoofAdditionalSIBs INTEGER ::= 63 +maxnoofslots INTEGER ::= 320 +maxnoofTLAs INTEGER ::= 16 +maxnoofGTPTLAs INTEGER ::= 16 +maxnoofBHRLCChannels INTEGER ::= 65536 +maxnoofRoutingEntries INTEGER ::= 1024 +maxnoofIABSTCInfo INTEGER ::= 45 +maxnoofSymbols INTEGER ::= 14 +maxnoofServingCells INTEGER ::= 32 +maxnoofDUFSlots INTEGER ::= 320 +maxnoofHSNASlots INTEGER ::= 5120 +maxnoofServedCellsIAB INTEGER ::= 512 +maxnoofChildIABNodes INTEGER ::= 1024 +maxnoofNonUPTrafficMappings INTEGER ::= 32 +maxnoofTLAsIAB INTEGER ::= 1024 +maxnoofMappingEntries INTEGER ::= 67108864 +maxnoofDSInfo INTEGER ::= 64 +maxnoofEgressLinks INTEGER ::= 2 +maxnoofULUPTNLInformationforIAB INTEGER ::= 32678 +maxnoofUPTNLAddresses INTEGER ::= 8 +maxnoofSLDRBs INTEGER ::= 512 +maxnoofQoSParaSets INTEGER ::= 8 +maxnoofPC5QoSFlows INTEGER ::= 2048 +maxnoofSSBAreas INTEGER ::= 64 +maxnoofPhysicalResourceBlocks INTEGER ::= 275 +maxnoofPhysicalResourceBlocks-1 INTEGER ::= 274 +maxnoofPRACHconfigs INTEGER ::= 16 +maxnoofRACHReports INTEGER ::= 64 +maxnoofRLFReports INTEGER ::= 64 +maxnoofAdditionalPDCPDuplicationTNL INTEGER ::= 2 +maxnoofRLCDuplicationState INTEGER ::= 3 +maxnoofCHOcells INTEGER ::= 16 +maxnoofMDTPLMNs INTEGER ::= 16 +maxnoofCAGsupported INTEGER ::= 12 +maxnoofNIDsupported INTEGER ::= 12 +maxnoofNRSCSs INTEGER ::= 5 +maxnoofExtSliceItems INTEGER ::= 65535 -- ************************************************************** -- @@ -358,6 +407,156 @@ id-MeasGapSharingConfig ProtocolIE-ID ::= 238 id-systemInformationAreaID ProtocolIE-ID ::= 239 id-areaScope ProtocolIE-ID ::= 240 id-RRCContainer-RRCSetupComplete ProtocolIE-ID ::= 241 - +id-TraceActivation ProtocolIE-ID ::= 242 +id-TraceID ProtocolIE-ID ::= 243 +id-Neighbour-Cell-Information-List ProtocolIE-ID ::= 244 +-- WS extension +id-Unknown-245 ProtocolIE-ID ::= 245 +id-SymbolAllocInSlot ProtocolIE-ID ::= 246 +id-NumDLULSymbols ProtocolIE-ID ::= 247 +id-AdditionalRRMPriorityIndex ProtocolIE-ID ::= 248 +id-DUCURadioInformationType ProtocolIE-ID ::= 249 +id-CUDURadioInformationType ProtocolIE-ID ::= 250 +id-AggressorgNBSetID ProtocolIE-ID ::= 251 +id-VictimgNBSetID ProtocolIE-ID ::= 252 +id-LowerLayerPresenceStatusChange ProtocolIE-ID ::= 253 +id-Transport-Layer-Address-Info ProtocolIE-ID ::= 254 +id-Neighbour-Cell-Information-Item ProtocolIE-ID ::= 255 +id-IntendedTDD-DL-ULConfig ProtocolIE-ID ::= 256 +id-QosMonitoringRequest ProtocolIE-ID ::= 257 +id-BHChannels-ToBeSetup-List ProtocolIE-ID ::= 258 +id-BHChannels-ToBeSetup-Item ProtocolIE-ID ::= 259 +id-BHChannels-Setup-List ProtocolIE-ID ::= 260 +id-BHChannels-Setup-Item ProtocolIE-ID ::= 261 +id-BHChannels-ToBeModified-Item ProtocolIE-ID ::= 262 +id-BHChannels-ToBeModified-List ProtocolIE-ID ::= 263 +id-BHChannels-ToBeReleased-Item ProtocolIE-ID ::= 264 +id-BHChannels-ToBeReleased-List ProtocolIE-ID ::= 265 +id-BHChannels-ToBeSetupMod-Item ProtocolIE-ID ::= 266 +id-BHChannels-ToBeSetupMod-List ProtocolIE-ID ::= 267 +id-BHChannels-FailedToBeModified-Item ProtocolIE-ID ::= 268 +id-BHChannels-FailedToBeModified-List ProtocolIE-ID ::= 269 +id-BHChannels-FailedToBeSetupMod-Item ProtocolIE-ID ::= 270 +id-BHChannels-FailedToBeSetupMod-List ProtocolIE-ID ::= 271 +id-BHChannels-Modified-Item ProtocolIE-ID ::= 272 +id-BHChannels-Modified-List ProtocolIE-ID ::= 273 +id-BHChannels-SetupMod-Item ProtocolIE-ID ::= 274 +id-BHChannels-SetupMod-List ProtocolIE-ID ::= 275 +id-BHChannels-Required-ToBeReleased-Item ProtocolIE-ID ::= 276 +id-BHChannels-Required-ToBeReleased-List ProtocolIE-ID ::= 277 +id-BHChannels-FailedToBeSetup-Item ProtocolIE-ID ::= 278 +id-BHChannels-FailedToBeSetup-List ProtocolIE-ID ::= 279 +id-BHInfo ProtocolIE-ID ::= 280 +id-BAPAddress ProtocolIE-ID ::= 281 +id-ConfiguredBAPAddress ProtocolIE-ID ::= 282 +id-BH-Routing-Information-Added-List ProtocolIE-ID ::= 283 +id-BH-Routing-Information-Added-List-Item ProtocolIE-ID ::= 284 +id-BH-Routing-Information-Removed-List ProtocolIE-ID ::= 285 +id-BH-Routing-Information-Removed-List-Item ProtocolIE-ID ::= 286 +id-UL-BH-Non-UP-Traffic-Mapping ProtocolIE-ID ::= 287 +id-Activated-Cells-to-be-Updated-List ProtocolIE-ID ::= 288 +id-Child-Nodes-List ProtocolIE-ID ::= 289 +id-IAB-Info-IAB-DU ProtocolIE-ID ::= 290 +id-IAB-Info-IAB-donor-CU ProtocolIE-ID ::= 291 +id-IAB-TNL-Addresses-To-Remove-List ProtocolIE-ID ::= 292 +id-IAB-TNL-Addresses-To-Remove-Item ProtocolIE-ID ::= 293 +id-IAB-Allocated-TNL-Address-List ProtocolIE-ID ::= 294 +id-IAB-Allocated-TNL-Address-Item ProtocolIE-ID ::= 295 +id-IABIPv6RequestType ProtocolIE-ID ::= 296 +id-IABv4AddressesRequested ProtocolIE-ID ::= 297 +id-IAB-Barred ProtocolIE-ID ::= 298 +id-TrafficMappingInformation ProtocolIE-ID ::= 299 +id-UL-UP-TNL-Information-to-Update-List ProtocolIE-ID ::= 300 +id-UL-UP-TNL-Information-to-Update-List-Item ProtocolIE-ID ::= 301 +id-UL-UP-TNL-Address-to-Update-List ProtocolIE-ID ::= 302 +id-UL-UP-TNL-Address-to-Update-List-Item ProtocolIE-ID ::= 303 +id-DL-UP-TNL-Address-to-Update-List ProtocolIE-ID ::= 304 +id-DL-UP-TNL-Address-to-Update-List-Item ProtocolIE-ID ::= 305 +id-NRV2XServicesAuthorized ProtocolIE-ID ::= 306 +id-LTEV2XServicesAuthorized ProtocolIE-ID ::= 307 +id-NRUESidelinkAggregateMaximumBitrate ProtocolIE-ID ::= 308 +id-LTEUESidelinkAggregateMaximumBitrate ProtocolIE-ID ::= 309 +id-SIB12-message ProtocolIE-ID ::= 310 +id-SIB13-message ProtocolIE-ID ::= 311 +id-SIB14-message ProtocolIE-ID ::= 312 +id-SLDRBs-FailedToBeModified-Item ProtocolIE-ID ::= 313 +id-SLDRBs-FailedToBeModified-List ProtocolIE-ID ::= 314 +id-SLDRBs-FailedToBeSetup-Item ProtocolIE-ID ::= 315 +id-SLDRBs-FailedToBeSetup-List ProtocolIE-ID ::= 316 +id-SLDRBs-Modified-Item ProtocolIE-ID ::= 317 +id-SLDRBs-Modified-List ProtocolIE-ID ::= 318 +id-SLDRBs-Required-ToBeModified-Item ProtocolIE-ID ::= 319 +id-SLDRBs-Required-ToBeModified-List ProtocolIE-ID ::= 320 +id-SLDRBs-Required-ToBeReleased-Item ProtocolIE-ID ::= 321 +id-SLDRBs-Required-ToBeReleased-List ProtocolIE-ID ::= 322 +id-SLDRBs-Setup-Item ProtocolIE-ID ::= 323 +id-SLDRBs-Setup-List ProtocolIE-ID ::= 324 +id-SLDRBs-ToBeModified-Item ProtocolIE-ID ::= 325 +id-SLDRBs-ToBeModified-List ProtocolIE-ID ::= 326 +id-SLDRBs-ToBeReleased-Item ProtocolIE-ID ::= 327 +id-SLDRBs-ToBeReleased-List ProtocolIE-ID ::= 328 +id-SLDRBs-ToBeSetup-Item ProtocolIE-ID ::= 329 +id-SLDRBs-ToBeSetup-List ProtocolIE-ID ::= 330 +id-SLDRBs-ToBeSetupMod-Item ProtocolIE-ID ::= 331 +id-SLDRBs-ToBeSetupMod-List ProtocolIE-ID ::= 332 +id-SLDRBs-SetupMod-List ProtocolIE-ID ::= 333 +id-SLDRBs-FailedToBeSetupMod-List ProtocolIE-ID ::= 334 +id-SLDRBs-SetupMod-Item ProtocolIE-ID ::= 335 +id-SLDRBs-FailedToBeSetupMod-Item ProtocolIE-ID ::= 336 +id-SLDRBs-ModifiedConf-List ProtocolIE-ID ::= 337 +id-SLDRBs-ModifiedConf-Item ProtocolIE-ID ::= 338 +id-UEAssistanceInformationEUTRA ProtocolIE-ID ::= 339 +id-PC5LinkAMBR ProtocolIE-ID ::= 340 +id-SL-PHY-MAC-RLC-Config ProtocolIE-ID ::= 341 +id-SL-ConfigDedicatedEUTRA ProtocolIE-ID ::= 342 +id-AlternativeQoSParaSetList ProtocolIE-ID ::= 343 +id-CurrentQoSParaSetIndex ProtocolIE-ID ::= 344 +id-gNBCUMeasurementID ProtocolIE-ID ::= 345 +id-gNBDUMeasurementID ProtocolIE-ID ::= 346 +id-RegistrationRequest ProtocolIE-ID ::= 347 +id-ReportCharacteristics ProtocolIE-ID ::= 348 +id-CellToReportList ProtocolIE-ID ::= 349 +id-CellMeasurementResultList ProtocolIE-ID ::= 350 +id-HardwareLoadIndicator ProtocolIE-ID ::= 351 +id-ReportingPeriodicity ProtocolIE-ID ::= 352 +id-TNLCapacityIndicator ProtocolIE-ID ::= 353 +id-CarrierList ProtocolIE-ID ::= 354 +id-ULCarrierList ProtocolIE-ID ::= 355 +id-FrequencyShift7p5khz ProtocolIE-ID ::= 356 +id-SSB-PositionsInBurst ProtocolIE-ID ::= 357 +id-NRPRACHConfig ProtocolIE-ID ::= 358 +id-RACHReportInformationList ProtocolIE-ID ::= 359 +id-RLFReportInformationList ProtocolIE-ID ::= 360 +id-TDD-UL-DLConfigCommonNR ProtocolIE-ID ::= 361 +id-CNPacketDelayBudgetDownlink ProtocolIE-ID ::= 362 +id-ExtendedPacketDelayBudget ProtocolIE-ID ::= 363 +id-TSCTrafficCharacteristics ProtocolIE-ID ::= 364 +id-ReportingRequestType ProtocolIE-ID ::= 365 +id-TimeReferenceInformation ProtocolIE-ID ::= 366 +id-ReferenceTimeInformationReport ProtocolIE-ID ::= 367 +id-ReferenceTimeInformationReportingControl ProtocolIE-ID ::= 368 +id-CNPacketDelayBudgetUplink ProtocolIE-ID ::= 369 +id-AdditionalPDCPDuplicationTNL-List ProtocolIE-ID ::= 370 +id-RLCDuplicationInformation ProtocolIE-ID ::= 371 +id-AdditionalDuplicationIndication ProtocolIE-ID ::= 372 +id-ConditionalInterDUMobilityInformation ProtocolIE-ID ::= 373 +id-ConditionalIntraDUMobilityInformation ProtocolIE-ID ::= 374 +id-targetCellsToCancel ProtocolIE-ID ::= 375 +id-requestedTargetCellGlobalID ProtocolIE-ID ::= 376 +id-ManagementBasedMDTPLMNList ProtocolIE-ID ::= 377 +id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 378 +id-PrivacyIndicator ProtocolIE-ID ::= 379 +id-TraceCollectionEntityURI ProtocolIE-ID ::= 380 +id-mdtConfiguration ProtocolIE-ID ::= 381 +id-ServingNID ProtocolIE-ID ::= 382 +id-NPNBroadcastInformation ProtocolIE-ID ::= 383 +id-NPNSupportInfo ProtocolIE-ID ::= 384 +id-NID ProtocolIE-ID ::= 385 +id-AvailableSNPN-ID-List ProtocolIE-ID ::= 386 +id-SIB10-message ProtocolIE-ID ::= 387 +-- WS extension +id-Unknown-388 ProtocolIE-ID ::= 388 +id-DLCarrierList ProtocolIE-ID ::= 389 + id-ExtendedTAISliceSupportList ProtocolIE-ID ::= 390 END diff --git a/epan/dissectors/asn1/f1ap/F1AP-Containers.asn b/epan/dissectors/asn1/f1ap/F1AP-Containers.asn index 28ce53f3ac..f0a8d39645 100644 --- a/epan/dissectors/asn1/f1ap/F1AP-Containers.asn +++ b/epan/dissectors/asn1/f1ap/F1AP-Containers.asn @@ -1,4 +1,4 @@ --- 3GPP TS 38.473 V15.8.0 (2019-12) +-- 3GPP TS 38.473 V16.2.0 (2020-07) -- 9.4.8 Container Definitions -- ************************************************************** -- diff --git a/epan/dissectors/asn1/f1ap/F1AP-IEs.asn b/epan/dissectors/asn1/f1ap/F1AP-IEs.asn index 94e59a389f..aa7951a818 100644 --- a/epan/dissectors/asn1/f1ap/F1AP-IEs.asn +++ b/epan/dissectors/asn1/f1ap/F1AP-IEs.asn @@ -1,4 +1,4 @@ --- 3GPP TS 38.473 V15.8.0 (2019-12) +-- 3GPP TS 38.473 V16.2.0 (2020-07) -- 9.4.5 Information Element Definitions -- ************************************************************** -- @@ -46,7 +46,6 @@ IMPORTS id-latest-RRC-Version-Enhanced, id-RequestedBandCombinationIndex, id-RequestedFeatureSetEntryIndex, - id-RequestedP-MaxFR2, id-DRX-Config, id-UEAssistanceInformation, id-PDCCH-BlindDetectionSCG, @@ -59,13 +58,52 @@ IMPORTS id-IgnorePRACHConfiguration, id-CG-Config, id-Ph-InfoMCG, + id-AggressorgNBSetID, + id-VictimgNBSetID, id-MeasGapSharingConfig, id-systemInformationAreaID, id-areaScope, + id-IntendedTDD-DL-ULConfig, + id-QosMonitoringRequest, + id-BHInfo, + id-IAB-Info-IAB-DU, + id-IAB-Info-IAB-donor-CU, + id-IAB-Barred, + id-SIB12-message, + id-SIB13-message, + id-SIB14-message, + id-UEAssistanceInformationEUTRA, + id-SL-PHY-MAC-RLC-Config, + id-SL-ConfigDedicatedEUTRA, + id-AlternativeQoSParaSetList, + id-CurrentQoSParaSetIndex, + id-CarrierList, + id-ULCarrierList, + id-FrequencyShift7p5khz, + id-SSB-PositionsInBurst, + id-NRPRACHConfig, + id-TDD-UL-DLConfigCommonNR, + id-CNPacketDelayBudgetDownlink, + id-CNPacketDelayBudgetUplink, + id-ExtendedPacketDelayBudget, + id-TSCTrafficCharacteristics, + id-AdditionalPDCPDuplicationTNL-List, + id-RLCDuplicationInformation, + id-AdditionalDuplicationIndication, + id-mdtConfiguration, + id-TraceCollectionEntityURI, + id-NID, + id-NPNSupportInfo, + id-NPNBroadcastInformation, + id-AvailableSNPN-ID-List, + id-SIB10-message, + id-RequestedP-MaxFR2, + id-DLCarrierList, + id-ExtendedTAISliceSupportList, maxNRARFCN, maxnoofErrors, maxnoofBPLMNs, - maxnoofBPLMNsNRminus1, + maxnoofBPLMNsNR, maxnoofDLUPTNLInformation, maxnoofNrCellBands, maxnoofULUPTNLInformation, @@ -77,7 +115,41 @@ IMPORTS maxnoofExtendedBPLMNs, maxnoofAdditionalSIBs, maxnoofUACPLMNs, - maxnoofUACperPLMN + maxnoofUACperPLMN, + maxCellingNBDU, + maxnoofTLAs, + maxnoofGTPTLAs, + maxnoofslots, + maxnoofNonUPTrafficMappings, + maxnoofServingCells, + maxnoofServedCellsIAB, + maxnoofChildIABNodes, + maxnoofIABSTCInfo, + maxnoofSymbols, + maxnoofDUFSlots, + maxnoofHSNASlots, + maxnoofEgressLinks, + maxnoofMappingEntries, + maxnoofDSInfo, + maxnoofQoSParaSets, + maxnoofPC5QoSFlows, + maxnoofSSBAreas, + maxnoofBPLMNsNR, + maxnoofNRSCSs, + maxnoofPhysicalResourceBlocks, + maxnoofPhysicalResourceBlocks-1, + maxnoofPRACHconfigs, + maxnoofRACHReports, + maxnoofRLFReports, + maxnoofAdditionalPDCPDuplicationTNL, + maxnoofRLCDuplicationState, + maxnoofCHOcells, + maxnoofMDTPLMNs, + maxnoofCAGsupported, + maxnoofNIDsupported, + maxnoofNRSCSs, + maxnoofPhysicalResourceBlocks, + maxnoofExtSliceItems FROM F1AP-Constants @@ -98,6 +170,37 @@ FROM F1AP-Containers; -- A +Activated-Cells-to-be-Updated-List ::= SEQUENCE (SIZE(1..maxnoofServedCellsIAB)) OF Activated-Cells-to-be-Updated-List-Item + +Activated-Cells-to-be-Updated-List-Item ::= SEQUENCE{ + nRCGI NRCGI, + iAB-DU-Cell-Resource-Configuration-Mode-Info IAB-DU-Cell-Resource-Configuration-Mode-Info, + iE-Extensions ProtocolExtensionContainer { { Activated-Cells-to-be-Updated-List-Item-ExtIEs} } OPTIONAL +} + +Activated-Cells-to-be-Updated-List-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +AdditionalDuplicationIndication ::= ENUMERATED { + three, + four, + ... +} + + +AdditionalPDCPDuplicationTNL-List ::= SEQUENCE (SIZE(1..maxnoofAdditionalPDCPDuplicationTNL)) OF AdditionalPDCPDuplicationTNL-Item + +AdditionalPDCPDuplicationTNL-Item ::=SEQUENCE { + additionalPDCPDuplicationUPTNLInformation UPTransportLayerInformation, + iE-Extensions ProtocolExtensionContainer { { AdditionalPDCPDuplicationTNL-ItemExtIEs } } OPTIONAL, + ... +} + +AdditionalPDCPDuplicationTNL-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + AdditionalSIBMessageList ::= SEQUENCE (SIZE(1..maxnoofAdditionalSIBs)) OF AdditionalSIBMessageList-Item AdditionalSIBMessageList-Item ::= SEQUENCE { @@ -109,6 +212,28 @@ AdditionalSIBMessageList-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } +AdditionalRRMPriorityIndex ::= BIT STRING (SIZE(32)) + +AggressorCellList ::= SEQUENCE (SIZE(1..maxCellingNBDU)) OF AggressorCellList-Item + +AggressorCellList-Item ::= SEQUENCE { + aggressorCell-ID NRCGI, + iE-Extensions ProtocolExtensionContainer { { AggressorCellList-Item-ExtIEs } } OPTIONAL +} + +AggressorCellList-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +AggressorgNBSetID ::= SEQUENCE { + aggressorgNBSetID GNBSetID, + iE-Extensions ProtocolExtensionContainer { { AggressorgNBSetID-ExtIEs } } OPTIONAL +} + +AggressorgNBSetID-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + AllocationAndRetentionPriority ::= SEQUENCE { priorityLevel PriorityLevel, pre-emptionCapability Pre-emptionCapability, @@ -121,6 +246,22 @@ AllocationAndRetentionPriority-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } +AlternativeQoSParaSetList ::= SEQUENCE (SIZE(1..maxnoofQoSParaSets)) OF AlternativeQoSParaSetItem + +AlternativeQoSParaSetItem ::= SEQUENCE { + alternativeQoSParaSetIndex QoSParaSetIndex, + guaranteedFlowBitRateDL BitRate OPTIONAL, + guaranteedFlowBitRateUL BitRate OPTIONAL, + packetDelayBudget PacketDelayBudget OPTIONAL, + packetErrorRate PacketErrorRate OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {AlternativeQoSParaSetItem-ExtIEs} } OPTIONAL, + ... +} + +AlternativeQoSParaSetItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + Associated-SCell-Item ::= SEQUENCE { sCell-ID NRCGI, iE-Extensions ProtocolExtensionContainer { { Associated-SCell-ItemExtIEs } } OPTIONAL @@ -141,17 +282,229 @@ AvailablePLMNList-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } +AvailableSNPN-ID-List ::= SEQUENCE (SIZE(1..maxnoofNIDsupported)) OF AvailableSNPN-ID-List-Item + +AvailableSNPN-ID-List-Item ::= SEQUENCE { + pLMN-Identity PLMN-Identity, + availableNIDList BroadcastNIDList, + iE-Extensions ProtocolExtensionContainer { { AvailableSNPN-ID-List-ItemExtIEs} } OPTIONAL, + ... +} + +AvailableSNPN-ID-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + AveragingWindow ::= INTEGER (0..4095, ...) AreaScope ::= ENUMERATED {true, ...} -- B +BAPAddress ::= BIT STRING (SIZE(10)) + +BAPCtrlPDUChannel ::= ENUMERATED {true, ...} + +BAPlayerBHRLCchannelMappingInfo ::= SEQUENCE { + bAPlayerBHRLCchannelMappingInfoToAdd BAPlayerBHRLCchannelMappingInfoList OPTIONAL, + bAPlayerBHRLCchannelMappingInfoToRemove MappingInformationtoRemove OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { BAPlayerBHRLCchannelMappingInfo-ExtIEs} } OPTIONAL, + ... +} + +BAPlayerBHRLCchannelMappingInfo-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +BAPlayerBHRLCchannelMappingInfoList ::= SEQUENCE (SIZE(1..maxnoofMappingEntries)) OF BAPlayerBHRLCchannelMappingInfo-Item + +BAPlayerBHRLCchannelMappingInfo-Item ::= SEQUENCE { + mappingInformationIndex MappingInformationIndex, + priorHopBAPAddress BAPAddress OPTIONAL, + ingressbHRLCChannelID BHRLCChannelID OPTIONAL, + nextHopBAPAddress BAPAddress OPTIONAL, + egressbHRLCChannelID BHRLCChannelID OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { BAPlayerBHRLCchannelMappingInfo-ItemExtIEs} } OPTIONAL, + ... +} + +BAPlayerBHRLCchannelMappingInfo-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +BAPPathID ::= BIT STRING (SIZE(10)) + +BAPRoutingID ::= SEQUENCE { + bAPAddress BAPAddress, + bAPPathID BAPPathID, + iE-Extensions ProtocolExtensionContainer { { BAPRoutingIDExtIEs } } OPTIONAL +} + +BAPRoutingIDExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + BitRate ::= INTEGER (0..4000000000000,...) BearerTypeChange ::= ENUMERATED {true, ...} -BPLMN-ID-Info-List ::= SEQUENCE (SIZE(1..maxnoofBPLMNsNRminus1)) OF BPLMN-ID-Info-Item +BHRLCChannelID ::= BIT STRING (SIZE(16)) + +BHChannels-FailedToBeModified-Item ::= SEQUENCE { + bHRLCChannelID BHRLCChannelID, + cause Cause OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { BHChannels-FailedToBeModified-ItemExtIEs } } OPTIONAL +} + +BHChannels-FailedToBeModified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +BHChannels-FailedToBeSetup-Item ::= SEQUENCE { + bHRLCChannelID BHRLCChannelID, + cause Cause OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { BHChannels-FailedToBeSetup-ItemExtIEs } } OPTIONAL +} + +BHChannels-FailedToBeSetup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +BHChannels-FailedToBeSetupMod-Item ::= SEQUENCE { + bHRLCChannelID BHRLCChannelID, + cause Cause OPTIONAL , + iE-Extensions ProtocolExtensionContainer { { BHChannels-FailedToBeSetupMod-ItemExtIEs } } OPTIONAL +} + +BHChannels-FailedToBeSetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +BHChannels-Modified-Item ::= SEQUENCE { + bHRLCChannelID BHRLCChannelID, + iE-Extensions ProtocolExtensionContainer { { BHChannels-Modified-ItemExtIEs } } OPTIONAL +} + +BHChannels-Modified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +BHChannels-Required-ToBeReleased-Item ::= SEQUENCE { + bHRLCChannelID BHRLCChannelID, + iE-Extensions ProtocolExtensionContainer { { BHChannels-Required-ToBeReleased-ItemExtIEs } } OPTIONAL +} + +BHChannels-Required-ToBeReleased-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +BHChannels-Setup-Item ::= SEQUENCE { + bHRLCChannelID BHRLCChannelID, + iE-Extensions ProtocolExtensionContainer { { BHChannels-Setup-ItemExtIEs } } OPTIONAL +} + +BHChannels-Setup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +BHChannels-SetupMod-Item ::= SEQUENCE { + bHRLCChannelID BHRLCChannelID, + iE-Extensions ProtocolExtensionContainer { { BHChannels-SetupMod-ItemExtIEs } } OPTIONAL +} + +BHChannels-SetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +BHChannels-ToBeModified-Item ::= SEQUENCE { + bHRLCChannelID BHRLCChannelID, + bHQoSInformation BHQoSInformation, + rLCmode RLCMode OPTIONAL, + bAPCtrlPDUChannel BAPCtrlPDUChannel OPTIONAL, + trafficMappingInfo TrafficMappingInfo OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { BHChannels-ToBeModified-ItemExtIEs } } OPTIONAL +} + +BHChannels-ToBeModified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +BHChannels-ToBeReleased-Item ::= SEQUENCE { + bHRLCChannelID BHRLCChannelID, + iE-Extensions ProtocolExtensionContainer { { BHChannels-ToBeReleased-ItemExtIEs } } OPTIONAL +} + +BHChannels-ToBeReleased-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +BHChannels-ToBeSetup-Item ::= SEQUENCE { + bHRLCChannelID BHRLCChannelID, + bHQoSInformation BHQoSInformation, + rLCmode RLCMode, + bAPCtrlPDUChannel BAPCtrlPDUChannel OPTIONAL, + trafficMappingInfo TrafficMappingInfo OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { BHChannels-ToBeSetup-ItemExtIEs } } OPTIONAL +} + +BHChannels-ToBeSetup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +BHChannels-ToBeSetupMod-Item ::= SEQUENCE { + bHRLCChannelID BHRLCChannelID, + bHQoSInformation BHQoSInformation, + rLCmode RLCMode, + bAPCtrlPDUChannel BAPCtrlPDUChannel OPTIONAL, + trafficMappingInfo TrafficMappingInfo OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { BHChannels-ToBeSetupMod-ItemExtIEs } } OPTIONAL +} + +BHChannels-ToBeSetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +BHInfo ::= SEQUENCE { + bAProutingID BAPRoutingID OPTIONAL, + egressBHRLCCHList EgressBHRLCCHList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { BHInfo-ExtIEs} } OPTIONAL +} + +BHInfo-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +BHQoSInformation ::= CHOICE { + bHRLCCHQoS QoSFlowLevelQoSParameters, + eUTRANBHRLCCHQoS EUTRANQoS, + cPTrafficType CPTrafficType, + choice-extension ProtocolIE-SingleContainer { { BHQoSInformation-ExtIEs} } +} + +BHQoSInformation-ExtIEs F1AP-PROTOCOL-IES ::= { + ... +} + +BH-Routing-Information-Added-List-Item ::= SEQUENCE { + bAPRoutingID BAPRoutingID, + nextHopBAPAddress BAPAddress, + iE-Extensions ProtocolExtensionContainer { { BH-Routing-Information-Added-List-ItemExtIEs} } OPTIONAL +} + +BH-Routing-Information-Added-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +BH-Routing-Information-Removed-List-Item ::= SEQUENCE { + bAPRoutingID BAPRoutingID, + iE-Extensions ProtocolExtensionContainer { { BH-Routing-Information-Removed-List-ItemExtIEs} } OPTIONAL +} + +BH-Routing-Information-Removed-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +BPLMN-ID-Info-List ::= SEQUENCE (SIZE(1..maxnoofBPLMNsNR)) OF BPLMN-ID-Info-Item BPLMN-ID-Info-Item ::= SEQUENCE { pLMN-Identity-List AvailablePLMNList, @@ -164,6 +517,7 @@ BPLMN-ID-Info-Item ::= SEQUENCE { } BPLMN-ID-Info-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + { ID id-NPNBroadcastInformation CRITICALITY reject EXTENSION NPNBroadcastInformation PRESENCE optional}, ... } @@ -176,12 +530,45 @@ ServedPLMNs-Item ::= SEQUENCE { } ServedPLMNs-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { -{ ID id-TAISliceSupportList CRITICALITY ignore EXTENSION SliceSupportList PRESENCE optional }, +{ ID id-TAISliceSupportList CRITICALITY ignore EXTENSION SliceSupportList PRESENCE optional }| +{ ID id-NPNSupportInfo CRITICALITY reject EXTENSION NPNSupportInfo PRESENCE optional }| +{ ID id-ExtendedTAISliceSupportList CRITICALITY reject EXTENSION ExtendedSliceSupportList PRESENCE optional }, + ... +} + +BroadcastCAGList ::= SEQUENCE (SIZE(1..maxnoofCAGsupported)) OF CAGID + +BroadcastNIDList ::= SEQUENCE (SIZE(1..maxnoofNIDsupported)) OF NID + +BroadcastSNPN-ID-List ::= SEQUENCE (SIZE(1..maxnoofNIDsupported)) OF BroadcastSNPN-ID-List-Item + +BroadcastSNPN-ID-List-Item ::= SEQUENCE { + pLMN-Identity PLMN-Identity, + broadcastNIDList BroadcastNIDList, + iE-Extensions ProtocolExtensionContainer { { BroadcastSNPN-ID-List-ItemExtIEs} } OPTIONAL, + ... +} + +BroadcastSNPN-ID-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +BroadcastPNI-NPN-ID-List ::= SEQUENCE (SIZE(1..maxnoofCAGsupported)) OF BroadcastPNI-NPN-ID-List-Item + +BroadcastPNI-NPN-ID-List-Item ::= SEQUENCE { + pLMN-Identity PLMN-Identity, + broadcastCAGList BroadcastCAGList, + iE-Extensions ProtocolExtensionContainer { { BroadcastPNI-NPN-ID-List-ItemExtIEs} } OPTIONAL, ... } +BroadcastPNI-NPN-ID-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} +BurstArrivalTime ::= OCTET STRING -- C +CAGID ::= BIT STRING (SIZE(32)) Cancel-all-Warning-Messages-Indicator ::= ENUMERATED {true, ...} @@ -195,6 +582,16 @@ Candidate-SpCell-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } +CapacityValue::= SEQUENCE { + capacityValue INTEGER (0..100), + sSBAreaCapacityValueList SSBAreaCapacityValueList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { CapacityValue-ExtIEs} } OPTIONAL +} + +CapacityValue-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + Cause ::= CHOICE { radioNetwork CauseRadioNetwork, transport CauseTransport, @@ -248,19 +645,43 @@ CauseRadioNetwork ::= ENUMERATED { release-due-to-pre-emption, plmn-not-served-by-the-gNB-CU, multiple-drb-id-instances, - unknown-drb-id + unknown-drb-id, + multiple-bh-rlc-ch-id-instances, + unknown-bh-rlc-ch-id, + cho-cpc-resources-tobechanged, + nPN-not-supported, + nPN-access-denied } CauseTransport ::= ENUMERATED { unspecified, transport-resource-unavailable, - ... + ..., + unknown-TNL-address-for-IAB, + unknown-UP-TNL-information-for-IAB } CellGroupConfig ::= OCTET STRING +CellCapacityClassValue ::= INTEGER (1..100,...) + Cell-Direction ::= ENUMERATED {dl-only, ul-only} +CellMeasurementResultList ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF CellMeasurementResultItem + +CellMeasurementResultItem ::= SEQUENCE { + cellID NRCGI, + radioResourceStatus RadioResourceStatus OPTIONAL, + compositeAvailableCapacityGroup CompositeAvailableCapacityGroup OPTIONAL, + sliceAvailableCapacity SliceAvailableCapacity OPTIONAL, + numberofActiveUEs NumberofActiveUEs OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { CellMeasurementResultItem-ExtIEs} } OPTIONAL +} + +CellMeasurementResultItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + Cells-Failed-to-be-Activated-List-Item ::= SEQUENCE { nRCGI NRCGI, cause Cause, @@ -335,7 +756,9 @@ Cells-to-be-Activated-List-Item ::= SEQUENCE { Cells-to-be-Activated-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { { ID id-gNB-CUSystemInformation CRITICALITY reject EXTENSION GNB-CUSystemInformation PRESENCE optional }| { ID id-AvailablePLMNList CRITICALITY ignore EXTENSION AvailablePLMNList PRESENCE optional }| - { ID id-ExtendedAvailablePLMN-List CRITICALITY ignore EXTENSION ExtendedAvailablePLMN-List PRESENCE optional }, + { ID id-ExtendedAvailablePLMN-List CRITICALITY ignore EXTENSION ExtendedAvailablePLMN-List PRESENCE optional }| + { ID id-IAB-Info-IAB-donor-CU CRITICALITY ignore EXTENSION IAB-Info-IAB-donor-CU PRESENCE optional}| + { ID id-AvailableSNPN-ID-List CRITICALITY ignore EXTENSION AvailableSNPN-ID-List PRESENCE optional }, ... } @@ -356,13 +779,29 @@ Cells-to-be-Barred-Item::= SEQUENCE { } Cells-to-be-Barred-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + { ID id-IAB-Barred CRITICALITY ignore EXTENSION IAB-Barred PRESENCE optional }, + ... } + CellBarred ::= ENUMERATED {barred, not-barred, ...} CellSize ::= ENUMERATED {verysmall, small, medium, large, ...} +CellToReportList ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF CellToReportItem + +CellToReportItem ::= SEQUENCE { + cellID NRCGI, + sSBToReportList SSBToReportList OPTIONAL, + sliceToReportList SliceToReportList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { CellToReportItem-ExtIEs} } OPTIONAL +} + +CellToReportItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + CellType ::= SEQUENCE { cellSize CellSize, iE-Extensions ProtocolExtensionContainer { {CellType-ExtIEs} } OPTIONAL, @@ -375,6 +814,52 @@ CellType-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { CellULConfigured ::= ENUMERATED {none, ul, sul, ul-and-sul, ...} +Child-Node-Cells-List ::= SEQUENCE (SIZE(1..maxnoofChildIABNodes)) OF Child-Node-Cells-List-Item + +Child-Node-Cells-List-Item ::= SEQUENCE{ + nRCGI NRCGI, + iAB-DU-Cell-Resource-Configuration-Mode-Info IAB-DU-Cell-Resource-Configuration-Mode-Info, + iAB-STC-Info IAB-STC-Info, + rACH-Config-Common RACH-Config-Common, + rACH-Config-Common-IAB RACH-Config-Common-IAB, + cSI-RS-Configuration OCTET STRING, + sR-Configuration OCTET STRING, + pDCCH-ConfigSIB1 OCTET STRING, + sCS-Common OCTET STRING, + multiplexingInfo MultiplexingInfo, + iE-Extensions ProtocolExtensionContainer {{Child-Node-Cells-List-Item-ExtIEs}} OPTIONAL +} + +Child-Node-Cells-List-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +Child-Nodes-List ::= SEQUENCE (SIZE(1..maxnoofChildIABNodes)) OF Child-Nodes-List-Item + +Child-Nodes-List-Item ::= SEQUENCE{ + gNB-CU-UE-F1AP-ID GNB-CU-UE-F1AP-ID, + gNB-DU-UE-F1AP-ID GNB-DU-UE-F1AP-ID, + child-Node-Cells-List Child-Node-Cells-List, + iE-Extensions ProtocolExtensionContainer {{Child-Nodes-List-Item-ExtIEs}} OPTIONAL +} + +Child-Nodes-List-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +CHOtrigger-InterDU ::= ENUMERATED { + cho-initiation, + cho-replace, + ... +} + +CHOtrigger-IntraDU ::= ENUMERATED { + cho-initiation, + cho-replace, + cho-cancel, + ... +} + CNUEPagingIdentity ::= CHOICE { fiveG-S-TMSI BIT STRING (SIZE(48)), choice-extension ProtocolIE-SingleContainer { { CNUEPagingIdentity-ExtIEs } } @@ -384,17 +869,62 @@ CNUEPagingIdentity-ExtIEs F1AP-PROTOCOL-IES ::= { ... } +CompositeAvailableCapacityGroup ::= SEQUENCE { + compositeAvailableCapacityDownlink CompositeAvailableCapacity, + compositeAvailableCapacityUplink CompositeAvailableCapacity, + iE-Extensions ProtocolExtensionContainer { { CompositeAvailableCapacityGroup-ExtIEs} } OPTIONAL +} + +CompositeAvailableCapacityGroup-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +CompositeAvailableCapacity ::= SEQUENCE { + cellCapacityClassValue CellCapacityClassValue OPTIONAL, + capacityValue CapacityValue, + iE-Extensions ProtocolExtensionContainer { { CompositeAvailableCapacity-ExtIEs} } OPTIONAL +} + +CompositeAvailableCapacity-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +ConditionalInterDUMobilityInformation ::= SEQUENCE { + cho-trigger CHOtrigger-InterDU, + targetgNB-DUUEF1APID GNB-DU-UE-F1AP-ID OPTIONAL + -- This IE shall be present if the cho-trigger IE is present and set to "cho-replace" --, + iE-Extensions ProtocolExtensionContainer { { ConditionalInterDUMobilityInformation-ExtIEs} } OPTIONAL, + ... +} + +ConditionalInterDUMobilityInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::={ + ... +} + +ConditionalIntraDUMobilityInformation ::= SEQUENCE { + cho-trigger CHOtrigger-IntraDU, + targetCellsTocancel TargetCellList OPTIONAL, + -- This IE may be present if the cho-trigger IE is present and set to "cho-cancel" + iE-Extensions ProtocolExtensionContainer { { ConditionalIntraDUMobilityInformation-ExtIEs} } OPTIONAL, + ... +} + +ConditionalIntraDUMobilityInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::={ + ... +} CP-TransportLayerAddress ::= CHOICE { endpoint-IP-address TransportLayerAddress, endpoint-IP-address-and-port Endpoint-IP-address-and-port, - choice-extension ProtocolIE-SingleContainer { { CP-TransportLayerAddress-ExtIEs } } + choice-extension ProtocolIE-SingleContainer { { CP-TransportLayerAddress-ExtIEs } } } CP-TransportLayerAddress-ExtIEs F1AP-PROTOCOL-IES ::= { ... } +CPTrafficType ::= INTEGER (1..3,...) + CriticalityDiagnostics ::= SEQUENCE { procedureCode ProcedureCode OPTIONAL, triggeringMessage TriggeringMessage OPTIONAL, @@ -425,6 +955,25 @@ CriticalityDiagnostics-IE-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { C-RNTI ::= INTEGER (0..65535, ...) +CUDURadioInformationType ::= CHOICE { + rIM CUDURIMInformation, + choice-extension ProtocolIE-SingleContainer { { CUDURadioInformationType-ExtIEs} } +} + +CUDURadioInformationType-ExtIEs F1AP-PROTOCOL-IES ::= { + ... +} + +CUDURIMInformation ::= SEQUENCE { + victimgNBSetID GNBSetID, + rIMRSDetectionStatus RIMRSDetectionStatus, + iE-Extensions ProtocolExtensionContainer { { CUDURIMInformation-ExtIEs} } OPTIONAL +} + +CUDURIMInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + CUtoDURRCInformation ::= SEQUENCE { cG-ConfigInfo CG-ConfigInfo OPTIONAL, uE-CapabilityRAT-ContainerList UE-CapabilityRAT-ContainerList OPTIONAL, @@ -438,7 +987,8 @@ CUtoDURRCInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { { ID id-CellGroupConfig CRITICALITY ignore EXTENSION CellGroupConfig PRESENCE optional }| { ID id-MeasurementTimingConfiguration CRITICALITY ignore EXTENSION MeasurementTimingConfiguration PRESENCE optional }| { ID id-UEAssistanceInformation CRITICALITY ignore EXTENSION UEAssistanceInformation PRESENCE optional }| - { ID id-CG-Config CRITICALITY ignore EXTENSION CG-Config PRESENCE optional }, + { ID id-CG-Config CRITICALITY ignore EXTENSION CG-Config PRESENCE optional }| + { ID id-UEAssistanceInformationEUTRA CRITICALITY ignore EXTENSION UEAssistanceInformationEUTRA PRESENCE optional }, ... } @@ -457,6 +1007,17 @@ DedicatedSIDeliveryNeededUE-Item-ExtIEs F1AP-PROTOCOL-EXTENSION::={ ... } +DL-UP-TNL-Address-to-Update-List-Item ::= SEQUENCE { + oldIPAdress TransportLayerAddress, + newIPAdress TransportLayerAddress, + iE-Extensions ProtocolExtensionContainer { { DL-UP-TNL-Address-to-Update-List-ItemExtIEs } } OPTIONAL, + ... +} + +DL-UP-TNL-Address-to-Update-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + DLUPTNLInformation-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofDLUPTNLInformation)) OF DLUPTNLInformation-ToBeSetup-Item DLUPTNLInformation-ToBeSetup-Item ::= SEQUENCE { @@ -539,7 +1100,8 @@ DRBs-Modified-Item ::= SEQUENCE { } DRBs-Modified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { - { ID id-RLC-Status CRITICALITY ignore EXTENSION RLC-Status PRESENCE optional }, + { ID id-RLC-Status CRITICALITY ignore EXTENSION RLC-Status PRESENCE optional }| + { ID id-AdditionalPDCPDuplicationTNL-List CRITICALITY ignore EXTENSION AdditionalPDCPDuplicationTNL-List PRESENCE optional }, ... } @@ -551,6 +1113,7 @@ DRBs-ModifiedConf-Item ::= SEQUENCE { } DRBs-ModifiedConf-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + { ID id-AdditionalPDCPDuplicationTNL-List CRITICALITY ignore EXTENSION AdditionalPDCPDuplicationTNL-List PRESENCE optional }, ... } @@ -562,6 +1125,7 @@ DRB-Notify-Item ::= SEQUENCE { } DRB-Notify-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + { ID id-CurrentQoSParaSetIndex CRITICALITY ignore EXTENSION QoSParaSetNotifyIndex PRESENCE optional }, ... } @@ -573,7 +1137,8 @@ DRBs-Required-ToBeModified-Item ::= SEQUENCE { } DRBs-Required-ToBeModified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { - { ID id-RLC-Status CRITICALITY ignore EXTENSION RLC-Status PRESENCE optional }, + { ID id-RLC-Status CRITICALITY ignore EXTENSION RLC-Status PRESENCE optional }| + { ID id-AdditionalPDCPDuplicationTNL-List CRITICALITY ignore EXTENSION AdditionalPDCPDuplicationTNL-List PRESENCE optional }, ... } @@ -596,7 +1161,8 @@ DRBs-Setup-Item ::= SEQUENCE { } DRBs-Setup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { - ... + { ID id-AdditionalPDCPDuplicationTNL-List CRITICALITY ignore EXTENSION AdditionalPDCPDuplicationTNL-List PRESENCE optional }| + { ID id-RLCDuplicationInformation CRITICALITY ignore EXTENSION RLCDuplicationInformation PRESENCE optional}, ... } DRBs-SetupMod-Item ::= SEQUENCE { @@ -608,6 +1174,7 @@ DRBs-SetupMod-Item ::= SEQUENCE { } DRBs-SetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + { ID id-AdditionalPDCPDuplicationTNL-List CRITICALITY ignore EXTENSION AdditionalPDCPDuplicationTNL-List PRESENCE optional }, ... } @@ -622,13 +1189,15 @@ DRBs-ToBeModified-Item ::= SEQUENCE { } DRBs-ToBeModified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { - { ID id-DLPDCPSNLength CRITICALITY ignore EXTENSION PDCPSNLength PRESENCE optional }| - { ID id-ULPDCPSNLength CRITICALITY ignore EXTENSION PDCPSNLength PRESENCE optional }| - {ID id-BearerTypeChange CRITICALITY ignore EXTENSION BearerTypeChange PRESENCE optional}| - { ID id-RLCMode CRITICALITY ignore EXTENSION RLCMode PRESENCE optional }| - { ID id-Duplication-Activation CRITICALITY reject EXTENSION DuplicationActivation PRESENCE optional }| - { ID id-DC-Based-Duplication-Configured CRITICALITY reject EXTENSION DCBasedDuplicationConfigured PRESENCE optional }| - { ID id-DC-Based-Duplication-Activation CRITICALITY reject EXTENSION DuplicationActivation PRESENCE optional }, + { ID id-DLPDCPSNLength CRITICALITY ignore EXTENSION PDCPSNLength PRESENCE optional }| + { ID id-ULPDCPSNLength CRITICALITY ignore EXTENSION PDCPSNLength PRESENCE optional }| + {ID id-BearerTypeChange CRITICALITY ignore EXTENSION BearerTypeChange PRESENCE optional}| + { ID id-RLCMode CRITICALITY ignore EXTENSION RLCMode PRESENCE optional }| + { ID id-Duplication-Activation CRITICALITY reject EXTENSION DuplicationActivation PRESENCE optional }| + { ID id-DC-Based-Duplication-Configured CRITICALITY reject EXTENSION DCBasedDuplicationConfigured PRESENCE optional }| + { ID id-DC-Based-Duplication-Activation CRITICALITY reject EXTENSION DuplicationActivation PRESENCE optional }| + { ID id-AdditionalPDCPDuplicationTNL-List CRITICALITY ignore EXTENSION AdditionalPDCPDuplicationTNL-List PRESENCE optional }| + { ID id-RLCDuplicationInformation CRITICALITY ignore EXTENSION RLCDuplicationInformation PRESENCE optional}, ... } @@ -654,10 +1223,11 @@ DRBs-ToBeSetup-Item ::= SEQUENCE { } DRBs-ToBeSetup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { - { ID id-DC-Based-Duplication-Configured CRITICALITY reject EXTENSION DCBasedDuplicationConfigured PRESENCE optional }| - { ID id-DC-Based-Duplication-Activation CRITICALITY reject EXTENSION DuplicationActivation PRESENCE optional }| - { ID id-DLPDCPSNLength CRITICALITY ignore EXTENSION PDCPSNLength PRESENCE mandatory }| - { ID id-ULPDCPSNLength CRITICALITY ignore EXTENSION PDCPSNLength PRESENCE optional }, + { ID id-DC-Based-Duplication-Configured CRITICALITY reject EXTENSION DCBasedDuplicationConfigured PRESENCE optional }| + { ID id-DC-Based-Duplication-Activation CRITICALITY reject EXTENSION DuplicationActivation PRESENCE optional }| + { ID id-DLPDCPSNLength CRITICALITY ignore EXTENSION PDCPSNLength PRESENCE mandatory }| + { ID id-ULPDCPSNLength CRITICALITY ignore EXTENSION PDCPSNLength PRESENCE optional }| + { ID id-AdditionalPDCPDuplicationTNL-List CRITICALITY ignore EXTENSION AdditionalPDCPDuplicationTNL-List PRESENCE optional }, ... } @@ -674,10 +1244,12 @@ DRBs-ToBeSetupMod-Item ::= SEQUENCE { } DRBs-ToBeSetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { - { ID id-DC-Based-Duplication-Configured CRITICALITY reject EXTENSION DCBasedDuplicationConfigured PRESENCE optional }| - { ID id-DC-Based-Duplication-Activation CRITICALITY reject EXTENSION DuplicationActivation PRESENCE optional }| - { ID id-DLPDCPSNLength CRITICALITY ignore EXTENSION PDCPSNLength PRESENCE optional }| - { ID id-ULPDCPSNLength CRITICALITY ignore EXTENSION PDCPSNLength PRESENCE optional }, + { ID id-DC-Based-Duplication-Configured CRITICALITY reject EXTENSION DCBasedDuplicationConfigured PRESENCE optional }| + { ID id-DC-Based-Duplication-Activation CRITICALITY reject EXTENSION DuplicationActivation PRESENCE optional }| + { ID id-DLPDCPSNLength CRITICALITY ignore EXTENSION PDCPSNLength PRESENCE optional }| + { ID id-ULPDCPSNLength CRITICALITY ignore EXTENSION PDCPSNLength PRESENCE optional }| + { ID id-AdditionalPDCPDuplicationTNL-List CRITICALITY ignore EXTENSION AdditionalPDCPDuplicationTNL-List PRESENCE optional }| + { ID id-RLCDuplicationInformation CRITICALITY ignore EXTENSION RLCDuplicationInformation PRESENCE optional}, ... } @@ -699,29 +1271,78 @@ DRXConfigurationIndicator ::= ENUMERATED{ release, ...} DRX-LongCycleStartOffset ::= INTEGER (0..10239) +DSInformationList ::= SEQUENCE (SIZE(0..maxnoofDSInfo)) OF DSCP + +DSCP ::= BIT STRING (SIZE (6)) + DUtoCURRCContainer ::= OCTET STRING -DUtoCURRCInformation ::= SEQUENCE { - cellGroupConfig CellGroupConfig, - measGapConfig MeasGapConfig OPTIONAL, - requestedP-MaxFR1 OCTET STRING OPTIONAL, - iE-Extensions ProtocolExtensionContainer { { DUtoCURRCInformation-ExtIEs} } OPTIONAL, +DUCURadioInformationType ::= CHOICE { + rIM DUCURIMInformation, + choice-extension ProtocolIE-SingleContainer { { DUCURadioInformationType-ExtIEs} } +} + +DUCURadioInformationType-ExtIEs F1AP-PROTOCOL-IES ::= { ... } -DUtoCURRCInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { - { ID id-DRX-LongCycleStartOffset CRITICALITY ignore EXTENSION DRX-LongCycleStartOffset PRESENCE optional }| - { ID id-SelectedBandCombinationIndex CRITICALITY ignore EXTENSION SelectedBandCombinationIndex PRESENCE optional }| - { ID id-SelectedFeatureSetEntryIndex CRITICALITY ignore EXTENSION SelectedFeatureSetEntryIndex PRESENCE optional }| - { ID id-Ph-InfoSCG CRITICALITY ignore EXTENSION Ph-InfoSCG PRESENCE optional }| +DUCURIMInformation ::= SEQUENCE { + victimgNBSetID GNBSetID, + rIMRSDetectionStatus RIMRSDetectionStatus, + aggressorCellList AggressorCellList, + iE-Extensions ProtocolExtensionContainer { { DUCURIMInformation-ExtIEs} } OPTIONAL +} + +DUCURIMInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +DUF-Slot-Config-Item ::= CHOICE { + explicitFormat ExplicitFormat, + implicitFormat ImplicitFormat, + choice-extension ProtocolIE-SingleContainer { { DUF-Slot-Config-Item-ExtIEs} } +} + +DUF-Slot-Config-Item-ExtIEs F1AP-PROTOCOL-IES ::= { + ... +} +DUF-Slot-Config-List ::= SEQUENCE (SIZE(1..maxnoofDUFSlots)) OF DUF-Slot-Config-Item + +DUFSlotformatIndex ::= INTEGER(0..254) + +DUFTransmissionPeriodicity ::= ENUMERATED { ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, ms5, ms10, ...} + +DU-RX-MT-RX ::= ENUMERATED {supported, not-supported} + +DU-TX-MT-TX ::= ENUMERATED {supported, not-supported} + +DU-RX-MT-TX ::= ENUMERATED {supported, not-supported} + +DU-TX-MT-RX ::= ENUMERATED {supported, not-supported} + +DUtoCURRCInformation ::= SEQUENCE { + cellGroupConfig CellGroupConfig, + measGapConfig MeasGapConfig OPTIONAL, + requestedP-MaxFR1 OCTET STRING OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { DUtoCURRCInformation-ExtIEs} } OPTIONAL, + ... +} + +DUtoCURRCInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + { ID id-DRX-LongCycleStartOffset CRITICALITY ignore EXTENSION DRX-LongCycleStartOffset PRESENCE optional }| + { ID id-SelectedBandCombinationIndex CRITICALITY ignore EXTENSION SelectedBandCombinationIndex PRESENCE optional }| + { ID id-SelectedFeatureSetEntryIndex CRITICALITY ignore EXTENSION SelectedFeatureSetEntryIndex PRESENCE optional }| + { ID id-Ph-InfoSCG CRITICALITY ignore EXTENSION Ph-InfoSCG PRESENCE optional }| { ID id-RequestedBandCombinationIndex CRITICALITY ignore EXTENSION RequestedBandCombinationIndex PRESENCE optional }| { ID id-RequestedFeatureSetEntryIndex CRITICALITY ignore EXTENSION RequestedFeatureSetEntryIndex PRESENCE optional }| - { ID id-RequestedP-MaxFR2 CRITICALITY ignore EXTENSION RequestedP-MaxFR2 PRESENCE optional }| { ID id-DRX-Config CRITICALITY ignore EXTENSION DRX-Config PRESENCE optional }| { ID id-PDCCH-BlindDetectionSCG CRITICALITY ignore EXTENSION PDCCH-BlindDetectionSCG PRESENCE optional }| { ID id-Requested-PDCCH-BlindDetectionSCG CRITICALITY ignore EXTENSION Requested-PDCCH-BlindDetectionSCG PRESENCE optional }| { ID id-Ph-InfoMCG CRITICALITY ignore EXTENSION Ph-InfoMCG PRESENCE optional }| - { ID id-MeasGapSharingConfig CRITICALITY ignore EXTENSION MeasGapSharingConfig PRESENCE optional }, + { ID id-MeasGapSharingConfig CRITICALITY ignore EXTENSION MeasGapSharingConfig PRESENCE optional }| + { ID id-SL-PHY-MAC-RLC-Config CRITICALITY ignore EXTENSION SL-PHY-MAC-RLC-Config PRESENCE optional }| + { ID id-SL-ConfigDedicatedEUTRA CRITICALITY ignore EXTENSION SL-ConfigDedicatedEUTRA PRESENCE optional }| + { ID id-RequestedP-MaxFR2 CRITICALITY ignore EXTENSION RequestedP-MaxFR2 PRESENCE optional }, ... } @@ -729,6 +1350,12 @@ DuplicationActivation ::= ENUMERATED{active,inactive,... } DuplicationIndication ::= ENUMERATED {true, ... , false } +DuplicationState ::= ENUMERATED { + active, + inactive, + ... +} + Dynamic5QIDescriptor ::= SEQUENCE { qoSPriorityLevel INTEGER (1..127), packetDelayBudget PacketDelayBudget, @@ -743,11 +1370,41 @@ Dynamic5QIDescriptor ::= SEQUENCE { } Dynamic5QIDescriptor-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + { ID id-ExtendedPacketDelayBudget CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }| + { ID id-CNPacketDelayBudgetDownlink CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }| + { ID id-CNPacketDelayBudgetUplink CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }, + ... +} + +DynamicPQIDescriptor ::= SEQUENCE { + resourceType ENUMERATED {gbr, non-gbr, delay-critical-grb, ...} OPTIONAL, + qoSPriorityLevel INTEGER (1..8, ...), + packetDelayBudget PacketDelayBudget, + packetErrorRate PacketErrorRate, + averagingWindow AveragingWindow OPTIONAL, + -- C-ifGBRflow: This IE shall be present if the GBR QoS Flow Information IE is present in the QoS Flow Level QoS Parameters IE. + maxDataBurstVolume MaxDataBurstVolume OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { DynamicPQIDescriptor-ExtIEs } } OPTIONAL +} + +DynamicPQIDescriptor-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } -- E +EgressBHRLCCHList ::= SEQUENCE (SIZE(1..maxnoofEgressLinks)) OF EgressBHRLCCHItem + +EgressBHRLCCHItem ::= SEQUENCE { + nextHopBAPAddress BAPAddress, + bHRLCChannelID BHRLCChannelID, + iE-Extensions ProtocolExtensionContainer {{EgressBHRLCCHItemExtIEs }} OPTIONAL +} + +EgressBHRLCCHItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + Endpoint-IP-address-and-port ::=SEQUENCE { endpointIPAddress TransportLayerAddress, iE-Extensions ProtocolExtensionContainer { { Endpoint-IP-address-and-port-ExtIEs} } OPTIONAL @@ -765,6 +1422,17 @@ ExtendedAvailablePLMN-Item ::= SEQUENCE { iE-Extensions ProtocolExtensionContainer { { ExtendedAvailablePLMN-Item-ExtIEs} } OPTIONAL } +ExplicitFormat ::= SEQUENCE { + permutation Permutation, + noofDownlinkSymbols NoofDownlinkSymbols, + noofUplinkSymbols NoofUplinkSymbols, + iE-Extensions ProtocolExtensionContainer { { ExplicitFormat-ExtIEs} } OPTIONAL +} + +ExplicitFormat-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + ExtendedAvailablePLMN-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } @@ -779,9 +1447,13 @@ ExtendedServedPLMNs-Item ::= SEQUENCE { } ExtendedServedPLMNs-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + { ID id-NPNSupportInfo CRITICALITY reject EXTENSION NPNSupportInfo PRESENCE optional }| +{ ID id-ExtendedTAISliceSupportList CRITICALITY reject EXTENSION ExtendedSliceSupportList PRESENCE optional }, ... } +ExtendedSliceSupportList ::= SEQUENCE (SIZE(1.. maxnoofExtSliceItems)) OF SliceSupportItem + EUTRACells-List ::= SEQUENCE (SIZE (1.. maxCellineNB)) OF EUTRACells-List-item EUTRACells-List-item ::= SEQUENCE { @@ -807,6 +1479,8 @@ EUTRA-Coex-FDD-Info ::= SEQUENCE { } EUTRA-Coex-FDD-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + { ID id-ULCarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional }| + { ID id-DLCarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional }, ... } @@ -954,6 +1628,15 @@ EUTRA-TDD-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } +EventType ::= ENUMERATED { + on-demand, + periodic, + stop, + ... +} + +ExtendedPacketDelayBudget ::= INTEGER (1..65535, ...) + -- F FDD-Info ::= SEQUENCE { @@ -979,12 +1662,13 @@ Flows-Mapped-To-DRB-Item ::= SEQUENCE { } Flows-Mapped-To-DRB-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { - {ID id-QoSFlowMappingIndication CRITICALITY ignore EXTENSION QoSFlowMappingIndication PRESENCE optional}, + {ID id-QoSFlowMappingIndication CRITICALITY ignore EXTENSION QoSFlowMappingIndication PRESENCE optional}| + {ID id-TSCTrafficCharacteristics CRITICALITY ignore EXTENSION TSCTrafficCharacteristics PRESENCE optional}, ... } FreqBandNrItem ::= SEQUENCE { - freqBandIndicatorNr INTEGER (1..1024,...), + freqBandIndicatorNr INTEGER (1..1024,...), supportedSULBandList SEQUENCE (SIZE(0..maxnoofNrCellBands)) OF SupportedSULFreqBandItem, iE-Extensions ProtocolExtensionContainer { {FreqBandNrItem-ExtIEs} } OPTIONAL, ... @@ -994,8 +1678,32 @@ FreqBandNrItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } +FreqDomainLength ::= CHOICE { + l839 L839Info, + l139 L139Info, + choice-extension ProtocolIE-SingleContainer { {FreqDomainLength-ExtIEs} } +} + +FreqDomainLength-ExtIEs F1AP-PROTOCOL-IES ::= { + ... +} + +FrequencyShift7p5khz ::= ENUMERATED {false, true, ...} + FullConfiguration ::= ENUMERATED {full, ...} +FlowsMappedToSLDRB-List ::= SEQUENCE (SIZE(1.. maxnoofPC5QoSFlows)) OF FlowsMappedToSLDRB-Item + +FlowsMappedToSLDRB-Item ::= SEQUENCE { + pc5QoSFlowIdentifier PC5QoSFlowIdentifier, + iE-Extensions ProtocolExtensionContainer { {FlowsMappedToSLDRB-Item-ExtIEs} } OPTIONAL, + ... +} + +FlowsMappedToSLDRB-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + -- G @@ -1024,11 +1732,16 @@ GBR-QoSFlowInformation::= SEQUENCE { } GBR-QosFlowInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + { ID id-AlternativeQoSParaSetList CRITICALITY ignore EXTENSION AlternativeQoSParaSetList PRESENCE optional }, ... } CG-Config ::= OCTET STRING +GNBCUMeasurementID ::= INTEGER (0.. 4095, ...) + +GNBDUMeasurementID ::= INTEGER (0.. 4095, ...) + GNB-CUSystemInformation::= SEQUENCE { sibtypetobeupdatedlist SEQUENCE (SIZE(1.. maxnoofSIBTypes)) OF SibtypetobeupdatedListItem, iE-Extensions ProtocolExtensionContainer { { GNB-CUSystemInformation-ExtIEs} } OPTIONAL, @@ -1072,7 +1785,7 @@ GNB-CU-TNL-Association-To-Add-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { GNB-CU-TNL-Association-To-Remove-Item::= SEQUENCE { tNLAssociationTransportLayerAddress CP-TransportLayerAddress , - iE-Extensions ProtocolExtensionContainer { { GNB-CU-TNL-Association-To-Remove-Item-ExtIEs} } OPTIONAL + iE-Extensions ProtocolExtensionContainer { { GNB-CU-TNL-Association-To-Remove-Item-ExtIEs} } OPTIONAL } GNB-CU-TNL-Association-To-Remove-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { @@ -1083,8 +1796,8 @@ GNB-CU-TNL-Association-To-Remove-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { GNB-CU-TNL-Association-To-Update-Item::= SEQUENCE { tNLAssociationTransportLayerAddress CP-TransportLayerAddress , - tNLAssociationUsage TNLAssociationUsage OPTIONAL, - iE-Extensions ProtocolExtensionContainer { { GNB-CU-TNL-Association-To-Update-Item-ExtIEs} } OPTIONAL + tNLAssociationUsage TNLAssociationUsage OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { GNB-CU-TNL-Association-To-Update-Item-ExtIEs} } OPTIONAL } GNB-CU-TNL-Association-To-Update-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { @@ -1093,6 +1806,19 @@ GNB-CU-TNL-Association-To-Update-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { GNB-CU-UE-F1AP-ID ::= INTEGER (0..4294967295) +GNB-DU-Cell-Resource-Configuration ::= SEQUENCE { + subcarrierSpacing SubcarrierSpacing, + dUFTransmissionPeriodicity DUFTransmissionPeriodicity, + dUF-Slot-Config-List DUF-Slot-Config-List, + hSNATransmissionPeriodicity HSNATransmissionPeriodicity, + hNSASlotConfigList HSNASlotConfigList, + iE-Extensions ProtocolExtensionContainer { { GNB-DU-Cell-Resource-Configuration-ExtIEs } } OPTIONAL +} + +GNB-DU-Cell-Resource-Configuration-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + GNB-DU-UE-F1AP-ID ::= INTEGER (0..4294967295) GNB-DU-ID ::= INTEGER (0..68719476735) @@ -1120,6 +1846,10 @@ GNB-DU-System-Information ::= SEQUENCE { } GNB-DU-System-Information-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + { ID id-SIB12-message CRITICALITY ignore EXTENSION SIB12-message PRESENCE optional}| + { ID id-SIB13-message CRITICALITY ignore EXTENSION SIB13-message PRESENCE optional}| + { ID id-SIB14-message CRITICALITY ignore EXTENSION SIB14-message PRESENCE optional}| + { ID id-SIB10-message CRITICALITY ignore EXTENSION SIB10-message PRESENCE optional}, ... } @@ -1137,8 +1867,22 @@ GNB-DU-TNL-Association-To-Remove-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } +GNBSetID ::= BIT STRING (SIZE(22)) + GTP-TEID ::= OCTET STRING (SIZE (4)) +GTPTLAs ::= SEQUENCE (SIZE(1.. maxnoofGTPTLAs)) OF GTPTLA-Item + + +GTPTLA-Item ::= SEQUENCE { + gTPTransportLayerAddress TransportLayerAddress, + iE-Extensions ProtocolExtensionContainer { { GTPTLA-Item-ExtIEs } } OPTIONAL +} + +GTPTLA-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + GTPTunnel ::= SEQUENCE { transportLayerAddress TransportLayerAddress, gTP-TEID GTP-TEID, @@ -1154,13 +1898,258 @@ GTPTunnel-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { HandoverPreparationInformation ::= OCTET STRING +HardwareLoadIndicator ::= SEQUENCE { + dLHardwareLoadIndicator INTEGER (0..100, ...), + uLHardwareLoadIndicator INTEGER (0..100, ...), + iE-Extensions ProtocolExtensionContainer { { HardwareLoadIndicator-ExtIEs } } OPTIONAL, + ... +} + +HardwareLoadIndicator-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +HSNASlotConfigList ::= SEQUENCE (SIZE(1..maxnoofHSNASlots)) OF HSNASlotConfigItem + +HSNASlotConfigItem ::= SEQUENCE { + hSNADownlink HSNADownlink OPTIONAL, + hSNAUplink HSNAUplink OPTIONAL, + hSNAFlexible HSNAFlexible OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { HSNASlotConfigItem-ExtIEs } } OPTIONAL +} + +HSNASlotConfigItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} +HSNADownlink ::= ENUMERATED { hard, soft, notavailable } + +HSNAFlexible ::= ENUMERATED { hard, soft, notavailable } + +HSNAUplink ::= ENUMERATED { hard, soft, notavailable } + +HSNATransmissionPeriodicity ::= ENUMERATED { ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, ms5, ms10, ms20, ms40, ms80, ms160, ...} + -- I +IAB-Barred ::= ENUMERATED {barred, not-barred, ...} + +IAB-Info-IAB-donor-CU ::= SEQUENCE{ + iAB-STC-Info IAB-STC-Info, + iE-Extensions ProtocolExtensionContainer { { IAB-Info-IAB-donor-CU-ExtIEs } } OPTIONAL +} + +IAB-Info-IAB-donor-CU-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +IAB-Info-IAB-DU ::= SEQUENCE{ + multiplexingInfo MultiplexingInfo, + iAB-STC-Info IAB-STC-Info, + iE-Extensions ProtocolExtensionContainer { { IAB-Info-IAB-DU-ExtIEs } } OPTIONAL +} + +IAB-Info-IAB-DU-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +IAB-MT-Cell-List ::= SEQUENCE (SIZE(1..maxnoofServingCells)) OF IAB-MT-Cell-List-Item + +IAB-MT-Cell-List-Item ::= SEQUENCE { + nRCellIdentity NRCellIdentity, + dU-RX-MT-RX DU-RX-MT-RX, + dU-TX-MT-TX DU-TX-MT-TX, + dU-RX-MT-TX DU-RX-MT-TX, + dU-TX-MT-RX DU-TX-MT-RX, + iE-Extensions ProtocolExtensionContainer { { IAB-MT-Cell-List-Item-ExtIEs } } OPTIONAL +} + +IAB-MT-Cell-List-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +IAB-STC-Info ::= SEQUENCE{ + iAB-STC-Info-List IAB-STC-Info-List, + iE-Extensions ProtocolExtensionContainer { { IAB-STC-Info-ExtIEs } } OPTIONAL +} + +IAB-STC-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +IAB-STC-Info-List ::= SEQUENCE (SIZE(1..maxnoofIABSTCInfo)) OF IAB-STC-Info-Item + +IAB-STC-Info-Item::= SEQUENCE { + sSB-freqInfo SSB-freqInfo, + sSB-subcarrierSpacing SSB-subcarrierSpacing, + sSB-transmissionPeriodicity SSB-transmissionPeriodicity, + sSB-transmissionTimingOffset SSB-transmissionTimingOffset, + sSB-transmissionBitmap SSB-transmissionBitmap, + iE-Extensions ProtocolExtensionContainer { { IAB-STC-Info-Item-ExtIEs } } OPTIONAL +} + +IAB-STC-Info-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +IAB-Allocated-TNL-Address-Item ::= SEQUENCE { + iABTNLAddress IABTNLAddress, + iABTNLAddressUsage IABTNLAddressUsage OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { IAB-Allocated-TNL-Address-Item-ExtIEs } } OPTIONAL +} + +IAB-Allocated-TNL-Address-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +IAB-DU-Cell-Resource-Configuration-Mode-Info ::= CHOICE { + fDD IAB-DU-Cell-Resource-Configuration-FDD-Info, + tDD IAB-DU-Cell-Resource-Configuration-TDD-Info, + choice-extension ProtocolIE-SingleContainer { { IAB-DU-Cell-Resource-Configuration-Mode-Info-ExtIEs} } +} + +IAB-DU-Cell-Resource-Configuration-Mode-Info-ExtIEs F1AP-PROTOCOL-IES ::= { + ... +} + +IAB-DU-Cell-Resource-Configuration-FDD-Info ::= SEQUENCE { + gNB-DU-Cell-Resource-Configuration-FDD-UL GNB-DU-Cell-Resource-Configuration, + gNB-DU-Cell-Resource-Configuration-FDD-DL GNB-DU-Cell-Resource-Configuration, + iE-Extensions ProtocolExtensionContainer { {IAB-DU-Cell-Resource-Configuration-FDD-Info-ExtIEs} } OPTIONAL, + ... +} + +IAB-DU-Cell-Resource-Configuration-FDD-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +IAB-DU-Cell-Resource-Configuration-TDD-Info ::= SEQUENCE { + gNB-DU-Cell-Resourc-Configuration-TDD GNB-DU-Cell-Resource-Configuration, + iE-Extensions ProtocolExtensionContainer { {IAB-DU-Cell-Resource-Configuration-TDD-Info-ExtIEs} } OPTIONAL, + ... +} + +IAB-DU-Cell-Resource-Configuration-TDD-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +IABIPv6RequestType ::= CHOICE { + iPv6Address IABTNLAddressesRequested, + iPv6Prefix IABTNLAddressesRequested, + choice-extension ProtocolIE-SingleContainer { { IABIPv6RequestType-ExtIEs} } +} + +IABIPv6RequestType-ExtIEs F1AP-PROTOCOL-IES ::= { + ... +} + +IABTNLAddress ::= CHOICE { + iPv4Address BIT STRING (SIZE(32)), + iPv6Address BIT STRING (SIZE(128)), + iPv6Prefix BIT STRING (SIZE(64)), + choice-extension ProtocolIE-SingleContainer { { IABTNLAddress-ExtIEs} } +} + +IABTNLAddress-ExtIEs F1AP-PROTOCOL-IES ::= { + ... +} + +IABTNLAddressesRequested ::= SEQUENCE { + tNLAddressesOrPrefixesRequestedAllTraffic INTEGER (1..256) OPTIONAL, + tNLAddressesOrPrefixesRequestedF1-C INTEGER (1..256) OPTIONAL, + tNLAddressesOrPrefixesRequestedF1-U INTEGER (1..256) OPTIONAL, + tNLAddressesOrPrefixesRequestedNoNF1 INTEGER (1..256) OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { IABTNLAddressesRequested-ExtIEs } } OPTIONAL +} + +IABTNLAddressesRequested-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +IAB-TNL-Addresses-To-Remove-Item ::= SEQUENCE { + iABTNLAddress IABTNLAddress, + iE-Extensions ProtocolExtensionContainer { { IAB-TNL-Addresses-To-Remove-Item-ExtIEs} } OPTIONAL +} + +IAB-TNL-Addresses-To-Remove-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +IABTNLAddressUsage ::= ENUMERATED { + f1-c, + f1-u, + non-f1, + ... +} + + +IABv4AddressesRequested ::= SEQUENCE { + iABv4AddressesRequested IABTNLAddressesRequested, + iE-Extensions ProtocolExtensionContainer { { IABv4AddressesRequested-ExtIEs} } OPTIONAL +} + +IABv4AddressesRequested-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +ImplicitFormat ::= SEQUENCE { + dUFSlotformatIndex DUFSlotformatIndex, + iE-Extensions ProtocolExtensionContainer { { ImplicitFormat-ExtIEs } } OPTIONAL +} + +ImplicitFormat-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + IgnorePRACHConfiguration::= ENUMERATED { true,...} IgnoreResourceCoordinationContainer ::= ENUMERATED { yes,...} InactivityMonitoringRequest ::= ENUMERATED { true,...} InactivityMonitoringResponse ::= ENUMERATED { not-supported,...} +InterfacesToTrace ::= BIT STRING (SIZE(8)) + +IntendedTDD-DL-ULConfig ::= SEQUENCE { + nRSCS ENUMERATED { scs15, scs30, scs60, scs120,...}, + nRCP ENUMERATED { normal, extended,...}, + nRDLULTxPeriodicity ENUMERATED { ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, ms3, ms4, ms5, ms10, ms20, ms40, ms60, ms80, ms100, ms120, ms140, ms160, ...}, + slot-Configuration-List Slot-Configuration-List, + iE-Extensions ProtocolExtensionContainer { {IntendedTDD-DL-ULConfig-ExtIEs} } OPTIONAL +} + +IntendedTDD-DL-ULConfig-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +IPHeaderInformation ::= SEQUENCE { + destinationIABTNLAddress IABTNLAddress, + dsInformationList DSInformationList, + iPv6FlowLabel BIT STRING (SIZE (20)) OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { IPHeaderInformation-ItemExtIEs} } OPTIONAL, + ... +} + +IPHeaderInformation-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +IPtolayer2TrafficMappingInfo ::= SEQUENCE { + iPtolayer2TrafficMappingInfoToAdd IPtolayer2TrafficMappingInfoList OPTIONAL, + iPtolayer2TrafficMappingInfoToRemove MappingInformationtoRemove OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { IPtolayer2TrafficMappingInfo-ItemExtIEs} } OPTIONAL, + ... +} + +IPtolayer2TrafficMappingInfoList ::= SEQUENCE (SIZE(1..maxnoofMappingEntries)) OF IPtolayer2TrafficMappingInfo-Item + +IPtolayer2TrafficMappingInfo-Item ::= SEQUENCE { + mappingInformationIndex MappingInformationIndex, + iPHeaderInformation IPHeaderInformation, + bHInfo BHInfo, iE-Extensions ProtocolExtensionContainer { { IPtolayer2TrafficMappingInfo-ItemExtIEs} } OPTIONAL, + ... +} + +IPtolayer2TrafficMappingInfo-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} -- J @@ -1168,17 +2157,70 @@ InactivityMonitoringResponse ::= ENUMERATED { not-supported,...} -- L +L139Info ::= SEQUENCE { + msg1SCS ENUMERATED {scs15, scs30, scs60, scs120, ...}, + rootSequenceIndex INTEGER (0..137) OPTIONAL, + iE-Extension ProtocolExtensionContainer { {L139Info-ExtIEs} } OPTIONAL, + ... +} + +L139Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +L839Info ::= SEQUENCE { + rootSequenceIndex INTEGER (0..837), + restrictedSetConfig ENUMERATED {unrestrictedSet, restrictedSetTypeA, + restrictedSetTypeB, ...}, + iE-Extension ProtocolExtensionContainer { {L839Info-ExtIEs} } OPTIONAL, + ... +} + +L839Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + LCID ::= INTEGER (1..32, ...) LongDRXCycleLength ::= ENUMERATED {ms10, ms20, ms32, ms40, ms60, ms64, ms70, ms80, ms128, ms160, ms256, ms320, ms512, ms640, ms1024, ms1280, ms2048, ms2560, ms5120, ms10240, ...} +LowerLayerPresenceStatusChange ::= ENUMERATED { + suspend-lower-layers, + resume-lower-layers, + ... + +} + +LTEUESidelinkAggregateMaximumBitrate ::= SEQUENCE { + uELTESidelinkAggregateMaximumBitrate BitRate, + iE-Extensions ProtocolExtensionContainer { {LTEUESidelinkAggregateMaximumBitrate-ExtIEs} } OPTIONAL +} + +LTEUESidelinkAggregateMaximumBitrate-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +LTEV2XServicesAuthorized ::= SEQUENCE { + vehicleUE VehicleUE OPTIONAL, + pedestrianUE PedestrianUE OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {LTEV2XServicesAuthorized-ExtIEs} } OPTIONAL +} + +LTEV2XServicesAuthorized-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + -- M +MappingInformationIndex ::= BIT STRING (SIZE (26)) + +MappingInformationtoRemove ::= SEQUENCE (SIZE(1..maxnoofMappingEntries)) OF MappingInformationIndex + MaskedIMEISV ::= BIT STRING (SIZE (64)) -MaxDataBurstVolume ::= INTEGER (0..4095, ...) +MaxDataBurstVolume ::= INTEGER (0..4095, ..., 4096.. 2000000) MaxPacketLossRate ::= INTEGER (0..1000) MIB-message ::= OCTET STRING @@ -1193,10 +2235,110 @@ MeasurementTimingConfiguration ::= OCTET STRING MessageIdentifier ::= BIT STRING (SIZE (16)) +MultiplexingInfo ::= SEQUENCE{ + iAB-MT-Cell-List IAB-MT-Cell-List, + iE-Extensions ProtocolExtensionContainer { {MultiplexingInfo-ExtIEs} } OPTIONAL +} + +MultiplexingInfo-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +M2Configuration ::= ENUMERATED {true, ...} + + +M5Configuration ::= SEQUENCE { + m5period M5period, + m5-links-to-log M5-Links-to-log, + iE-Extensions ProtocolExtensionContainer { { M5Configuration-ExtIEs} } OPTIONAL, + ... +} + +M5Configuration-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +M5period ::= ENUMERATED { ms1024, ms2048, ms5120, ms10240, min1, ... } + +M5-Links-to-log ::= ENUMERATED {uplink, downlink, both-uplink-and-downlink, ...} + + +M6Configuration ::= SEQUENCE { + m6report-Interval M6report-Interval, + m6-links-to-log M6-Links-to-log, + iE-Extensions ProtocolExtensionContainer { { M6Configuration-ExtIEs} } OPTIONAL, + ... +} + +M6Configuration-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +M6report-Interval ::= ENUMERATED { ms120, ms240, ms640, ms1024, ms2048, ms5120, ms10240, ms20480, ms40960, min1, min6, min12, min30, ... } + + + +M6-Links-to-log ::= ENUMERATED {uplink, downlink, both-uplink-and-downlink, ...} + + +M7Configuration ::= SEQUENCE { + m7period M7period, + m7-links-to-log M7-Links-to-log, + iE-Extensions ProtocolExtensionContainer { { M7Configuration-ExtIEs} } OPTIONAL, + ... +} + +M7Configuration-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +M7period ::= INTEGER(1..60, ...) + +M7-Links-to-log ::= ENUMERATED {downlink, ...} + +MDT-Activation ::= ENUMERATED { + immediate-MDT-only, + immediate-MDT-and-Trace, + ... +} + +MDTConfiguration ::= SEQUENCE { + mdt-Activation MDT-Activation, + measurementsToActivate MeasurementsToActivate, + m2Configuration M2Configuration OPTIONAL, + -- C-ifM2: This IE shall be present if the Measurements to Activate IE has the second bit set to "1". + m5Configuration M5Configuration OPTIONAL, + -- C-ifM5: This IE shall be present if the Measurements to Activate IE has the fifth bit set to "1". + m6Configuration M6Configuration OPTIONAL, + -- C-ifM6: This IE shall be present if the Measurements to Activate IE has the seventh bit set to "1". + m7Configuration M7Configuration OPTIONAL, + -- C-ifM7: This IE shall be present if the Measurements to Activate IE has the eighth bit set to "1". + iE-Extensions ProtocolExtensionContainer { { MDTConfiguration-ExtIEs} } OPTIONAL, + ... +} +MDTConfiguration-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + + +MDTPLMNList ::= SEQUENCE (SIZE(1..maxnoofMDTPLMNs)) OF PLMN-Identity + +MeasurementsToActivate ::= BIT STRING (SIZE (8)) + -- N NeedforGap::= ENUMERATED {true, ...} +Neighbour-Cell-Information-Item ::= SEQUENCE { + nRCGI NRCGI, + intendedTDD-DL-ULConfig IntendedTDD-DL-ULConfig OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { Neighbour-Cell-Information-ItemExtIEs } } OPTIONAL +} + +Neighbour-Cell-Information-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + NGRANAllocationAndRetentionPriority ::= SEQUENCE { priorityLevel PriorityLevel, pre-emptionCapability Pre-emptionCapability, @@ -1208,6 +2350,8 @@ NGRANAllocationAndRetentionPriority-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } +NID ::= BIT STRING (SIZE(44)) + NR-CGI-List-For-Restart-Item ::= SEQUENCE { nRCGI NRCGI, iE-Extensions ProtocolExtensionContainer { { NR-CGI-List-For-Restart-ItemExtIEs } } OPTIONAL, @@ -1227,9 +2371,29 @@ NonDynamic5QIDescriptor ::= SEQUENCE { } NonDynamic5QIDescriptor-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + { ID id-CNPacketDelayBudgetDownlink CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }| + { ID id-CNPacketDelayBudgetUplink CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }, ... } +NonDynamicPQIDescriptor ::= SEQUENCE { + fiveQI INTEGER (0..255, ...), + qoSPriorityLevel INTEGER (1..8, ...) OPTIONAL, + averagingWindow AveragingWindow OPTIONAL, + maxDataBurstVolume MaxDataBurstVolume OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { NonDynamicPQIDescriptor-ExtIEs } } OPTIONAL +} + +NonDynamicPQIDescriptor-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +NonUPTrafficType ::= ENUMERATED {ue-associated, non-ue-associated, non-f1, bap-control-pdu,...} + +NoofDownlinkSymbols ::= INTEGER (0..14) + +NoofUplinkSymbols ::= INTEGER (0..14) + Notification-Cause ::= ENUMERATED {fulfilled, not-fulfilled, ...} NotificationControl ::= ENUMERATED {active, not-active, ...} @@ -1245,6 +2409,59 @@ NotificationInformationExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } +NPNBroadcastInformation ::= CHOICE { + sNPN-Broadcast-Information NPN-Broadcast-Information-SNPN, + pNI-NPN-Broadcast-Information NPN-Broadcast-Information-PNI-NPN, + choice-extension ProtocolIE-SingleContainer { {NPNBroadcastInformation-ExtIEs} } +} + +NPNBroadcastInformation-ExtIEs F1AP-PROTOCOL-IES ::= { + ... +} + +NPN-Broadcast-Information-SNPN ::= SEQUENCE { + broadcastSNPNID-List BroadcastSNPN-ID-List, + iE-Extension ProtocolExtensionContainer { {NPN-Broadcast-Information-SNPN-ExtIEs} } OPTIONAL, + ... +} + +NPN-Broadcast-Information-SNPN-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} +NPN-Broadcast-Information-PNI-NPN ::= SEQUENCE { + broadcastPNI-NPN-ID-Information BroadcastPNI-NPN-ID-List, + iE-Extension ProtocolExtensionContainer { {NPN-Broadcast-Information-PNI-NPN-ExtIEs} } OPTIONAL, + ... +} + +NPN-Broadcast-Information-PNI-NPN-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + + +NPNSupportInfo ::= CHOICE { + sNPN-Information NID, + choice-extension ProtocolIE-SingleContainer { { NPNSupportInfo-ExtIEs } } +} + +NPNSupportInfo-ExtIEs F1AP-PROTOCOL-IES ::= { + ... +} + +NRCarrierList ::= SEQUENCE (SIZE(1..maxnoofNRSCSs)) OF NRCarrierItem + +NRCarrierItem ::= SEQUENCE { + carrierSCS NRSCS, + offsetToCarrier INTEGER (0..2199, ...), + carrierBandwidth INTEGER (0..maxnoofPhysicalResourceBlocks, ...), + iE-Extension ProtocolExtensionContainer { {NRCarrierItem-ExtIEs} } OPTIONAL, + ... +} + +NRCarrierItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + NRFreqInfo ::= SEQUENCE { nRARFCN INTEGER (0..maxNRARFCN), sul-Information SUL-Information OPTIONAL, @@ -1254,6 +2471,7 @@ NRFreqInfo ::= SEQUENCE { } NRFreqInfoExtIEs F1AP-PROTOCOL-EXTENSION ::= { + { ID id-FrequencyShift7p5khz CRITICALITY ignore EXTENSION FrequencyShift7p5khz PRESENCE optional }, ... } @@ -1279,18 +2497,83 @@ NR-Mode-Info-ExtIEs F1AP-PROTOCOL-IES ::= { } + +NRPRACHConfig ::= SEQUENCE { + ulPRACHConfigList NRPRACHConfigList OPTIONAL, + sulPRACHConfigList NRPRACHConfigList OPTIONAL, + iE-Extension ProtocolExtensionContainer { {NRPRACHConfig-ExtIEs} } OPTIONAL, + ... +} + +NRPRACHConfig-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + NRCellIdentity ::= BIT STRING (SIZE(36)) NRNRB ::= ENUMERATED { nrb11, nrb18, nrb24, nrb25, nrb31, nrb32, nrb38, nrb51, nrb52, nrb65, nrb66, nrb78, nrb79, nrb93, nrb106, nrb107, nrb121, nrb132, nrb133, nrb135, nrb160, nrb162, nrb189, nrb216, nrb217, nrb245, nrb264, nrb270, nrb273, ...} NRPCI ::= INTEGER(0..1007) + +NRPRACHConfigList ::= SEQUENCE (SIZE(0..maxnoofPRACHconfigs)) OF NRPRACHConfigItem + +NRPRACHConfigItem ::= SEQUENCE { + nRSCS NRSCS, + prachFreqStartfromCarrier INTEGER (0..maxnoofPhysicalResourceBlocks-1, ...), + msg1FDM ENUMERATED {one, two, four, eight, ...}, + parchConfigIndex INTEGER (0..255, ...), + ssb-perRACH-Occasion ENUMERATED {oneEighth, oneFourth, oneHalf, one, + two, four, eight, sixteen, ...}, + freqDomainLength FreqDomainLength, + zeroCorrelZoneConfig INTEGER (0..15), + iE-Extension ProtocolExtensionContainer { { NRPRACHConfigItem-ExtIEs} } OPTIONAL, + ... +} + +NRPRACHConfigItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + NRSCS ::= ENUMERATED { scs15, scs30, scs60, scs120, ...} +NRUERLFReportContainer ::= OCTET STRING + +NumberofActiveUEs ::= INTEGER(0..16777215, ...) + NumberOfBroadcasts ::= INTEGER (0..65535) NumberofBroadcastRequest ::= INTEGER (0..65535) +NumDLULSymbols ::= SEQUENCE { + numDLSymbols INTEGER (0..13, ...), + numULSymbols INTEGER (0..13, ...), + iE-Extensions ProtocolExtensionContainer { { NumDLULSymbols-ExtIEs} } OPTIONAL +} + +NumDLULSymbols-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +NRV2XServicesAuthorized ::= SEQUENCE { + vehicleUE VehicleUE OPTIONAL, + pedestrianUE PedestrianUE OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {NRV2XServicesAuthorized-ExtIEs} } OPTIONAL +} + +NRV2XServicesAuthorized-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +NRUESidelinkAggregateMaximumBitrate ::= SEQUENCE { + uENRSidelinkAggregateMaximumBitrate BitRate, + iE-Extensions ProtocolExtensionContainer { {NRUESidelinkAggregateMaximumBitrate-ExtIEs} } OPTIONAL +} + +NRUESidelinkAggregateMaximumBitrate-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + -- O OffsetToPointA ::= INTEGER (0..2199,...) @@ -1345,6 +2628,41 @@ PagingOrigin ::= ENUMERATED { non-3gpp, ...} PagingPriority ::= ENUMERATED { priolevel1, priolevel2, priolevel3, priolevel4, priolevel5, priolevel6, priolevel7, priolevel8,...} +PC5QoSFlowIdentifier ::= INTEGER (1..2048) + +PC5-QoS-Characteristics ::= CHOICE { + non-Dynamic-PQI NonDynamicPQIDescriptor, + dynamic-PQI DynamicPQIDescriptor, + choice-extension ProtocolIE-SingleContainer { { PC5-QoS-Characteristics-ExtIEs } } +} + +PC5-QoS-Characteristics-ExtIEs F1AP-PROTOCOL-IES ::= { + ... +} + + +PC5QoSParameters ::= SEQUENCE { + pC5-QoS-Characteristics PC5-QoS-Characteristics, + pC5-QoS-Flow-Bit-Rates PC5FlowBitRates OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { PC5QoSParameters-ExtIEs } } OPTIONAL, + ... +} + +PC5QoSParameters-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +PC5FlowBitRates ::= SEQUENCE { + guaranteedFlowBitRate BitRate, + maximumFlowBitRate BitRate, + iE-Extensions ProtocolExtensionContainer { { PC5FlowBitRates-ExtIEs } } OPTIONAL, + ... +} + +PC5FlowBitRates-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + PDCCH-BlindDetectionSCG ::= OCTET STRING PDCP-SN ::= INTEGER (0..4095) @@ -1353,6 +2671,12 @@ PDCPSNLength ::= ENUMERATED { twelve-bits,eighteen-bits,...} PDUSessionID ::= INTEGER (0..255) +ReportingPeriodicityValue ::= INTEGER (0..512, ...) + +Periodicity ::= INTEGER (0..640000, ...) + +Permutation ::= ENUMERATED {dfu, ufd, ...} + Ph-InfoMCG ::= OCTET STRING Ph-InfoSCG ::= OCTET STRING @@ -1361,6 +2685,12 @@ PLMN-Identity ::= OCTET STRING (SIZE(3)) PortNumber ::= BIT STRING (SIZE (16)) +PrimaryPathIndication ::= ENUMERATED { + true, + false, + ... +} + Pre-emptionCapability ::= ENUMERATED { shall-not-trigger-pre-emption, may-trigger-pre-emption @@ -1419,6 +2749,7 @@ PWSSystemInformationExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } +PrivacyIndicator ::= ENUMERATED {immediate-MDT, logged-MDT, ...} -- Q @@ -1445,8 +2776,9 @@ QoSFlowLevelQoSParameters ::= SEQUENCE { } QoSFlowLevelQoSParameters-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { - { ID id-PDUSessionID CRITICALITY ignore EXTENSION PDUSessionID PRESENCE optional}| - { ID id-ULPDUSessionAggregateMaximumBitRate CRITICALITY ignore EXTENSION BitRate PRESENCE optional}, + { ID id-PDUSessionID CRITICALITY ignore EXTENSION PDUSessionID PRESENCE optional}| + { ID id-ULPDUSessionAggregateMaximumBitRate CRITICALITY ignore EXTENSION BitRate PRESENCE optional}| + { ID id-QosMonitoringRequest CRITICALITY ignore EXTENSION QosMonitoringRequest PRESENCE optional}, ... } @@ -1462,8 +2794,44 @@ QoSInformation-ExtIEs F1AP-PROTOCOL-IES ::= { ... } +QosMonitoringRequest ::= ENUMERATED {ul, dl, both, ...} + +QoSParaSetIndex ::= INTEGER (1..8, ...) + +QoSParaSetNotifyIndex ::= INTEGER (0..8, ...) + -- R +RACH-Config-Common ::= OCTET STRING + +RACH-Config-Common-IAB ::= OCTET STRING + +RACHReportContainer::= OCTET STRING + +RACHReportInformationList ::= SEQUENCE (SIZE(1.. maxnoofRACHReports)) OF RACHReportInformationItem + +RACHReportInformationItem ::= SEQUENCE { + rACHReportContainer RACHReportContainer, + uEAssitantIdentifier GNB-DU-UE-F1AP-ID OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { RACHReportInformationItem-ExtIEs} } OPTIONAL, + ... +} + +RACHReportInformationItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + + + +RadioResourceStatus ::= SEQUENCE { + sSBAreaRadioResourceStatusList SSBAreaRadioResourceStatusList, + iE-Extensions ProtocolExtensionContainer { { RadioResourceStatus-ExtIEs} } OPTIONAL +} + +RadioResourceStatus-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + RANAC ::= INTEGER (0..255) RANUEID ::= OCTET STRING (SIZE (8)) @@ -1493,13 +2861,24 @@ Reestablishment-Indication ::= ENUMERATED { ... } +ReferenceSFN ::= INTEGER (0..1023) + +ReferenceTime ::= OCTET STRING + +RegistrationRequest ::= ENUMERATED{start, stop, add, ...} + +ReportCharacteristics ::= BIT STRING (SIZE(32)) + +ReportingPeriodicity ::= ENUMERATED{ms500, ms1000, ms2000, ms5000, ms10000, ...} + RequestedBandCombinationIndex ::= OCTET STRING RequestedFeatureSetEntryIndex ::= OCTET STRING +RequestedP-MaxFR2 ::= OCTET STRING + Requested-PDCCH-BlindDetectionSCG ::= OCTET STRING -RequestedP-MaxFR2 ::= OCTET STRING RequestType ::= ENUMERATED {offer, execution, ...} @@ -1530,6 +2909,40 @@ ResourceCoordinationTransferContainer ::= OCTET STRING RepetitionPeriod ::= INTEGER (0..131071, ...) +ReportingRequestType ::= SEQUENCE { + eventType EventType, + reportingPeriodicityValue ReportingPeriodicityValue OPTIONAL, + -- C-ifEventTypeisPeriodic: This IE shall be present if the Event Type IE is set to "periodic" in the Event Type IE. + iE-Extensions ProtocolExtensionContainer { {ReportingRequestType-ExtIEs} } OPTIONAL +} + +ReportingRequestType-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +RLCDuplicationInformation ::= SEQUENCE { + rLCDuplicationStateList RLCDuplicationStateList, + primaryPathIndication PrimaryPathIndication OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RLCDuplicationInformation-ExtIEs} } OPTIONAL +} + +RLCDuplicationInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +RLCDuplicationStateList ::= SEQUENCE (SIZE(1..maxnoofRLCDuplicationState)) OF RLCDuplicationState-Item + +RLCDuplicationState-Item ::=SEQUENCE { + duplicationState DuplicationState, + iE-Extensions ProtocolExtensionContainer { {RLCDuplicationState-Item-ExtIEs } } OPTIONAL, + ... +} + + +RLCDuplicationState-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + RLCFailureIndication ::= SEQUENCE { assocatedLCID LCID, iE-Extensions ProtocolExtensionContainer { {RLCFailureIndication-ExtIEs} } OPTIONAL @@ -1553,10 +2966,25 @@ RLC-Status ::= SEQUENCE { ... } -RLC-Status-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { +RLC-Status-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +RLFReportInformationList ::= SEQUENCE (SIZE(1.. maxnoofRLFReports)) OF RLFReportInformationItem + +RLFReportInformationItem ::= SEQUENCE { + nRUERLFReportContainer NRUERLFReportContainer, + uEAssitantIdentifier GNB-DU-UE-F1AP-ID OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { RLFReportInformationItem-ExtIEs} } OPTIONAL, + ... +} + +RLFReportInformationItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } +RIMRSDetectionStatus ::= ENUMERATED {rs-detected, rs-disappeared, ...} + RRCContainer ::= OCTET STRING RRCContainer-RRCSetupComplete ::= OCTET STRING @@ -1682,11 +3110,16 @@ Served-Cell-Information ::= SEQUENCE { } Served-Cell-Information-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { - { ID id-RANAC CRITICALITY ignore EXTENSION RANAC PRESENCE optional }| - { ID id-ExtendedServedPLMNs-List CRITICALITY ignore EXTENSION ExtendedServedPLMNs-List PRESENCE optional }| - { ID id-Cell-Direction CRITICALITY ignore EXTENSION Cell-Direction PRESENCE optional }| - { ID id-BPLMN-ID-Info-List CRITICALITY ignore EXTENSION BPLMN-ID-Info-List PRESENCE optional }| - { ID id-Cell-Type CRITICALITY ignore EXTENSION CellType PRESENCE optional}, + { ID id-RANAC CRITICALITY ignore EXTENSION RANAC PRESENCE optional }| + { ID id-ExtendedServedPLMNs-List CRITICALITY ignore EXTENSION ExtendedServedPLMNs-List PRESENCE optional }| + { ID id-Cell-Direction CRITICALITY ignore EXTENSION Cell-Direction PRESENCE optional }| + { ID id-BPLMN-ID-Info-List CRITICALITY ignore EXTENSION BPLMN-ID-Info-List PRESENCE optional }| + { ID id-Cell-Type CRITICALITY ignore EXTENSION CellType PRESENCE optional}| + { ID id-AggressorgNBSetID CRITICALITY ignore EXTENSION AggressorgNBSetID PRESENCE optional}| + { ID id-VictimgNBSetID CRITICALITY ignore EXTENSION VictimgNBSetID PRESENCE optional}| + { ID id-IAB-Info-IAB-DU CRITICALITY ignore EXTENSION IAB-Info-IAB-DU PRESENCE optional}| + { ID id-SSB-PositionsInBurst CRITICALITY ignore EXTENSION SSB-PositionsInBurst PRESENCE optional }| + { ID id-NRPRACHConfig CRITICALITY ignore EXTENSION NRPRACHConfig PRESENCE optional }, ... } @@ -1757,6 +3190,14 @@ ShortDRXCycleTimer ::= INTEGER (1..16) SIB1-message ::= OCTET STRING +SIB10-message ::= OCTET STRING + +SIB12-message ::= OCTET STRING + +SIB13-message ::= OCTET STRING + +SIB14-message ::= OCTET STRING + SItype ::= INTEGER (1..32, ...) SItype-List ::= SEQUENCE (SIZE(1.. maxnoofSITypes)) OF SItype-Item @@ -1783,6 +3224,179 @@ SibtypetobeupdatedListItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } +SLDRBID ::= INTEGER (1..512, ...) + +SLDRBInformation ::= SEQUENCE { + sLDRB-QoS PC5QoSParameters, + flowsMappedToSLDRB-List FlowsMappedToSLDRB-List, + ... +} + +SLDRBs-FailedToBeModified-Item ::= SEQUENCE { + sLDRBID SLDRBID , + cause Cause OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { SLDRBs-FailedToBeModified-ItemExtIEs } } OPTIONAL +} + +SLDRBs-FailedToBeModified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +SLDRBs-FailedToBeSetup-Item ::= SEQUENCE { + sLDRBID SLDRBID, + cause Cause OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { SLDRBs-FailedToBeSetup-ItemExtIEs } } OPTIONAL +} + +SLDRBs-FailedToBeSetup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +SLDRBs-FailedToBeSetupMod-Item ::= SEQUENCE { + sLDRBID SLDRBID , + cause Cause OPTIONAL , + iE-Extensions ProtocolExtensionContainer { { SLDRBs-FailedToBeSetupMod-ItemExtIEs } } OPTIONAL +} + +SLDRBs-FailedToBeSetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +SLDRBs-Modified-Item ::= SEQUENCE { + sLDRBID SLDRBID, + iE-Extensions ProtocolExtensionContainer { { SLDRBs-Modified-ItemExtIEs } } OPTIONAL +} + +SLDRBs-Modified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +SLDRBs-ModifiedConf-Item ::= SEQUENCE { + sLDRBID SLDRBID, + iE-Extensions ProtocolExtensionContainer { { SLDRBs-ModifiedConf-ItemExtIEs } } OPTIONAL +} + +SLDRBs-ModifiedConf-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +SLDRBs-Required-ToBeModified-Item ::= SEQUENCE { + sLDRBID SLDRBID, + iE-Extensions ProtocolExtensionContainer { { SLDRBs-Required-ToBeModified-ItemExtIEs } } OPTIONAL +} + +SLDRBs-Required-ToBeModified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +SLDRBs-Required-ToBeReleased-Item ::= SEQUENCE { + sLDRBID SLDRBID, + iE-Extensions ProtocolExtensionContainer { { SLDRBs-Required-ToBeReleased-ItemExtIEs } } OPTIONAL +} + +SLDRBs-Required-ToBeReleased-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +SLDRBs-Setup-Item ::= SEQUENCE { + sLDRBID SLDRBID, + iE-Extensions ProtocolExtensionContainer { { SLDRBs-Setup-ItemExtIEs } } OPTIONAL +} + +SLDRBs-Setup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +SLDRBs-SetupMod-Item ::= SEQUENCE { + sLDRBID SLDRBID, + iE-Extensions ProtocolExtensionContainer { { SLDRBs-SetupMod-ItemExtIEs } } OPTIONAL +} + +SLDRBs-SetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +SLDRBs-ToBeModified-Item ::= SEQUENCE { + sLDRBID SLDRBID, + sLDRBInformation SLDRBInformation OPTIONAL, + rLCMode RLCMode OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { SLDRBs-ToBeModified-ItemExtIEs } } OPTIONAL +} + +SLDRBs-ToBeModified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +SLDRBs-ToBeReleased-Item ::= SEQUENCE { + sLDRBID SLDRBID, + iE-Extensions ProtocolExtensionContainer { { SLDRBs-ToBeReleased-ItemExtIEs } } OPTIONAL +} + +SLDRBs-ToBeReleased-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +SLDRBs-ToBeSetup-Item ::= SEQUENCE { + sLDRBID SLDRBID, + sLDRBInformation SLDRBInformation, + rLCMode RLCMode, + + iE-Extensions ProtocolExtensionContainer { { SLDRBs-ToBeSetup-ItemExtIEs } } OPTIONAL +} + +SLDRBs-ToBeSetup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +SLDRBs-ToBeSetupMod-Item ::= SEQUENCE { + sLDRBID SLDRBID, + sLDRBInformation SLDRBInformation, + rLCMode RLCMode OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { SLDRBs-ToBeSetupMod-ItemExtIEs } } OPTIONAL +} + +SLDRBs-ToBeSetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +SL-PHY-MAC-RLC-Config ::= OCTET STRING + +SL-ConfigDedicatedEUTRA ::= OCTET STRING + +SliceAvailableCapacity ::= SEQUENCE { + sliceAvailableCapacityList SliceAvailableCapacityList, + iE-Extensions ProtocolExtensionContainer { { SliceAvailableCapacity-ExtIEs} } OPTIONAL +} + +SliceAvailableCapacity-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +SliceAvailableCapacityList ::= SEQUENCE (SIZE(1.. maxnoofBPLMNsNR)) OF SliceAvailableCapacityItem + +SliceAvailableCapacityItem ::= SEQUENCE { + pLMNIdentity PLMN-Identity, + sNSSAIAvailableCapacity-List SNSSAIAvailableCapacity-List, + iE-Extensions ProtocolExtensionContainer { { SliceAvailableCapacityItem-ExtIEs} } OPTIONAL +} + +SliceAvailableCapacityItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +SNSSAIAvailableCapacity-List ::= SEQUENCE (SIZE(1.. maxnoofSliceItems)) OF SNSSAIAvailableCapacity-Item + +SNSSAIAvailableCapacity-Item ::= SEQUENCE { + sNSSAI SNSSAI, + sliceAvailableCapacityValueDownlink INTEGER (0..100) OPTIONAL, + sliceAvailableCapacityValueUplink INTEGER (0..100) OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { SNSSAIAvailableCapacity-Item-ExtIEs } } OPTIONAL +} + +SNSSAIAvailableCapacity-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + SliceSupportList ::= SEQUENCE (SIZE(1.. maxnoofSliceItems)) OF SliceSupportItem SliceSupportItem ::= SEQUENCE { @@ -1794,6 +3408,42 @@ SliceSupportItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } +SliceToReportList ::= SEQUENCE (SIZE(1.. maxnoofBPLMNsNR)) OF SliceToReportItem + +SliceToReportItem ::= SEQUENCE { + pLMNIdentity PLMN-Identity, + sNSSAIlist SNSSAI-list, + iE-Extensions ProtocolExtensionContainer { { SliceToReportItem-ExtIEs} } OPTIONAL +} + +SliceToReportItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +SNSSAI-list ::= SEQUENCE (SIZE(1.. maxnoofSliceItems)) OF SNSSAI-Item + +SNSSAI-Item ::= SEQUENCE { + sNSSAI SNSSAI, + iE-Extensions ProtocolExtensionContainer { { SNSSAI-Item-ExtIEs } } OPTIONAL +} + +SNSSAI-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +Slot-Configuration-List ::= SEQUENCE (SIZE(1.. maxnoofslots)) OF Slot-Configuration-Item + +Slot-Configuration-Item ::= SEQUENCE { + slotIndex INTEGER (0..319, ...), + symbolAllocInSlot SymbolAllocInSlot, + iE-Extensions ProtocolExtensionContainer { { Slot-Configuration-ItemExtIEs } } OPTIONAL +} + +Slot-Configuration-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + + SNSSAI ::= SEQUENCE { sST OCTET STRING (SIZE(1)), sD OCTET STRING (SIZE(3)) OPTIONAL , @@ -1891,6 +3541,7 @@ SRBs-ToBeSetup-Item ::= SEQUENCE { } SRBs-ToBeSetup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + { ID id-AdditionalDuplicationIndication CRITICALITY ignore EXTENSION AdditionalDuplicationIndication PRESENCE optional }, ... } @@ -1902,6 +3553,79 @@ SRBs-ToBeSetupMod-Item ::= SEQUENCE { } SRBs-ToBeSetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + { ID id-AdditionalDuplicationIndication CRITICALITY ignore EXTENSION AdditionalDuplicationIndication PRESENCE optional }, + ... +} + +SSB-freqInfo ::= INTEGER (0..maxNRARFCN) + +SSB-subcarrierSpacing ::= ENUMERATED {kHz15, kHz30, kHz120, kHz240, spare3, spare2, spare1, ...} + +SSB-transmissionPeriodicity ::= ENUMERATED {sf10, sf20, sf40, sf80, sf160, sf320, sf640, ...} + +SSB-transmissionTimingOffset ::= INTEGER (0..127, ...) + +SSB-transmissionBitmap ::= CHOICE { + shortBitmap BIT STRING (SIZE (4)), + mediumBitmap BIT STRING (SIZE (8)), + longBitmap BIT STRING (SIZE (64)), + choice-extension ProtocolIE-SingleContainer { { SSB-transmisisonBitmap-ExtIEs} } +} + +SSB-transmisisonBitmap-ExtIEs F1AP-PROTOCOL-IES ::= { + ... +} + +SSBAreaCapacityValueList ::= SEQUENCE (SIZE(1.. maxnoofSSBAreas)) OF SSBAreaCapacityValueItem + +SSBAreaCapacityValueItem ::= SEQUENCE { + sSBIndex INTEGER(0..63), + sSBAreaCapacityValue INTEGER (0..100), + iE-Extensions ProtocolExtensionContainer { { SSBAreaCapacityValueItem-ExtIEs} } OPTIONAL +} + +SSBAreaCapacityValueItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +SSBAreaRadioResourceStatusList::= SEQUENCE (SIZE(1.. maxnoofSSBAreas)) OF SSBAreaRadioResourceStatusItem + +SSBAreaRadioResourceStatusItem::= SEQUENCE { + sSBIndex INTEGER(0..63), + sSBAreaDLGBRPRBusage INTEGER (0..100), + sSBAreaULGBRPRBusage INTEGER (0..100), + sSBAreaDLnon-GBRPRBusage INTEGER (0..100), + sSBAreaULnon-GBRPRBusage INTEGER (0..100), + sSBAreaDLTotalPRBusage INTEGER (0..100), + sSBAreaULTotalPRBusage INTEGER (0..100), + dLschedulingPDCCHCCEusage INTEGER (0..100) OPTIONAL, + uLschedulingPDCCHCCEusage INTEGER (0..100) OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { SSBAreaRadioResourceStatusItem-ExtIEs} } OPTIONAL +} + +SSBAreaRadioResourceStatusItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +SSB-PositionsInBurst ::= CHOICE { + shortBitmap BIT STRING (SIZE (4)), + mediumBitmap BIT STRING (SIZE (8)), + longBitmap BIT STRING (SIZE (64)), + choice-extension ProtocolIE-SingleContainer { {SSB-PositionsInBurst-ExtIEs} } +} + +SSB-PositionsInBurst-ExtIEs F1AP-PROTOCOL-IES ::= { + ... +} + +SSBToReportList ::= SEQUENCE (SIZE(1.. maxnoofSSBAreas)) OF SSBToReportItem + +SSBToReportItem ::= SEQUENCE { + sSBIndex INTEGER(0..63), + iE-Extensions ProtocolExtensionContainer { { SSBToReportItem-ExtIEs} } OPTIONAL +} + +SSBToReportItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } @@ -1913,9 +3637,13 @@ SUL-Information ::= SEQUENCE { } SUL-InformationExtIEs F1AP-PROTOCOL-EXTENSION ::= { + { ID id-CarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional }| + { ID id-FrequencyShift7p5khz CRITICALITY ignore EXTENSION FrequencyShift7p5khz PRESENCE optional }, ... } +SubcarrierSpacing ::= ENUMERATED { kHz15, kHz30, kHz60, kHz120, kHz240, spare3, spare2, spare1, ...} + SubscriberProfileIDforRFP ::= INTEGER (1..256, ...) SULAccessIndication ::= ENUMERATED {true,...} @@ -1931,6 +3659,17 @@ SupportedSULFreqBandItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } +SymbolAllocInSlot ::= CHOICE { + all-DL NULL, + all-UL NULL, + both-DL-and-UL NumDLULSymbols, + choice-extension ProtocolIE-SingleContainer { { SymbolAllocInSlot-ExtIEs } } +} + +SymbolAllocInSlot-ExtIEs F1AP-PROTOCOL-IES ::= { + ... +} + SystemInformationAreaID ::=BIT STRING (SIZE (24)) -- T @@ -1939,6 +3678,17 @@ FiveGS-TAC ::= OCTET STRING (SIZE(3)) Configured-EPS-TAC ::= OCTET STRING (SIZE(2)) +TargetCellList ::= SEQUENCE (SIZE(1..maxnoofCHOcells)) OF TargetCellList-Item + +TargetCellList-Item ::= SEQUENCE { + target-cell NRCGI, + iE-Extensions ProtocolExtensionContainer { { TargetCellList-Item-ExtIEs} } OPTIONAL +} + +TargetCellList-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + TDD-Info ::= SEQUENCE { nRFreqInfo NRFreqInfo, transmission-Bandwidth Transmission-Bandwidth, @@ -1947,9 +3697,28 @@ TDD-Info ::= SEQUENCE { } TDD-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + {ID id-IntendedTDD-DL-ULConfig CRITICALITY ignore EXTENSION IntendedTDD-DL-ULConfig PRESENCE optional}| + {ID id-TDD-UL-DLConfigCommonNR CRITICALITY ignore EXTENSION TDD-UL-DLConfigCommonNR PRESENCE optional }| + {ID id-CarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional }, + ... +} + +TDD-UL-DLConfigCommonNR ::= OCTET STRING + +TimeReferenceInformation ::= SEQUENCE { + referenceTime ReferenceTime, + referenceSFN ReferenceSFN, + uncertainty Uncertainty, + timeInformationType TimeInformationType, + iE-Extensions ProtocolExtensionContainer { {TimeReferenceInformation-ExtIEs} } OPTIONAL +} + +TimeReferenceInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } +TimeInformationType ::= ENUMERATED {localClock} + TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...} TNLAssociationUsage ::= ENUMERATED { @@ -1959,6 +3728,54 @@ TNLAssociationUsage ::= ENUMERATED { ... } +TNLCapacityIndicator::= SEQUENCE { + dLTNLOfferedCapacity INTEGER (1.. 16777216,...), + dLTNLAvailableCapacity INTEGER (0.. 100,...), + uLTNLOfferedCapacity INTEGER (1.. 16777216,...), + uLTNLAvailableCapacity INTEGER (0.. 100,...), + iE-Extensions ProtocolExtensionContainer { { TNLCapacityIndicator-ExtIEs} } OPTIONAL +} + +TNLCapacityIndicator-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +TraceActivation ::= SEQUENCE { + traceID TraceID, + interfacesToTrace InterfacesToTrace, + traceDepth TraceDepth, + traceCollectionEntityIPAddress TransportLayerAddress, + iE-Extensions ProtocolExtensionContainer { {TraceActivation-ExtIEs} } OPTIONAL +} + +TraceActivation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + {ID id-mdtConfiguration CRITICALITY ignore EXTENSION MDTConfiguration PRESENCE optional}| + {ID id-TraceCollectionEntityURI CRITICALITY ignore EXTENSION URI-address PRESENCE optional }, + ... +} + +TraceDepth ::= ENUMERATED { + minimum, + medium, + maximum, + minimumWithoutVendorSpecificExtension, + mediumWithoutVendorSpecificExtension, + maximumWithoutVendorSpecificExtension, + ... +} + +TraceID ::= OCTET STRING (SIZE(8)) + +TrafficMappingInfo ::= CHOICE { + iPtolayer2TrafficMappingInfo IPtolayer2TrafficMappingInfo, + bAPlayerBHRLCchannelMappingInfo BAPlayerBHRLCchannelMappingInfo, + choice-extension ProtocolIE-SingleContainer { { TrafficMappingInfo-ExtIEs} } +} + +TrafficMappingInfo-ExtIEs F1AP-PROTOCOL-IES ::= { + ... +} + TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...)) TransactionID ::= INTEGER (0..255, ...) @@ -1974,6 +3791,31 @@ Transmission-Bandwidth-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } + +Transport-UP-Layer-Address-Info-To-Add-List ::= SEQUENCE (SIZE(1.. maxnoofTLAs)) OF Transport-UP-Layer-Address-Info-To-Add-Item + +Transport-UP-Layer-Address-Info-To-Add-Item ::= SEQUENCE { + iP-SecTransportLayerAddress TransportLayerAddress, + gTPTransportLayerAddressToAdd GTPTLAs OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { Transport-UP-Layer-Address-Info-To-Add-ItemExtIEs } } OPTIONAL +} + +Transport-UP-Layer-Address-Info-To-Add-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +Transport-UP-Layer-Address-Info-To-Remove-List ::= SEQUENCE (SIZE(1.. maxnoofTLAs)) OF Transport-UP-Layer-Address-Info-To-Remove-Item + +Transport-UP-Layer-Address-Info-To-Remove-Item ::= SEQUENCE { + iP-SecTransportLayerAddress TransportLayerAddress, + gTPTransportLayerAddressToRemove GTPTLAs OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { Transport-UP-Layer-Address-Info-To-Remove-ItemExtIEs } } OPTIONAL +} + +Transport-UP-Layer-Address-Info-To-Remove-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + TransmissionActionIndicator ::= ENUMERATED {stop, ..., restart } TypeOfError ::= ENUMERATED { @@ -1982,6 +3824,38 @@ TypeOfError ::= ENUMERATED { ... } +Transport-Layer-Address-Info ::= SEQUENCE { + transport-UP-Layer-Address-Info-To-Add-List Transport-UP-Layer-Address-Info-To-Add-List OPTIONAL, + transport-UP-Layer-Address-Info-To-Remove-List Transport-UP-Layer-Address-Info-To-Remove-List OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { Transport-Layer-Address-Info-ExtIEs } } OPTIONAL +} + +Transport-Layer-Address-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +TSCAssistanceInformation ::= SEQUENCE { + periodicity Periodicity, + burstArrivalTime BurstArrivalTime OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {TSCAssistanceInformation-ExtIEs} } OPTIONAL, + ... +} + +TSCAssistanceInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +TSCTrafficCharacteristics ::= SEQUENCE { + tSCAssistanceInformationDL TSCAssistanceInformation OPTIONAL, + tSCAssistanceInformationUL TSCAssistanceInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {TSCTrafficCharacteristics-ExtIEs} } OPTIONAL, + ... +} + +TSCTrafficCharacteristics-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + -- U UAC-Assistance-Info ::= SEQUENCE { uACPLMN-List UACPLMN-List, @@ -2000,6 +3874,7 @@ UACPLMN-Item::= SEQUENCE { } UACPLMN-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + { ID id-NID CRITICALITY ignore EXTENSION NID PRESENCE optional }, ... } @@ -2056,6 +3931,8 @@ UE-associatedLogicalF1-ConnectionItem ::= SEQUENCE { UEAssistanceInformation ::= OCTET STRING +UEAssistanceInformationEUTRA ::= OCTET STRING + UE-associatedLogicalF1-ConnectionItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { ... } @@ -2073,6 +3950,27 @@ UEIdentityIndexValueChoice-ExtIEs F1AP-PROTOCOL-IES ::= { ... } +UL-BH-Non-UP-Traffic-Mapping ::= SEQUENCE { + uL-BH-Non-UP-Traffic-Mapping-List UL-BH-Non-UP-Traffic-Mapping-List, + iE-Extensions ProtocolExtensionContainer { { UL-BH-Non-UP-Traffic-Mapping-ExtIEs } } OPTIONAL +} + +UL-BH-Non-UP-Traffic-Mapping-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +UL-BH-Non-UP-Traffic-Mapping-List ::= SEQUENCE (SIZE(1..maxnoofNonUPTrafficMappings)) OF UL-BH-Non-UP-Traffic-Mapping-Item + +UL-BH-Non-UP-Traffic-Mapping-Item ::= SEQUENCE { + nonUPTrafficType NonUPTrafficType, + bHInfo BHInfo, + iE-Extensions ProtocolExtensionContainer { { UL-BH-Non-UP-Traffic-Mapping-ItemExtIEs } } OPTIONAL +} + +UL-BH-Non-UP-Traffic-Mapping-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + ULConfiguration ::= SEQUENCE { uLUEConfiguration ULUEConfiguration, iE-Extensions ProtocolExtensionContainer { { ULConfigurationExtIEs } } OPTIONAL, @@ -2084,6 +3982,28 @@ ULConfigurationExtIEs F1AP-PROTOCOL-EXTENSION ::= { ULUEConfiguration ::= ENUMERATED {no-data, shared, only, ...} +UL-UP-TNL-Information-to-Update-List-Item ::= SEQUENCE { + uLUPTNLInformation UPTransportLayerInformation, + newULUPTNLInformation UPTransportLayerInformation OPTIONAL, + bHInfo BHInfo, + iE-Extensions ProtocolExtensionContainer { { UL-UP-TNL-Information-to-Update-List-ItemExtIEs } } OPTIONAL, + ... +} + +UL-UP-TNL-Information-to-Update-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +UL-UP-TNL-Address-to-Update-List-Item ::= SEQUENCE { + oldIPAdress TransportLayerAddress, + newIPAdress TransportLayerAddress, + iE-Extensions ProtocolExtensionContainer { { UL-UP-TNL-Address-to-Update-List-ItemExtIEs } } OPTIONAL, + ... +} + +UL-UP-TNL-Address-to-Update-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} ULUPTNLInformation-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofULUPTNLInformation)) OF ULUPTNLInformation-ToBeSetup-Item @@ -2094,9 +4014,12 @@ ULUPTNLInformation-ToBeSetup-Item ::=SEQUENCE { } ULUPTNLInformation-ToBeSetup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= { + { ID id-BHInfo CRITICALITY ignore EXTENSION BHInfo PRESENCE optional }, ... } +Uncertainty ::= INTEGER (0..32767, ...) + UplinkTxDirectCurrentListInformation ::= OCTET STRING UPTransportLayerInformation ::= CHOICE { @@ -2107,8 +4030,32 @@ UPTransportLayerInformation ::= CHOICE { UPTransportLayerInformation-ExtIEs F1AP-PROTOCOL-IES ::= { ... } + +URI-address ::= VisibleString + -- V +VictimgNBSetID ::= SEQUENCE { + victimgNBSetID GNBSetID, + iE-Extensions ProtocolExtensionContainer { { VictimgNBSetID-ExtIEs } } OPTIONAL +} + +VictimgNBSetID-ExtIEs F1AP-PROTOCOL-EXTENSION ::= { + ... +} + +VehicleUE ::= ENUMERATED { + authorized, + not-authorized, + ... +} + +PedestrianUE ::= ENUMERATED { + authorized, + not-authorized, + ... +} + -- W -- X diff --git a/epan/dissectors/asn1/f1ap/F1AP-PDU-Contents.asn b/epan/dissectors/asn1/f1ap/F1AP-PDU-Contents.asn index ec13104c3a..6c26143e1b 100644 --- a/epan/dissectors/asn1/f1ap/F1AP-PDU-Contents.asn +++ b/epan/dissectors/asn1/f1ap/F1AP-PDU-Contents.asn @@ -1,4 +1,4 @@ --- 3GPP TS 38.473 V15.8.0 (2019-12) +-- 3GPP TS 38.473 V16.2.0 (2020-07) -- 9.4.4 PDU Definitions -- ************************************************************** -- @@ -62,6 +62,7 @@ IMPORTS GNB-DU-Name, InactivityMonitoringRequest, InactivityMonitoringResponse, + LowerLayerPresenceStatusChange, NotificationControl, NRCGI, NRPCI, @@ -145,7 +146,88 @@ IMPORTS UAC-Assistance-Info, RANUEID, GNB-DU-TNL-Association-To-Remove-Item, - NotificationInformation + NotificationInformation, + TraceActivation, + TraceID, + Neighbour-Cell-Information-Item, + SymbolAllocInSlot, + NumDLULSymbols, + AdditionalRRMPriorityIndex, + DUCURadioInformationType, + CUDURadioInformationType, + Transport-Layer-Address-Info, + BHChannels-ToBeSetup-Item, + BHChannels-Setup-Item, + BHChannels-FailedToBeSetup-Item, + BHChannels-ToBeModified-Item, + BHChannels-ToBeReleased-Item, + BHChannels-ToBeSetupMod-Item, + BHChannels-FailedToBeModified-Item, + BHChannels-FailedToBeSetupMod-Item, + BHChannels-Modified-Item, + BHChannels-SetupMod-Item, + BHChannels-Required-ToBeReleased-Item, + BAPAddress, + BAPPathID, + BAPRoutingID, + BH-Routing-Information-Added-List-Item, + BH-Routing-Information-Removed-List-Item, + Child-Nodes-List, + Child-Nodes-List-Item, + Child-Node-Cells-List, + Child-Node-Cells-List-Item, + Activated-Cells-to-be-Updated-List, + Activated-Cells-to-be-Updated-List-Item, + UL-BH-Non-UP-Traffic-Mapping, + IABTNLAddressesRequested, + IABIPv6RequestType, + IAB-TNL-Addresses-To-Remove-Item, + IABTNLAddress, + IAB-Allocated-TNL-Address-Item, + IABv4AddressesRequested, + TrafficMappingInfo, + UL-UP-TNL-Information-to-Update-List-Item, + UL-UP-TNL-Address-to-Update-List-Item, + DL-UP-TNL-Address-to-Update-List-Item, + NRV2XServicesAuthorized, + LTEV2XServicesAuthorized, + NRUESidelinkAggregateMaximumBitrate, + LTEUESidelinkAggregateMaximumBitrate, + SLDRBs-SetupMod-Item, + SLDRBs-ModifiedConf-Item, + SLDRBID, + SLDRBs-FailedToBeModified-Item, + SLDRBs-FailedToBeSetup-Item, + SLDRBs-FailedToBeSetupMod-Item, + SLDRBs-Modified-Item, + SLDRBs-Required-ToBeModified-Item, + SLDRBs-Required-ToBeReleased-Item, + SLDRBs-Setup-Item, + SLDRBs-ToBeModified-Item, + SLDRBs-ToBeReleased-Item, + SLDRBs-ToBeSetup-Item, + SLDRBs-ToBeSetupMod-Item, + GNBCUMeasurementID, + GNBDUMeasurementID, + RegistrationRequest, + ReportCharacteristics, + CellToReportList, + HardwareLoadIndicator, + CellMeasurementResultList, + ReportingPeriodicity, + TNLCapacityIndicator, + RACHReportInformationList, + RLFReportInformationList, + ReportingRequestType, + TimeReferenceInformation, + ConditionalInterDUMobilityInformation, + ConditionalIntraDUMobilityInformation, + TargetCellList, + MDTPLMNList, + PrivacyIndicator, + TransportLayerAddress, + URI-address, + NID FROM F1AP-IEs @@ -347,6 +429,114 @@ FROM F1AP-Containers id-GNB-DU-TNL-Association-To-Remove-Item, id-GNB-DU-TNL-Association-To-Remove-List, id-NotificationInformation, + id-TraceActivation, + id-TraceID, + id-Neighbour-Cell-Information-List, + id-Neighbour-Cell-Information-Item, + id-SymbolAllocInSlot, + id-NumDLULSymbols, + id-AdditionalRRMPriorityIndex, + id-DUCURadioInformationType, + id-CUDURadioInformationType, + id-LowerLayerPresenceStatusChange, + id-Transport-Layer-Address-Info, + id-BHChannels-ToBeSetup-List, + id-BHChannels-ToBeSetup-Item, + id-BHChannels-Setup-List, + id-BHChannels-Setup-Item, + id-BHChannels-ToBeModified-Item, + id-BHChannels-ToBeModified-List, + id-BHChannels-ToBeReleased-Item, + id-BHChannels-ToBeReleased-List, + id-BHChannels-ToBeSetupMod-Item, + id-BHChannels-ToBeSetupMod-List, + id-BHChannels-FailedToBeSetup-Item, + id-BHChannels-FailedToBeSetup-List, + id-BHChannels-FailedToBeModified-Item, + id-BHChannels-FailedToBeModified-List, + id-BHChannels-FailedToBeSetupMod-Item, + id-BHChannels-FailedToBeSetupMod-List, + id-BHChannels-Modified-Item, + id-BHChannels-Modified-List, + id-BHChannels-SetupMod-Item, + id-BHChannels-SetupMod-List, + id-BHChannels-Required-ToBeReleased-Item, + id-BHChannels-Required-ToBeReleased-List, + id-BAPAddress, + id-ConfiguredBAPAddress, + id-BH-Routing-Information-Added-List, + id-BH-Routing-Information-Added-List-Item, + id-BH-Routing-Information-Removed-List, + id-BH-Routing-Information-Removed-List-Item, + id-UL-BH-Non-UP-Traffic-Mapping, + id-Child-Nodes-List, + id-Activated-Cells-to-be-Updated-List, + id-IABIPv6RequestType, + id-IAB-TNL-Addresses-To-Remove-List, + id-IAB-TNL-Addresses-To-Remove-Item, + id-IAB-Allocated-TNL-Address-List, + id-IAB-Allocated-TNL-Address-Item, + id-IABv4AddressesRequested, + id-TrafficMappingInformation, + id-UL-UP-TNL-Information-to-Update-List, + id-UL-UP-TNL-Information-to-Update-List-Item, + id-UL-UP-TNL-Address-to-Update-List, + id-UL-UP-TNL-Address-to-Update-List-Item, + id-DL-UP-TNL-Address-to-Update-List, + id-DL-UP-TNL-Address-to-Update-List-Item, + id-NRV2XServicesAuthorized, + id-LTEV2XServicesAuthorized, + id-NRUESidelinkAggregateMaximumBitrate, + id-LTEUESidelinkAggregateMaximumBitrate, + id-PC5LinkAMBR, + id-SLDRBs-FailedToBeModified-Item, + id-SLDRBs-FailedToBeModified-List, + id-SLDRBs-FailedToBeSetup-Item, + id-SLDRBs-FailedToBeSetup-List, + id-SLDRBs-Modified-Item, + id-SLDRBs-Modified-List, + id-SLDRBs-Required-ToBeModified-Item, + id-SLDRBs-Required-ToBeModified-List, + id-SLDRBs-Required-ToBeReleased-Item, + id-SLDRBs-Required-ToBeReleased-List, + id-SLDRBs-Setup-Item, + id-SLDRBs-Setup-List, + id-SLDRBs-ToBeModified-Item, + id-SLDRBs-ToBeModified-List, + id-SLDRBs-ToBeReleased-Item, + id-SLDRBs-ToBeReleased-List, + id-SLDRBs-ToBeSetup-Item, + id-SLDRBs-ToBeSetup-List, + id-SLDRBs-ToBeSetupMod-Item, + id-SLDRBs-ToBeSetupMod-List, + id-SLDRBs-SetupMod-List, + id-SLDRBs-FailedToBeSetupMod-List, + id-SLDRBs-SetupMod-Item, + id-SLDRBs-FailedToBeSetupMod-Item, + id-SLDRBs-ModifiedConf-List, + id-SLDRBs-ModifiedConf-Item, + id-gNBCUMeasurementID, + id-gNBDUMeasurementID, + id-RegistrationRequest, + id-ReportCharacteristics, + id-CellToReportList, + id-CellMeasurementResultList, + id-HardwareLoadIndicator, + id-ReportingPeriodicity, + id-TNLCapacityIndicator, + id-RACHReportInformationList, + id-RLFReportInformationList, + id-ReportingRequestType, + id-TimeReferenceInformation, + id-ConditionalInterDUMobilityInformation, + id-ConditionalIntraDUMobilityInformation, + id-targetCellsToCancel, + id-requestedTargetCellGlobalID, + id-TraceCollectionEntityIPAddress, + id-ManagementBasedMDTPLMNList, + id-PrivacyIndicator, + id-TraceCollectionEntityURI, + id-ServingNID, maxCellingNBDU, maxnoofCandidateSpCells, maxnoofDRBs, @@ -358,7 +548,15 @@ FROM F1AP-Containers maxnoofPagingCells, maxnoofTNLAssociations, maxCellineNB, - maxnoofUEIDs + maxnoofUEIDs, + maxnoofBHRLCChannels, + maxnoofRoutingEntries, + maxnoofChildIABNodes, + maxnoofServedCellsIAB, + maxnoofTLAsIAB, + maxnoofULUPTNLInformationforIAB, + maxnoofUPTNLAddresses, + maxnoofSLDRBs @@ -482,11 +680,13 @@ F1SetupRequest ::= SEQUENCE { } F1SetupRequestIEs F1AP-PROTOCOL-IES ::= { - { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| - { ID id-gNB-DU-ID CRITICALITY reject TYPE GNB-DU-ID PRESENCE mandatory }| - { ID id-gNB-DU-Name CRITICALITY ignore TYPE GNB-DU-Name PRESENCE optional }| - { ID id-gNB-DU-Served-Cells-List CRITICALITY reject TYPE GNB-DU-Served-Cells-List PRESENCE optional }| - { ID id-GNB-DU-RRC-Version CRITICALITY reject TYPE RRC-Version PRESENCE mandatory }, + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| + { ID id-gNB-DU-ID CRITICALITY reject TYPE GNB-DU-ID PRESENCE mandatory }| + { ID id-gNB-DU-Name CRITICALITY ignore TYPE GNB-DU-Name PRESENCE optional }| + { ID id-gNB-DU-Served-Cells-List CRITICALITY reject TYPE GNB-DU-Served-Cells-List PRESENCE optional }| + { ID id-GNB-DU-RRC-Version CRITICALITY reject TYPE RRC-Version PRESENCE mandatory }| + { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional }| + { ID id-BAPAddress CRITICALITY ignore TYPE BAPAddress PRESENCE optional }, ... } @@ -512,10 +712,13 @@ F1SetupResponse ::= SEQUENCE { F1SetupResponseIEs F1AP-PROTOCOL-IES ::= { - { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| - { ID id-gNB-CU-Name CRITICALITY ignore TYPE GNB-CU-Name PRESENCE optional }| - { ID id-Cells-to-be-Activated-List CRITICALITY reject TYPE Cells-to-be-Activated-List PRESENCE optional }| - { ID id-GNB-CU-RRC-Version CRITICALITY reject TYPE RRC-Version PRESENCE mandatory }, + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| + { ID id-gNB-CU-Name CRITICALITY ignore TYPE GNB-CU-Name PRESENCE optional }| + { ID id-Cells-to-be-Activated-List CRITICALITY reject TYPE Cells-to-be-Activated-List PRESENCE optional }| + { ID id-GNB-CU-RRC-Version CRITICALITY reject TYPE RRC-Version PRESENCE mandatory }| + { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional }| + { ID id-UL-BH-Non-UP-Traffic-Mapping CRITICALITY reject TYPE UL-BH-Non-UP-Traffic-Mapping PRESENCE optional }| + { ID id-BAPAddress CRITICALITY ignore TYPE BAPAddress PRESENCE optional }, ... } @@ -574,7 +777,8 @@ GNBDUConfigurationUpdateIEs F1AP-PROTOCOL-IES ::= { { ID id-Cells-Status-List CRITICALITY reject TYPE Cells-Status-List PRESENCE optional }| { ID id-Dedicated-SIDelivery-NeededUE-List CRITICALITY ignore TYPE Dedicated-SIDelivery-NeededUE-List PRESENCE optional }| { ID id-gNB-DU-ID CRITICALITY reject TYPE GNB-DU-ID PRESENCE optional }| - { ID id-GNB-DU-TNL-Association-To-Remove-List CRITICALITY reject TYPE GNB-DU-TNL-Association-To-Remove-List PRESENCE optional }, + { ID id-GNB-DU-TNL-Association-To-Remove-List CRITICALITY reject TYPE GNB-DU-TNL-Association-To-Remove-List PRESENCE optional }| + { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional }, ... } @@ -635,7 +839,9 @@ GNBDUConfigurationUpdateAcknowledgeIEs F1AP-PROTOCOL-IES ::= { { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| { ID id-Cells-to-be-Activated-List CRITICALITY reject TYPE Cells-to-be-Activated-List PRESENCE optional }| { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }| - { ID id-Cells-to-be-Deactivated-List CRITICALITY reject TYPE Cells-to-be-Deactivated-List PRESENCE optional }, + { ID id-Cells-to-be-Deactivated-List CRITICALITY reject TYPE Cells-to-be-Deactivated-List PRESENCE optional }| + { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional }| + { ID id-UL-BH-Non-UP-Traffic-Mapping CRITICALITY reject TYPE UL-BH-Non-UP-Traffic-Mapping PRESENCE optional }, ... } @@ -683,7 +889,10 @@ GNBCUConfigurationUpdateIEs F1AP-PROTOCOL-IES ::= { { ID id-GNB-CU-TNL-Association-To-Remove-List CRITICALITY ignore TYPE GNB-CU-TNL-Association-To-Remove-List PRESENCE optional }| { ID id-GNB-CU-TNL-Association-To-Update-List CRITICALITY ignore TYPE GNB-CU-TNL-Association-To-Update-List PRESENCE optional }| { ID id-Cells-to-be-Barred-List CRITICALITY ignore TYPE Cells-to-be-Barred-List PRESENCE optional }| - { ID id-Protected-EUTRA-Resources-List CRITICALITY reject TYPE Protected-EUTRA-Resources-List PRESENCE optional }, + { ID id-Protected-EUTRA-Resources-List CRITICALITY reject TYPE Protected-EUTRA-Resources-List PRESENCE optional }| + { ID id-Neighbour-Cell-Information-List CRITICALITY ignore TYPE Neighbour-Cell-Information-List PRESENCE optional }| + { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional }| + { ID id-UL-BH-Non-UP-Traffic-Mapping CRITICALITY reject TYPE UL-BH-Non-UP-Traffic-Mapping PRESENCE optional }, ... } @@ -726,6 +935,12 @@ Protected-EUTRA-Resources-ItemIEs F1AP-PROTOCOL-IES ::= { ... } +Neighbour-Cell-Information-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Neighbour-Cell-Information-ItemIEs } } +Neighbour-Cell-Information-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-Neighbour-Cell-Information-Item CRITICALITY ignore TYPE Neighbour-Cell-Information-Item PRESENCE mandatory}, + ... +} + -- ************************************************************** -- -- GNB-CU CONFIGURATION UPDATE ACKNOWLEDGE @@ -739,12 +954,13 @@ GNBCUConfigurationUpdateAcknowledge ::= SEQUENCE { GNBCUConfigurationUpdateAcknowledgeIEs F1AP-PROTOCOL-IES ::= { - { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| - { ID id-Cells-Failed-to-be-Activated-List CRITICALITY reject TYPE Cells-Failed-to-be-Activated-List PRESENCE optional}| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }| - { ID id-GNB-CU-TNL-Association-Setup-List CRITICALITY ignore TYPE GNB-CU-TNL-Association-Setup-List PRESENCE optional }| - { ID id-GNB-CU-TNL-Association-Failed-To-Setup-List CRITICALITY ignore TYPE GNB-CU-TNL-Association-Failed-To-Setup-List PRESENCE optional }| - { ID id-Dedicated-SIDelivery-NeededUE-List CRITICALITY ignore TYPE Dedicated-SIDelivery-NeededUE-List PRESENCE optional }, + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| + { ID id-Cells-Failed-to-be-Activated-List CRITICALITY reject TYPE Cells-Failed-to-be-Activated-List PRESENCE optional}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }| + { ID id-GNB-CU-TNL-Association-Setup-List CRITICALITY ignore TYPE GNB-CU-TNL-Association-Setup-List PRESENCE optional }| + { ID id-GNB-CU-TNL-Association-Failed-To-Setup-List CRITICALITY ignore TYPE GNB-CU-TNL-Association-Failed-To-Setup-List PRESENCE optional }| + { ID id-Dedicated-SIDelivery-NeededUE-List CRITICALITY ignore TYPE Dedicated-SIDelivery-NeededUE-List PRESENCE optional }| + { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional }, ... } @@ -803,7 +1019,7 @@ GNBDUResourceCoordinationRequest ::= SEQUENCE { GNBDUResourceCoordinationRequest-IEs F1AP-PROTOCOL-IES ::= { { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| { ID id-RequestType CRITICALITY reject TYPE RequestType PRESENCE mandatory }| - { ID id-EUTRA-NR-CellResourceCoordinationReq-Container CRITICALITY reject TYPE EUTRA-NR-CellResourceCoordinationReq-Container PRESENCE mandatory}| + { ID id-EUTRA-NR-CellResourceCoordinationReq-Container CRITICALITY reject TYPE EUTRA-NR-CellResourceCoordinationReq-Container PRESENCE mandatory}| { ID id-IgnoreResourceCoordinationContainer CRITICALITY reject TYPE IgnoreResourceCoordinationContainer PRESENCE optional }, ... } @@ -862,11 +1078,24 @@ UEContextSetupRequestIEs F1AP-PROTOCOL-IES ::= { { ID id-MaskedIMEISV CRITICALITY ignore TYPE MaskedIMEISV PRESENCE optional }| { ID id-ServingPLMN CRITICALITY ignore TYPE PLMN-Identity PRESENCE optional }| { ID id-GNB-DU-UE-AMBR-UL CRITICALITY ignore TYPE BitRate PRESENCE conditional }| - { ID id-RRCDeliveryStatusRequest CRITICALITY ignore TYPE RRCDeliveryStatusRequest PRESENCE optional }| + { ID id-RRCDeliveryStatusRequest CRITICALITY ignore TYPE RRCDeliveryStatusRequest PRESENCE optional }| { ID id-ResourceCoordinationTransferInformation CRITICALITY ignore TYPE ResourceCoordinationTransferInformation PRESENCE optional }| { ID id-ServingCellMO CRITICALITY ignore TYPE ServingCellMO PRESENCE optional }| { ID id-new-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE optional }| - { ID id-RANUEID CRITICALITY ignore TYPE RANUEID PRESENCE optional }, + { ID id-RANUEID CRITICALITY ignore TYPE RANUEID PRESENCE optional }| + { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }| + { ID id-AdditionalRRMPriorityIndex CRITICALITY ignore TYPE AdditionalRRMPriorityIndex PRESENCE optional }| + { ID id-BHChannels-ToBeSetup-List CRITICALITY reject TYPE BHChannels-ToBeSetup-List PRESENCE optional }| + { ID id-ConfiguredBAPAddress CRITICALITY reject TYPE BAPAddress PRESENCE optional }| + { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }| + { ID id-LTEV2XServicesAuthorized CRITICALITY ignore TYPE LTEV2XServicesAuthorized PRESENCE optional }| + { ID id-NRUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }| + { ID id-LTEUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE LTEUESidelinkAggregateMaximumBitrate PRESENCE optional }| + { ID id-PC5LinkAMBR CRITICALITY ignore TYPE BitRate PRESENCE optional}| + { ID id-SLDRBs-ToBeSetup-List CRITICALITY reject TYPE SLDRBs-ToBeSetup-List PRESENCE optional }| + { ID id-ConditionalInterDUMobilityInformation CRITICALITY reject TYPE ConditionalInterDUMobilityInformation PRESENCE optional}| + { ID id-ManagementBasedMDTPLMNList CRITICALITY ignore TYPE MDTPLMNList PRESENCE optional }| + { ID id-ServingNID CRITICALITY reject TYPE NID PRESENCE optional }, ... } @@ -874,7 +1103,8 @@ Candidate-SpCell-List::= SEQUENCE (SIZE(1..maxnoofCandidateSpCells)) OF Protocol SCell-ToBeSetup-List::= SEQUENCE (SIZE(1..maxnoofSCells)) OF ProtocolIE-SingleContainer { { SCell-ToBeSetup-ItemIEs} } SRBs-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-ToBeSetup-ItemIEs} } DRBs-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-ToBeSetup-ItemIEs} } - +BHChannels-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-ToBeSetup-ItemIEs} } +SLDRBs-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-ToBeSetup-ItemIEs} } Candidate-SpCell-ItemIEs F1AP-PROTOCOL-IES ::= { { ID id-Candidate-SpCell-Item CRITICALITY ignore TYPE Candidate-SpCell-Item PRESENCE mandatory }, @@ -897,7 +1127,15 @@ DRBs-ToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= { ... } +BHChannels-ToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-BHChannels-ToBeSetup-Item CRITICALITY reject TYPE BHChannels-ToBeSetup-Item PRESENCE mandatory}, + ... +} +SLDRBs-ToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-SLDRBs-ToBeSetup-Item CRITICALITY reject TYPE SLDRBs-ToBeSetup-Item PRESENCE mandatory}, + ... +} -- ************************************************************** -- @@ -924,7 +1162,12 @@ UEContextSetupResponseIEs F1AP-PROTOCOL-IES ::= { { ID id-SCell-FailedtoSetup-List CRITICALITY ignore TYPE SCell-FailedtoSetup-List PRESENCE optional }| { ID id-InactivityMonitoringResponse CRITICALITY reject TYPE InactivityMonitoringResponse PRESENCE optional }| { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }| - { ID id-SRBs-Setup-List CRITICALITY ignore TYPE SRBs-Setup-List PRESENCE optional }, + { ID id-SRBs-Setup-List CRITICALITY ignore TYPE SRBs-Setup-List PRESENCE optional }| + { ID id-BHChannels-Setup-List CRITICALITY ignore TYPE BHChannels-Setup-List PRESENCE optional }| + { ID id-BHChannels-FailedToBeSetup-List CRITICALITY ignore TYPE BHChannels-FailedToBeSetup-List PRESENCE optional }| + { ID id-SLDRBs-Setup-List CRITICALITY ignore TYPE SLDRBs-Setup-List PRESENCE optional }| + { ID id-SLDRBs-FailedToBeSetup-List CRITICALITY ignore TYPE SLDRBs-FailedToBeSetup-List PRESENCE optional }| + { ID id-requestedTargetCellGlobalID CRITICALITY reject TYPE NRCGI PRESENCE optional}, ... } @@ -935,6 +1178,8 @@ SRBs-FailedToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-Sing DRBs-FailedToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-FailedToBeSetup-ItemIEs} } SCell-FailedtoSetup-List ::= SEQUENCE (SIZE(1..maxnoofSCells)) OF ProtocolIE-SingleContainer { { SCell-FailedtoSetup-ItemIEs} } SRBs-Setup-List ::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-Setup-ItemIEs} } +BHChannels-Setup-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-Setup-ItemIEs} } +BHChannels-FailedToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-FailedToBeSetup-ItemIEs} } DRBs-Setup-ItemIEs F1AP-PROTOCOL-IES ::= { { ID id-DRBs-Setup-Item CRITICALITY ignore TYPE DRBs-Setup-Item PRESENCE mandatory}, @@ -962,6 +1207,30 @@ SCell-FailedtoSetup-ItemIEs F1AP-PROTOCOL-IES ::= { ... } +BHChannels-Setup-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-BHChannels-Setup-Item CRITICALITY ignore TYPE BHChannels-Setup-Item PRESENCE mandatory}, + ... +} + +BHChannels-FailedToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-BHChannels-FailedToBeSetup-Item CRITICALITY ignore TYPE BHChannels-FailedToBeSetup-Item PRESENCE mandatory}, + ... +} + +SLDRBs-Setup-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-Setup-ItemIEs} } + +SLDRBs-FailedToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-FailedToBeSetup-ItemIEs} } + +SLDRBs-Setup-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-SLDRBs-Setup-Item CRITICALITY ignore TYPE SLDRBs-Setup-Item PRESENCE mandatory}, + ... +} + +SLDRBs-FailedToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-SLDRBs-FailedToBeSetup-Item CRITICALITY ignore TYPE SLDRBs-FailedToBeSetup-Item PRESENCE mandatory}, + ... +} + -- ************************************************************** -- -- UE CONTEXT SETUP FAILURE @@ -978,7 +1247,8 @@ UEContextSetupFailureIEs F1AP-PROTOCOL-IES ::= { { ID id-gNB-DU-UE-F1AP-ID CRITICALITY ignore TYPE GNB-DU-UE-F1AP-ID PRESENCE optional }| { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }| - { ID id-Potential-SpCell-List CRITICALITY ignore TYPE Potential-SpCell-List PRESENCE optional }, + { ID id-Potential-SpCell-List CRITICALITY ignore TYPE Potential-SpCell-List PRESENCE optional }| + { ID id-requestedTargetCellGlobalID CRITICALITY reject TYPE NRCGI PRESENCE optional}, ... } @@ -1009,7 +1279,8 @@ UEContextReleaseRequest ::= SEQUENCE { UEContextReleaseRequestIEs F1AP-PROTOCOL-IES ::= { { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }| { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }| - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-targetCellsToCancel CRITICALITY reject TYPE TargetCellList PRESENCE optional }, ... } @@ -1039,7 +1310,8 @@ UEContextReleaseCommandIEs F1AP-PROTOCOL-IES ::= { { ID id-SRBID CRITICALITY ignore TYPE SRBID PRESENCE conditional }| { ID id-oldgNB-DU-UE-F1AP-ID CRITICALITY ignore TYPE GNB-DU-UE-F1AP-ID PRESENCE optional }| { ID id-ExecuteDuplication CRITICALITY ignore TYPE ExecuteDuplication PRESENCE optional}| - { ID id-RRCDeliveryStatusRequest CRITICALITY ignore TYPE RRCDeliveryStatusRequest PRESENCE optional }, + { ID id-RRCDeliveryStatusRequest CRITICALITY ignore TYPE RRCDeliveryStatusRequest PRESENCE optional }| + { ID id-targetCellsToCancel CRITICALITY reject TYPE TargetCellList PRESENCE optional}, ... } @@ -1110,7 +1382,21 @@ UEContextModificationRequestIEs F1AP-PROTOCOL-IES ::= { { ID id-ResourceCoordinationTransferInformation CRITICALITY ignore TYPE ResourceCoordinationTransferInformation PRESENCE optional }| { ID id-ServingCellMO CRITICALITY ignore TYPE ServingCellMO PRESENCE optional }| { ID id-NeedforGap CRITICALITY ignore TYPE NeedforGap PRESENCE optional }| - { ID id-FullConfiguration CRITICALITY reject TYPE FullConfiguration PRESENCE optional }, + { ID id-FullConfiguration CRITICALITY reject TYPE FullConfiguration PRESENCE optional }| + { ID id-AdditionalRRMPriorityIndex CRITICALITY ignore TYPE AdditionalRRMPriorityIndex PRESENCE optional }| + { ID id-LowerLayerPresenceStatusChange CRITICALITY ignore TYPE LowerLayerPresenceStatusChange PRESENCE optional }| + { ID id-BHChannels-ToBeSetupMod-List CRITICALITY reject TYPE BHChannels-ToBeSetupMod-List PRESENCE optional }| + { ID id-BHChannels-ToBeModified-List CRITICALITY reject TYPE BHChannels-ToBeModified-List PRESENCE optional }| + { ID id-BHChannels-ToBeReleased-List CRITICALITY reject TYPE BHChannels-ToBeReleased-List PRESENCE optional }| + { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }| + { ID id-LTEV2XServicesAuthorized CRITICALITY ignore TYPE LTEV2XServicesAuthorized PRESENCE optional }| + { ID id-NRUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }| + { ID id-LTEUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE LTEUESidelinkAggregateMaximumBitrate PRESENCE optional }| + { ID id-PC5LinkAMBR CRITICALITY ignore TYPE BitRate PRESENCE optional}| + { ID id-SLDRBs-ToBeSetupMod-List CRITICALITY reject TYPE SLDRBs-ToBeSetupMod-List PRESENCE optional }| + { ID id-SLDRBs-ToBeModified-List CRITICALITY reject TYPE SLDRBs-ToBeModified-List PRESENCE optional }| + { ID id-SLDRBs-ToBeReleased-List CRITICALITY reject TYPE SLDRBs-ToBeReleased-List PRESENCE optional }| + { ID id-ConditionalIntraDUMobilityInformation CRITICALITY reject TYPE ConditionalIntraDUMobilityInformation PRESENCE optional}, ... } @@ -1118,10 +1404,13 @@ SCell-ToBeSetupMod-List::= SEQUENCE (SIZE(1..maxnoofSCells)) OF ProtocolIE-Singl SCell-ToBeRemoved-List::= SEQUENCE (SIZE(1..maxnoofSCells)) OF ProtocolIE-SingleContainer { { SCell-ToBeRemoved-ItemIEs} } SRBs-ToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-ToBeSetupMod-ItemIEs} } DRBs-ToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-ToBeSetupMod-ItemIEs} } +BHChannels-ToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-ToBeSetupMod-ItemIEs} } DRBs-ToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-ToBeModified-ItemIEs} } +BHChannels-ToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-ToBeModified-ItemIEs} } SRBs-ToBeReleased-List ::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-ToBeReleased-ItemIEs} } DRBs-ToBeReleased-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-ToBeReleased-ItemIEs} } +BHChannels-ToBeReleased-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-ToBeReleased-ItemIEs} } SCell-ToBeSetupMod-ItemIEs F1AP-PROTOCOL-IES ::= { { ID id-SCell-ToBeSetupMod-Item CRITICALITY ignore TYPE SCell-ToBeSetupMod-Item PRESENCE mandatory }, @@ -1161,6 +1450,40 @@ DRBs-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= { ... } +BHChannels-ToBeSetupMod-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-BHChannels-ToBeSetupMod-Item CRITICALITY reject TYPE BHChannels-ToBeSetupMod-Item PRESENCE mandatory}, + ... +} + +BHChannels-ToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-BHChannels-ToBeModified-Item CRITICALITY reject TYPE BHChannels-ToBeModified-Item PRESENCE mandatory}, + ... +} + +BHChannels-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-BHChannels-ToBeReleased-Item CRITICALITY reject TYPE BHChannels-ToBeReleased-Item PRESENCE mandatory}, + ... +} + +SLDRBs-ToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-ToBeSetupMod-ItemIEs} } +SLDRBs-ToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-ToBeModified-ItemIEs} } +SLDRBs-ToBeReleased-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-ToBeReleased-ItemIEs} } + +SLDRBs-ToBeSetupMod-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-SLDRBs-ToBeSetupMod-Item CRITICALITY reject TYPE SLDRBs-ToBeSetupMod-Item PRESENCE mandatory}, + ... +} + +SLDRBs-ToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-SLDRBs-ToBeModified-Item CRITICALITY reject TYPE SLDRBs-ToBeModified-Item PRESENCE mandatory}, + ... +} + +SLDRBs-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-SLDRBs-ToBeReleased-Item CRITICALITY reject TYPE SLDRBs-ToBeReleased-Item PRESENCE mandatory}, + ... +} + -- ************************************************************** -- -- UE CONTEXT MODIFICATION RESPONSE @@ -1190,7 +1513,16 @@ UEContextModificationResponseIEs F1AP-PROTOCOL-IES ::= { { ID id-Associated-SCell-List CRITICALITY ignore TYPE Associated-SCell-List PRESENCE optional }| { ID id-SRBs-SetupMod-List CRITICALITY ignore TYPE SRBs-SetupMod-List PRESENCE optional }| { ID id-SRBs-Modified-List CRITICALITY ignore TYPE SRBs-Modified-List PRESENCE optional }| - { ID id-FullConfiguration CRITICALITY reject TYPE FullConfiguration PRESENCE optional }, + { ID id-FullConfiguration CRITICALITY reject TYPE FullConfiguration PRESENCE optional }| + { ID id-BHChannels-SetupMod-List CRITICALITY ignore TYPE BHChannels-SetupMod-List PRESENCE optional}| + { ID id-BHChannels-Modified-List CRITICALITY ignore TYPE BHChannels-Modified-List PRESENCE optional}| + { ID id-BHChannels-FailedToBeSetupMod-List CRITICALITY ignore TYPE BHChannels-FailedToBeSetupMod-List PRESENCE optional }| + { ID id-BHChannels-FailedToBeModified-List CRITICALITY ignore TYPE BHChannels-FailedToBeModified-List PRESENCE optional }| + { ID id-SLDRBs-SetupMod-List CRITICALITY ignore TYPE SLDRBs-SetupMod-List PRESENCE optional }| + { ID id-SLDRBs-Modified-List CRITICALITY ignore TYPE SLDRBs-Modified-List PRESENCE optional }| + { ID id-SLDRBs-FailedToBeSetupMod-List CRITICALITY ignore TYPE SLDRBs-FailedToBeSetupMod-List PRESENCE optional }| + { ID id-SLDRBs-FailedToBeModified-List CRITICALITY ignore TYPE SLDRBs-FailedToBeModified-List PRESENCE optional }| + { ID id-requestedTargetCellGlobalID CRITICALITY reject TYPE NRCGI PRESENCE optional}, ... } @@ -1203,6 +1535,10 @@ DRBs-FailedToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-S SRBs-FailedToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-FailedToBeSetupMod-ItemIEs} } DRBs-FailedToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-FailedToBeSetupMod-ItemIEs} } SCell-FailedtoSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofSCells)) OF ProtocolIE-SingleContainer { { SCell-FailedtoSetupMod-ItemIEs} } +BHChannels-SetupMod-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-SetupMod-ItemIEs} } +BHChannels-Modified-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-Modified-ItemIEs } } +BHChannels-FailedToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-FailedToBeModified-ItemIEs} } +BHChannels-FailedToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-FailedToBeSetupMod-ItemIEs} } Associated-SCell-List ::= SEQUENCE (SIZE(1.. maxnoofSCells)) OF ProtocolIE-SingleContainer { { Associated-SCell-ItemIEs} } @@ -1255,6 +1591,51 @@ Associated-SCell-ItemIEs F1AP-PROTOCOL-IES ::= { ... } +BHChannels-SetupMod-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-BHChannels-SetupMod-Item CRITICALITY ignore TYPE BHChannels-SetupMod-Item PRESENCE mandatory}, + ... +} + + +BHChannels-Modified-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-BHChannels-Modified-Item CRITICALITY ignore TYPE BHChannels-Modified-Item PRESENCE mandatory}, + ... +} + +BHChannels-FailedToBeSetupMod-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-BHChannels-FailedToBeSetupMod-Item CRITICALITY ignore TYPE BHChannels-FailedToBeSetupMod-Item PRESENCE mandatory}, + ... +} + +BHChannels-FailedToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-BHChannels-FailedToBeModified-Item CRITICALITY ignore TYPE BHChannels-FailedToBeModified-Item PRESENCE mandatory}, + ... +} + +SLDRBs-SetupMod-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-SetupMod-ItemIEs} } +SLDRBs-Modified-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-Modified-ItemIEs } } +SLDRBs-FailedToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-FailedToBeModified-ItemIEs} } +SLDRBs-FailedToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-FailedToBeSetupMod-ItemIEs} } + +SLDRBs-SetupMod-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-SLDRBs-SetupMod-Item CRITICALITY ignore TYPE SLDRBs-SetupMod-Item PRESENCE mandatory}, + ... +} + +SLDRBs-Modified-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-SLDRBs-Modified-Item CRITICALITY ignore TYPE SLDRBs-Modified-Item PRESENCE mandatory}, + ... +} + +SLDRBs-FailedToBeSetupMod-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-SLDRBs-FailedToBeSetupMod-Item CRITICALITY ignore TYPE SLDRBs-FailedToBeSetupMod-Item PRESENCE mandatory}, + ... +} + +SLDRBs-FailedToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-SLDRBs-FailedToBeModified-Item CRITICALITY ignore TYPE SLDRBs-FailedToBeModified-Item PRESENCE mandatory}, + ... +} -- ************************************************************** -- @@ -1271,7 +1652,8 @@ UEContextModificationFailureIEs F1AP-PROTOCOL-IES ::= { { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }| { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }| { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }| + { ID id-requestedTargetCellGlobalID CRITICALITY reject TYPE NRCGI PRESENCE optional}, ... } @@ -1301,7 +1683,11 @@ UEContextModificationRequiredIEs F1AP-PROTOCOL-IES ::= { { ID id-DRBs-Required-ToBeModified-List CRITICALITY reject TYPE DRBs-Required-ToBeModified-List PRESENCE optional}| { ID id-SRBs-Required-ToBeReleased-List CRITICALITY reject TYPE SRBs-Required-ToBeReleased-List PRESENCE optional}| { ID id-DRBs-Required-ToBeReleased-List CRITICALITY reject TYPE DRBs-Required-ToBeReleased-List PRESENCE optional}| - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-BHChannels-Required-ToBeReleased-List CRITICALITY reject TYPE BHChannels-Required-ToBeReleased-List PRESENCE optional}| + { ID id-SLDRBs-Required-ToBeModified-List CRITICALITY reject TYPE SLDRBs-Required-ToBeModified-List PRESENCE optional}| + { ID id-SLDRBs-Required-ToBeReleased-List CRITICALITY reject TYPE SLDRBs-Required-ToBeReleased-List PRESENCE optional}| + { ID id-targetCellsToCancel CRITICALITY reject TYPE TargetCellList PRESENCE optional}, ... } @@ -1310,6 +1696,8 @@ DRBs-Required-ToBeReleased-List::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE SRBs-Required-ToBeReleased-List::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-Required-ToBeReleased-ItemIEs } } +BHChannels-Required-ToBeReleased-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-Required-ToBeReleased-ItemIEs } } + DRBs-Required-ToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= { { ID id-DRBs-Required-ToBeModified-Item CRITICALITY reject TYPE DRBs-Required-ToBeModified-Item PRESENCE mandatory}, ... @@ -1325,6 +1713,24 @@ SRBs-Required-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= { ... } +BHChannels-Required-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-BHChannels-Required-ToBeReleased-Item CRITICALITY reject TYPE BHChannels-Required-ToBeReleased-Item PRESENCE mandatory}, + ... +} + +SLDRBs-Required-ToBeModified-List::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-Required-ToBeModified-ItemIEs } } +SLDRBs-Required-ToBeReleased-List::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-Required-ToBeReleased-ItemIEs } } + +SLDRBs-Required-ToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-SLDRBs-Required-ToBeModified-Item CRITICALITY reject TYPE SLDRBs-Required-ToBeModified-Item PRESENCE mandatory}, + ... +} + +SLDRBs-Required-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-SLDRBs-Required-ToBeReleased-Item CRITICALITY reject TYPE SLDRBs-Required-ToBeReleased-Item PRESENCE mandatory}, + ... +} + -- ************************************************************** -- -- UE CONTEXT MODIFICATION CONFIRM @@ -1345,7 +1751,8 @@ UEContextModificationConfirmIEs F1AP-PROTOCOL-IES ::= { { ID id-RRCContainer CRITICALITY ignore TYPE RRCContainer PRESENCE optional }| { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }| { ID id-ExecuteDuplication CRITICALITY ignore TYPE ExecuteDuplication PRESENCE optional}| - { ID id-ResourceCoordinationTransferInformation CRITICALITY ignore TYPE ResourceCoordinationTransferInformation PRESENCE optional }, + { ID id-ResourceCoordinationTransferInformation CRITICALITY ignore TYPE ResourceCoordinationTransferInformation PRESENCE optional }| + { ID id-SLDRBs-ModifiedConf-List CRITICALITY ignore TYPE SLDRBs-ModifiedConf-List PRESENCE optional}, ... } @@ -1356,6 +1763,13 @@ DRBs-ModifiedConf-ItemIEs F1AP-PROTOCOL-IES ::= { ... } +SLDRBs-ModifiedConf-List::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-ModifiedConf-ItemIEs } } + +SLDRBs-ModifiedConf-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-SLDRBs-ModifiedConf-Item CRITICALITY ignore TYPE SLDRBs-ModifiedConf-Item PRESENCE mandatory}, + ... +} + -- ************************************************************** -- -- UE CONTEXT MODIFICATION REFUSE @@ -1398,8 +1812,8 @@ WriteReplaceWarningRequestIEs F1AP-PROTOCOL-IES ::= { { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| { ID id-PWSSystemInformation CRITICALITY reject TYPE PWSSystemInformation PRESENCE mandatory }| { ID id-RepetitionPeriod CRITICALITY reject TYPE RepetitionPeriod PRESENCE mandatory }| - { ID id-NumberofBroadcastRequest CRITICALITY reject TYPE NumberofBroadcastRequest PRESENCE mandatory }| - { ID id-Cells-To-Be-Broadcast-List CRITICALITY reject TYPE Cells-To-Be-Broadcast-List PRESENCE optional }, + { ID id-NumberofBroadcastRequest CRITICALITY reject TYPE NumberofBroadcastRequest PRESENCE mandatory }| + { ID id-Cells-To-Be-Broadcast-List CRITICALITY reject TYPE Cells-To-Be-Broadcast-List PRESENCE optional }, ... } @@ -1591,7 +2005,8 @@ DLRRCMessageTransferIEs F1AP-PROTOCOL-IES ::= { -- { ID id-RedirectedRRCmessage CRITICALITY reject TYPE OCTET STRING PRESENCE optional }| { ID id-RedirectedRRCmessage CRITICALITY reject TYPE RedirectedRRCmessage PRESENCE optional }| { ID id-PLMNAssistanceInfoForNetShar CRITICALITY ignore TYPE PLMN-Identity PRESENCE optional }| - { ID id-new-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE optional }, + { ID id-new-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE optional }| + { ID id-AdditionalRRMPriorityIndex CRITICALITY ignore TYPE AdditionalRRMPriorityIndex PRESENCE optional }, ... } -- ************************************************************** @@ -1919,5 +2334,547 @@ F1RemovalFailureIEs F1AP-PROTOCOL-IES ::= { } +-- ************************************************************** +-- +-- TRACE ELEMENTARY PROCEDURES +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- TRACE START +-- +-- ************************************************************** + +TraceStart ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {TraceStartIEs} }, + ... +} + +TraceStartIEs F1AP-PROTOCOL-IES ::= { + { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }| + { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }| + { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- DEACTIVATE TRACE +-- +-- ************************************************************** + +DeactivateTrace ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DeactivateTraceIEs} }, + ... +} + +DeactivateTraceIEs F1AP-PROTOCOL-IES ::= { + { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }| + { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }| + { ID id-TraceID CRITICALITY ignore TYPE TraceID PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- CELL TRAFFIC TRACE +-- +-- ************************************************************** + +CellTrafficTrace ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {CellTrafficTraceIEs} }, + ... +} + +CellTrafficTraceIEs F1AP-PROTOCOL-IES ::= { + { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }| + { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }| + {ID id-TraceID CRITICALITY ignore TYPE TraceID PRESENCE mandatory }| + {ID id-TraceCollectionEntityIPAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE mandatory }| + {ID id-PrivacyIndicator CRITICALITY ignore TYPE PrivacyIndicator PRESENCE optional }| + + {ID id-TraceCollectionEntityURI CRITICALITY ignore TYPE URI-address PRESENCE optional }, + ... + +} + +-- ************************************************************** +-- +-- DU-CU Radio Information Transfer ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- DU-CU Radio Information Transfer +-- +-- ************************************************************** + +DUCURadioInformationTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ DUCURadioInformationTransferIEs}}, + ... +} + +DUCURadioInformationTransferIEs F1AP-PROTOCOL-IES ::= { + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| + { ID id-DUCURadioInformationType CRITICALITY ignore TYPE DUCURadioInformationType PRESENCE mandatory }, + ... +} + + + +-- ************************************************************** +-- +-- CU-DU Radio Information Transfer ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- CU-DU Radio Information Transfer +-- +-- ************************************************************** + +CUDURadioInformationTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ CUDURadioInformationTransferIEs}}, + ... +} + +CUDURadioInformationTransferIEs F1AP-PROTOCOL-IES ::= { + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| + { ID id-CUDURadioInformationType CRITICALITY ignore TYPE CUDURadioInformationType PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- IAB PROCEDURES +-- +-- ************************************************************** +-- ************************************************************** +-- +-- BAP Mapping Configuration ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- BAP MAPPING CONFIGURATION +-- ************************************************************** + + +BAPMappingConfiguration ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {BAPMappingConfiguration-IEs} }, + ... + } + +BAPMappingConfiguration-IEs F1AP-PROTOCOL-IES ::= { + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory}| + { ID id-BH-Routing-Information-Added-List CRITICALITY ignore TYPE BH-Routing-Information-Added-List PRESENCE optional}| + { ID id-BH-Routing-Information-Removed-List CRITICALITY ignore TYPE BH-Routing-Information-Removed-List PRESENCE optional}| + { ID id-TrafficMappingInformation CRITICALITY ignore TYPE TrafficMappingInfo PRESENCE optional}, + ... +} + +BH-Routing-Information-Added-List ::= SEQUENCE (SIZE(1.. maxnoofRoutingEntries)) OF ProtocolIE-SingleContainer { { BH-Routing-Information-Added-List-ItemIEs } } +BH-Routing-Information-Removed-List ::= SEQUENCE (SIZE(1.. maxnoofRoutingEntries)) OF ProtocolIE-SingleContainer { { BH-Routing-Information-Removed-List-ItemIEs } } + +BH-Routing-Information-Added-List-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-BH-Routing-Information-Added-List-Item CRITICALITY ignore TYPE BH-Routing-Information-Added-List-Item PRESENCE optional}, + ... +} + +BH-Routing-Information-Removed-List-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-BH-Routing-Information-Removed-List-Item CRITICALITY ignore TYPE BH-Routing-Information-Removed-List-Item PRESENCE optional}, + ... +} + + +-- ************************************************************** +-- +-- BAP MAPPING CONFIGURATION ACKNOWLEDGE +-- ************************************************************** + +BAPMappingConfigurationAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {BAPMappingConfigurationAcknowledge-IEs} }, + ... +} + +BAPMappingConfigurationAcknowledge-IEs F1AP-PROTOCOL-IES ::= { + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}, + ... +} + + + +-- ************************************************************** +-- +-- GNB-DU Configuration ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- GNB-DU RESOURCE CONFIGURATION +-- ************************************************************** + + +GNBDUResourceConfiguration ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ GNBDUResourceConfigurationIEs}}, + ... +} + + +GNBDUResourceConfigurationIEs F1AP-PROTOCOL-IES ::= { + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| + { ID id-Activated-Cells-to-be-Updated-List CRITICALITY reject TYPE Activated-Cells-to-be-Updated-List PRESENCE optional}| + { ID id-Child-Nodes-List CRITICALITY reject TYPE Child-Nodes-List PRESENCE optional}, + ... +} + + + + +-- ************************************************************** +-- +-- GNB-DU RESOURCE CONFIGURATION ACKNOWLEDGE +-- ************************************************************** + + +GNBDUResourceConfigurationAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { GNBDUResourceConfigurationAcknowledgeIEs} }, + ... +} + + +GNBDUResourceConfigurationAcknowledgeIEs F1AP-PROTOCOL-IES ::= { + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- IAB TNL Address Allocation ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- IAB TNL ADDRESS REQUEST +-- ************************************************************** + + + +IABTNLAddressRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {IABTNLAddressRequestIEs} }, + ... +} + +IABTNLAddressRequestIEs F1AP-PROTOCOL-IES ::= { + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| + { ID id-IABv4AddressesRequested CRITICALITY reject TYPE IABv4AddressesRequested PRESENCE optional }| + { ID id-IABIPv6RequestType CRITICALITY reject TYPE IABIPv6RequestType PRESENCE optional }| + { ID id-IAB-TNL-Addresses-To-Remove-List CRITICALITY reject TYPE IAB-TNL-Addresses-To-Remove-List PRESENCE optional }, + ... +} + + +IAB-TNL-Addresses-To-Remove-List ::= SEQUENCE (SIZE(1..maxnoofTLAsIAB)) OF ProtocolIE-SingleContainer { { IAB-TNL-Addresses-To-Remove-ItemIEs } } + +IAB-TNL-Addresses-To-Remove-ItemIEs F1AP-PROTOCOL-IES::= { + { ID id-IAB-TNL-Addresses-To-Remove-Item CRITICALITY reject TYPE IAB-TNL-Addresses-To-Remove-Item PRESENCE mandatory}, + ... +} + + +-- ************************************************************** +-- +-- IAB TNL ADDRESS RESPONSE +-- ************************************************************** + + +IABTNLAddressResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {IABTNLAddressResponseIEs} }, + ... +} + + +IABTNLAddressResponseIEs F1AP-PROTOCOL-IES ::= { + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| + { ID id-IAB-Allocated-TNL-Address-List CRITICALITY reject TYPE IAB-Allocated-TNL-Address-List PRESENCE mandatory }, + ... +} + + +IAB-Allocated-TNL-Address-List ::= SEQUENCE (SIZE(1.. maxnoofTLAsIAB)) OF ProtocolIE-SingleContainer { { IAB-Allocated-TNL-Address-List-ItemIEs } } + + +IAB-Allocated-TNL-Address-List-ItemIEs F1AP-PROTOCOL-IES::= { + { ID id-IAB-Allocated-TNL-Address-Item CRITICALITY reject TYPE IAB-Allocated-TNL-Address-Item PRESENCE mandatory}, + ... +} + +-- ************************************************************** +-- +-- IAB UP Configuration Update ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- IAB UP Configuration Update Request +-- +-- ************************************************************** + +IABUPConfigurationUpdateRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { IABUPConfigurationUpdateRequestIEs} }, + ... +} + +IABUPConfigurationUpdateRequestIEs F1AP-PROTOCOL-IES ::= { + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| + { ID id-UL-UP-TNL-Information-to-Update-List CRITICALITY ignore TYPE UL-UP-TNL-Information-to-Update-List PRESENCE optional }| + { ID id-UL-UP-TNL-Address-to-Update-List CRITICALITY ignore TYPE UL-UP-TNL-Address-to-Update-List PRESENCE optional }, + ... +} + +UL-UP-TNL-Information-to-Update-List ::= SEQUENCE (SIZE(1.. maxnoofULUPTNLInformationforIAB)) OF ProtocolIE-SingleContainer { { UL-UP-TNL-Information-to-Update-List-ItemIEs } } + +UL-UP-TNL-Information-to-Update-List-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-UL-UP-TNL-Information-to-Update-List-Item CRITICALITY ignore TYPE UL-UP-TNL-Information-to-Update-List-Item PRESENCE optional}, + ... +} + +UL-UP-TNL-Address-to-Update-List ::= SEQUENCE (SIZE(1.. maxnoofUPTNLAddresses)) OF ProtocolIE-SingleContainer { { UL-UP-TNL-Address-to-Update-List-ItemIEs } } + +UL-UP-TNL-Address-to-Update-List-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-UL-UP-TNL-Address-to-Update-List-Item CRITICALITY ignore TYPE UL-UP-TNL-Address-to-Update-List-Item PRESENCE optional}, + ... +} + + +-- ************************************************************** +-- +-- IAB UP Configuration Update Response +-- +-- ************************************************************** + +IABUPConfigurationUpdateResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { IABUPConfigurationUpdateResponseIEs} }, + ... +} + +IABUPConfigurationUpdateResponseIEs F1AP-PROTOCOL-IES ::= { + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }| + { ID id-DL-UP-TNL-Address-to-Update-List CRITICALITY reject TYPE DL-UP-TNL-Address-to-Update-List PRESENCE optional }, + ... +} + +DL-UP-TNL-Address-to-Update-List ::= SEQUENCE (SIZE(1.. maxnoofUPTNLAddresses)) OF ProtocolIE-SingleContainer { { DL-UP-TNL-Address-to-Update-List-ItemIEs } } + +DL-UP-TNL-Address-to-Update-List-ItemIEs F1AP-PROTOCOL-IES ::= { + { ID id-DL-UP-TNL-Address-to-Update-List-Item CRITICALITY ignore TYPE DL-UP-TNL-Address-to-Update-List-Item PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- IAB UP Configuration Update Failure +-- +-- ************************************************************** + +IABUPConfigurationUpdateFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { IABUPConfigurationUpdateFailureIEs} }, + ... +} + +IABUPConfigurationUpdateFailureIEs F1AP-PROTOCOL-IES ::= { + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Resource Status Reporting Initiation ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Resource Status Request +-- +-- ************************************************************** + +ResourceStatusRequest::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ResourceStatusRequestIEs} }, + ... +} + +ResourceStatusRequestIEs F1AP-PROTOCOL-IES ::= { + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| + { ID id-gNBCUMeasurementID CRITICALITY reject TYPE GNBCUMeasurementID PRESENCE mandatory }| + { ID id-gNBDUMeasurementID CRITICALITY ignore TYPE GNBDUMeasurementID PRESENCE conditional }| + { ID id-RegistrationRequest CRITICALITY ignore TYPE RegistrationRequest PRESENCE mandatory }| + { ID id-ReportCharacteristics CRITICALITY ignore TYPE ReportCharacteristics PRESENCE conditional }| + { ID id-CellToReportList CRITICALITY ignore TYPE CellToReportList PRESENCE optional }| + { ID id-ReportingPeriodicity CRITICALITY ignore TYPE ReportingPeriodicity PRESENCE optional }, + ... +} + + +-- ************************************************************** +-- +-- Resource Status Response +-- +-- ************************************************************** + +ResourceStatusResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { ResourceStatusResponseIEs} }, + ... +} + + +ResourceStatusResponseIEs F1AP-PROTOCOL-IES ::= { + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| + { ID id-gNBCUMeasurementID CRITICALITY reject TYPE GNBCUMeasurementID PRESENCE mandatory }| + { ID id-gNBDUMeasurementID CRITICALITY ignore TYPE GNBDUMeasurementID PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + + +-- ************************************************************** +-- +-- Resource Status Failure +-- +-- ************************************************************** + +ResourceStatusFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { ResourceStatusFailureIEs} }, + ... +} + +ResourceStatusFailureIEs F1AP-PROTOCOL-IES ::= { + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| + { ID id-gNBCUMeasurementID CRITICALITY reject TYPE GNBCUMeasurementID PRESENCE mandatory }| + { ID id-gNBDUMeasurementID CRITICALITY ignore TYPE GNBDUMeasurementID PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Resource Status Reporting ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Resource Status Update +-- +-- ************************************************************** + +ResourceStatusUpdate ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ ResourceStatusUpdateIEs}}, + ... +} + +ResourceStatusUpdateIEs F1AP-PROTOCOL-IES ::= { + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| + { ID id-gNBCUMeasurementID CRITICALITY reject TYPE GNBCUMeasurementID PRESENCE mandatory }| + { ID id-gNBDUMeasurementID CRITICALITY ignore TYPE GNBDUMeasurementID PRESENCE mandatory }| + { ID id-HardwareLoadIndicator CRITICALITY ignore TYPE HardwareLoadIndicator PRESENCE optional }| + { ID id-TNLCapacityIndicator CRITICALITY ignore TYPE TNLCapacityIndicator PRESENCE optional }| + { ID id-CellMeasurementResultList CRITICALITY ignore TYPE CellMeasurementResultList PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Access And Mobility Indication ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Access And Mobility Indication +-- +-- ************************************************************** + +AccessAndMobilityIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { AccessAndMobilityIndicationIEs} }, + ... +} + +AccessAndMobilityIndicationIEs F1AP-PROTOCOL-IES ::= { + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| + { ID id-RACHReportInformationList CRITICALITY ignore TYPE RACHReportInformationList PRESENCE optional }| + { ID id-RLFReportInformationList CRITICALITY ignore TYPE RLFReportInformationList PRESENCE optional }, + ... +} + + +-- ************************************************************** +-- +-- REFERENCE TIME INFORMATION REPORTING CONTROL +-- +-- ************************************************************** + +ReferenceTimeInformationReportingControl::= SEQUENCE { + protocolIEs ProtocolIE-Container { { ReferenceTimeInformationReportingControlIEs} }, + ... +} + +ReferenceTimeInformationReportingControlIEs F1AP-PROTOCOL-IES ::= { + { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }| + { ID id-ReportingRequestType CRITICALITY reject TYPE ReportingRequestType PRESENCE mandatory }, + ... +} + + +-- ************************************************************** +-- +-- REFERENCE TIME INFORMATION REPORT +-- +-- ************************************************************** + +ReferenceTimeInformationReport::= SEQUENCE { + protocolIEs ProtocolIE-Container { { ReferenceTimeInformationReportIEs} }, + ... +} + +ReferenceTimeInformationReportIEs F1AP-PROTOCOL-IES ::= { + { ID id-TransactionID CRITICALITY ignore TYPE TransactionID PRESENCE mandatory }| + { ID id-TimeReferenceInformation CRITICALITY ignore TYPE TimeReferenceInformation PRESENCE mandatory }, + ... +} + + +-- ************************************************************** +-- +-- Access Success +-- +-- ************************************************************** + +AccessSuccess ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ AccessSuccessIEs}}, + ... +} + +AccessSuccessIEs F1AP-PROTOCOL-IES ::= { + { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }| + { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }| + { ID id-NRCGI CRITICALITY reject TYPE NRCGI PRESENCE mandatory }, + ... +} + END diff --git a/epan/dissectors/asn1/f1ap/F1AP-PDU-Descriptions.asn b/epan/dissectors/asn1/f1ap/F1AP-PDU-Descriptions.asn index 6cc28a5593..c10a6b942e 100644 --- a/epan/dissectors/asn1/f1ap/F1AP-PDU-Descriptions.asn +++ b/epan/dissectors/asn1/f1ap/F1AP-PDU-Descriptions.asn @@ -1,4 +1,4 @@ --- 3GPP TS 38.473 V15.8.0 (2019-12) +-- 3GPP TS 38.473 V16.2.0 (2020-07) -- 9.4.3 Elementary Procedure Definitions -- ************************************************************** -- @@ -70,7 +70,29 @@ FROM F1AP-CommonDataTypes F1RemovalRequest, F1RemovalResponse, F1RemovalFailure, - NetworkAccessRateReduction + NetworkAccessRateReduction, + TraceStart, + DeactivateTrace, + DUCURadioInformationTransfer, + CUDURadioInformationTransfer, + BAPMappingConfiguration, + BAPMappingConfigurationAcknowledge, + GNBDUResourceConfiguration, + GNBDUResourceConfigurationAcknowledge, + IABTNLAddressRequest, + IABTNLAddressResponse, + IABUPConfigurationUpdateRequest, + IABUPConfigurationUpdateResponse, + IABUPConfigurationUpdateFailure, + ResourceStatusRequest, + ResourceStatusResponse, + ResourceStatusFailure, + ResourceStatusUpdate, + AccessAndMobilityIndication, + ReferenceTimeInformationReportingControl, + ReferenceTimeInformationReport, + AccessSuccess, + CellTrafficTrace FROM F1AP-PDU-Contents @@ -100,8 +122,22 @@ FROM F1AP-PDU-Contents id-GNBDUStatusIndication, id-RRCDeliveryReport, id-F1Removal, - id-NetworkAccessRateReduction - + id-NetworkAccessRateReduction, + id-TraceStart, + id-DeactivateTrace, + id-DUCURadioInformationTransfer, + id-CUDURadioInformationTransfer, + id-BAPMappingConfiguration, + id-GNBDUResourceConfiguration, + id-IABTNLAddressAllocation, + id-IABUPConfigurationUpdate, + id-resourceStatusReportingInitiation, + id-resourceStatusReporting, + id-accessAndMobilityIndication, + id-ReferenceTimeInformationReportingControl, + id-ReferenceTimeInformationReport, + id-accessSuccess, + id-cellTrafficTrace FROM F1AP-Constants @@ -193,26 +229,41 @@ F1AP-ELEMENTARY-PROCEDURES-CLASS-1 F1AP-ELEMENTARY-PROCEDURE ::= { writeReplaceWarning | pWSCancel | gNBDUResourceCoordination | - f1Removal , + f1Removal | + bAPMappingConfiguration | + gNBDUResourceConfiguration | + iABTNLAddressAllocation | + iABUPConfigurationUpdate | + resourceStatusReportingInitiation, ... } F1AP-ELEMENTARY-PROCEDURES-CLASS-2 F1AP-ELEMENTARY-PROCEDURE ::= { - errorIndication | - uEContextReleaseRequest | - dLRRCMessageTransfer | - uLRRCMessageTransfer | - uEInactivityNotification | - privateMessage | - initialULRRCMessageTransfer | - systemInformationDelivery | - paging | - notify | - pWSRestartIndication | - pWSFailureIndication | - gNBDUStatusIndication | - rRCDeliveryReport | - networkAccessRateReduction , + errorIndication | + uEContextReleaseRequest | + dLRRCMessageTransfer | + uLRRCMessageTransfer | + uEInactivityNotification | + privateMessage | + initialULRRCMessageTransfer | + systemInformationDelivery | + paging | + notify | + pWSRestartIndication | + pWSFailureIndication | + gNBDUStatusIndication | + rRCDeliveryReport | + networkAccessRateReduction | + traceStart | + deactivateTrace | + dUCURadioInformationTransfer | + cUDURadioInformationTransfer | + resourceStatusReporting | + accessAndMobilityIndication | + referenceTimeInformationReportingControl| + referenceTimeInformationReport | + accessSuccess | + cellTrafficTrace , ... } -- ************************************************************** @@ -407,5 +458,101 @@ f1Removal F1AP-ELEMENTARY-PROCEDURE ::= { CRITICALITY reject } +traceStart F1AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE TraceStart + PROCEDURE CODE id-TraceStart + CRITICALITY ignore +} + +deactivateTrace F1AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DeactivateTrace + PROCEDURE CODE id-DeactivateTrace + CRITICALITY ignore +} + +dUCURadioInformationTransfer F1AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DUCURadioInformationTransfer + PROCEDURE CODE id-DUCURadioInformationTransfer + CRITICALITY ignore +} + +cUDURadioInformationTransfer F1AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE CUDURadioInformationTransfer + PROCEDURE CODE id-CUDURadioInformationTransfer + CRITICALITY ignore +} + +bAPMappingConfiguration F1AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE BAPMappingConfiguration + SUCCESSFUL OUTCOME BAPMappingConfigurationAcknowledge + PROCEDURE CODE id-BAPMappingConfiguration + CRITICALITY reject +} + +gNBDUResourceConfiguration F1AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE GNBDUResourceConfiguration + SUCCESSFUL OUTCOME GNBDUResourceConfigurationAcknowledge + PROCEDURE CODE id-GNBDUResourceConfiguration + CRITICALITY reject +} + +iABTNLAddressAllocation F1AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE IABTNLAddressRequest + SUCCESSFUL OUTCOME IABTNLAddressResponse + PROCEDURE CODE id-IABTNLAddressAllocation + CRITICALITY reject +} + +iABUPConfigurationUpdate F1AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE IABUPConfigurationUpdateRequest + SUCCESSFUL OUTCOME IABUPConfigurationUpdateResponse + UNSUCCESSFUL OUTCOME IABUPConfigurationUpdateFailure + PROCEDURE CODE id-IABUPConfigurationUpdate + CRITICALITY reject +} + +resourceStatusReportingInitiation F1AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ResourceStatusRequest + SUCCESSFUL OUTCOME ResourceStatusResponse + UNSUCCESSFUL OUTCOME ResourceStatusFailure + PROCEDURE CODE id-resourceStatusReportingInitiation + CRITICALITY reject +} + +resourceStatusReporting F1AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ResourceStatusUpdate + PROCEDURE CODE id-resourceStatusReporting + CRITICALITY ignore +} + +accessAndMobilityIndication F1AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE AccessAndMobilityIndication + PROCEDURE CODE id-accessAndMobilityIndication + CRITICALITY ignore +} + +referenceTimeInformationReportingControl F1AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ReferenceTimeInformationReportingControl + PROCEDURE CODE id-ReferenceTimeInformationReportingControl + CRITICALITY ignore +} + +referenceTimeInformationReport F1AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ReferenceTimeInformationReport + PROCEDURE CODE id-ReferenceTimeInformationReport + CRITICALITY ignore +} + +accessSuccess F1AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE AccessSuccess + PROCEDURE CODE id-accessSuccess + CRITICALITY ignore +} + +cellTrafficTrace F1AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE CellTrafficTrace + PROCEDURE CODE id-cellTrafficTrace + CRITICALITY ignore +} END diff --git a/epan/dissectors/asn1/f1ap/f1ap.cnf b/epan/dissectors/asn1/f1ap/f1ap.cnf index b270126700..43fb6053f6 100644 --- a/epan/dissectors/asn1/f1ap/f1ap.cnf +++ b/epan/dissectors/asn1/f1ap/f1ap.cnf @@ -14,9 +14,11 @@ ProtocolIE-ID ShortDRXCycleLength #.EXPORTS +NRPRACHConfig_PDU #.PDU F1AP-PDU +NRPRACHConfig #.MAKE_ENUM ProcedureCode @@ -107,34 +109,47 @@ ProtocolIE-Field/value ie_field_value #.ASSIGN_VALUE_TO_TYPE # F1AP does not have constants assigned to types, they are pure INTEGER # ProcedureCode -id-Reset ProcedureCode -id-F1Setup ProcedureCode -id-ErrorIndication ProcedureCode -id-gNBDUConfigurationUpdate ProcedureCode -id-gNBCUConfigurationUpdate ProcedureCode -id-UEContextSetup ProcedureCode -id-UEContextRelease ProcedureCode -id-UEContextModification ProcedureCode -id-UEContextModificationRequired ProcedureCode -id-UEMobilityCommand ProcedureCode -id-UEContextReleaseRequest ProcedureCode -id-InitialULRRCMessageTransfer ProcedureCode -id-DLRRCMessageTransfer ProcedureCode -id-ULRRCMessageTransfer ProcedureCode -id-privateMessage ProcedureCode -id-UEInactivityNotification ProcedureCode -id-GNBDUResourceCoordination ProcedureCode -id-SystemInformationDeliveryCommand ProcedureCode -id-Paging ProcedureCode -id-Notify ProcedureCode -id-WriteReplaceWarning ProcedureCode -id-PWSCancel ProcedureCode -id-PWSRestartIndication ProcedureCode -id-PWSFailureIndication ProcedureCode -id-GNBDUStatusIndication ProcedureCode -id-RRCDeliveryReport ProcedureCode -id-F1Removal ProcedureCode -id-NetworkAccessRateReduction ProcedureCode +id-Reset ProcedureCode +id-F1Setup ProcedureCode +id-ErrorIndication ProcedureCode +id-gNBDUConfigurationUpdate ProcedureCode +id-gNBCUConfigurationUpdate ProcedureCode +id-UEContextSetup ProcedureCode +id-UEContextRelease ProcedureCode +id-UEContextModification ProcedureCode +id-UEContextModificationRequired ProcedureCode +id-UEMobilityCommand ProcedureCode +id-UEContextReleaseRequest ProcedureCode +id-InitialULRRCMessageTransfer ProcedureCode +id-DLRRCMessageTransfer ProcedureCode +id-ULRRCMessageTransfer ProcedureCode +id-privateMessage ProcedureCode +id-UEInactivityNotification ProcedureCode +id-GNBDUResourceCoordination ProcedureCode +id-SystemInformationDeliveryCommand ProcedureCode +id-Paging ProcedureCode +id-Notify ProcedureCode +id-WriteReplaceWarning ProcedureCode +id-PWSCancel ProcedureCode +id-PWSRestartIndication ProcedureCode +id-PWSFailureIndication ProcedureCode +id-GNBDUStatusIndication ProcedureCode +id-RRCDeliveryReport ProcedureCode +id-F1Removal ProcedureCode +id-NetworkAccessRateReduction ProcedureCode +id-TraceStart ProcedureCode +id-DeactivateTrace ProcedureCode +id-DUCURadioInformationTransfer ProcedureCode +id-CUDURadioInformationTransfer ProcedureCode +id-BAPMappingConfiguration ProcedureCode +id-GNBDUResourceConfiguration ProcedureCode +id-IABTNLAddressAllocation ProcedureCode +id-IABUPConfigurationUpdate ProcedureCode +id-resourceStatusReportingInitiation ProcedureCode +id-resourceStatusReporting ProcedureCode +id-accessAndMobilityIndication ProcedureCode +id-accessSuccess ProcedureCode +id-cellTrafficTrace ProcedureCode # ProtocolIE-ID id-Cause ProtocolIE-ID @@ -369,6 +384,153 @@ id-MeasGapSharingConfig ProtocolIE-ID id-systemInformationAreaID ProtocolIE-ID id-areaScope ProtocolIE-ID id-RRCContainer-RRCSetupComplete ProtocolIE-ID +id-TraceActivation ProtocolIE-ID +id-TraceID ProtocolIE-ID +id-Neighbour-Cell-Information-List ProtocolIE-ID +id-SymbolAllocInSlot ProtocolIE-ID +id-NumDLULSymbols ProtocolIE-ID +id-AdditionalRRMPriorityIndex ProtocolIE-ID +id-DUCURadioInformationType ProtocolIE-ID +id-CUDURadioInformationType ProtocolIE-ID +id-AggressorgNBSetID ProtocolIE-ID +id-VictimgNBSetID ProtocolIE-ID +id-LowerLayerPresenceStatusChange ProtocolIE-ID +id-Transport-Layer-Address-Info ProtocolIE-ID +id-Neighbour-Cell-Information-Item ProtocolIE-ID +id-IntendedTDD-DL-ULConfig ProtocolIE-ID +id-QosMonitoringRequest ProtocolIE-ID +id-BHChannels-ToBeSetup-List ProtocolIE-ID +id-BHChannels-ToBeSetup-Item ProtocolIE-ID +id-BHChannels-Setup-List ProtocolIE-ID +id-BHChannels-Setup-Item ProtocolIE-ID +id-BHChannels-ToBeModified-Item ProtocolIE-ID +id-BHChannels-ToBeModified-List ProtocolIE-ID +id-BHChannels-ToBeReleased-Item ProtocolIE-ID +id-BHChannels-ToBeReleased-List ProtocolIE-ID +id-BHChannels-ToBeSetupMod-Item ProtocolIE-ID +id-BHChannels-ToBeSetupMod-List ProtocolIE-ID +id-BHChannels-FailedToBeModified-Item ProtocolIE-ID +id-BHChannels-FailedToBeModified-List ProtocolIE-ID +id-BHChannels-FailedToBeSetupMod-Item ProtocolIE-ID +id-BHChannels-FailedToBeSetupMod-List ProtocolIE-ID +id-BHChannels-Modified-Item ProtocolIE-ID +id-BHChannels-Modified-List ProtocolIE-ID +id-BHChannels-SetupMod-Item ProtocolIE-ID +id-BHChannels-SetupMod-List ProtocolIE-ID +id-BHChannels-Required-ToBeReleased-Item ProtocolIE-ID +id-BHChannels-Required-ToBeReleased-List ProtocolIE-ID +id-BHChannels-FailedToBeSetup-Item ProtocolIE-ID +id-BHChannels-FailedToBeSetup-List ProtocolIE-ID +id-BHInfo ProtocolIE-ID +id-BAPAddress ProtocolIE-ID +id-ConfiguredBAPAddress ProtocolIE-ID +id-BH-Routing-Information-Added-List ProtocolIE-ID +id-BH-Routing-Information-Added-List-Item ProtocolIE-ID +id-BH-Routing-Information-Removed-List ProtocolIE-ID +id-BH-Routing-Information-Removed-List-Item ProtocolIE-ID +id-UL-BH-Non-UP-Traffic-Mapping ProtocolIE-ID +id-Activated-Cells-to-be-Updated-List ProtocolIE-ID +id-Child-Nodes-List ProtocolIE-ID +id-IAB-Info-IAB-DU ProtocolIE-ID +id-IAB-Info-IAB-donor-CU ProtocolIE-ID +id-IAB-TNL-Addresses-To-Remove-List ProtocolIE-ID +id-IAB-TNL-Addresses-To-Remove-Item ProtocolIE-ID +id-IAB-Allocated-TNL-Address-List ProtocolIE-ID +id-IAB-Allocated-TNL-Address-Item ProtocolIE-ID +id-IABIPv6RequestType ProtocolIE-ID +id-IABv4AddressesRequested ProtocolIE-ID +id-IAB-Barred ProtocolIE-ID +id-TrafficMappingInformation ProtocolIE-ID +id-UL-UP-TNL-Information-to-Update-List ProtocolIE-ID +id-UL-UP-TNL-Information-to-Update-List-Item ProtocolIE-ID +id-UL-UP-TNL-Address-to-Update-List ProtocolIE-ID +id-UL-UP-TNL-Address-to-Update-List-Item ProtocolIE-ID +id-DL-UP-TNL-Address-to-Update-List ProtocolIE-ID +id-DL-UP-TNL-Address-to-Update-List-Item ProtocolIE-ID +id-NRV2XServicesAuthorized ProtocolIE-ID +id-LTEV2XServicesAuthorized ProtocolIE-ID +id-NRUESidelinkAggregateMaximumBitrate ProtocolIE-ID +id-LTEUESidelinkAggregateMaximumBitrate ProtocolIE-ID +id-SIB12-message ProtocolIE-ID +id-SIB13-message ProtocolIE-ID +id-SIB14-message ProtocolIE-ID +id-SLDRBs-FailedToBeModified-Item ProtocolIE-ID +id-SLDRBs-FailedToBeModified-List ProtocolIE-ID +id-SLDRBs-FailedToBeSetup-Item ProtocolIE-ID +id-SLDRBs-FailedToBeSetup-List ProtocolIE-ID +id-SLDRBs-Modified-Item ProtocolIE-ID +id-SLDRBs-Modified-List ProtocolIE-ID +id-SLDRBs-Required-ToBeModified-Item ProtocolIE-ID +id-SLDRBs-Required-ToBeModified-List ProtocolIE-ID +id-SLDRBs-Required-ToBeReleased-Item ProtocolIE-ID +id-SLDRBs-Required-ToBeReleased-List ProtocolIE-ID +id-SLDRBs-Setup-Item ProtocolIE-ID +id-SLDRBs-Setup-List ProtocolIE-ID +id-SLDRBs-ToBeModified-Item ProtocolIE-ID +id-SLDRBs-ToBeModified-List ProtocolIE-ID +id-SLDRBs-ToBeReleased-Item ProtocolIE-ID +id-SLDRBs-ToBeReleased-List ProtocolIE-ID +id-SLDRBs-ToBeSetup-Item ProtocolIE-ID +id-SLDRBs-ToBeSetup-List ProtocolIE-ID +id-SLDRBs-ToBeSetupMod-Item ProtocolIE-ID +id-SLDRBs-ToBeSetupMod-List ProtocolIE-ID +id-SLDRBs-SetupMod-List ProtocolIE-ID +id-SLDRBs-FailedToBeSetupMod-List ProtocolIE-ID +id-SLDRBs-SetupMod-Item ProtocolIE-ID +id-SLDRBs-FailedToBeSetupMod-Item ProtocolIE-ID +id-SLDRBs-ModifiedConf-List ProtocolIE-ID +id-SLDRBs-ModifiedConf-Item ProtocolIE-ID +id-UEAssistanceInformationEUTRA ProtocolIE-ID +id-PC5LinkAMBR ProtocolIE-ID +id-SL-PHY-MAC-RLC-Config ProtocolIE-ID +id-SL-ConfigDedicatedEUTRA ProtocolIE-ID +id-AlternativeQoSParaSetList ProtocolIE-ID +id-CurrentQoSParaSetIndex ProtocolIE-ID +id-gNBCUMeasurementID ProtocolIE-ID +id-gNBDUMeasurementID ProtocolIE-ID +id-RegistrationRequest ProtocolIE-ID +id-ReportCharacteristics ProtocolIE-ID +id-CellToReportList ProtocolIE-ID +id-CellMeasurementResultList ProtocolIE-ID +id-HardwareLoadIndicator ProtocolIE-ID +id-ReportingPeriodicity ProtocolIE-ID +id-TNLCapacityIndicator ProtocolIE-ID +id-CarrierList ProtocolIE-ID +id-ULCarrierList ProtocolIE-ID +id-FrequencyShift7p5khz ProtocolIE-ID +id-SSB-PositionsInBurst ProtocolIE-ID +id-NRPRACHConfig ProtocolIE-ID +id-RACHReportInformationList ProtocolIE-ID +id-RLFReportInformationList ProtocolIE-ID +id-TDD-UL-DLConfigCommonNR ProtocolIE-ID +id-CNPacketDelayBudgetDownlink ProtocolIE-ID +id-ExtendedPacketDelayBudget ProtocolIE-ID +id-TSCTrafficCharacteristics ProtocolIE-ID +id-ReportingRequestType ProtocolIE-ID +id-TimeReferenceInformation ProtocolIE-ID +id-ReferenceTimeInformationReport ProtocolIE-ID +id-ReferenceTimeInformationReportingControl ProtocolIE-ID +id-CNPacketDelayBudgetUplink ProtocolIE-ID +id-AdditionalPDCPDuplicationTNL-List ProtocolIE-ID +id-RLCDuplicationInformation ProtocolIE-ID +id-AdditionalDuplicationIndication ProtocolIE-ID +id-ConditionalInterDUMobilityInformation ProtocolIE-ID +id-ConditionalIntraDUMobilityInformation ProtocolIE-ID +id-targetCellsToCancel ProtocolIE-ID +id-requestedTargetCellGlobalID ProtocolIE-ID +id-ManagementBasedMDTPLMNList ProtocolIE-ID +id-TraceCollectionEntityIPAddress ProtocolIE-ID +id-PrivacyIndicator ProtocolIE-ID +id-TraceCollectionEntityURI ProtocolIE-ID +id-mdtConfiguration ProtocolIE-ID +id-ServingNID ProtocolIE-ID +id-NPNBroadcastInformation ProtocolIE-ID +id-NPNSupportInfo ProtocolIE-ID +id-NID ProtocolIE-ID +id-AvailableSNPN-ID-List ProtocolIE-ID +id-SIB10-message ProtocolIE-ID +id-DLCarrierList ProtocolIE-ID +id-ExtendedTAISliceSupportList ProtocolIE-ID #.END #.REGISTER @@ -558,6 +720,112 @@ RANUEID N f1ap.ies id-RANUEID GNB-DU-TNL-Association-To-Remove-Item N f1ap.ies id-GNB-DU-TNL-Association-To-Remove-Item GNB-DU-TNL-Association-To-Remove-List N f1ap.ies id-GNB-DU-TNL-Association-To-Remove-List RRCContainer-RRCSetupComplete N f1ap.ies id-RRCContainer-RRCSetupComplete +TraceActivation N f1ap.ies id-TraceActivation +TraceID N f1ap.ies id-TraceID +Neighbour-Cell-Information-List N f1ap.ies id-Neighbour-Cell-Information-List +AdditionalRRMPriorityIndex N f1ap.ies id-AdditionalRRMPriorityIndex +DUCURadioInformationType N f1ap.ies id-DUCURadioInformationType +CUDURadioInformationType N f1ap.ies id-CUDURadioInformationType +LowerLayerPresenceStatusChange N f1ap.ies id-LowerLayerPresenceStatusChange +Transport-Layer-Address-Info N f1ap.ies id-Transport-Layer-Address-Info +Neighbour-Cell-Information-Item N f1ap.ies id-Neighbour-Cell-Information-Item +BHChannels-ToBeSetup-List N f1ap.ies id-BHChannels-ToBeSetup-List +BHChannels-ToBeSetup-Item N f1ap.ies id-BHChannels-ToBeSetup-Item +BHChannels-Setup-List N f1ap.ies id-BHChannels-Setup-List +BHChannels-Setup-Item N f1ap.ies id-BHChannels-Setup-Item +BHChannels-ToBeModified-Item N f1ap.ies id-BHChannels-ToBeModified-Item +BHChannels-ToBeModified-List N f1ap.ies id-BHChannels-ToBeModified-List +BHChannels-ToBeReleased-Item N f1ap.ies id-BHChannels-ToBeReleased-Item +BHChannels-ToBeReleased-List N f1ap.ies id-BHChannels-ToBeReleased-List +BHChannels-ToBeSetupMod-Item N f1ap.ies id-BHChannels-ToBeSetupMod-Item +BHChannels-ToBeSetupMod-List N f1ap.ies id-BHChannels-ToBeSetupMod-List +BHChannels-FailedToBeModified-Item N f1ap.ies id-BHChannels-FailedToBeModified-Item +BHChannels-FailedToBeModified-List N f1ap.ies id-BHChannels-FailedToBeModified-List +BHChannels-FailedToBeSetupMod-Item N f1ap.ies id-BHChannels-FailedToBeSetupMod-Item +BHChannels-FailedToBeSetupMod-List N f1ap.ies id-BHChannels-FailedToBeSetupMod-List +BHChannels-Modified-Item N f1ap.ies id-BHChannels-Modified-Item +BHChannels-Modified-List N f1ap.ies id-BHChannels-Modified-List +BHChannels-SetupMod-Item N f1ap.ies id-BHChannels-SetupMod-Item +BHChannels-SetupMod-List N f1ap.ies id-BHChannels-SetupMod-List +BHChannels-Required-ToBeReleased-Item N f1ap.ies id-BHChannels-Required-ToBeReleased-Item +BHChannels-Required-ToBeReleased-List N f1ap.ies id-BHChannels-Required-ToBeReleased-List +BHChannels-FailedToBeSetup-Item N f1ap.ies id-BHChannels-FailedToBeSetup-Item +BHChannels-FailedToBeSetup-List N f1ap.ies id-BHChannels-FailedToBeSetup-List +BAPAddress N f1ap.ies id-BAPAddress +BAPAddress N f1ap.ies id-ConfiguredBAPAddress +BH-Routing-Information-Added-List N f1ap.ies id-BH-Routing-Information-Added-List +BH-Routing-Information-Added-List-Item N f1ap.ies id-BH-Routing-Information-Added-List-Item +BH-Routing-Information-Removed-List N f1ap.ies id-BH-Routing-Information-Removed-List +BH-Routing-Information-Removed-List-Item N f1ap.ies id-BH-Routing-Information-Removed-List-Item +UL-BH-Non-UP-Traffic-Mapping N f1ap.ies id-UL-BH-Non-UP-Traffic-Mapping +Activated-Cells-to-be-Updated-List N f1ap.ies id-Activated-Cells-to-be-Updated-List +Child-Nodes-List N f1ap.ies id-Child-Nodes-List +IAB-TNL-Addresses-To-Remove-List N f1ap.ies id-IAB-TNL-Addresses-To-Remove-List +IAB-TNL-Addresses-To-Remove-Item N f1ap.ies id-IAB-TNL-Addresses-To-Remove-Item +IAB-Allocated-TNL-Address-List N f1ap.ies id-IAB-Allocated-TNL-Address-List +IAB-Allocated-TNL-Address-Item N f1ap.ies id-IAB-Allocated-TNL-Address-Item +IABIPv6RequestType N f1ap.ies id-IABIPv6RequestType +IABv4AddressesRequested N f1ap.ies id-IABv4AddressesRequested +TrafficMappingInfo N f1ap.ies id-TrafficMappingInformation +UL-UP-TNL-Information-to-Update-List N f1ap.ies id-UL-UP-TNL-Information-to-Update-List +UL-UP-TNL-Information-to-Update-List-Item N f1ap.ies id-UL-UP-TNL-Information-to-Update-List-Item +UL-UP-TNL-Address-to-Update-List N f1ap.ies id-UL-UP-TNL-Address-to-Update-List +UL-UP-TNL-Address-to-Update-List-Item N f1ap.ies id-UL-UP-TNL-Address-to-Update-List-Item +DL-UP-TNL-Address-to-Update-List N f1ap.ies id-DL-UP-TNL-Address-to-Update-List +DL-UP-TNL-Address-to-Update-List-Item N f1ap.ies id-DL-UP-TNL-Address-to-Update-List-Item +NRV2XServicesAuthorized N f1ap.ies id-NRV2XServicesAuthorized +LTEV2XServicesAuthorized N f1ap.ies id-LTEV2XServicesAuthorized +NRUESidelinkAggregateMaximumBitrate N f1ap.ies id-NRUESidelinkAggregateMaximumBitrate +LTEUESidelinkAggregateMaximumBitrate N f1ap.ies id-LTEUESidelinkAggregateMaximumBitrate +SLDRBs-FailedToBeModified-Item N f1ap.ies id-SLDRBs-FailedToBeModified-Item +SLDRBs-FailedToBeModified-List N f1ap.ies id-SLDRBs-FailedToBeModified-List +SLDRBs-FailedToBeSetup-Item N f1ap.ies id-SLDRBs-FailedToBeSetup-Item +SLDRBs-FailedToBeSetup-List N f1ap.ies id-SLDRBs-FailedToBeSetup-List +SLDRBs-Modified-Item N f1ap.ies id-SLDRBs-Modified-Item +SLDRBs-Modified-List N f1ap.ies id-SLDRBs-Modified-List +SLDRBs-Required-ToBeModified-Item N f1ap.ies id-SLDRBs-Required-ToBeModified-Item +SLDRBs-Required-ToBeModified-List N f1ap.ies id-SLDRBs-Required-ToBeModified-List +SLDRBs-Required-ToBeReleased-Item N f1ap.ies id-SLDRBs-Required-ToBeReleased-Item +SLDRBs-Required-ToBeReleased-List N f1ap.ies id-SLDRBs-Required-ToBeReleased-List +SLDRBs-Setup-Item N f1ap.ies id-SLDRBs-Setup-Item +SLDRBs-Setup-List N f1ap.ies id-SLDRBs-Setup-List +SLDRBs-ToBeModified-Item N f1ap.ies id-SLDRBs-ToBeModified-Item +SLDRBs-ToBeModified-List N f1ap.ies id-SLDRBs-ToBeModified-List +SLDRBs-ToBeReleased-Item N f1ap.ies id-SLDRBs-ToBeReleased-Item +SLDRBs-ToBeReleased-List N f1ap.ies id-SLDRBs-ToBeReleased-List +SLDRBs-ToBeSetup-Item N f1ap.ies id-SLDRBs-ToBeSetup-Item +SLDRBs-ToBeSetup-List N f1ap.ies id-SLDRBs-ToBeSetup-List +SLDRBs-ToBeSetupMod-Item N f1ap.ies id-SLDRBs-ToBeSetupMod-Item +SLDRBs-ToBeSetupMod-List N f1ap.ies id-SLDRBs-ToBeSetupMod-List +SLDRBs-SetupMod-List N f1ap.ies id-SLDRBs-SetupMod-List +SLDRBs-FailedToBeSetupMod-List N f1ap.ies id-SLDRBs-FailedToBeSetupMod-List +SLDRBs-SetupMod-Item N f1ap.ies id-SLDRBs-SetupMod-Item +SLDRBs-FailedToBeSetupMod-Item N f1ap.ies id-SLDRBs-FailedToBeSetupMod-Item +SLDRBs-ModifiedConf-List N f1ap.ies id-SLDRBs-ModifiedConf-List +SLDRBs-ModifiedConf-Item N f1ap.ies id-SLDRBs-ModifiedConf-Item +BitRate N f1ap.ies id-PC5LinkAMBR +GNBCUMeasurementID N f1ap.ies id-gNBCUMeasurementID +GNBDUMeasurementID N f1ap.ies id-gNBDUMeasurementID +RegistrationRequest N f1ap.ies id-RegistrationRequest +ReportCharacteristics N f1ap.ies id-ReportCharacteristics +CellToReportList N f1ap.ies id-CellToReportList +CellMeasurementResultList N f1ap.ies id-CellMeasurementResultList +HardwareLoadIndicator N f1ap.ies id-HardwareLoadIndicator +ReportingPeriodicity N f1ap.ies id-ReportingPeriodicity +TNLCapacityIndicator N f1ap.ies id-TNLCapacityIndicator +RACHReportInformationList N f1ap.ies id-RACHReportInformationList +RLFReportInformationList N f1ap.ies id-RLFReportInformationList +ReportingRequestType N f1ap.ies id-ReportingRequestType +TimeReferenceInformation N f1ap.ies id-TimeReferenceInformation +ConditionalInterDUMobilityInformation N f1ap.ies id-ConditionalInterDUMobilityInformation +ConditionalIntraDUMobilityInformation N f1ap.ies id-ConditionalIntraDUMobilityInformation +TargetCellList N f1ap.ies id-targetCellsToCancel +NRCGI N f1ap.ies id-requestedTargetCellGlobalID +MDTPLMNList N f1ap.ies id-ManagementBasedMDTPLMNList +TransportLayerAddress N f1ap.ies id-TraceCollectionEntityIPAddress +PrivacyIndicator N f1ap.ies id-PrivacyIndicator +URI-address N f1ap.ies id-TraceCollectionEntityURI +NID N f1ap.ies id-ServingNID #F1AP-PROTOCOL-EXTENSION GNB-CUSystemInformation N f1ap.extension id-gNB-CUSystemInformation @@ -607,80 +875,155 @@ Ph-InfoMCG N f1ap.extension id-Ph-InfoMCG MeasGapSharingConfig N f1ap.extension id-MeasGapSharingConfig SystemInformationAreaID N f1ap.extension id-systemInformationAreaID AreaScope N f1ap.extension id-areaScope +AggressorgNBSetID N f1ap.extension id-AggressorgNBSetID +VictimgNBSetID N f1ap.extension id-VictimgNBSetID +IntendedTDD-DL-ULConfig N f1ap.extension id-IntendedTDD-DL-ULConfig +QosMonitoringRequest N f1ap.extension id-QosMonitoringRequest +BHInfo N f1ap.extension id-BHInfo +IAB-Info-IAB-DU N f1ap.extension id-IAB-Info-IAB-DU +IAB-Info-IAB-donor-CU N f1ap.extension id-IAB-Info-IAB-donor-CU +IAB-Barred N f1ap.extension id-IAB-Barred +SIB12-message N f1ap.extension id-SIB12-message +SIB13-message N f1ap.extension id-SIB13-message +SIB14-message N f1ap.extension id-SIB14-message +UEAssistanceInformationEUTRA N f1ap.extension id-UEAssistanceInformationEUTRA +SL-PHY-MAC-RLC-Config N f1ap.extension id-SL-PHY-MAC-RLC-Config +SL-ConfigDedicatedEUTRA N f1ap.extension id-SL-ConfigDedicatedEUTRA +AlternativeQoSParaSetList N f1ap.extension id-AlternativeQoSParaSetList +QoSParaSetNotifyIndex N f1ap.extension id-CurrentQoSParaSetIndex +NRCarrierList N f1ap.extension id-CarrierList +NRCarrierList N f1ap.extension id-ULCarrierList +FrequencyShift7p5khz N f1ap.extension id-FrequencyShift7p5khz +SSB-PositionsInBurst N f1ap.extension id-SSB-PositionsInBurst +NRPRACHConfig N f1ap.extension id-NRPRACHConfig +TDD-UL-DLConfigCommonNR N f1ap.extension id-TDD-UL-DLConfigCommonNR +ExtendedPacketDelayBudget N f1ap.extension id-CNPacketDelayBudgetDownlink +ExtendedPacketDelayBudget N f1ap.extension id-ExtendedPacketDelayBudget +TSCTrafficCharacteristics N f1ap.extension id-TSCTrafficCharacteristics +ExtendedPacketDelayBudget N f1ap.extension id-CNPacketDelayBudgetUplink +AdditionalPDCPDuplicationTNL-List N f1ap.extension id-AdditionalPDCPDuplicationTNL-List +RLCDuplicationInformation N f1ap.extension id-RLCDuplicationInformation +AdditionalDuplicationIndication N f1ap.extension id-AdditionalDuplicationIndication +URI-address N f1ap.extension id-TraceCollectionEntityURI +MDTConfiguration N f1ap.extension id-mdtConfiguration +NPNBroadcastInformation N f1ap.extension id-NPNBroadcastInformation +NPNSupportInfo N f1ap.extension id-NPNSupportInfo +NID N f1ap.extension id-NID +AvailableSNPN-ID-List N f1ap.extension id-AvailableSNPN-ID-List +SIB10-message N f1ap.extension id-SIB10-message +NRCarrierList N f1ap.extension id-DLCarrierList +ExtendedSliceSupportList N f1ap.extension id-ExtendedTAISliceSupportList #F1AP-ELEMENTARY-PROCEDURE -Reset N f1ap.proc.imsg id-Reset -ResetAcknowledge N f1ap.proc.sout id-Reset +Reset N f1ap.proc.imsg id-Reset +ResetAcknowledge N f1ap.proc.sout id-Reset -F1SetupRequest N f1ap.proc.imsg id-F1Setup -F1SetupResponse N f1ap.proc.sout id-F1Setup -F1SetupFailure N f1ap.proc.uout id-F1Setup +F1SetupRequest N f1ap.proc.imsg id-F1Setup +F1SetupResponse N f1ap.proc.sout id-F1Setup +F1SetupFailure N f1ap.proc.uout id-F1Setup -GNBDUConfigurationUpdate N f1ap.proc.imsg id-gNBDUConfigurationUpdate -GNBDUConfigurationUpdateAcknowledge N f1ap.proc.sout id-gNBDUConfigurationUpdate -GNBDUConfigurationUpdateFailure N f1ap.proc.uout id-gNBDUConfigurationUpdate +GNBDUConfigurationUpdate N f1ap.proc.imsg id-gNBDUConfigurationUpdate +GNBDUConfigurationUpdateAcknowledge N f1ap.proc.sout id-gNBDUConfigurationUpdate +GNBDUConfigurationUpdateFailure N f1ap.proc.uout id-gNBDUConfigurationUpdate -GNBCUConfigurationUpdate N f1ap.proc.imsg id-gNBCUConfigurationUpdate -GNBCUConfigurationUpdateAcknowledge N f1ap.proc.sout id-gNBCUConfigurationUpdate -GNBCUConfigurationUpdateFailure N f1ap.proc.uout id-gNBCUConfigurationUpdate +GNBCUConfigurationUpdate N f1ap.proc.imsg id-gNBCUConfigurationUpdate +GNBCUConfigurationUpdateAcknowledge N f1ap.proc.sout id-gNBCUConfigurationUpdate +GNBCUConfigurationUpdateFailure N f1ap.proc.uout id-gNBCUConfigurationUpdate -UEContextSetupRequest N f1ap.proc.imsg id-UEContextSetup -UEContextSetupResponse N f1ap.proc.sout id-UEContextSetup -UEContextSetupFailure N f1ap.proc.uout id-UEContextSetup +UEContextSetupRequest N f1ap.proc.imsg id-UEContextSetup +UEContextSetupResponse N f1ap.proc.sout id-UEContextSetup +UEContextSetupFailure N f1ap.proc.uout id-UEContextSetup -UEContextReleaseCommand N f1ap.proc.imsg id-UEContextRelease -UEContextReleaseComplete N f1ap.proc.sout id-UEContextRelease +UEContextReleaseCommand N f1ap.proc.imsg id-UEContextRelease +UEContextReleaseComplete N f1ap.proc.sout id-UEContextRelease -UEContextModificationRequest N f1ap.proc.imsg id-UEContextModification -UEContextModificationResponse N f1ap.proc.sout id-UEContextModification -UEContextModificationFailure N f1ap.proc.uout id-UEContextModification +UEContextModificationRequest N f1ap.proc.imsg id-UEContextModification +UEContextModificationResponse N f1ap.proc.sout id-UEContextModification +UEContextModificationFailure N f1ap.proc.uout id-UEContextModification -UEContextModificationRequired N f1ap.proc.imsg id-UEContextModificationRequired -UEContextModificationConfirm N f1ap.proc.sout id-UEContextModificationRequired -UEContextModificationRefuse N f1ap.proc.uout id-UEContextModificationRequired +UEContextModificationRequired N f1ap.proc.imsg id-UEContextModificationRequired +UEContextModificationConfirm N f1ap.proc.sout id-UEContextModificationRequired +UEContextModificationRefuse N f1ap.proc.uout id-UEContextModificationRequired -WriteReplaceWarningRequest N f1ap.proc.imsg id-WriteReplaceWarning -WriteReplaceWarningResponse N f1ap.proc.sout id-WriteReplaceWarning +WriteReplaceWarningRequest N f1ap.proc.imsg id-WriteReplaceWarning +WriteReplaceWarningResponse N f1ap.proc.sout id-WriteReplaceWarning -PWSCancelRequest N f1ap.proc.imsg id-PWSCancel -PWSCancelResponse N f1ap.proc.sout id-PWSCancel +PWSCancelRequest N f1ap.proc.imsg id-PWSCancel +PWSCancelResponse N f1ap.proc.sout id-PWSCancel -ErrorIndication N f1ap.proc.imsg id-ErrorIndication +ErrorIndication N f1ap.proc.imsg id-ErrorIndication -UEContextReleaseRequest N f1ap.proc.imsg id-UEContextReleaseRequest +UEContextReleaseRequest N f1ap.proc.imsg id-UEContextReleaseRequest -InitialULRRCMessageTransfer N f1ap.proc.imsg id-InitialULRRCMessageTransfer +InitialULRRCMessageTransfer N f1ap.proc.imsg id-InitialULRRCMessageTransfer -DLRRCMessageTransfer N f1ap.proc.imsg id-DLRRCMessageTransfer +DLRRCMessageTransfer N f1ap.proc.imsg id-DLRRCMessageTransfer -ULRRCMessageTransfer N f1ap.proc.imsg id-ULRRCMessageTransfer +ULRRCMessageTransfer N f1ap.proc.imsg id-ULRRCMessageTransfer -UEInactivityNotification N f1ap.proc.imsg id-UEInactivityNotification +UEInactivityNotification N f1ap.proc.imsg id-UEInactivityNotification -GNBDUResourceCoordinationRequest N f1ap.proc.imsg id-GNBDUResourceCoordination -GNBDUResourceCoordinationResponse N f1ap.proc.sout id-GNBDUResourceCoordination +GNBDUResourceCoordinationRequest N f1ap.proc.imsg id-GNBDUResourceCoordination +GNBDUResourceCoordinationResponse N f1ap.proc.sout id-GNBDUResourceCoordination -PrivateMessage N f1ap.proc.imsg id-privateMessage +PrivateMessage N f1ap.proc.imsg id-privateMessage -SystemInformationDeliveryCommand N f1ap.proc.imsg id-SystemInformationDeliveryCommand +SystemInformationDeliveryCommand N f1ap.proc.imsg id-SystemInformationDeliveryCommand -Paging N f1ap.proc.imsg id-Paging +Paging N f1ap.proc.imsg id-Paging -Notify N f1ap.proc.imsg id-Notify +Notify N f1ap.proc.imsg id-Notify -NetworkAccessRateReduction N f1ap.proc.imsg id-NetworkAccessRateReduction +NetworkAccessRateReduction N f1ap.proc.imsg id-NetworkAccessRateReduction -PWSRestartIndication N f1ap.proc.imsg id-PWSRestartIndication +PWSRestartIndication N f1ap.proc.imsg id-PWSRestartIndication -PWSFailureIndication N f1ap.proc.imsg id-PWSFailureIndication +PWSFailureIndication N f1ap.proc.imsg id-PWSFailureIndication -GNBDUStatusIndication N f1ap.proc.imsg id-GNBDUStatusIndication +GNBDUStatusIndication N f1ap.proc.imsg id-GNBDUStatusIndication -RRCDeliveryReport N f1ap.proc.imsg id-RRCDeliveryReport +RRCDeliveryReport N f1ap.proc.imsg id-RRCDeliveryReport -F1RemovalRequest N f1ap.proc.imsg id-F1Removal -F1RemovalResponse N f1ap.proc.sout id-F1Removal -F1RemovalFailure N f1ap.proc.uout id-F1Removal +F1RemovalRequest N f1ap.proc.imsg id-F1Removal +F1RemovalResponse N f1ap.proc.sout id-F1Removal +F1RemovalFailure N f1ap.proc.uout id-F1Removal + +TraceStart N f1ap.proc.imsg id-TraceStart + +DeactivateTrace N f1ap.proc.imsg id-DeactivateTrace + +DUCURadioInformationTransfer N f1ap.proc.imsg id-DUCURadioInformationTransfer + +CUDURadioInformationTransfer N f1ap.proc.imsg id-CUDURadioInformationTransfer + +BAPMappingConfiguration N f1ap.proc.imsg id-BAPMappingConfiguration +BAPMappingConfigurationAcknowledge N f1ap.proc.sout id-BAPMappingConfiguration + +GNBDUResourceConfiguration N f1ap.proc.imsg id-GNBDUResourceConfiguration +GNBDUResourceConfigurationAcknowledge N f1ap.proc.sout id-GNBDUResourceConfiguration + +IABTNLAddressRequest N f1ap.proc.imsg id-IABTNLAddressAllocation +IABTNLAddressResponse N f1ap.proc.sout id-IABTNLAddressAllocation + +IABUPConfigurationUpdateRequest N f1ap.proc.imsg id-IABUPConfigurationUpdate +IABUPConfigurationUpdateResponse N f1ap.proc.sout id-IABUPConfigurationUpdate +IABUPConfigurationUpdateFailure N f1ap.proc.uout id-IABUPConfigurationUpdate + +ResourceStatusRequest N f1ap.proc.imsg id-resourceStatusReportingInitiation +ResourceStatusResponse N f1ap.proc.sout id-resourceStatusReportingInitiation +ResourceStatusFailure N f1ap.proc.uout id-resourceStatusReportingInitiation + +ResourceStatusUpdate N f1ap.proc.imsg id-resourceStatusReporting + +AccessAndMobilityIndication N f1ap.proc.imsg id-accessAndMobilityIndication + +ReferenceTimeInformationReportingControl N f1ap.proc.imsg id-ReferenceTimeInformationReportingControl + +ReferenceTimeInformationReport N f1ap.proc.imsg id-ReferenceTimeInformationReport + +AccessSuccess N f1ap.proc.imsg id-accessSuccess + +CellTrafficTrace N f1ap.proc.imsg id-cellTrafficTrace #.FN_BODY AdditionalSIBMessageList-Item/additionalSIB VAL_PTR = ¶m_tvb tvbuff_t *param_tvb = NULL; @@ -1019,6 +1362,21 @@ Configured-EPS-TAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX case 9: dissect_nr_rrc_SIB9_PDU(param_tvb, actx->pinfo, subtree, NULL); break; + case 10: + dissect_nr_rrc_SIB10_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 11: + dissect_nr_rrc_SIB11_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 12: + dissect_nr_rrc_SIB12_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 13: + dissect_nr_rrc_SIB13_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 14: + dissect_nr_rrc_SIB14_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; default: break; } @@ -1187,6 +1545,240 @@ Requested-PDCCH-BlindDetectionSCG TYPE=FT_UINT8 DISPLAY=BASE_DEC dissect_nr_rrc_UEAssistanceInformation_PDU(param_tvb, actx->pinfo, subtree, NULL); } +#.FN_BODY BurstArrivalTime VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_BurstArrivalTime); + dissect_nr_rrc_ReferenceTime_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY Child-Node-Cells-List-Item/cSI-RS-Configuration VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_cSI_RS_Configuration); + dissect_nr_rrc_NZP_CSI_RS_Resource_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY Child-Node-Cells-List-Item/sR-Configuration VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sR_Configuration); + dissect_nr_rrc_SchedulingRequestResourceConfig_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY Child-Node-Cells-List-Item/pDCCH-ConfigSIB1 VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_pDCCH_ConfigSIB1); + dissect_nr_rrc_PDCCH_ConfigSIB1_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY Child-Node-Cells-List-Item/sCS-Common VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sCS_Common); + dissect_nr_rrc_subCarrierSpacingCommon_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + +#.TYPE_ATTR +ExtendedPacketDelayBudget DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(f1ap_ExtendedPacketDelayBudget_fmt) + +#.FN_BODY IABTNLAddress/iPv4Address VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_IABTNLAddressIPv4Address); + proto_tree_add_item(subtree, hf_f1ap_IABTNLAddressIPv4, param_tvb, 0, 4, ENC_BIG_ENDIAN); + } + +#.FN_BODY IABTNLAddress/iPv6Address VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_IABTNLAddressIPv6Address); + proto_tree_add_item(subtree, hf_f1ap_IABTNLAddressIPv6, param_tvb, 0, 16, ENC_NA); + } + +#.FN_BODY IABTNLAddress/iPv6Prefix VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_IABTNLAddressIPv6Prefix); + proto_tree_add_item(subtree, hf_f1ap_IABTNLAddressIPv6Prefix, param_tvb, 0, 8, ENC_NA); + } + +#.FN_BODY InterfacesToTrace VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if(param_tvb){ + static int * const fields[] = { + &hf_f1ap_interfacesToTrace_NG_C, + &hf_f1ap_interfacesToTrace_Xn_C, + &hf_f1ap_interfacesToTrace_Uu, + &hf_f1ap_interfacesToTrace_F1_C, + &hf_f1ap_interfacesToTrace_E1, + &hf_f1ap_interfacesToTrace_Reserved, + NULL + }; + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_InterfacesToTrace); + proto_tree_add_bitmask_list(subtree, param_tvb, 0, 1, fields, ENC_BIG_ENDIAN); + } + +#.TYPE_ATTR +M7period DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_minutes + +#.FN_BODY MeasurementsToActivate VAL_PTR=¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + static int * const fields[] = { + &hf_f1ap_MeasurementsToActivate_Reserved1, + &hf_f1ap_MeasurementsToActivate_M2, + &hf_f1ap_MeasurementsToActivate_Reserved2, + &hf_f1ap_MeasurementsToActivate_M5, + &hf_f1ap_MeasurementsToActivate_Reserved3, + &hf_f1ap_MeasurementsToActivate_M6, + &hf_f1ap_MeasurementsToActivate_M7, + NULL + }; + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MeasurementsToActivate); + proto_tree_add_bitmask_list(subtree, param_tvb, 0, 1, fields, ENC_BIG_ENDIAN); + } + +#.FN_BODY NRUERLFReportContainer VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_NRUERLFReportContainer); + dissect_nr_rrc_nr_RLF_Report_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + +#.TYPE_ATTR +RepetitionPeriod DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds + +#.TYPE_ATTR +Periodicity DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_microseconds + +#.FN_BODY RACH-Config-Common VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RACH_Config_Common); + dissect_nr_rrc_RACH_ConfigCommon_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY RACH-Config-Common-IAB VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RACH_Config_Common_IAB); + dissect_nr_rrc_RACH_ConfigCommon_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY RACHReportContainer VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RACHReportContainer); + dissect_nr_rrc_RA_ReportList_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY ReferenceTime VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ReferenceTime); + dissect_nr_rrc_ReferenceTime_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY ReportCharacteristics VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; +%(DEFAULT_BODY)s + if(parameter_tvb){ + static int * const fields[] = { + &hf_f1ap_ReportCharacteristics_PRBPeriodic, + &hf_f1ap_ReportCharacteristics_TNLCapacityIndPeriodic, + &hf_f1ap_ReportCharacteristics_CompositeAvailableCapacityPeriodic, + &hf_f1ap_ReportCharacteristics_HWLoadIndPeriodic, + &hf_f1ap_ReportCharacteristics_NumberOfActiveUEs, + &hf_f1ap_ReportCharacteristics_Reserved, + NULL + }; + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ReportCharacteristics); + proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 4, fields, ENC_BIG_ENDIAN); + } + +#.FN_BODY SIB10-message VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB10_message); + dissect_nr_rrc_SIB10_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY SIB12-message VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB12_message); + dissect_nr_rrc_SIB12_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY SIB13-message VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB13_message); + dissect_nr_rrc_SIB13_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY SIB14-message VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB14_message); + dissect_nr_rrc_SIB14_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY SL-PHY-MAC-RLC-Config VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SL_PHY_MAC_RLC_Config); + dissect_nr_rrc_SL_PHY_MAC_RLC_Config_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY SL-ConfigDedicatedEUTRA VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (param_tvb && lte_rrc_conn_reconf_handle) { + subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SL_ConfigDedicatedEUTRA); + call_dissector(lte_rrc_conn_reconf_handle, param_tvb, actx->pinfo, subtree); + } + +#.FN_BODY TDD-UL-DLConfigCommonNR VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (param_tvb && lte_rrc_conn_reconf_handle) { + subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_TDD_UL_DLConfigCommonNR); + dissect_nr_rrc_TDD_UL_DL_ConfigCommon_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY UEAssistanceInformationEUTRA VAL_PTR = ¶m_tvb + tvbuff_t *param_tvb = NULL; +%(DEFAULT_BODY)s + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UEAssistanceInformationEUTRA); + dissect_lte_rrc_UEAssistanceInformation_r11_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + #.FN_HDR Reset col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Reset"); #.FN_HDR ResetAcknowledge @@ -1283,6 +1875,72 @@ Requested-PDCCH-BlindDetectionSCG TYPE=FT_UINT8 DISPLAY=BASE_DEC #.FN_HDR F1RemovalFailure col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1RemovalFailure"); #.END +#.FN_HDR TraceStart + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart"); +#.END +#.FN_HDR DeactivateTrace + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace"); +#.END +#.FN_HDR DUCURadioInformationTransfer + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DUCURadioInformationTransfer"); +#.END +#.FN_HDR CUDURadioInformationTransfer + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CUDURadioInformationTransfer"); +#.END +#.FN_HDR BAPMappingConfiguration + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BAPMappingConfiguration"); +#.END +#.FN_HDR BAPMappingConfigurationAcknowledge + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BAPMappingConfigurationAcknowledge"); +#.END +#.FN_HDR GNBDUResourceConfiguration + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUResourceConfiguration"); +#.END +#.FN_HDR GNBDUResourceConfigurationAcknowledge + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUResourceConfigurationAcknowledge"); +#.END +#.FN_HDR IABTNLAddressRequest + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABTNLAddressRequest"); +#.END +#.FN_HDR IABTNLAddressResponse + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABTNLAddressResponse"); +#.END +#.FN_HDR IABUPConfigurationUpdateRequest + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABUPConfigurationUpdateRequest"); +#.END +#.FN_HDR IABUPConfigurationUpdateResponse + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABUPConfigurationUpdateResponse"); +#.END +#.FN_HDR IABUPConfigurationUpdateFailure + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABUPConfigurationUpdateFailure"); +#.END +#.FN_HDR ResourceStatusRequest + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusRequest"); +#.END +#.FN_HDR ResourceStatusResponse + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusResponse"); +#.END +#.FN_HDR ResourceStatusFailure + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusFailure"); +#.END +#.FN_HDR ResourceStatusUpdate + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusUpdate"); +#.END +#.FN_HDR AccessAndMobilityIndication + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AccessAndMobilityIndication"); +#.END +#.FN_HDR ReferenceTimeInformationReportingControl + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ReferenceTimeInformationReportingControl"); +#.END +#.FN_HDR ReferenceTimeInformationReport + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ReferenceTimeInformationReport"); +#.END +#.FN_HDR AccessSuccess + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AccessSuccess"); +#.END +#.FN_HDR CellTrafficTrace + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace"); +#.END # # Editor modelines - https://www.wireshark.org/tools/modelines.html diff --git a/epan/dissectors/asn1/f1ap/packet-f1ap-template.c b/epan/dissectors/asn1/f1ap/packet-f1ap-template.c index 0260f1b845..11f29910e4 100644 --- a/epan/dissectors/asn1/f1ap/packet-f1ap-template.c +++ b/epan/dissectors/asn1/f1ap/packet-f1ap-template.c @@ -8,7 +8,7 @@ * * SPDX-License-Identifier: GPL-2.0-or-later * - * References: 3GPP TS 38.473 V15.8.0 (2019-12) + * References: 3GPP TS 38.473 V16.2.0 (2020-07) */ #include "config.h" @@ -24,6 +24,7 @@ #include "packet-nr-rrc.h" #include "packet-e212.h" #include "packet-pdcp-nr.h" +#include "packet-lte-rrc.h" #define PNAME "F1 Application Protocol" #define PSNAME "F1AP" @@ -41,6 +42,28 @@ static int proto_f1ap = -1; static int hf_f1ap_transportLayerAddressIPv4 = -1; static int hf_f1ap_transportLayerAddressIPv6 = -1; +static int hf_f1ap_IABTNLAddressIPv4 = -1; +static int hf_f1ap_IABTNLAddressIPv6 = -1; +static int hf_f1ap_IABTNLAddressIPv6Prefix = -1; +static int hf_f1ap_interfacesToTrace_NG_C = -1; +static int hf_f1ap_interfacesToTrace_Xn_C = -1; +static int hf_f1ap_interfacesToTrace_Uu = -1; +static int hf_f1ap_interfacesToTrace_F1_C = -1; +static int hf_f1ap_interfacesToTrace_E1 = -1; +static int hf_f1ap_interfacesToTrace_Reserved = -1; +static int hf_f1ap_MeasurementsToActivate_Reserved1 = -1; +static int hf_f1ap_MeasurementsToActivate_M2 = -1; +static int hf_f1ap_MeasurementsToActivate_Reserved2 = -1; +static int hf_f1ap_MeasurementsToActivate_M5 = -1; +static int hf_f1ap_MeasurementsToActivate_Reserved3 = -1; +static int hf_f1ap_MeasurementsToActivate_M6 = -1; +static int hf_f1ap_MeasurementsToActivate_M7 = -1; +static int hf_f1ap_ReportCharacteristics_PRBPeriodic = -1; +static int hf_f1ap_ReportCharacteristics_TNLCapacityIndPeriodic = -1; +static int hf_f1ap_ReportCharacteristics_CompositeAvailableCapacityPeriodic = -1; +static int hf_f1ap_ReportCharacteristics_HWLoadIndPeriodic = -1; +static int hf_f1ap_ReportCharacteristics_NumberOfActiveUEs = -1; +static int hf_f1ap_ReportCharacteristics_Reserved = -1; #include "packet-f1ap-hf.c" /* Initialize the subtree pointers */ @@ -75,6 +98,30 @@ static gint ett_f1ap_RequestedP_MaxFR2 = -1; static gint ett_f1ap_UEAssistanceInformation = -1; static gint ett_f1ap_CG_Config = -1; static gint ett_f1ap_Ph_InfoMCG = -1; +static gint ett_f1ap_BurstArrivalTime = -1; +static gint ett_f1ap_cSI_RS_Configuration = -1; +static gint ett_f1ap_sR_Configuration = -1; +static gint ett_f1ap_pDCCH_ConfigSIB1 = -1; +static gint ett_f1ap_sCS_Common = -1; +static gint ett_f1ap_IABTNLAddressIPv4Address = -1; +static gint ett_f1ap_IABTNLAddressIPv6Address = -1; +static gint ett_f1ap_IABTNLAddressIPv6Prefix = -1; +static gint ett_f1ap_InterfacesToTrace = -1; +static gint ett_f1ap_MeasurementsToActivate = -1; +static gint ett_f1ap_NRUERLFReportContainer = -1; +static gint ett_f1ap_RACH_Config_Common = -1; +static gint ett_f1ap_RACH_Config_Common_IAB = -1; +static gint ett_f1ap_RACHReportContainer = -1; +static gint ett_f1ap_ReferenceTime = -1; +static gint ett_f1ap_ReportCharacteristics = -1; +static gint ett_f1ap_SIB10_message = -1; +static gint ett_f1ap_SIB12_message = -1; +static gint ett_f1ap_SIB13_message = -1; +static gint ett_f1ap_SIB14_message = -1; +static gint ett_f1ap_SL_PHY_MAC_RLC_Config = -1; +static gint ett_f1ap_SL_ConfigDedicatedEUTRA = -1; +static gint ett_f1ap_TDD_UL_DLConfigCommonNR = -1; +static gint ett_f1ap_UEAssistanceInformationEUTRA = -1; #include "packet-f1ap-ett.c" enum{ @@ -106,6 +153,7 @@ static dissector_handle_t nr_rrc_ul_ccch_handle; static dissector_handle_t nr_rrc_dl_ccch_handle; static dissector_handle_t nr_rrc_ul_dcch_handle; static dissector_handle_t nr_pdcp_handle; +static dissector_handle_t lte_rrc_conn_reconf_handle; /* Dissector tables */ static dissector_table_t f1ap_ies_dissector_table; @@ -120,6 +168,11 @@ static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, pro static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); +static const true_false_string f1ap_tfs_interfacesToTrace = { + "Should be traced", + "Should not be traced" +}; + static void f1ap_MaxPacketLossRate_fmt(gchar *s, guint32 v) { @@ -132,6 +185,12 @@ f1ap_PacketDelayBudget_fmt(gchar *s, guint32 v) g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%u)", (float)v/2, v); } +static void +f1ap_ExtendedPacketDelayBudget_fmt(gchar *s, guint32 v) +{ + g_snprintf(s, ITEM_LABEL_LENGTH, "%.2fms (%u)", (float)v/100, v); +} + static f1ap_private_data_t* f1ap_get_private_data(packet_info *pinfo) { @@ -245,6 +304,94 @@ void proto_register_f1ap(void) { { "IPv6 transportLayerAddress", "f1ap.transportLayerAddressIPv6", FT_IPv6, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_IABTNLAddressIPv4, + { "IPv4 IABTNLAddress", "f1ap.IABTNLAddressIPv4", + FT_IPv4, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_IABTNLAddressIPv6, + { "IPv6 IABTNLAddress", "f1ap.IABTNLAddressIPv6", + FT_IPv6, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_IABTNLAddressIPv6Prefix, + { "IPv6 Prefix IABTNLAddress", "f1ap.IABTNLAddressIPv6Prefix", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_interfacesToTrace_NG_C, + { "NG-C", "f1ap.interfacesToTrace.NG_C", + FT_BOOLEAN, 8, TFS(&f1ap_tfs_interfacesToTrace), 0x80, + NULL, HFILL }}, + { &hf_f1ap_interfacesToTrace_Xn_C, + { "Xn-C", "f1ap.interfacesToTrace.Xn_C", + FT_BOOLEAN, 8, TFS(&f1ap_tfs_interfacesToTrace), 0x40, + NULL, HFILL }}, + { &hf_f1ap_interfacesToTrace_Uu, + { "Uu", "f1ap.interfacesToTrace.Uu", + FT_BOOLEAN, 8, TFS(&f1ap_tfs_interfacesToTrace), 0x20, + NULL, HFILL }}, + { &hf_f1ap_interfacesToTrace_F1_C, + { "F1-C", "f1ap.interfacesToTrace.F1_C", + FT_BOOLEAN, 8, TFS(&f1ap_tfs_interfacesToTrace), 0x10, + NULL, HFILL }}, + { &hf_f1ap_interfacesToTrace_E1, + { "E1", "f1ap.interfacesToTrace.E1", + FT_BOOLEAN, 8, TFS(&f1ap_tfs_interfacesToTrace), 0x08, + NULL, HFILL }}, + { &hf_f1ap_interfacesToTrace_Reserved, + { "Reserved", "f1ap.interfacesToTrace.Reserved", + FT_UINT8, BASE_HEX, NULL, 0x07, + NULL, HFILL }}, + { &hf_f1ap_MeasurementsToActivate_Reserved1, + { "Reserved", "f1ap.MeasurementsToActivate.Reserved", + FT_UINT8, BASE_HEX, NULL, 0x80, + NULL, HFILL }}, + { &hf_f1ap_MeasurementsToActivate_M2, + { "M2", "f1ap.MeasurementsToActivate.M2", + FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x40, + NULL, HFILL }}, + { &hf_f1ap_MeasurementsToActivate_Reserved2, + { "Reserved", "f1ap.MeasurementsToActivate.Reserved", + FT_UINT8, BASE_HEX, NULL, 0x30, + NULL, HFILL }}, + { &hf_f1ap_MeasurementsToActivate_M5, + { "M5", "f1ap.MeasurementsToActivate.M5", + FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x08, + NULL, HFILL }}, + { &hf_f1ap_MeasurementsToActivate_Reserved3, + { "Reserved", "f1ap.MeasurementsToActivate.Reserved", + FT_UINT8, BASE_HEX, NULL, 0x04, + NULL, HFILL }}, + { &hf_f1ap_MeasurementsToActivate_M6, + { "M6", "f1ap.MeasurementsToActivate.M6", + FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x02, + NULL, HFILL }}, + { &hf_f1ap_MeasurementsToActivate_M7, + { "M7", "f1ap.MeasurementsToActivate.M7", + FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x01, + NULL, HFILL }}, + { &hf_f1ap_ReportCharacteristics_PRBPeriodic, + { "PRBPeriodic", "f1ap.ReportCharacteristics.PRBPeriodic", + FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x80000000, + NULL, HFILL }}, + { &hf_f1ap_ReportCharacteristics_TNLCapacityIndPeriodic, + { "TNLCapacityIndPeriodic", "f1ap.ReportCharacteristics.TNLCapacityIndPeriodic", + FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x40000000, + NULL, HFILL }}, + { &hf_f1ap_ReportCharacteristics_CompositeAvailableCapacityPeriodic, + { "CompositeAvailableCapacityPeriodic", "f1ap.ReportCharacteristics.CompositeAvailableCapacityPeriodic", + FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x20000000, + NULL, HFILL }}, + { &hf_f1ap_ReportCharacteristics_HWLoadIndPeriodic, + { "HWLoadIndPeriodic", "f1ap.ReportCharacteristics.HWLoadIndPeriodic", + FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x10000000, + NULL, HFILL }}, + { &hf_f1ap_ReportCharacteristics_NumberOfActiveUEs, + { "NumberOfActiveUEs", "f1ap.ReportCharacteristics.NumberOfActiveUEs", + FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x08000000, + NULL, HFILL }}, + { &hf_f1ap_ReportCharacteristics_Reserved, + { "Reserved", "f1ap.ReportCharacteristics.Reserved", + FT_UINT32, BASE_HEX, NULL, 0x07ffffff, + NULL, HFILL }}, #include "packet-f1ap-hfarr.c" }; @@ -281,6 +428,30 @@ void proto_register_f1ap(void) { &ett_f1ap_UEAssistanceInformation, &ett_f1ap_CG_Config, &ett_f1ap_Ph_InfoMCG, + &ett_f1ap_BurstArrivalTime, + &ett_f1ap_cSI_RS_Configuration, + &ett_f1ap_sR_Configuration, + &ett_f1ap_pDCCH_ConfigSIB1, + &ett_f1ap_sCS_Common, + &ett_f1ap_IABTNLAddressIPv4Address, + &ett_f1ap_IABTNLAddressIPv6Address, + &ett_f1ap_IABTNLAddressIPv6Prefix, + &ett_f1ap_InterfacesToTrace, + &ett_f1ap_MeasurementsToActivate, + &ett_f1ap_NRUERLFReportContainer, + &ett_f1ap_RACH_Config_Common, + &ett_f1ap_RACH_Config_Common_IAB, + &ett_f1ap_RACHReportContainer, + &ett_f1ap_ReferenceTime, + &ett_f1ap_ReportCharacteristics, + &ett_f1ap_SIB10_message, + &ett_f1ap_SIB12_message, + &ett_f1ap_SIB13_message, + &ett_f1ap_SIB14_message, + &ett_f1ap_SL_PHY_MAC_RLC_Config, + &ett_f1ap_SL_ConfigDedicatedEUTRA, + &ett_f1ap_TDD_UL_DLConfigCommonNR, + &ett_f1ap_UEAssistanceInformationEUTRA, #include "packet-f1ap-ettarr.c" }; @@ -310,6 +481,7 @@ proto_reg_handoff_f1ap(void) nr_rrc_dl_ccch_handle = find_dissector_add_dependency("nr-rrc.dl.ccch", proto_f1ap); nr_rrc_ul_dcch_handle = find_dissector_add_dependency("nr-rrc.ul.dcch", proto_f1ap); nr_pdcp_handle = find_dissector_add_dependency("pdcp-nr", proto_f1ap); + lte_rrc_conn_reconf_handle = find_dissector_add_dependency("lte-rrc.rrc_conn_reconf", proto_f1ap); #include "packet-f1ap-dis-tab.c" } diff --git a/epan/dissectors/asn1/f1ap/packet-f1ap-template.h b/epan/dissectors/asn1/f1ap/packet-f1ap-template.h new file mode 100644 index 0000000000..598436defb --- /dev/null +++ b/epan/dissectors/asn1/f1ap/packet-f1ap-template.h @@ -0,0 +1,29 @@ +/* packet-f1ap.h + * Routines for E-UTRAN F1 Application Protocol (F1AP) packet dissection + * + * Wireshark - Network traffic analyzer + * By Gerald Combs + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef PACKET_F1AP_H +#define PACKET_F1AP_H + +#include "packet-f1ap-exp.h" + +#endif /* PACKET_F1AP_H */ + +/* + * Editor modelines + * + * Local Variables: + * c-basic-offset: 2 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * ex: set shiftwidth=2 tabstop=8 expandtab: + * :indentSize=2:tabSize=8:noTabs=true: + */ diff --git a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf index ab6c6109c1..9b8bf4025f 100644 --- a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf +++ b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf @@ -73,14 +73,18 @@ MeasGapSharingConfig_PDU MeasResultSCG-Failure_PDU MeasurementTimingConfiguration_PDU MIB_PDU +NZP-CSI-RS-Resource_PDU P-Max_PDU +PDCCH-ConfigSIB1_PDU PH-TypeListMCG_PDU PH-TypeListSCG_PDU RA-ReportList-r16_PDU +RACH-ConfigCommon_PDU RadioBearerConfig_PDU ReferenceTime-r16_PDU RRCReconfiguration_PDU RRCReconfigurationComplete_PDU +SchedulingRequestResourceConfig_PDU SIB1_PDU SIB2_PDU SIB3_PDU @@ -90,9 +94,15 @@ SIB6_PDU SIB7_PDU SIB8_PDU SIB9_PDU +SIB10-r16_PDU +SIB11-r16_PDU +SIB12-r16_PDU +SIB13-r16_PDU +SIB14-r16_PDU SidelinkParametersNR-r16_PDU SidelinkUEInformationNR-r16_PDU SL-CBR-r16_PDU +SL-PHY-MAC-RLC-Config-r16_PDU SupportedBandCombinationListSidelink-r16_PDU TDD-UL-DL-ConfigCommon_PDU UE-CapabilityRAT-ContainerList_PDU @@ -129,20 +139,25 @@ MeasGapSharingConfig MeasResultSCG-Failure MeasurementTimingConfiguration MIB +NZP-CSI-RS-Resource P-Max PCCH-Message @pcch +PDCCH-ConfigSIB1 PH-TypeListMCG PH-TypeListSCG RA-ReportList-r16 +RACH-ConfigCommon RadioBearerConfig ReferenceTime-r16 RRCReconfiguration @rrc_reconf RRCReconfigurationComplete SBCCH-SL-BCH-Message @sbcch.sl.bch SCCH-Message @scch +SchedulingRequestResourceConfig SidelinkParametersNR-r16 SidelinkUEInformationNR-r16 SL-CBR-r16 +SL-PHY-MAC-RLC-Config-r16 SupportedBandCombinationListSidelink-r16 SIB1 SIB2 @@ -153,6 +168,11 @@ SIB6 SIB7 SIB8 SIB9 +SIB10-r16 +SIB11-r16 +SIB12-r16 +SIB13-r16 +SIB14-r16 TDD-UL-DL-ConfigCommon UE-CapabilityRAT-ContainerList UE-CapabilityRequestFilterCommon 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 33aadd11a5..8b238d38cd 100644 --- a/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c +++ b/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c @@ -525,6 +525,18 @@ dissect_nr_rrc_nr_RLF_Report_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, return offset; } +int +dissect_nr_rrc_subCarrierSpacingCommon_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_T_subCarrierSpacingCommon(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_BCCH_DL_SCH_Message_PDU); + offset += 7; offset >>= 3; + return offset; +} + void proto_register_nr_rrc(void) { diff --git a/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.h b/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.h index 4ebdac5fbd..0a9eaf7207 100644 --- a/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.h +++ b/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.h @@ -13,4 +13,5 @@ #include "packet-nr-rrc-exp.h" int dissect_nr_rrc_nr_RLF_Report_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_nr_rrc_subCarrierSpacingCommon_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); #endif /* PACKET_NR_RRC_H */ diff --git a/epan/dissectors/asn1/x2ap/packet-x2ap-template.c b/epan/dissectors/asn1/x2ap/packet-x2ap-template.c index e0103650a5..19810d803a 100644 --- a/epan/dissectors/asn1/x2ap/packet-x2ap-template.c +++ b/epan/dissectors/asn1/x2ap/packet-x2ap-template.c @@ -33,6 +33,7 @@ #include "packet-ranap.h" #include "packet-ntp.h" #include "packet-s1ap.h" +#include "packet-f1ap.h" #ifdef _MSC_VER /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */ @@ -171,6 +172,7 @@ static int ett_x2ap_ReportCharacteristics_ENDC = -1; static int ett_x2ap_TargetCellInNGRAN = -1; static int ett_x2ap_TDDULDLConfigurationCommonNR = -1; static int ett_x2ap_MDT_ConfigurationNR = -1; +static int ett_x2ap_NRCellPRACHConfig = -1; #include "packet-x2ap-ett.c" /* Forward declarations */ @@ -686,6 +688,7 @@ void proto_register_x2ap(void) { &ett_x2ap_TargetCellInNGRAN, &ett_x2ap_TDDULDLConfigurationCommonNR, &ett_x2ap_MDT_ConfigurationNR, + &ett_x2ap_NRCellPRACHConfig, #include "packet-x2ap-ettarr.c" }; diff --git a/epan/dissectors/asn1/x2ap/x2ap.cnf b/epan/dissectors/asn1/x2ap/x2ap.cnf index 1c21dead29..e658e37402 100644 --- a/epan/dissectors/asn1/x2ap/x2ap.cnf +++ b/epan/dissectors/asn1/x2ap/x2ap.cnf @@ -852,6 +852,15 @@ ScheduledCommunicationTime/timeofDayEnd DISPLAY=BASE_DEC|BASE_UNIT_STRING STRING dissect_ngap_MDT_Configuration_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } +#.FN_BODY NRCellPRACHConfig VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_NRCellPRACHConfig); + dissect_f1ap_NRPRACHConfig_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + #.END #.FN_HDR HandoverRequest diff --git a/epan/dissectors/asn1/xnap/packet-xnap-template.c b/epan/dissectors/asn1/xnap/packet-xnap-template.c index 70c84fa32e..c9ede800b7 100644 --- a/epan/dissectors/asn1/xnap/packet-xnap-template.c +++ b/epan/dissectors/asn1/xnap/packet-xnap-template.c @@ -30,6 +30,7 @@ #include "packet-s1ap.h" #include "packet-ranap.h" #include "packet-ntp.h" +#include "packet-f1ap.h" #ifdef _MSC_VER /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */ @@ -100,6 +101,7 @@ static gint ett_xnap_UERLFReportContainerLTE = -1; static gint ett_xnap_UERLFReportContainerNR = -1; static gint ett_xnap_burstArrivalTime = -1; static gint ett_xnap_ReportCharacteristics = -1; +static gint ett_xnap_NRCellPRACHConfig = -1; #include "packet-xnap-ett.c" enum { @@ -443,6 +445,7 @@ void proto_register_xnap(void) { &ett_xnap_UERLFReportContainerNR, &ett_xnap_burstArrivalTime, &ett_xnap_ReportCharacteristics, + &ett_xnap_NRCellPRACHConfig, #include "packet-xnap-ettarr.c" }; diff --git a/epan/dissectors/asn1/xnap/xnap.cnf b/epan/dissectors/asn1/xnap/xnap.cnf index f45895b4e7..254a263778 100644 --- a/epan/dissectors/asn1/xnap/xnap.cnf +++ b/epan/dissectors/asn1/xnap/xnap.cnf @@ -652,6 +652,15 @@ TSCAssistanceInformation/periodicity DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=& proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 4, fields, ENC_BIG_ENDIAN); } +#.FN_BODY NRCellPRACHConfig VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_xnap_NRCellPRACHConfig); + dissect_f1ap_NRPRACHConfig_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + #.END #.FN_HDR HandoverRequest diff --git a/epan/dissectors/packet-f1ap.c b/epan/dissectors/packet-f1ap.c index 74156efc0d..4238db1674 100644 --- a/epan/dissectors/packet-f1ap.c +++ b/epan/dissectors/packet-f1ap.c @@ -16,7 +16,7 @@ * * SPDX-License-Identifier: GPL-2.0-or-later * - * References: 3GPP TS 38.473 V15.8.0 (2019-12) + * References: 3GPP TS 38.473 V16.2.0 (2020-07) */ #include "config.h" @@ -32,6 +32,7 @@ #include "packet-nr-rrc.h" #include "packet-e212.h" #include "packet-pdcp-nr.h" +#include "packet-lte-rrc.h" #define PNAME "F1 Application Protocol" #define PSNAME "F1AP" @@ -70,10 +71,46 @@ void proto_reg_handoff_f1ap(void); #define maxCellineNB 256 #define maxnoofExtendedBPLMNs 6 #define maxnoofUEIDs 65536 -#define maxnoofBPLMNsNRminus1 11 +#define maxnoofBPLMNsNR 12 #define maxnoofUACPLMNs 12 #define maxnoofUACperPLMN 64 #define maxnoofAdditionalSIBs 63 +#define maxnoofslots 320 +#define maxnoofTLAs 16 +#define maxnoofGTPTLAs 16 +#define maxnoofBHRLCChannels 65536 +#define maxnoofRoutingEntries 1024 +#define maxnoofIABSTCInfo 45 +#define maxnoofSymbols 14 +#define maxnoofServingCells 32 +#define maxnoofDUFSlots 320 +#define maxnoofHSNASlots 5120 +#define maxnoofServedCellsIAB 512 +#define maxnoofChildIABNodes 1024 +#define maxnoofNonUPTrafficMappings 32 +#define maxnoofTLAsIAB 1024 +#define maxnoofMappingEntries 67108864 +#define maxnoofDSInfo 64 +#define maxnoofEgressLinks 2 +#define maxnoofULUPTNLInformationforIAB 32678 +#define maxnoofUPTNLAddresses 8 +#define maxnoofSLDRBs 512 +#define maxnoofQoSParaSets 8 +#define maxnoofPC5QoSFlows 2048 +#define maxnoofSSBAreas 64 +#define maxnoofPhysicalResourceBlocks 275 +#define maxnoofPhysicalResourceBlocks_1 274 +#define maxnoofPRACHconfigs 16 +#define maxnoofRACHReports 64 +#define maxnoofRLFReports 64 +#define maxnoofAdditionalPDCPDuplicationTNL 2 +#define maxnoofRLCDuplicationState 3 +#define maxnoofCHOcells 16 +#define maxnoofMDTPLMNs 16 +#define maxnoofCAGsupported 12 +#define maxnoofNIDsupported 12 +#define maxnoofNRSCSs 5 +#define maxnoofExtSliceItems 65535 typedef enum _ProcedureCode_enum { id_Reset = 0, @@ -103,7 +140,20 @@ typedef enum _ProcedureCode_enum { id_GNBDUStatusIndication = 24, id_RRCDeliveryReport = 25, id_F1Removal = 26, - id_NetworkAccessRateReduction = 27 + id_NetworkAccessRateReduction = 27, + id_TraceStart = 28, + id_DeactivateTrace = 29, + id_DUCURadioInformationTransfer = 30, + id_CUDURadioInformationTransfer = 31, + id_BAPMappingConfiguration = 32, + id_GNBDUResourceConfiguration = 33, + id_IABTNLAddressAllocation = 34, + id_IABUPConfigurationUpdate = 35, + id_resourceStatusReportingInitiation = 36, + id_resourceStatusReporting = 37, + id_accessAndMobilityIndication = 38, + id_accessSuccess = 39, + id_cellTrafficTrace = 40 } ProcedureCode_enum; typedef enum _ProtocolIE_ID_enum { @@ -347,32 +397,226 @@ typedef enum _ProtocolIE_ID_enum { id_MeasGapSharingConfig = 238, id_systemInformationAreaID = 239, id_areaScope = 240, - id_RRCContainer_RRCSetupComplete = 241 + id_RRCContainer_RRCSetupComplete = 241, + id_TraceActivation = 242, + id_TraceID = 243, + id_Neighbour_Cell_Information_List = 244, + id_Unknown_245 = 245, + id_SymbolAllocInSlot = 246, + id_NumDLULSymbols = 247, + id_AdditionalRRMPriorityIndex = 248, + id_DUCURadioInformationType = 249, + id_CUDURadioInformationType = 250, + id_AggressorgNBSetID = 251, + id_VictimgNBSetID = 252, + id_LowerLayerPresenceStatusChange = 253, + id_Transport_Layer_Address_Info = 254, + id_Neighbour_Cell_Information_Item = 255, + id_IntendedTDD_DL_ULConfig = 256, + id_QosMonitoringRequest = 257, + id_BHChannels_ToBeSetup_List = 258, + id_BHChannels_ToBeSetup_Item = 259, + id_BHChannels_Setup_List = 260, + id_BHChannels_Setup_Item = 261, + id_BHChannels_ToBeModified_Item = 262, + id_BHChannels_ToBeModified_List = 263, + id_BHChannels_ToBeReleased_Item = 264, + id_BHChannels_ToBeReleased_List = 265, + id_BHChannels_ToBeSetupMod_Item = 266, + id_BHChannels_ToBeSetupMod_List = 267, + id_BHChannels_FailedToBeModified_Item = 268, + id_BHChannels_FailedToBeModified_List = 269, + id_BHChannels_FailedToBeSetupMod_Item = 270, + id_BHChannels_FailedToBeSetupMod_List = 271, + id_BHChannels_Modified_Item = 272, + id_BHChannels_Modified_List = 273, + id_BHChannels_SetupMod_Item = 274, + id_BHChannels_SetupMod_List = 275, + id_BHChannels_Required_ToBeReleased_Item = 276, + id_BHChannels_Required_ToBeReleased_List = 277, + id_BHChannels_FailedToBeSetup_Item = 278, + id_BHChannels_FailedToBeSetup_List = 279, + id_BHInfo = 280, + id_BAPAddress = 281, + id_ConfiguredBAPAddress = 282, + id_BH_Routing_Information_Added_List = 283, + id_BH_Routing_Information_Added_List_Item = 284, + id_BH_Routing_Information_Removed_List = 285, + id_BH_Routing_Information_Removed_List_Item = 286, + id_UL_BH_Non_UP_Traffic_Mapping = 287, + id_Activated_Cells_to_be_Updated_List = 288, + id_Child_Nodes_List = 289, + id_IAB_Info_IAB_DU = 290, + id_IAB_Info_IAB_donor_CU = 291, + id_IAB_TNL_Addresses_To_Remove_List = 292, + id_IAB_TNL_Addresses_To_Remove_Item = 293, + id_IAB_Allocated_TNL_Address_List = 294, + id_IAB_Allocated_TNL_Address_Item = 295, + id_IABIPv6RequestType = 296, + id_IABv4AddressesRequested = 297, + id_IAB_Barred = 298, + id_TrafficMappingInformation = 299, + id_UL_UP_TNL_Information_to_Update_List = 300, + id_UL_UP_TNL_Information_to_Update_List_Item = 301, + id_UL_UP_TNL_Address_to_Update_List = 302, + id_UL_UP_TNL_Address_to_Update_List_Item = 303, + id_DL_UP_TNL_Address_to_Update_List = 304, + id_DL_UP_TNL_Address_to_Update_List_Item = 305, + id_NRV2XServicesAuthorized = 306, + id_LTEV2XServicesAuthorized = 307, + id_NRUESidelinkAggregateMaximumBitrate = 308, + id_LTEUESidelinkAggregateMaximumBitrate = 309, + id_SIB12_message = 310, + id_SIB13_message = 311, + id_SIB14_message = 312, + id_SLDRBs_FailedToBeModified_Item = 313, + id_SLDRBs_FailedToBeModified_List = 314, + id_SLDRBs_FailedToBeSetup_Item = 315, + id_SLDRBs_FailedToBeSetup_List = 316, + id_SLDRBs_Modified_Item = 317, + id_SLDRBs_Modified_List = 318, + id_SLDRBs_Required_ToBeModified_Item = 319, + id_SLDRBs_Required_ToBeModified_List = 320, + id_SLDRBs_Required_ToBeReleased_Item = 321, + id_SLDRBs_Required_ToBeReleased_List = 322, + id_SLDRBs_Setup_Item = 323, + id_SLDRBs_Setup_List = 324, + id_SLDRBs_ToBeModified_Item = 325, + id_SLDRBs_ToBeModified_List = 326, + id_SLDRBs_ToBeReleased_Item = 327, + id_SLDRBs_ToBeReleased_List = 328, + id_SLDRBs_ToBeSetup_Item = 329, + id_SLDRBs_ToBeSetup_List = 330, + id_SLDRBs_ToBeSetupMod_Item = 331, + id_SLDRBs_ToBeSetupMod_List = 332, + id_SLDRBs_SetupMod_List = 333, + id_SLDRBs_FailedToBeSetupMod_List = 334, + id_SLDRBs_SetupMod_Item = 335, + id_SLDRBs_FailedToBeSetupMod_Item = 336, + id_SLDRBs_ModifiedConf_List = 337, + id_SLDRBs_ModifiedConf_Item = 338, + id_UEAssistanceInformationEUTRA = 339, + id_PC5LinkAMBR = 340, + id_SL_PHY_MAC_RLC_Config = 341, + id_SL_ConfigDedicatedEUTRA = 342, + id_AlternativeQoSParaSetList = 343, + id_CurrentQoSParaSetIndex = 344, + id_gNBCUMeasurementID = 345, + id_gNBDUMeasurementID = 346, + id_RegistrationRequest = 347, + id_ReportCharacteristics = 348, + id_CellToReportList = 349, + id_CellMeasurementResultList = 350, + id_HardwareLoadIndicator = 351, + id_ReportingPeriodicity = 352, + id_TNLCapacityIndicator = 353, + id_CarrierList = 354, + id_ULCarrierList = 355, + id_FrequencyShift7p5khz = 356, + id_SSB_PositionsInBurst = 357, + id_NRPRACHConfig = 358, + id_RACHReportInformationList = 359, + id_RLFReportInformationList = 360, + id_TDD_UL_DLConfigCommonNR = 361, + id_CNPacketDelayBudgetDownlink = 362, + id_ExtendedPacketDelayBudget = 363, + id_TSCTrafficCharacteristics = 364, + id_ReportingRequestType = 365, + id_TimeReferenceInformation = 366, + id_ReferenceTimeInformationReport = 367, + id_ReferenceTimeInformationReportingControl = 368, + id_CNPacketDelayBudgetUplink = 369, + id_AdditionalPDCPDuplicationTNL_List = 370, + id_RLCDuplicationInformation = 371, + id_AdditionalDuplicationIndication = 372, + id_ConditionalInterDUMobilityInformation = 373, + id_ConditionalIntraDUMobilityInformation = 374, + id_targetCellsToCancel = 375, + id_requestedTargetCellGlobalID = 376, + id_ManagementBasedMDTPLMNList = 377, + id_TraceCollectionEntityIPAddress = 378, + id_PrivacyIndicator = 379, + id_TraceCollectionEntityURI = 380, + id_mdtConfiguration = 381, + id_ServingNID = 382, + id_NPNBroadcastInformation = 383, + id_NPNSupportInfo = 384, + id_NID = 385, + id_AvailableSNPN_ID_List = 386, + id_SIB10_message = 387, + id_Unknown_388 = 388, + id_DLCarrierList = 389, + id_ExtendedTAISliceSupportList = 390 } ProtocolIE_ID_enum; /*--- End of included file: packet-f1ap-val.h ---*/ -#line 38 "./asn1/f1ap/packet-f1ap-template.c" +#line 39 "./asn1/f1ap/packet-f1ap-template.c" /* Initialize the protocol and registered fields */ static int proto_f1ap = -1; static int hf_f1ap_transportLayerAddressIPv4 = -1; static int hf_f1ap_transportLayerAddressIPv6 = -1; +static int hf_f1ap_IABTNLAddressIPv4 = -1; +static int hf_f1ap_IABTNLAddressIPv6 = -1; +static int hf_f1ap_IABTNLAddressIPv6Prefix = -1; +static int hf_f1ap_interfacesToTrace_NG_C = -1; +static int hf_f1ap_interfacesToTrace_Xn_C = -1; +static int hf_f1ap_interfacesToTrace_Uu = -1; +static int hf_f1ap_interfacesToTrace_F1_C = -1; +static int hf_f1ap_interfacesToTrace_E1 = -1; +static int hf_f1ap_interfacesToTrace_Reserved = -1; +static int hf_f1ap_MeasurementsToActivate_Reserved1 = -1; +static int hf_f1ap_MeasurementsToActivate_M2 = -1; +static int hf_f1ap_MeasurementsToActivate_Reserved2 = -1; +static int hf_f1ap_MeasurementsToActivate_M5 = -1; +static int hf_f1ap_MeasurementsToActivate_Reserved3 = -1; +static int hf_f1ap_MeasurementsToActivate_M6 = -1; +static int hf_f1ap_MeasurementsToActivate_M7 = -1; +static int hf_f1ap_ReportCharacteristics_PRBPeriodic = -1; +static int hf_f1ap_ReportCharacteristics_TNLCapacityIndPeriodic = -1; +static int hf_f1ap_ReportCharacteristics_CompositeAvailableCapacityPeriodic = -1; +static int hf_f1ap_ReportCharacteristics_HWLoadIndPeriodic = -1; +static int hf_f1ap_ReportCharacteristics_NumberOfActiveUEs = -1; +static int hf_f1ap_ReportCharacteristics_Reserved = -1; /*--- Included file: packet-f1ap-hf.c ---*/ #line 1 "./asn1/f1ap/packet-f1ap-hf.c" +static int hf_f1ap_Activated_Cells_to_be_Updated_List_PDU = -1; /* Activated_Cells_to_be_Updated_List */ +static int hf_f1ap_AdditionalDuplicationIndication_PDU = -1; /* AdditionalDuplicationIndication */ +static int hf_f1ap_AdditionalPDCPDuplicationTNL_List_PDU = -1; /* AdditionalPDCPDuplicationTNL_List */ static int hf_f1ap_AdditionalSIBMessageList_PDU = -1; /* AdditionalSIBMessageList */ +static int hf_f1ap_AdditionalRRMPriorityIndex_PDU = -1; /* AdditionalRRMPriorityIndex */ +static int hf_f1ap_AggressorgNBSetID_PDU = -1; /* AggressorgNBSetID */ +static int hf_f1ap_AlternativeQoSParaSetList_PDU = -1; /* AlternativeQoSParaSetList */ static int hf_f1ap_Associated_SCell_Item_PDU = -1; /* Associated_SCell_Item */ static int hf_f1ap_AvailablePLMNList_PDU = -1; /* AvailablePLMNList */ +static int hf_f1ap_AvailableSNPN_ID_List_PDU = -1; /* AvailableSNPN_ID_List */ static int hf_f1ap_AreaScope_PDU = -1; /* AreaScope */ +static int hf_f1ap_BAPAddress_PDU = -1; /* BAPAddress */ static int hf_f1ap_BitRate_PDU = -1; /* BitRate */ static int hf_f1ap_BearerTypeChange_PDU = -1; /* BearerTypeChange */ +static int hf_f1ap_BHChannels_FailedToBeModified_Item_PDU = -1; /* BHChannels_FailedToBeModified_Item */ +static int hf_f1ap_BHChannels_FailedToBeSetup_Item_PDU = -1; /* BHChannels_FailedToBeSetup_Item */ +static int hf_f1ap_BHChannels_FailedToBeSetupMod_Item_PDU = -1; /* BHChannels_FailedToBeSetupMod_Item */ +static int hf_f1ap_BHChannels_Modified_Item_PDU = -1; /* BHChannels_Modified_Item */ +static int hf_f1ap_BHChannels_Required_ToBeReleased_Item_PDU = -1; /* BHChannels_Required_ToBeReleased_Item */ +static int hf_f1ap_BHChannels_Setup_Item_PDU = -1; /* BHChannels_Setup_Item */ +static int hf_f1ap_BHChannels_SetupMod_Item_PDU = -1; /* BHChannels_SetupMod_Item */ +static int hf_f1ap_BHChannels_ToBeModified_Item_PDU = -1; /* BHChannels_ToBeModified_Item */ +static int hf_f1ap_BHChannels_ToBeReleased_Item_PDU = -1; /* BHChannels_ToBeReleased_Item */ +static int hf_f1ap_BHChannels_ToBeSetup_Item_PDU = -1; /* BHChannels_ToBeSetup_Item */ +static int hf_f1ap_BHChannels_ToBeSetupMod_Item_PDU = -1; /* BHChannels_ToBeSetupMod_Item */ +static int hf_f1ap_BHInfo_PDU = -1; /* BHInfo */ +static int hf_f1ap_BH_Routing_Information_Added_List_Item_PDU = -1; /* BH_Routing_Information_Added_List_Item */ +static int hf_f1ap_BH_Routing_Information_Removed_List_Item_PDU = -1; /* BH_Routing_Information_Removed_List_Item */ static int hf_f1ap_BPLMN_ID_Info_List_PDU = -1; /* BPLMN_ID_Info_List */ static int hf_f1ap_Cancel_all_Warning_Messages_Indicator_PDU = -1; /* Cancel_all_Warning_Messages_Indicator */ static int hf_f1ap_Candidate_SpCell_Item_PDU = -1; /* Candidate_SpCell_Item */ static int hf_f1ap_Cause_PDU = -1; /* Cause */ static int hf_f1ap_CellGroupConfig_PDU = -1; /* CellGroupConfig */ static int hf_f1ap_Cell_Direction_PDU = -1; /* Cell_Direction */ +static int hf_f1ap_CellMeasurementResultList_PDU = -1; /* CellMeasurementResultList */ static int hf_f1ap_Cells_Failed_to_be_Activated_List_Item_PDU = -1; /* Cells_Failed_to_be_Activated_List_Item */ static int hf_f1ap_Cells_Status_Item_PDU = -1; /* Cells_Status_Item */ static int hf_f1ap_Cells_To_Be_Broadcast_Item_PDU = -1; /* Cells_To_Be_Broadcast_Item */ @@ -382,14 +626,20 @@ static int hf_f1ap_Cells_Broadcast_Cancelled_Item_PDU = -1; /* Cells_Broadcast_ static int hf_f1ap_Cells_to_be_Activated_List_Item_PDU = -1; /* Cells_to_be_Activated_List_Item */ static int hf_f1ap_Cells_to_be_Deactivated_List_Item_PDU = -1; /* Cells_to_be_Deactivated_List_Item */ static int hf_f1ap_Cells_to_be_Barred_Item_PDU = -1; /* Cells_to_be_Barred_Item */ +static int hf_f1ap_CellToReportList_PDU = -1; /* CellToReportList */ static int hf_f1ap_CellType_PDU = -1; /* CellType */ static int hf_f1ap_CellULConfigured_PDU = -1; /* CellULConfigured */ +static int hf_f1ap_Child_Nodes_List_PDU = -1; /* Child_Nodes_List */ +static int hf_f1ap_ConditionalInterDUMobilityInformation_PDU = -1; /* ConditionalInterDUMobilityInformation */ +static int hf_f1ap_ConditionalIntraDUMobilityInformation_PDU = -1; /* ConditionalIntraDUMobilityInformation */ static int hf_f1ap_CP_TransportLayerAddress_PDU = -1; /* CP_TransportLayerAddress */ static int hf_f1ap_CriticalityDiagnostics_PDU = -1; /* CriticalityDiagnostics */ static int hf_f1ap_C_RNTI_PDU = -1; /* C_RNTI */ +static int hf_f1ap_CUDURadioInformationType_PDU = -1; /* CUDURadioInformationType */ static int hf_f1ap_CUtoDURRCInformation_PDU = -1; /* CUtoDURRCInformation */ static int hf_f1ap_DCBasedDuplicationConfigured_PDU = -1; /* DCBasedDuplicationConfigured */ static int hf_f1ap_Dedicated_SIDelivery_NeededUE_Item_PDU = -1; /* Dedicated_SIDelivery_NeededUE_Item */ +static int hf_f1ap_DL_UP_TNL_Address_to_Update_List_Item_PDU = -1; /* DL_UP_TNL_Address_to_Update_List_Item */ static int hf_f1ap_DRB_Activity_Item_PDU = -1; /* DRB_Activity_Item */ static int hf_f1ap_DRBs_FailedToBeModified_Item_PDU = -1; /* DRBs_FailedToBeModified_Item */ static int hf_f1ap_DRBs_FailedToBeSetup_Item_PDU = -1; /* DRBs_FailedToBeSetup_Item */ @@ -411,15 +661,21 @@ static int hf_f1ap_DRX_Config_PDU = -1; /* DRX_Config */ static int hf_f1ap_DRXConfigurationIndicator_PDU = -1; /* DRXConfigurationIndicator */ static int hf_f1ap_DRX_LongCycleStartOffset_PDU = -1; /* DRX_LongCycleStartOffset */ static int hf_f1ap_DUtoCURRCContainer_PDU = -1; /* DUtoCURRCContainer */ +static int hf_f1ap_DUCURadioInformationType_PDU = -1; /* DUCURadioInformationType */ static int hf_f1ap_DUtoCURRCInformation_PDU = -1; /* DUtoCURRCInformation */ static int hf_f1ap_DuplicationActivation_PDU = -1; /* DuplicationActivation */ static int hf_f1ap_ExtendedAvailablePLMN_List_PDU = -1; /* ExtendedAvailablePLMN_List */ static int hf_f1ap_ExtendedServedPLMNs_List_PDU = -1; /* ExtendedServedPLMNs_List */ +static int hf_f1ap_ExtendedSliceSupportList_PDU = -1; /* ExtendedSliceSupportList */ static int hf_f1ap_ExecuteDuplication_PDU = -1; /* ExecuteDuplication */ static int hf_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container_PDU = -1; /* EUTRA_NR_CellResourceCoordinationReq_Container */ static int hf_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container_PDU = -1; /* EUTRA_NR_CellResourceCoordinationReqAck_Container */ +static int hf_f1ap_ExtendedPacketDelayBudget_PDU = -1; /* ExtendedPacketDelayBudget */ +static int hf_f1ap_FrequencyShift7p5khz_PDU = -1; /* FrequencyShift7p5khz */ static int hf_f1ap_FullConfiguration_PDU = -1; /* FullConfiguration */ static int hf_f1ap_CG_Config_PDU = -1; /* CG_Config */ +static int hf_f1ap_GNBCUMeasurementID_PDU = -1; /* GNBCUMeasurementID */ +static int hf_f1ap_GNBDUMeasurementID_PDU = -1; /* GNBDUMeasurementID */ static int hf_f1ap_GNB_CUSystemInformation_PDU = -1; /* GNB_CUSystemInformation */ static int hf_f1ap_GNB_CU_TNL_Association_Setup_Item_PDU = -1; /* GNB_CU_TNL_Association_Setup_Item */ static int hf_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_Item_PDU = -1; /* GNB_CU_TNL_Association_Failed_To_Setup_Item */ @@ -436,18 +692,40 @@ static int hf_f1ap_GNB_DUConfigurationQuery_PDU = -1; /* GNB_DUConfigurationQue static int hf_f1ap_GNBDUOverloadInformation_PDU = -1; /* GNBDUOverloadInformation */ static int hf_f1ap_GNB_DU_TNL_Association_To_Remove_Item_PDU = -1; /* GNB_DU_TNL_Association_To_Remove_Item */ static int hf_f1ap_HandoverPreparationInformation_PDU = -1; /* HandoverPreparationInformation */ +static int hf_f1ap_HardwareLoadIndicator_PDU = -1; /* HardwareLoadIndicator */ +static int hf_f1ap_IAB_Barred_PDU = -1; /* IAB_Barred */ +static int hf_f1ap_IAB_Info_IAB_donor_CU_PDU = -1; /* IAB_Info_IAB_donor_CU */ +static int hf_f1ap_IAB_Info_IAB_DU_PDU = -1; /* IAB_Info_IAB_DU */ +static int hf_f1ap_IAB_Allocated_TNL_Address_Item_PDU = -1; /* IAB_Allocated_TNL_Address_Item */ +static int hf_f1ap_IABIPv6RequestType_PDU = -1; /* IABIPv6RequestType */ +static int hf_f1ap_IAB_TNL_Addresses_To_Remove_Item_PDU = -1; /* IAB_TNL_Addresses_To_Remove_Item */ +static int hf_f1ap_IABv4AddressesRequested_PDU = -1; /* IABv4AddressesRequested */ static int hf_f1ap_IgnorePRACHConfiguration_PDU = -1; /* IgnorePRACHConfiguration */ static int hf_f1ap_IgnoreResourceCoordinationContainer_PDU = -1; /* IgnoreResourceCoordinationContainer */ static int hf_f1ap_InactivityMonitoringRequest_PDU = -1; /* InactivityMonitoringRequest */ static int hf_f1ap_InactivityMonitoringResponse_PDU = -1; /* InactivityMonitoringResponse */ +static int hf_f1ap_IntendedTDD_DL_ULConfig_PDU = -1; /* IntendedTDD_DL_ULConfig */ +static int hf_f1ap_LowerLayerPresenceStatusChange_PDU = -1; /* LowerLayerPresenceStatusChange */ +static int hf_f1ap_LTEUESidelinkAggregateMaximumBitrate_PDU = -1; /* LTEUESidelinkAggregateMaximumBitrate */ +static int hf_f1ap_LTEV2XServicesAuthorized_PDU = -1; /* LTEV2XServicesAuthorized */ static int hf_f1ap_MaskedIMEISV_PDU = -1; /* MaskedIMEISV */ static int hf_f1ap_MeasGapSharingConfig_PDU = -1; /* MeasGapSharingConfig */ static int hf_f1ap_MeasurementTimingConfiguration_PDU = -1; /* MeasurementTimingConfiguration */ +static int hf_f1ap_MDTConfiguration_PDU = -1; /* MDTConfiguration */ +static int hf_f1ap_MDTPLMNList_PDU = -1; /* MDTPLMNList */ static int hf_f1ap_NeedforGap_PDU = -1; /* NeedforGap */ +static int hf_f1ap_Neighbour_Cell_Information_Item_PDU = -1; /* Neighbour_Cell_Information_Item */ +static int hf_f1ap_NID_PDU = -1; /* NID */ static int hf_f1ap_NR_CGI_List_For_Restart_Item_PDU = -1; /* NR_CGI_List_For_Restart_Item */ static int hf_f1ap_NotificationInformation_PDU = -1; /* NotificationInformation */ +static int hf_f1ap_NPNBroadcastInformation_PDU = -1; /* NPNBroadcastInformation */ +static int hf_f1ap_NPNSupportInfo_PDU = -1; /* NPNSupportInfo */ +static int hf_f1ap_NRCarrierList_PDU = -1; /* NRCarrierList */ static int hf_f1ap_NRCGI_PDU = -1; /* NRCGI */ +static int hf_f1ap_f1ap_NRPRACHConfig_PDU = -1; /* NRPRACHConfig */ static int hf_f1ap_NumberofBroadcastRequest_PDU = -1; /* NumberofBroadcastRequest */ +static int hf_f1ap_NRV2XServicesAuthorized_PDU = -1; /* NRV2XServicesAuthorized */ +static int hf_f1ap_NRUESidelinkAggregateMaximumBitrate_PDU = -1; /* NRUESidelinkAggregateMaximumBitrate */ static int hf_f1ap_PagingCell_Item_PDU = -1; /* PagingCell_Item */ static int hf_f1ap_PagingDRX_PDU = -1; /* PagingDRX */ static int hf_f1ap_PagingIdentity_PDU = -1; /* PagingIdentity */ @@ -464,21 +742,31 @@ static int hf_f1ap_Protected_EUTRA_Resources_Item_PDU = -1; /* Protected_EUTRA_ static int hf_f1ap_Potential_SpCell_Item_PDU = -1; /* Potential_SpCell_Item */ static int hf_f1ap_PWS_Failed_NR_CGI_Item_PDU = -1; /* PWS_Failed_NR_CGI_Item */ static int hf_f1ap_PWSSystemInformation_PDU = -1; /* PWSSystemInformation */ +static int hf_f1ap_PrivacyIndicator_PDU = -1; /* PrivacyIndicator */ static int hf_f1ap_QoSFlowMappingIndication_PDU = -1; /* QoSFlowMappingIndication */ +static int hf_f1ap_QosMonitoringRequest_PDU = -1; /* QosMonitoringRequest */ +static int hf_f1ap_QoSParaSetNotifyIndex_PDU = -1; /* QoSParaSetNotifyIndex */ +static int hf_f1ap_RACHReportInformationList_PDU = -1; /* RACHReportInformationList */ static int hf_f1ap_RANAC_PDU = -1; /* RANAC */ static int hf_f1ap_RANUEID_PDU = -1; /* RANUEID */ static int hf_f1ap_RAT_FrequencyPriorityInformation_PDU = -1; /* RAT_FrequencyPriorityInformation */ +static int hf_f1ap_RegistrationRequest_PDU = -1; /* RegistrationRequest */ +static int hf_f1ap_ReportCharacteristics_PDU = -1; /* ReportCharacteristics */ +static int hf_f1ap_ReportingPeriodicity_PDU = -1; /* ReportingPeriodicity */ static int hf_f1ap_RequestedBandCombinationIndex_PDU = -1; /* RequestedBandCombinationIndex */ static int hf_f1ap_RequestedFeatureSetEntryIndex_PDU = -1; /* RequestedFeatureSetEntryIndex */ -static int hf_f1ap_Requested_PDCCH_BlindDetectionSCG_PDU = -1; /* Requested_PDCCH_BlindDetectionSCG */ static int hf_f1ap_RequestedP_MaxFR2_PDU = -1; /* RequestedP_MaxFR2 */ +static int hf_f1ap_Requested_PDCCH_BlindDetectionSCG_PDU = -1; /* Requested_PDCCH_BlindDetectionSCG */ static int hf_f1ap_RequestType_PDU = -1; /* RequestType */ static int hf_f1ap_ResourceCoordinationTransferInformation_PDU = -1; /* ResourceCoordinationTransferInformation */ static int hf_f1ap_ResourceCoordinationTransferContainer_PDU = -1; /* ResourceCoordinationTransferContainer */ static int hf_f1ap_RepetitionPeriod_PDU = -1; /* RepetitionPeriod */ +static int hf_f1ap_ReportingRequestType_PDU = -1; /* ReportingRequestType */ +static int hf_f1ap_RLCDuplicationInformation_PDU = -1; /* RLCDuplicationInformation */ static int hf_f1ap_RLCFailureIndication_PDU = -1; /* RLCFailureIndication */ static int hf_f1ap_RLCMode_PDU = -1; /* RLCMode */ static int hf_f1ap_RLC_Status_PDU = -1; /* RLC_Status */ +static int hf_f1ap_RLFReportInformationList_PDU = -1; /* RLFReportInformationList */ static int hf_f1ap_RRCContainer_PDU = -1; /* RRCContainer */ static int hf_f1ap_RRCContainer_RRCSetupComplete_PDU = -1; /* RRCContainer_RRCSetupComplete */ static int hf_f1ap_RRCDeliveryStatus_PDU = -1; /* RRCDeliveryStatus */ @@ -498,7 +786,26 @@ static int hf_f1ap_ServingCellMO_PDU = -1; /* ServingCellMO */ static int hf_f1ap_Served_Cells_To_Add_Item_PDU = -1; /* Served_Cells_To_Add_Item */ static int hf_f1ap_Served_Cells_To_Delete_Item_PDU = -1; /* Served_Cells_To_Delete_Item */ static int hf_f1ap_Served_Cells_To_Modify_Item_PDU = -1; /* Served_Cells_To_Modify_Item */ +static int hf_f1ap_SIB10_message_PDU = -1; /* SIB10_message */ +static int hf_f1ap_SIB12_message_PDU = -1; /* SIB12_message */ +static int hf_f1ap_SIB13_message_PDU = -1; /* SIB13_message */ +static int hf_f1ap_SIB14_message_PDU = -1; /* SIB14_message */ static int hf_f1ap_SItype_List_PDU = -1; /* SItype_List */ +static int hf_f1ap_SLDRBs_FailedToBeModified_Item_PDU = -1; /* SLDRBs_FailedToBeModified_Item */ +static int hf_f1ap_SLDRBs_FailedToBeSetup_Item_PDU = -1; /* SLDRBs_FailedToBeSetup_Item */ +static int hf_f1ap_SLDRBs_FailedToBeSetupMod_Item_PDU = -1; /* SLDRBs_FailedToBeSetupMod_Item */ +static int hf_f1ap_SLDRBs_Modified_Item_PDU = -1; /* SLDRBs_Modified_Item */ +static int hf_f1ap_SLDRBs_ModifiedConf_Item_PDU = -1; /* SLDRBs_ModifiedConf_Item */ +static int hf_f1ap_SLDRBs_Required_ToBeModified_Item_PDU = -1; /* SLDRBs_Required_ToBeModified_Item */ +static int hf_f1ap_SLDRBs_Required_ToBeReleased_Item_PDU = -1; /* SLDRBs_Required_ToBeReleased_Item */ +static int hf_f1ap_SLDRBs_Setup_Item_PDU = -1; /* SLDRBs_Setup_Item */ +static int hf_f1ap_SLDRBs_SetupMod_Item_PDU = -1; /* SLDRBs_SetupMod_Item */ +static int hf_f1ap_SLDRBs_ToBeModified_Item_PDU = -1; /* SLDRBs_ToBeModified_Item */ +static int hf_f1ap_SLDRBs_ToBeReleased_Item_PDU = -1; /* SLDRBs_ToBeReleased_Item */ +static int hf_f1ap_SLDRBs_ToBeSetup_Item_PDU = -1; /* SLDRBs_ToBeSetup_Item */ +static int hf_f1ap_SLDRBs_ToBeSetupMod_Item_PDU = -1; /* SLDRBs_ToBeSetupMod_Item */ +static int hf_f1ap_SL_PHY_MAC_RLC_Config_PDU = -1; /* SL_PHY_MAC_RLC_Config */ +static int hf_f1ap_SL_ConfigDedicatedEUTRA_PDU = -1; /* SL_ConfigDedicatedEUTRA */ static int hf_f1ap_SliceSupportList_PDU = -1; /* SliceSupportList */ static int hf_f1ap_SRBID_PDU = -1; /* SRBID */ static int hf_f1ap_SRBs_FailedToBeSetup_Item_PDU = -1; /* SRBs_FailedToBeSetup_Item */ @@ -510,17 +817,34 @@ static int hf_f1ap_SRBs_SetupMod_Item_PDU = -1; /* SRBs_SetupMod_Item */ static int hf_f1ap_SRBs_ToBeReleased_Item_PDU = -1; /* SRBs_ToBeReleased_Item */ static int hf_f1ap_SRBs_ToBeSetup_Item_PDU = -1; /* SRBs_ToBeSetup_Item */ static int hf_f1ap_SRBs_ToBeSetupMod_Item_PDU = -1; /* SRBs_ToBeSetupMod_Item */ +static int hf_f1ap_SSB_PositionsInBurst_PDU = -1; /* SSB_PositionsInBurst */ static int hf_f1ap_SULAccessIndication_PDU = -1; /* SULAccessIndication */ static int hf_f1ap_SystemInformationAreaID_PDU = -1; /* SystemInformationAreaID */ +static int hf_f1ap_TargetCellList_PDU = -1; /* TargetCellList */ +static int hf_f1ap_TDD_UL_DLConfigCommonNR_PDU = -1; /* TDD_UL_DLConfigCommonNR */ +static int hf_f1ap_TimeReferenceInformation_PDU = -1; /* TimeReferenceInformation */ static int hf_f1ap_TimeToWait_PDU = -1; /* TimeToWait */ +static int hf_f1ap_TNLCapacityIndicator_PDU = -1; /* TNLCapacityIndicator */ +static int hf_f1ap_TraceActivation_PDU = -1; /* TraceActivation */ +static int hf_f1ap_TraceID_PDU = -1; /* TraceID */ +static int hf_f1ap_TrafficMappingInfo_PDU = -1; /* TrafficMappingInfo */ +static int hf_f1ap_TransportLayerAddress_PDU = -1; /* TransportLayerAddress */ static int hf_f1ap_TransactionID_PDU = -1; /* TransactionID */ static int hf_f1ap_TransmissionActionIndicator_PDU = -1; /* TransmissionActionIndicator */ +static int hf_f1ap_Transport_Layer_Address_Info_PDU = -1; /* Transport_Layer_Address_Info */ +static int hf_f1ap_TSCTrafficCharacteristics_PDU = -1; /* TSCTrafficCharacteristics */ static int hf_f1ap_UAC_Assistance_Info_PDU = -1; /* UAC_Assistance_Info */ static int hf_f1ap_UE_associatedLogicalF1_ConnectionItem_PDU = -1; /* UE_associatedLogicalF1_ConnectionItem */ static int hf_f1ap_UEAssistanceInformation_PDU = -1; /* UEAssistanceInformation */ +static int hf_f1ap_UEAssistanceInformationEUTRA_PDU = -1; /* UEAssistanceInformationEUTRA */ static int hf_f1ap_UEContextNotRetrievable_PDU = -1; /* UEContextNotRetrievable */ static int hf_f1ap_UEIdentityIndexValue_PDU = -1; /* UEIdentityIndexValue */ +static int hf_f1ap_UL_BH_Non_UP_Traffic_Mapping_PDU = -1; /* UL_BH_Non_UP_Traffic_Mapping */ +static int hf_f1ap_UL_UP_TNL_Information_to_Update_List_Item_PDU = -1; /* UL_UP_TNL_Information_to_Update_List_Item */ +static int hf_f1ap_UL_UP_TNL_Address_to_Update_List_Item_PDU = -1; /* UL_UP_TNL_Address_to_Update_List_Item */ static int hf_f1ap_UplinkTxDirectCurrentListInformation_PDU = -1; /* UplinkTxDirectCurrentListInformation */ +static int hf_f1ap_URI_address_PDU = -1; /* URI_address */ +static int hf_f1ap_VictimgNBSetID_PDU = -1; /* VictimgNBSetID */ static int hf_f1ap_Reset_PDU = -1; /* Reset */ static int hf_f1ap_ResetType_PDU = -1; /* ResetType */ static int hf_f1ap_ResetAcknowledge_PDU = -1; /* ResetAcknowledge */ @@ -547,6 +871,7 @@ static int hf_f1ap_GNB_CU_TNL_Association_To_Remove_List_PDU = -1; /* GNB_CU_TN static int hf_f1ap_GNB_CU_TNL_Association_To_Update_List_PDU = -1; /* GNB_CU_TNL_Association_To_Update_List */ static int hf_f1ap_Cells_to_be_Barred_List_PDU = -1; /* Cells_to_be_Barred_List */ static int hf_f1ap_Protected_EUTRA_Resources_List_PDU = -1; /* Protected_EUTRA_Resources_List */ +static int hf_f1ap_Neighbour_Cell_Information_List_PDU = -1; /* Neighbour_Cell_Information_List */ static int hf_f1ap_GNBCUConfigurationUpdateAcknowledge_PDU = -1; /* GNBCUConfigurationUpdateAcknowledge */ static int hf_f1ap_Cells_Failed_to_be_Activated_List_PDU = -1; /* Cells_Failed_to_be_Activated_List */ static int hf_f1ap_GNB_CU_TNL_Association_Setup_List_PDU = -1; /* GNB_CU_TNL_Association_Setup_List */ @@ -559,12 +884,18 @@ static int hf_f1ap_Candidate_SpCell_List_PDU = -1; /* Candidate_SpCell_List */ static int hf_f1ap_SCell_ToBeSetup_List_PDU = -1; /* SCell_ToBeSetup_List */ static int hf_f1ap_SRBs_ToBeSetup_List_PDU = -1; /* SRBs_ToBeSetup_List */ static int hf_f1ap_DRBs_ToBeSetup_List_PDU = -1; /* DRBs_ToBeSetup_List */ +static int hf_f1ap_BHChannels_ToBeSetup_List_PDU = -1; /* BHChannels_ToBeSetup_List */ +static int hf_f1ap_SLDRBs_ToBeSetup_List_PDU = -1; /* SLDRBs_ToBeSetup_List */ static int hf_f1ap_UEContextSetupResponse_PDU = -1; /* UEContextSetupResponse */ static int hf_f1ap_DRBs_Setup_List_PDU = -1; /* DRBs_Setup_List */ static int hf_f1ap_SRBs_FailedToBeSetup_List_PDU = -1; /* SRBs_FailedToBeSetup_List */ static int hf_f1ap_DRBs_FailedToBeSetup_List_PDU = -1; /* DRBs_FailedToBeSetup_List */ static int hf_f1ap_SCell_FailedtoSetup_List_PDU = -1; /* SCell_FailedtoSetup_List */ static int hf_f1ap_SRBs_Setup_List_PDU = -1; /* SRBs_Setup_List */ +static int hf_f1ap_BHChannels_Setup_List_PDU = -1; /* BHChannels_Setup_List */ +static int hf_f1ap_BHChannels_FailedToBeSetup_List_PDU = -1; /* BHChannels_FailedToBeSetup_List */ +static int hf_f1ap_SLDRBs_Setup_List_PDU = -1; /* SLDRBs_Setup_List */ +static int hf_f1ap_SLDRBs_FailedToBeSetup_List_PDU = -1; /* SLDRBs_FailedToBeSetup_List */ static int hf_f1ap_UEContextSetupFailure_PDU = -1; /* UEContextSetupFailure */ static int hf_f1ap_Potential_SpCell_List_PDU = -1; /* Potential_SpCell_List */ static int hf_f1ap_UEContextReleaseRequest_PDU = -1; /* UEContextReleaseRequest */ @@ -575,9 +906,15 @@ static int hf_f1ap_SCell_ToBeSetupMod_List_PDU = -1; /* SCell_ToBeSetupMod_List static int hf_f1ap_SCell_ToBeRemoved_List_PDU = -1; /* SCell_ToBeRemoved_List */ static int hf_f1ap_SRBs_ToBeSetupMod_List_PDU = -1; /* SRBs_ToBeSetupMod_List */ static int hf_f1ap_DRBs_ToBeSetupMod_List_PDU = -1; /* DRBs_ToBeSetupMod_List */ +static int hf_f1ap_BHChannels_ToBeSetupMod_List_PDU = -1; /* BHChannels_ToBeSetupMod_List */ static int hf_f1ap_DRBs_ToBeModified_List_PDU = -1; /* DRBs_ToBeModified_List */ +static int hf_f1ap_BHChannels_ToBeModified_List_PDU = -1; /* BHChannels_ToBeModified_List */ static int hf_f1ap_SRBs_ToBeReleased_List_PDU = -1; /* SRBs_ToBeReleased_List */ static int hf_f1ap_DRBs_ToBeReleased_List_PDU = -1; /* DRBs_ToBeReleased_List */ +static int hf_f1ap_BHChannels_ToBeReleased_List_PDU = -1; /* BHChannels_ToBeReleased_List */ +static int hf_f1ap_SLDRBs_ToBeSetupMod_List_PDU = -1; /* SLDRBs_ToBeSetupMod_List */ +static int hf_f1ap_SLDRBs_ToBeModified_List_PDU = -1; /* SLDRBs_ToBeModified_List */ +static int hf_f1ap_SLDRBs_ToBeReleased_List_PDU = -1; /* SLDRBs_ToBeReleased_List */ static int hf_f1ap_UEContextModificationResponse_PDU = -1; /* UEContextModificationResponse */ static int hf_f1ap_DRBs_SetupMod_List_PDU = -1; /* DRBs_SetupMod_List */ static int hf_f1ap_DRBs_Modified_List_PDU = -1; /* DRBs_Modified_List */ @@ -587,14 +924,26 @@ static int hf_f1ap_DRBs_FailedToBeModified_List_PDU = -1; /* DRBs_FailedToBeMod static int hf_f1ap_SRBs_FailedToBeSetupMod_List_PDU = -1; /* SRBs_FailedToBeSetupMod_List */ static int hf_f1ap_DRBs_FailedToBeSetupMod_List_PDU = -1; /* DRBs_FailedToBeSetupMod_List */ static int hf_f1ap_SCell_FailedtoSetupMod_List_PDU = -1; /* SCell_FailedtoSetupMod_List */ +static int hf_f1ap_BHChannels_SetupMod_List_PDU = -1; /* BHChannels_SetupMod_List */ +static int hf_f1ap_BHChannels_Modified_List_PDU = -1; /* BHChannels_Modified_List */ +static int hf_f1ap_BHChannels_FailedToBeModified_List_PDU = -1; /* BHChannels_FailedToBeModified_List */ +static int hf_f1ap_BHChannels_FailedToBeSetupMod_List_PDU = -1; /* BHChannels_FailedToBeSetupMod_List */ static int hf_f1ap_Associated_SCell_List_PDU = -1; /* Associated_SCell_List */ +static int hf_f1ap_SLDRBs_SetupMod_List_PDU = -1; /* SLDRBs_SetupMod_List */ +static int hf_f1ap_SLDRBs_Modified_List_PDU = -1; /* SLDRBs_Modified_List */ +static int hf_f1ap_SLDRBs_FailedToBeModified_List_PDU = -1; /* SLDRBs_FailedToBeModified_List */ +static int hf_f1ap_SLDRBs_FailedToBeSetupMod_List_PDU = -1; /* SLDRBs_FailedToBeSetupMod_List */ static int hf_f1ap_UEContextModificationFailure_PDU = -1; /* UEContextModificationFailure */ static int hf_f1ap_UEContextModificationRequired_PDU = -1; /* UEContextModificationRequired */ static int hf_f1ap_DRBs_Required_ToBeModified_List_PDU = -1; /* DRBs_Required_ToBeModified_List */ static int hf_f1ap_DRBs_Required_ToBeReleased_List_PDU = -1; /* DRBs_Required_ToBeReleased_List */ static int hf_f1ap_SRBs_Required_ToBeReleased_List_PDU = -1; /* SRBs_Required_ToBeReleased_List */ +static int hf_f1ap_BHChannels_Required_ToBeReleased_List_PDU = -1; /* BHChannels_Required_ToBeReleased_List */ +static int hf_f1ap_SLDRBs_Required_ToBeModified_List_PDU = -1; /* SLDRBs_Required_ToBeModified_List */ +static int hf_f1ap_SLDRBs_Required_ToBeReleased_List_PDU = -1; /* SLDRBs_Required_ToBeReleased_List */ static int hf_f1ap_UEContextModificationConfirm_PDU = -1; /* UEContextModificationConfirm */ static int hf_f1ap_DRBs_ModifiedConf_List_PDU = -1; /* DRBs_ModifiedConf_List */ +static int hf_f1ap_SLDRBs_ModifiedConf_List_PDU = -1; /* SLDRBs_ModifiedConf_List */ static int hf_f1ap_UEContextModificationRefuse_PDU = -1; /* UEContextModificationRefuse */ static int hf_f1ap_WriteReplaceWarningRequest_PDU = -1; /* WriteReplaceWarningRequest */ static int hf_f1ap_Cells_To_Be_Broadcast_List_PDU = -1; /* Cells_To_Be_Broadcast_List */ @@ -626,6 +975,35 @@ static int hf_f1ap_RRCDeliveryReport_PDU = -1; /* RRCDeliveryReport */ static int hf_f1ap_F1RemovalRequest_PDU = -1; /* F1RemovalRequest */ static int hf_f1ap_F1RemovalResponse_PDU = -1; /* F1RemovalResponse */ static int hf_f1ap_F1RemovalFailure_PDU = -1; /* F1RemovalFailure */ +static int hf_f1ap_TraceStart_PDU = -1; /* TraceStart */ +static int hf_f1ap_DeactivateTrace_PDU = -1; /* DeactivateTrace */ +static int hf_f1ap_CellTrafficTrace_PDU = -1; /* CellTrafficTrace */ +static int hf_f1ap_DUCURadioInformationTransfer_PDU = -1; /* DUCURadioInformationTransfer */ +static int hf_f1ap_CUDURadioInformationTransfer_PDU = -1; /* CUDURadioInformationTransfer */ +static int hf_f1ap_BAPMappingConfiguration_PDU = -1; /* BAPMappingConfiguration */ +static int hf_f1ap_BH_Routing_Information_Added_List_PDU = -1; /* BH_Routing_Information_Added_List */ +static int hf_f1ap_BH_Routing_Information_Removed_List_PDU = -1; /* BH_Routing_Information_Removed_List */ +static int hf_f1ap_BAPMappingConfigurationAcknowledge_PDU = -1; /* BAPMappingConfigurationAcknowledge */ +static int hf_f1ap_GNBDUResourceConfiguration_PDU = -1; /* GNBDUResourceConfiguration */ +static int hf_f1ap_GNBDUResourceConfigurationAcknowledge_PDU = -1; /* GNBDUResourceConfigurationAcknowledge */ +static int hf_f1ap_IABTNLAddressRequest_PDU = -1; /* IABTNLAddressRequest */ +static int hf_f1ap_IAB_TNL_Addresses_To_Remove_List_PDU = -1; /* IAB_TNL_Addresses_To_Remove_List */ +static int hf_f1ap_IABTNLAddressResponse_PDU = -1; /* IABTNLAddressResponse */ +static int hf_f1ap_IAB_Allocated_TNL_Address_List_PDU = -1; /* IAB_Allocated_TNL_Address_List */ +static int hf_f1ap_IABUPConfigurationUpdateRequest_PDU = -1; /* IABUPConfigurationUpdateRequest */ +static int hf_f1ap_UL_UP_TNL_Information_to_Update_List_PDU = -1; /* UL_UP_TNL_Information_to_Update_List */ +static int hf_f1ap_UL_UP_TNL_Address_to_Update_List_PDU = -1; /* UL_UP_TNL_Address_to_Update_List */ +static int hf_f1ap_IABUPConfigurationUpdateResponse_PDU = -1; /* IABUPConfigurationUpdateResponse */ +static int hf_f1ap_DL_UP_TNL_Address_to_Update_List_PDU = -1; /* DL_UP_TNL_Address_to_Update_List */ +static int hf_f1ap_IABUPConfigurationUpdateFailure_PDU = -1; /* IABUPConfigurationUpdateFailure */ +static int hf_f1ap_ResourceStatusRequest_PDU = -1; /* ResourceStatusRequest */ +static int hf_f1ap_ResourceStatusResponse_PDU = -1; /* ResourceStatusResponse */ +static int hf_f1ap_ResourceStatusFailure_PDU = -1; /* ResourceStatusFailure */ +static int hf_f1ap_ResourceStatusUpdate_PDU = -1; /* ResourceStatusUpdate */ +static int hf_f1ap_AccessAndMobilityIndication_PDU = -1; /* AccessAndMobilityIndication */ +static int hf_f1ap_ReferenceTimeInformationReportingControl_PDU = -1; /* ReferenceTimeInformationReportingControl */ +static int hf_f1ap_ReferenceTimeInformationReport_PDU = -1; /* ReferenceTimeInformationReport */ +static int hf_f1ap_AccessSuccess_PDU = -1; /* AccessSuccess */ static int hf_f1ap_F1AP_PDU_PDU = -1; /* F1AP_PDU */ static int hf_f1ap_local = -1; /* INTEGER_0_65535 */ static int hf_f1ap_global = -1; /* T_global */ @@ -639,15 +1017,55 @@ static int hf_f1ap_extensionValue = -1; /* T_extensionValue */ static int hf_f1ap_PrivateIE_Container_item = -1; /* PrivateIE_Field */ static int hf_f1ap_private_id = -1; /* PrivateIE_ID */ static int hf_f1ap_value = -1; /* T_value */ +static int hf_f1ap_Activated_Cells_to_be_Updated_List_item = -1; /* Activated_Cells_to_be_Updated_List_Item */ +static int hf_f1ap_nRCGI = -1; /* NRCGI */ +static int hf_f1ap_iAB_DU_Cell_Resource_Configuration_Mode_Info = -1; /* IAB_DU_Cell_Resource_Configuration_Mode_Info */ +static int hf_f1ap_iE_Extensions = -1; /* ProtocolExtensionContainer */ +static int hf_f1ap_AdditionalPDCPDuplicationTNL_List_item = -1; /* AdditionalPDCPDuplicationTNL_Item */ +static int hf_f1ap_additionalPDCPDuplicationUPTNLInformation = -1; /* UPTransportLayerInformation */ static int hf_f1ap_AdditionalSIBMessageList_item = -1; /* AdditionalSIBMessageList_Item */ static int hf_f1ap_additionalSIB = -1; /* T_additionalSIB */ -static int hf_f1ap_iE_Extensions = -1; /* ProtocolExtensionContainer */ +static int hf_f1ap_AggressorCellList_item = -1; /* AggressorCellList_Item */ +static int hf_f1ap_aggressorCell_ID = -1; /* NRCGI */ +static int hf_f1ap_aggressorgNBSetID = -1; /* GNBSetID */ static int hf_f1ap_priorityLevel = -1; /* PriorityLevel */ static int hf_f1ap_pre_emptionCapability = -1; /* Pre_emptionCapability */ static int hf_f1ap_pre_emptionVulnerability = -1; /* Pre_emptionVulnerability */ +static int hf_f1ap_AlternativeQoSParaSetList_item = -1; /* AlternativeQoSParaSetItem */ +static int hf_f1ap_alternativeQoSParaSetIndex = -1; /* QoSParaSetIndex */ +static int hf_f1ap_guaranteedFlowBitRateDL = -1; /* BitRate */ +static int hf_f1ap_guaranteedFlowBitRateUL = -1; /* BitRate */ +static int hf_f1ap_packetDelayBudget = -1; /* PacketDelayBudget */ +static int hf_f1ap_packetErrorRate = -1; /* PacketErrorRate */ static int hf_f1ap_sCell_ID = -1; /* NRCGI */ static int hf_f1ap_AvailablePLMNList_item = -1; /* AvailablePLMNList_Item */ static int hf_f1ap_pLMNIdentity = -1; /* PLMN_Identity */ +static int hf_f1ap_AvailableSNPN_ID_List_item = -1; /* AvailableSNPN_ID_List_Item */ +static int hf_f1ap_pLMN_Identity = -1; /* PLMN_Identity */ +static int hf_f1ap_availableNIDList = -1; /* BroadcastNIDList */ +static int hf_f1ap_bAPlayerBHRLCchannelMappingInfoToAdd = -1; /* BAPlayerBHRLCchannelMappingInfoList */ +static int hf_f1ap_bAPlayerBHRLCchannelMappingInfoToRemove = -1; /* MappingInformationtoRemove */ +static int hf_f1ap_BAPlayerBHRLCchannelMappingInfoList_item = -1; /* BAPlayerBHRLCchannelMappingInfo_Item */ +static int hf_f1ap_mappingInformationIndex = -1; /* MappingInformationIndex */ +static int hf_f1ap_priorHopBAPAddress = -1; /* BAPAddress */ +static int hf_f1ap_ingressbHRLCChannelID = -1; /* BHRLCChannelID */ +static int hf_f1ap_nextHopBAPAddress = -1; /* BAPAddress */ +static int hf_f1ap_egressbHRLCChannelID = -1; /* BHRLCChannelID */ +static int hf_f1ap_bAPAddress = -1; /* BAPAddress */ +static int hf_f1ap_bAPPathID = -1; /* BAPPathID */ +static int hf_f1ap_bHRLCChannelID = -1; /* BHRLCChannelID */ +static int hf_f1ap_cause = -1; /* Cause */ +static int hf_f1ap_bHQoSInformation = -1; /* BHQoSInformation */ +static int hf_f1ap_rLCmode = -1; /* RLCMode */ +static int hf_f1ap_bAPCtrlPDUChannel = -1; /* BAPCtrlPDUChannel */ +static int hf_f1ap_trafficMappingInfo = -1; /* TrafficMappingInfo */ +static int hf_f1ap_bAProutingID = -1; /* BAPRoutingID */ +static int hf_f1ap_egressBHRLCCHList = -1; /* EgressBHRLCCHList */ +static int hf_f1ap_bHRLCCHQoS = -1; /* QoSFlowLevelQoSParameters */ +static int hf_f1ap_eUTRANBHRLCCHQoS = -1; /* EUTRANQoS */ +static int hf_f1ap_cPTrafficType = -1; /* CPTrafficType */ +static int hf_f1ap_choice_extension = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_bAPRoutingID = -1; /* BAPRoutingID */ static int hf_f1ap_BPLMN_ID_Info_List_item = -1; /* BPLMN_ID_Info_Item */ static int hf_f1ap_pLMN_Identity_List = -1; /* AvailablePLMNList */ static int hf_f1ap_extended_PLMN_Identity_List = -1; /* ExtendedAvailablePLMN_List */ @@ -655,21 +1073,55 @@ static int hf_f1ap_fiveGS_TAC = -1; /* FiveGS_TAC */ static int hf_f1ap_nr_cell_ID = -1; /* NRCellIdentity */ static int hf_f1ap_ranac = -1; /* RANAC */ static int hf_f1ap_ServedPLMNs_List_item = -1; /* ServedPLMNs_Item */ -static int hf_f1ap_pLMN_Identity = -1; /* PLMN_Identity */ +static int hf_f1ap_BroadcastCAGList_item = -1; /* CAGID */ +static int hf_f1ap_BroadcastNIDList_item = -1; /* NID */ +static int hf_f1ap_BroadcastSNPN_ID_List_item = -1; /* BroadcastSNPN_ID_List_Item */ +static int hf_f1ap_broadcastNIDList = -1; /* BroadcastNIDList */ +static int hf_f1ap_BroadcastPNI_NPN_ID_List_item = -1; /* BroadcastPNI_NPN_ID_List_Item */ +static int hf_f1ap_broadcastCAGList = -1; /* BroadcastCAGList */ static int hf_f1ap_candidate_SpCell_ID = -1; /* NRCGI */ +static int hf_f1ap_capacityValue = -1; /* INTEGER_0_100 */ +static int hf_f1ap_sSBAreaCapacityValueList = -1; /* SSBAreaCapacityValueList */ static int hf_f1ap_radioNetwork = -1; /* CauseRadioNetwork */ static int hf_f1ap_transport = -1; /* CauseTransport */ static int hf_f1ap_protocol = -1; /* CauseProtocol */ static int hf_f1ap_misc = -1; /* CauseMisc */ -static int hf_f1ap_choice_extension = -1; /* ProtocolIE_SingleContainer */ -static int hf_f1ap_nRCGI = -1; /* NRCGI */ -static int hf_f1ap_cause = -1; /* Cause */ +static int hf_f1ap_CellMeasurementResultList_item = -1; /* CellMeasurementResultItem */ +static int hf_f1ap_cellID = -1; /* NRCGI */ +static int hf_f1ap_radioResourceStatus = -1; /* RadioResourceStatus */ +static int hf_f1ap_compositeAvailableCapacityGroup = -1; /* CompositeAvailableCapacityGroup */ +static int hf_f1ap_sliceAvailableCapacity = -1; /* SliceAvailableCapacity */ +static int hf_f1ap_numberofActiveUEs = -1; /* NumberofActiveUEs */ static int hf_f1ap_service_status = -1; /* Service_Status */ static int hf_f1ap_numberOfBroadcasts = -1; /* NumberOfBroadcasts */ static int hf_f1ap_nRPCI = -1; /* NRPCI */ static int hf_f1ap_cellBarred = -1; /* CellBarred */ +static int hf_f1ap_CellToReportList_item = -1; /* CellToReportItem */ +static int hf_f1ap_sSBToReportList = -1; /* SSBToReportList */ +static int hf_f1ap_sliceToReportList = -1; /* SliceToReportList */ static int hf_f1ap_cellSize = -1; /* CellSize */ +static int hf_f1ap_Child_Node_Cells_List_item = -1; /* Child_Node_Cells_List_Item */ +static int hf_f1ap_iAB_STC_Info = -1; /* IAB_STC_Info */ +static int hf_f1ap_rACH_Config_Common = -1; /* RACH_Config_Common */ +static int hf_f1ap_rACH_Config_Common_IAB = -1; /* RACH_Config_Common_IAB */ +static int hf_f1ap_cSI_RS_Configuration = -1; /* T_cSI_RS_Configuration */ +static int hf_f1ap_sR_Configuration = -1; /* T_sR_Configuration */ +static int hf_f1ap_pDCCH_ConfigSIB1 = -1; /* T_pDCCH_ConfigSIB1 */ +static int hf_f1ap_sCS_Common = -1; /* T_sCS_Common */ +static int hf_f1ap_multiplexingInfo = -1; /* MultiplexingInfo */ +static int hf_f1ap_Child_Nodes_List_item = -1; /* Child_Nodes_List_Item */ +static int hf_f1ap_gNB_CU_UE_F1AP_ID = -1; /* GNB_CU_UE_F1AP_ID */ +static int hf_f1ap_gNB_DU_UE_F1AP_ID = -1; /* GNB_DU_UE_F1AP_ID */ +static int hf_f1ap_child_Node_Cells_List = -1; /* Child_Node_Cells_List */ static int hf_f1ap_fiveG_S_TMSI = -1; /* BIT_STRING_SIZE_48 */ +static int hf_f1ap_compositeAvailableCapacityDownlink = -1; /* CompositeAvailableCapacity */ +static int hf_f1ap_compositeAvailableCapacityUplink = -1; /* CompositeAvailableCapacity */ +static int hf_f1ap_cellCapacityClassValue = -1; /* CellCapacityClassValue */ +static int hf_f1ap_capacityValue_01 = -1; /* CapacityValue */ +static int hf_f1ap_cho_trigger = -1; /* CHOtrigger_InterDU */ +static int hf_f1ap_targetgNB_DUUEF1APID = -1; /* GNB_DU_UE_F1AP_ID */ +static int hf_f1ap_cho_trigger_01 = -1; /* CHOtrigger_IntraDU */ +static int hf_f1ap_targetCellsTocancel = -1; /* TargetCellList */ static int hf_f1ap_endpoint_IP_address = -1; /* TransportLayerAddress */ static int hf_f1ap_endpoint_IP_address_and_port = -1; /* Endpoint_IP_address_and_port */ static int hf_f1ap_procedureCode = -1; /* ProcedureCode */ @@ -681,10 +1133,14 @@ static int hf_f1ap_CriticalityDiagnostics_IE_List_item = -1; /* CriticalityDiag static int hf_f1ap_iECriticality = -1; /* Criticality */ static int hf_f1ap_iE_ID = -1; /* ProtocolIE_ID */ static int hf_f1ap_typeOfError = -1; /* TypeOfError */ +static int hf_f1ap_rIM = -1; /* CUDURIMInformation */ +static int hf_f1ap_victimgNBSetID = -1; /* GNBSetID */ +static int hf_f1ap_rIMRSDetectionStatus = -1; /* RIMRSDetectionStatus */ static int hf_f1ap_cG_ConfigInfo = -1; /* CG_ConfigInfo */ static int hf_f1ap_uE_CapabilityRAT_ContainerList = -1; /* UE_CapabilityRAT_ContainerList */ static int hf_f1ap_measConfig = -1; /* MeasConfig */ -static int hf_f1ap_gNB_CU_UE_F1AP_ID = -1; /* GNB_CU_UE_F1AP_ID */ +static int hf_f1ap_oldIPAdress = -1; /* TransportLayerAddress */ +static int hf_f1ap_newIPAdress = -1; /* TransportLayerAddress */ static int hf_f1ap_DLUPTNLInformation_ToBeSetup_List_item = -1; /* DLUPTNLInformation_ToBeSetup_Item */ static int hf_f1ap_dLUPTNLInformation = -1; /* UPTransportLayerInformation */ static int hf_f1ap_dRBID = -1; /* DRBID */ @@ -704,20 +1160,31 @@ static int hf_f1ap_duplicationActivation = -1; /* DuplicationActivation */ static int hf_f1ap_longDRXCycleLength = -1; /* LongDRXCycleLength */ static int hf_f1ap_shortDRXCycleLength = -1; /* ShortDRXCycleLength */ static int hf_f1ap_shortDRXCycleTimer = -1; /* ShortDRXCycleTimer */ +static int hf_f1ap_DSInformationList_item = -1; /* DSCP */ +static int hf_f1ap_rIM_01 = -1; /* DUCURIMInformation */ +static int hf_f1ap_aggressorCellList = -1; /* AggressorCellList */ +static int hf_f1ap_explicitFormat = -1; /* ExplicitFormat */ +static int hf_f1ap_implicitFormat = -1; /* ImplicitFormat */ +static int hf_f1ap_DUF_Slot_Config_List_item = -1; /* DUF_Slot_Config_Item */ static int hf_f1ap_cellGroupConfig = -1; /* CellGroupConfig */ static int hf_f1ap_measGapConfig = -1; /* MeasGapConfig */ static int hf_f1ap_requestedP_MaxFR1 = -1; /* T_requestedP_MaxFR1 */ static int hf_f1ap_qoSPriorityLevel = -1; /* INTEGER_1_127 */ -static int hf_f1ap_packetDelayBudget = -1; /* PacketDelayBudget */ -static int hf_f1ap_packetErrorRate = -1; /* PacketErrorRate */ static int hf_f1ap_fiveQI = -1; /* INTEGER_0_255_ */ static int hf_f1ap_delayCritical = -1; /* T_delayCritical */ static int hf_f1ap_averagingWindow = -1; /* AveragingWindow */ static int hf_f1ap_maxDataBurstVolume = -1; /* MaxDataBurstVolume */ +static int hf_f1ap_resourceType = -1; /* T_resourceType */ +static int hf_f1ap_qoSPriorityLevel_01 = -1; /* INTEGER_1_8_ */ +static int hf_f1ap_EgressBHRLCCHList_item = -1; /* EgressBHRLCCHItem */ static int hf_f1ap_endpointIPAddress = -1; /* TransportLayerAddress */ static int hf_f1ap_ExtendedAvailablePLMN_List_item = -1; /* ExtendedAvailablePLMN_Item */ +static int hf_f1ap_permutation = -1; /* Permutation */ +static int hf_f1ap_noofDownlinkSymbols = -1; /* NoofDownlinkSymbols */ +static int hf_f1ap_noofUplinkSymbols = -1; /* NoofUplinkSymbols */ static int hf_f1ap_ExtendedServedPLMNs_List_item = -1; /* ExtendedServedPLMNs_Item */ static int hf_f1ap_tAISliceSupportList = -1; /* SliceSupportList */ +static int hf_f1ap_ExtendedSliceSupportList_item = -1; /* SliceSupportItem */ static int hf_f1ap_EUTRACells_List_item = -1; /* EUTRACells_List_item */ static int hf_f1ap_eUTRA_Cell_ID = -1; /* EUTRA_Cell_ID */ static int hf_f1ap_served_EUTRA_Cells_Information = -1; /* Served_EUTRA_Cells_Information */ @@ -757,6 +1224,10 @@ static int hf_f1ap_qoSFlowLevelQoSParameters = -1; /* QoSFlowLevelQoSParameters static int hf_f1ap_freqBandIndicatorNr = -1; /* INTEGER_1_1024_ */ static int hf_f1ap_supportedSULBandList = -1; /* SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem */ static int hf_f1ap_supportedSULBandList_item = -1; /* SupportedSULFreqBandItem */ +static int hf_f1ap_l839 = -1; /* L839Info */ +static int hf_f1ap_l139 = -1; /* L139Info */ +static int hf_f1ap_FlowsMappedToSLDRB_List_item = -1; /* FlowsMappedToSLDRB_Item */ +static int hf_f1ap_pc5QoSFlowIdentifier = -1; /* PC5QoSFlowIdentifier */ static int hf_f1ap_e_RAB_MaximumBitrateDL = -1; /* BitRate */ static int hf_f1ap_e_RAB_MaximumBitrateUL = -1; /* BitRate */ static int hf_f1ap_e_RAB_GuaranteedBitrateDL = -1; /* BitRate */ @@ -771,26 +1242,132 @@ static int hf_f1ap_sibtypetobeupdatedlist = -1; /* SEQUENCE_SIZE_1_maxnoofSIBT static int hf_f1ap_sibtypetobeupdatedlist_item = -1; /* SibtypetobeupdatedListItem */ static int hf_f1ap_tNLAssociationTransportLayerAddress = -1; /* CP_TransportLayerAddress */ static int hf_f1ap_tNLAssociationUsage = -1; /* TNLAssociationUsage */ +static int hf_f1ap_subcarrierSpacing = -1; /* SubcarrierSpacing */ +static int hf_f1ap_dUFTransmissionPeriodicity = -1; /* DUFTransmissionPeriodicity */ +static int hf_f1ap_dUF_Slot_Config_List = -1; /* DUF_Slot_Config_List */ +static int hf_f1ap_hSNATransmissionPeriodicity = -1; /* HSNATransmissionPeriodicity */ +static int hf_f1ap_hNSASlotConfigList = -1; /* HSNASlotConfigList */ static int hf_f1ap_served_Cell_Information = -1; /* Served_Cell_Information */ static int hf_f1ap_gNB_DU_System_Information = -1; /* GNB_DU_System_Information */ static int hf_f1ap_mIB_message = -1; /* MIB_message */ static int hf_f1ap_sIB1_message = -1; /* SIB1_message */ static int hf_f1ap_tNLAssociationTransportLayerAddressgNBCU = -1; /* CP_TransportLayerAddress */ +static int hf_f1ap_GTPTLAs_item = -1; /* GTPTLA_Item */ +static int hf_f1ap_gTPTransportLayerAddress = -1; /* TransportLayerAddress */ static int hf_f1ap_transportLayerAddress = -1; /* TransportLayerAddress */ static int hf_f1ap_gTP_TEID = -1; /* GTP_TEID */ +static int hf_f1ap_dLHardwareLoadIndicator = -1; /* INTEGER_0_100_ */ +static int hf_f1ap_uLHardwareLoadIndicator = -1; /* INTEGER_0_100_ */ +static int hf_f1ap_HSNASlotConfigList_item = -1; /* HSNASlotConfigItem */ +static int hf_f1ap_hSNADownlink = -1; /* HSNADownlink */ +static int hf_f1ap_hSNAUplink = -1; /* HSNAUplink */ +static int hf_f1ap_hSNAFlexible = -1; /* HSNAFlexible */ +static int hf_f1ap_IAB_MT_Cell_List_item = -1; /* IAB_MT_Cell_List_Item */ +static int hf_f1ap_nRCellIdentity = -1; /* NRCellIdentity */ +static int hf_f1ap_dU_RX_MT_RX = -1; /* DU_RX_MT_RX */ +static int hf_f1ap_dU_TX_MT_TX = -1; /* DU_TX_MT_TX */ +static int hf_f1ap_dU_RX_MT_TX = -1; /* DU_RX_MT_TX */ +static int hf_f1ap_dU_TX_MT_RX = -1; /* DU_TX_MT_RX */ +static int hf_f1ap_iAB_STC_Info_List = -1; /* IAB_STC_Info_List */ +static int hf_f1ap_IAB_STC_Info_List_item = -1; /* IAB_STC_Info_Item */ +static int hf_f1ap_sSB_freqInfo = -1; /* SSB_freqInfo */ +static int hf_f1ap_sSB_subcarrierSpacing = -1; /* SSB_subcarrierSpacing */ +static int hf_f1ap_sSB_transmissionPeriodicity = -1; /* SSB_transmissionPeriodicity */ +static int hf_f1ap_sSB_transmissionTimingOffset = -1; /* SSB_transmissionTimingOffset */ +static int hf_f1ap_sSB_transmissionBitmap = -1; /* SSB_transmissionBitmap */ +static int hf_f1ap_iABTNLAddress = -1; /* IABTNLAddress */ +static int hf_f1ap_iABTNLAddressUsage = -1; /* IABTNLAddressUsage */ +static int hf_f1ap_fDD_01 = -1; /* IAB_DU_Cell_Resource_Configuration_FDD_Info */ +static int hf_f1ap_tDD_01 = -1; /* IAB_DU_Cell_Resource_Configuration_TDD_Info */ +static int hf_f1ap_gNB_DU_Cell_Resource_Configuration_FDD_UL = -1; /* GNB_DU_Cell_Resource_Configuration */ +static int hf_f1ap_gNB_DU_Cell_Resource_Configuration_FDD_DL = -1; /* GNB_DU_Cell_Resource_Configuration */ +static int hf_f1ap_gNB_DU_Cell_Resourc_Configuration_TDD = -1; /* GNB_DU_Cell_Resource_Configuration */ +static int hf_f1ap_iPv6Address = -1; /* IABTNLAddressesRequested */ +static int hf_f1ap_iPv6Prefix = -1; /* IABTNLAddressesRequested */ +static int hf_f1ap_iPv4Address = -1; /* T_iPv4Address */ +static int hf_f1ap_iPv6Address_01 = -1; /* T_iPv6Address */ +static int hf_f1ap_iPv6Prefix_01 = -1; /* T_iPv6Prefix */ +static int hf_f1ap_tNLAddressesOrPrefixesRequestedAllTraffic = -1; /* INTEGER_1_256 */ +static int hf_f1ap_tNLAddressesOrPrefixesRequestedF1_C = -1; /* INTEGER_1_256 */ +static int hf_f1ap_tNLAddressesOrPrefixesRequestedF1_U = -1; /* INTEGER_1_256 */ +static int hf_f1ap_tNLAddressesOrPrefixesRequestedNoNF1 = -1; /* INTEGER_1_256 */ +static int hf_f1ap_iABv4AddressesRequested = -1; /* IABTNLAddressesRequested */ +static int hf_f1ap_dUFSlotformatIndex = -1; /* DUFSlotformatIndex */ +static int hf_f1ap_nRSCS = -1; /* T_nRSCS */ +static int hf_f1ap_nRCP = -1; /* T_nRCP */ +static int hf_f1ap_nRDLULTxPeriodicity = -1; /* T_nRDLULTxPeriodicity */ +static int hf_f1ap_slot_Configuration_List = -1; /* Slot_Configuration_List */ +static int hf_f1ap_destinationIABTNLAddress = -1; /* IABTNLAddress */ +static int hf_f1ap_dsInformationList = -1; /* DSInformationList */ +static int hf_f1ap_iPv6FlowLabel = -1; /* BIT_STRING_SIZE_20 */ +static int hf_f1ap_iPtolayer2TrafficMappingInfoToAdd = -1; /* IPtolayer2TrafficMappingInfoList */ +static int hf_f1ap_iPtolayer2TrafficMappingInfoToRemove = -1; /* MappingInformationtoRemove */ +static int hf_f1ap_IPtolayer2TrafficMappingInfoList_item = -1; /* IPtolayer2TrafficMappingInfo_Item */ +static int hf_f1ap_iPHeaderInformation = -1; /* IPHeaderInformation */ +static int hf_f1ap_bHInfo = -1; /* BHInfo */ +static int hf_f1ap_msg1SCS = -1; /* T_msg1SCS */ +static int hf_f1ap_rootSequenceIndex_01 = -1; /* INTEGER_0_137 */ +static int hf_f1ap_iE_Extension = -1; /* ProtocolExtensionContainer */ +static int hf_f1ap_restrictedSetConfig = -1; /* T_restrictedSetConfig */ +static int hf_f1ap_uELTESidelinkAggregateMaximumBitrate = -1; /* BitRate */ +static int hf_f1ap_vehicleUE = -1; /* VehicleUE */ +static int hf_f1ap_pedestrianUE = -1; /* PedestrianUE */ +static int hf_f1ap_MappingInformationtoRemove_item = -1; /* MappingInformationIndex */ +static int hf_f1ap_iAB_MT_Cell_List = -1; /* IAB_MT_Cell_List */ +static int hf_f1ap_m5period = -1; /* M5period */ +static int hf_f1ap_m5_links_to_log = -1; /* M5_Links_to_log */ +static int hf_f1ap_m6report_Interval = -1; /* M6report_Interval */ +static int hf_f1ap_m6_links_to_log = -1; /* M6_Links_to_log */ +static int hf_f1ap_m7period = -1; /* M7period */ +static int hf_f1ap_m7_links_to_log = -1; /* M7_Links_to_log */ +static int hf_f1ap_mdt_Activation = -1; /* MDT_Activation */ +static int hf_f1ap_measurementsToActivate = -1; /* MeasurementsToActivate */ +static int hf_f1ap_m2Configuration = -1; /* M2Configuration */ +static int hf_f1ap_m5Configuration = -1; /* M5Configuration */ +static int hf_f1ap_m6Configuration = -1; /* M6Configuration */ +static int hf_f1ap_m7Configuration = -1; /* M7Configuration */ +static int hf_f1ap_MDTPLMNList_item = -1; /* PLMN_Identity */ +static int hf_f1ap_intendedTDD_DL_ULConfig = -1; /* IntendedTDD_DL_ULConfig */ static int hf_f1ap_message_Identifier = -1; /* MessageIdentifier */ static int hf_f1ap_serialNumber = -1; /* SerialNumber */ +static int hf_f1ap_sNPN_Broadcast_Information = -1; /* NPN_Broadcast_Information_SNPN */ +static int hf_f1ap_pNI_NPN_Broadcast_Information = -1; /* NPN_Broadcast_Information_PNI_NPN */ +static int hf_f1ap_broadcastSNPNID_List = -1; /* BroadcastSNPN_ID_List */ +static int hf_f1ap_broadcastPNI_NPN_ID_Information = -1; /* BroadcastPNI_NPN_ID_List */ +static int hf_f1ap_sNPN_Information = -1; /* NID */ +static int hf_f1ap_NRCarrierList_item = -1; /* NRCarrierItem */ +static int hf_f1ap_carrierSCS = -1; /* NRSCS */ +static int hf_f1ap_offsetToCarrier = -1; /* INTEGER_0_2199_ */ +static int hf_f1ap_carrierBandwidth = -1; /* INTEGER_0_maxnoofPhysicalResourceBlocks_ */ static int hf_f1ap_nRARFCN = -1; /* INTEGER_0_maxNRARFCN */ static int hf_f1ap_sul_Information = -1; /* SUL_Information */ static int hf_f1ap_freqBandListNr = -1; /* SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem */ static int hf_f1ap_freqBandListNr_item = -1; /* FreqBandNrItem */ -static int hf_f1ap_nRCellIdentity = -1; /* NRCellIdentity */ -static int hf_f1ap_fDD_01 = -1; /* FDD_Info */ -static int hf_f1ap_tDD_01 = -1; /* TDD_Info */ +static int hf_f1ap_fDD_02 = -1; /* FDD_Info */ +static int hf_f1ap_tDD_02 = -1; /* TDD_Info */ +static int hf_f1ap_ulPRACHConfigList = -1; /* NRPRACHConfigList */ +static int hf_f1ap_sulPRACHConfigList = -1; /* NRPRACHConfigList */ +static int hf_f1ap_NRPRACHConfigList_item = -1; /* NRPRACHConfigItem */ +static int hf_f1ap_nRSCS_01 = -1; /* NRSCS */ +static int hf_f1ap_prachFreqStartfromCarrier = -1; /* INTEGER_0_maxnoofPhysicalResourceBlocks_1_ */ +static int hf_f1ap_msg1FDM = -1; /* T_msg1FDM */ +static int hf_f1ap_parchConfigIndex = -1; /* INTEGER_0_255_ */ +static int hf_f1ap_ssb_perRACH_Occasion = -1; /* T_ssb_perRACH_Occasion */ +static int hf_f1ap_freqDomainLength = -1; /* FreqDomainLength */ +static int hf_f1ap_zeroCorrelZoneConfig = -1; /* INTEGER_0_15 */ +static int hf_f1ap_numDLSymbols = -1; /* INTEGER_0_13_ */ +static int hf_f1ap_numULSymbols = -1; /* INTEGER_0_13_ */ +static int hf_f1ap_uENRSidelinkAggregateMaximumBitrate = -1; /* BitRate */ static int hf_f1ap_pER_Scalar = -1; /* PER_Scalar */ static int hf_f1ap_pER_Exponent = -1; /* PER_Exponent */ static int hf_f1ap_rANUEPagingIdentity = -1; /* RANUEPagingIdentity */ static int hf_f1ap_cNUEPagingIdentity = -1; /* CNUEPagingIdentity */ +static int hf_f1ap_non_Dynamic_PQI = -1; /* NonDynamicPQIDescriptor */ +static int hf_f1ap_dynamic_PQI = -1; /* DynamicPQIDescriptor */ +static int hf_f1ap_pC5_QoS_Characteristics = -1; /* PC5_QoS_Characteristics */ +static int hf_f1ap_pC5_QoS_Flow_Bit_Rates = -1; /* PC5FlowBitRates */ +static int hf_f1ap_guaranteedFlowBitRate = -1; /* BitRate */ +static int hf_f1ap_maximumFlowBitRate = -1; /* BitRate */ static int hf_f1ap_spectrumSharingGroupID = -1; /* SpectrumSharingGroupID */ static int hf_f1ap_eUTRACells_List = -1; /* EUTRACells_List */ static int hf_f1ap_potential_SpCell_ID = -1; /* NRCGI */ @@ -803,6 +1380,10 @@ static int hf_f1ap_nGRANallocationRetentionPriority = -1; /* NGRANAllocationAnd static int hf_f1ap_gBR_QoS_Flow_Information = -1; /* GBR_QoSFlowInformation */ static int hf_f1ap_reflective_QoS_Attribute = -1; /* T_reflective_QoS_Attribute */ static int hf_f1ap_eUTRANQoS = -1; /* EUTRANQoS */ +static int hf_f1ap_RACHReportInformationList_item = -1; /* RACHReportInformationItem */ +static int hf_f1ap_rACHReportContainer = -1; /* RACHReportContainer */ +static int hf_f1ap_uEAssitantIdentifier = -1; /* GNB_DU_UE_F1AP_ID */ +static int hf_f1ap_sSBAreaRadioResourceStatusList = -1; /* SSBAreaRadioResourceStatusList */ static int hf_f1ap_iRNTI = -1; /* BIT_STRING_SIZE_40 */ static int hf_f1ap_eNDC = -1; /* SubscriberProfileIDforRFP */ static int hf_f1ap_nGRAN = -1; /* RAT_FrequencySelectionPriority */ @@ -810,8 +1391,16 @@ static int hf_f1ap_eUTRA_Mode_Info = -1; /* EUTRA_Coex_Mode_Info */ static int hf_f1ap_eUTRA_PRACH_Configuration = -1; /* EUTRA_PRACH_Configuration */ static int hf_f1ap_meNB_Cell_ID = -1; /* EUTRA_Cell_ID */ static int hf_f1ap_resourceCoordinationEUTRACellInfo = -1; /* ResourceCoordinationEUTRACellInfo */ +static int hf_f1ap_eventType = -1; /* EventType */ +static int hf_f1ap_reportingPeriodicityValue = -1; /* ReportingPeriodicityValue */ +static int hf_f1ap_rLCDuplicationStateList = -1; /* RLCDuplicationStateList */ +static int hf_f1ap_primaryPathIndication = -1; /* PrimaryPathIndication */ +static int hf_f1ap_RLCDuplicationStateList_item = -1; /* RLCDuplicationState_Item */ +static int hf_f1ap_duplicationState = -1; /* DuplicationState */ static int hf_f1ap_assocatedLCID = -1; /* LCID */ static int hf_f1ap_reestablishment_Indication = -1; /* Reestablishment_Indication */ +static int hf_f1ap_RLFReportInformationList_item = -1; /* RLFReportInformationItem */ +static int hf_f1ap_nRUERLFReportContainer = -1; /* NRUERLFReportContainer */ static int hf_f1ap_delivery_status = -1; /* PDCP_SN */ static int hf_f1ap_triggering_message = -1; /* PDCP_SN */ static int hf_f1ap_latest_RRC_Version = -1; /* BIT_STRING_SIZE_3 */ @@ -831,17 +1420,78 @@ static int hf_f1ap_sItype = -1; /* SItype */ static int hf_f1ap_sIBtype_01 = -1; /* T_sIBtype */ static int hf_f1ap_sIBmessage_01 = -1; /* T_sIBmessage_01 */ static int hf_f1ap_valueTag = -1; /* INTEGER_0_31_ */ +static int hf_f1ap_sLDRB_QoS = -1; /* PC5QoSParameters */ +static int hf_f1ap_flowsMappedToSLDRB_List = -1; /* FlowsMappedToSLDRB_List */ +static int hf_f1ap_sLDRBID = -1; /* SLDRBID */ +static int hf_f1ap_sLDRBInformation = -1; /* SLDRBInformation */ +static int hf_f1ap_sliceAvailableCapacityList = -1; /* SliceAvailableCapacityList */ +static int hf_f1ap_SliceAvailableCapacityList_item = -1; /* SliceAvailableCapacityItem */ +static int hf_f1ap_sNSSAIAvailableCapacity_List = -1; /* SNSSAIAvailableCapacity_List */ +static int hf_f1ap_SNSSAIAvailableCapacity_List_item = -1; /* SNSSAIAvailableCapacity_Item */ +static int hf_f1ap_sliceAvailableCapacityValueDownlink = -1; /* INTEGER_0_100 */ +static int hf_f1ap_sliceAvailableCapacityValueUplink = -1; /* INTEGER_0_100 */ static int hf_f1ap_SliceSupportList_item = -1; /* SliceSupportItem */ +static int hf_f1ap_SliceToReportList_item = -1; /* SliceToReportItem */ +static int hf_f1ap_sNSSAIlist = -1; /* SNSSAI_list */ +static int hf_f1ap_SNSSAI_list_item = -1; /* SNSSAI_Item */ +static int hf_f1ap_Slot_Configuration_List_item = -1; /* Slot_Configuration_Item */ +static int hf_f1ap_slotIndex = -1; /* INTEGER_0_319_ */ +static int hf_f1ap_symbolAllocInSlot = -1; /* SymbolAllocInSlot */ static int hf_f1ap_sST = -1; /* OCTET_STRING_SIZE_1 */ static int hf_f1ap_sD = -1; /* OCTET_STRING_SIZE_3 */ static int hf_f1ap_sRBID = -1; /* SRBID */ static int hf_f1ap_duplicationIndication = -1; /* DuplicationIndication */ +static int hf_f1ap_shortBitmap = -1; /* BIT_STRING_SIZE_4 */ +static int hf_f1ap_mediumBitmap = -1; /* BIT_STRING_SIZE_8 */ +static int hf_f1ap_longBitmap = -1; /* BIT_STRING_SIZE_64 */ +static int hf_f1ap_SSBAreaCapacityValueList_item = -1; /* SSBAreaCapacityValueItem */ +static int hf_f1ap_sSBIndex = -1; /* INTEGER_0_63 */ +static int hf_f1ap_sSBAreaCapacityValue = -1; /* INTEGER_0_100 */ +static int hf_f1ap_SSBAreaRadioResourceStatusList_item = -1; /* SSBAreaRadioResourceStatusItem */ +static int hf_f1ap_sSBAreaDLGBRPRBusage = -1; /* INTEGER_0_100 */ +static int hf_f1ap_sSBAreaULGBRPRBusage = -1; /* INTEGER_0_100 */ +static int hf_f1ap_sSBAreaDLnon_GBRPRBusage = -1; /* INTEGER_0_100 */ +static int hf_f1ap_sSBAreaULnon_GBRPRBusage = -1; /* INTEGER_0_100 */ +static int hf_f1ap_sSBAreaDLTotalPRBusage = -1; /* INTEGER_0_100 */ +static int hf_f1ap_sSBAreaULTotalPRBusage = -1; /* INTEGER_0_100 */ +static int hf_f1ap_dLschedulingPDCCHCCEusage = -1; /* INTEGER_0_100 */ +static int hf_f1ap_uLschedulingPDCCHCCEusage = -1; /* INTEGER_0_100 */ +static int hf_f1ap_SSBToReportList_item = -1; /* SSBToReportItem */ static int hf_f1ap_sUL_NRARFCN = -1; /* INTEGER_0_maxNRARFCN */ static int hf_f1ap_sUL_transmission_Bandwidth = -1; /* Transmission_Bandwidth */ +static int hf_f1ap_all_DL = -1; /* NULL */ +static int hf_f1ap_all_UL = -1; /* NULL */ +static int hf_f1ap_both_DL_and_UL = -1; /* NumDLULSymbols */ +static int hf_f1ap_TargetCellList_item = -1; /* TargetCellList_Item */ +static int hf_f1ap_target_cell = -1; /* NRCGI */ static int hf_f1ap_nRFreqInfo = -1; /* NRFreqInfo */ static int hf_f1ap_transmission_Bandwidth_01 = -1; /* Transmission_Bandwidth */ -static int hf_f1ap_nRSCS = -1; /* NRSCS */ +static int hf_f1ap_referenceTime = -1; /* ReferenceTime */ +static int hf_f1ap_referenceSFN = -1; /* ReferenceSFN */ +static int hf_f1ap_uncertainty = -1; /* Uncertainty */ +static int hf_f1ap_timeInformationType = -1; /* TimeInformationType */ +static int hf_f1ap_dLTNLOfferedCapacity = -1; /* INTEGER_1_16777216_ */ +static int hf_f1ap_dLTNLAvailableCapacity = -1; /* INTEGER_0_100_ */ +static int hf_f1ap_uLTNLOfferedCapacity = -1; /* INTEGER_1_16777216_ */ +static int hf_f1ap_uLTNLAvailableCapacity = -1; /* INTEGER_0_100_ */ +static int hf_f1ap_traceID = -1; /* TraceID */ +static int hf_f1ap_interfacesToTrace = -1; /* InterfacesToTrace */ +static int hf_f1ap_traceDepth = -1; /* TraceDepth */ +static int hf_f1ap_traceCollectionEntityIPAddress = -1; /* TransportLayerAddress */ +static int hf_f1ap_iPtolayer2TrafficMappingInfo = -1; /* IPtolayer2TrafficMappingInfo */ +static int hf_f1ap_bAPlayerBHRLCchannelMappingInfo = -1; /* BAPlayerBHRLCchannelMappingInfo */ static int hf_f1ap_nRNRB = -1; /* NRNRB */ +static int hf_f1ap_Transport_UP_Layer_Address_Info_To_Add_List_item = -1; /* Transport_UP_Layer_Address_Info_To_Add_Item */ +static int hf_f1ap_iP_SecTransportLayerAddress = -1; /* TransportLayerAddress */ +static int hf_f1ap_gTPTransportLayerAddressToAdd = -1; /* GTPTLAs */ +static int hf_f1ap_Transport_UP_Layer_Address_Info_To_Remove_List_item = -1; /* Transport_UP_Layer_Address_Info_To_Remove_Item */ +static int hf_f1ap_gTPTransportLayerAddressToRemove = -1; /* GTPTLAs */ +static int hf_f1ap_transport_UP_Layer_Address_Info_To_Add_List = -1; /* Transport_UP_Layer_Address_Info_To_Add_List */ +static int hf_f1ap_transport_UP_Layer_Address_Info_To_Remove_List = -1; /* Transport_UP_Layer_Address_Info_To_Remove_List */ +static int hf_f1ap_periodicity = -1; /* Periodicity */ +static int hf_f1ap_burstArrivalTime = -1; /* BurstArrivalTime */ +static int hf_f1ap_tSCAssistanceInformationDL = -1; /* TSCAssistanceInformation */ +static int hf_f1ap_tSCAssistanceInformationUL = -1; /* TSCAssistanceInformation */ static int hf_f1ap_uACPLMN_List = -1; /* UACPLMN_List */ static int hf_f1ap_UACPLMN_List_item = -1; /* UACPLMN_Item */ static int hf_f1ap_uACType_List = -1; /* UACType_List */ @@ -852,11 +1502,14 @@ static int hf_f1ap_uACstandardized = -1; /* UACAction */ static int hf_f1ap_uACOperatorDefined = -1; /* UACOperatorDefined */ static int hf_f1ap_accessCategory = -1; /* INTEGER_32_63_ */ static int hf_f1ap_accessIdentity = -1; /* BIT_STRING_SIZE_7 */ -static int hf_f1ap_gNB_DU_UE_F1AP_ID = -1; /* GNB_DU_UE_F1AP_ID */ static int hf_f1ap_indexLength10 = -1; /* BIT_STRING_SIZE_10 */ +static int hf_f1ap_uL_BH_Non_UP_Traffic_Mapping_List = -1; /* UL_BH_Non_UP_Traffic_Mapping_List */ +static int hf_f1ap_UL_BH_Non_UP_Traffic_Mapping_List_item = -1; /* UL_BH_Non_UP_Traffic_Mapping_Item */ +static int hf_f1ap_nonUPTrafficType = -1; /* NonUPTrafficType */ static int hf_f1ap_uLUEConfiguration = -1; /* ULUEConfiguration */ -static int hf_f1ap_ULUPTNLInformation_ToBeSetup_List_item = -1; /* ULUPTNLInformation_ToBeSetup_Item */ static int hf_f1ap_uLUPTNLInformation = -1; /* UPTransportLayerInformation */ +static int hf_f1ap_newULUPTNLInformation = -1; /* UPTransportLayerInformation */ +static int hf_f1ap_ULUPTNLInformation_ToBeSetup_List_item = -1; /* ULUPTNLInformation_ToBeSetup_Item */ static int hf_f1ap_gTPTunnel = -1; /* GTPTunnel */ static int hf_f1ap_protocolIEs = -1; /* ProtocolIE_Container */ static int hf_f1ap_f1_Interface = -1; /* ResetAll */ @@ -877,6 +1530,7 @@ static int hf_f1ap_GNB_CU_TNL_Association_To_Remove_List_item = -1; /* Protocol static int hf_f1ap_GNB_CU_TNL_Association_To_Update_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_Cells_to_be_Barred_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_Protected_EUTRA_Resources_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_Neighbour_Cell_Information_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_Cells_Failed_to_be_Activated_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_GNB_CU_TNL_Association_Setup_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List_item = -1; /* ProtocolIE_SingleContainer */ @@ -884,19 +1538,31 @@ static int hf_f1ap_Candidate_SpCell_List_item = -1; /* ProtocolIE_SingleContain static int hf_f1ap_SCell_ToBeSetup_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_SRBs_ToBeSetup_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_DRBs_ToBeSetup_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_BHChannels_ToBeSetup_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_SLDRBs_ToBeSetup_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_DRBs_Setup_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_SRBs_FailedToBeSetup_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_DRBs_FailedToBeSetup_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_SCell_FailedtoSetup_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_SRBs_Setup_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_BHChannels_Setup_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_BHChannels_FailedToBeSetup_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_SLDRBs_Setup_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_SLDRBs_FailedToBeSetup_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_Potential_SpCell_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_SCell_ToBeSetupMod_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_SCell_ToBeRemoved_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_SRBs_ToBeSetupMod_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_DRBs_ToBeSetupMod_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_BHChannels_ToBeSetupMod_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_DRBs_ToBeModified_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_BHChannels_ToBeModified_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_SRBs_ToBeReleased_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_DRBs_ToBeReleased_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_BHChannels_ToBeReleased_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_SLDRBs_ToBeSetupMod_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_SLDRBs_ToBeModified_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_SLDRBs_ToBeReleased_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_DRBs_SetupMod_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_DRBs_Modified_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_SRBs_SetupMod_List_item = -1; /* ProtocolIE_SingleContainer */ @@ -905,11 +1571,23 @@ static int hf_f1ap_DRBs_FailedToBeModified_List_item = -1; /* ProtocolIE_Single static int hf_f1ap_SRBs_FailedToBeSetupMod_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_DRBs_FailedToBeSetupMod_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_SCell_FailedtoSetupMod_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_BHChannels_SetupMod_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_BHChannels_Modified_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_BHChannels_FailedToBeModified_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_BHChannels_FailedToBeSetupMod_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_Associated_SCell_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_SLDRBs_SetupMod_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_SLDRBs_Modified_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_SLDRBs_FailedToBeModified_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_SLDRBs_FailedToBeSetupMod_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_DRBs_Required_ToBeModified_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_DRBs_Required_ToBeReleased_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_SRBs_Required_ToBeReleased_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_BHChannels_Required_ToBeReleased_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_SLDRBs_Required_ToBeModified_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_SLDRBs_Required_ToBeReleased_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_DRBs_ModifiedConf_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_SLDRBs_ModifiedConf_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_Cells_To_Be_Broadcast_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_Cells_Broadcast_Completed_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_Broadcast_To_Be_Cancelled_List_item = -1; /* ProtocolIE_SingleContainer */ @@ -920,6 +1598,13 @@ static int hf_f1ap_PagingCell_list_item = -1; /* ProtocolIE_SingleContainer static int hf_f1ap_DRB_Notify_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_NR_CGI_List_For_Restart_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_PWS_Failed_NR_CGI_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_BH_Routing_Information_Added_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_BH_Routing_Information_Removed_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_IAB_TNL_Addresses_To_Remove_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_IAB_Allocated_TNL_Address_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_UL_UP_TNL_Information_to_Update_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_UL_UP_TNL_Address_to_Update_List_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_f1ap_DL_UP_TNL_Address_to_Update_List_item = -1; /* ProtocolIE_SingleContainer */ static int hf_f1ap_initiatingMessage = -1; /* InitiatingMessage */ static int hf_f1ap_successfulOutcome = -1; /* SuccessfulOutcome */ static int hf_f1ap_unsuccessfulOutcome = -1; /* UnsuccessfulOutcome */ @@ -928,7 +1613,7 @@ static int hf_f1ap_successfulOutcome_value = -1; /* SuccessfulOutcome_value */ static int hf_f1ap_unsuccessfulOutcome_value = -1; /* UnsuccessfulOutcome_value */ /*--- End of included file: packet-f1ap-hf.c ---*/ -#line 45 "./asn1/f1ap/packet-f1ap-template.c" +#line 68 "./asn1/f1ap/packet-f1ap-template.c" /* Initialize the subtree pointers */ static gint ett_f1ap = -1; @@ -962,6 +1647,30 @@ static gint ett_f1ap_RequestedP_MaxFR2 = -1; static gint ett_f1ap_UEAssistanceInformation = -1; static gint ett_f1ap_CG_Config = -1; static gint ett_f1ap_Ph_InfoMCG = -1; +static gint ett_f1ap_BurstArrivalTime = -1; +static gint ett_f1ap_cSI_RS_Configuration = -1; +static gint ett_f1ap_sR_Configuration = -1; +static gint ett_f1ap_pDCCH_ConfigSIB1 = -1; +static gint ett_f1ap_sCS_Common = -1; +static gint ett_f1ap_IABTNLAddressIPv4Address = -1; +static gint ett_f1ap_IABTNLAddressIPv6Address = -1; +static gint ett_f1ap_IABTNLAddressIPv6Prefix = -1; +static gint ett_f1ap_InterfacesToTrace = -1; +static gint ett_f1ap_MeasurementsToActivate = -1; +static gint ett_f1ap_NRUERLFReportContainer = -1; +static gint ett_f1ap_RACH_Config_Common = -1; +static gint ett_f1ap_RACH_Config_Common_IAB = -1; +static gint ett_f1ap_RACHReportContainer = -1; +static gint ett_f1ap_ReferenceTime = -1; +static gint ett_f1ap_ReportCharacteristics = -1; +static gint ett_f1ap_SIB10_message = -1; +static gint ett_f1ap_SIB12_message = -1; +static gint ett_f1ap_SIB13_message = -1; +static gint ett_f1ap_SIB14_message = -1; +static gint ett_f1ap_SL_PHY_MAC_RLC_Config = -1; +static gint ett_f1ap_SL_ConfigDedicatedEUTRA = -1; +static gint ett_f1ap_TDD_UL_DLConfigCommonNR = -1; +static gint ett_f1ap_UEAssistanceInformationEUTRA = -1; /*--- Included file: packet-f1ap-ett.c ---*/ #line 1 "./asn1/f1ap/packet-f1ap-ett.c" @@ -972,18 +1681,57 @@ static gint ett_f1ap_ProtocolExtensionContainer = -1; static gint ett_f1ap_ProtocolExtensionField = -1; static gint ett_f1ap_PrivateIE_Container = -1; static gint ett_f1ap_PrivateIE_Field = -1; +static gint ett_f1ap_Activated_Cells_to_be_Updated_List = -1; +static gint ett_f1ap_Activated_Cells_to_be_Updated_List_Item = -1; +static gint ett_f1ap_AdditionalPDCPDuplicationTNL_List = -1; +static gint ett_f1ap_AdditionalPDCPDuplicationTNL_Item = -1; static gint ett_f1ap_AdditionalSIBMessageList = -1; static gint ett_f1ap_AdditionalSIBMessageList_Item = -1; +static gint ett_f1ap_AggressorCellList = -1; +static gint ett_f1ap_AggressorCellList_Item = -1; +static gint ett_f1ap_AggressorgNBSetID = -1; static gint ett_f1ap_AllocationAndRetentionPriority = -1; +static gint ett_f1ap_AlternativeQoSParaSetList = -1; +static gint ett_f1ap_AlternativeQoSParaSetItem = -1; static gint ett_f1ap_Associated_SCell_Item = -1; static gint ett_f1ap_AvailablePLMNList = -1; static gint ett_f1ap_AvailablePLMNList_Item = -1; +static gint ett_f1ap_AvailableSNPN_ID_List = -1; +static gint ett_f1ap_AvailableSNPN_ID_List_Item = -1; +static gint ett_f1ap_BAPlayerBHRLCchannelMappingInfo = -1; +static gint ett_f1ap_BAPlayerBHRLCchannelMappingInfoList = -1; +static gint ett_f1ap_BAPlayerBHRLCchannelMappingInfo_Item = -1; +static gint ett_f1ap_BAPRoutingID = -1; +static gint ett_f1ap_BHChannels_FailedToBeModified_Item = -1; +static gint ett_f1ap_BHChannels_FailedToBeSetup_Item = -1; +static gint ett_f1ap_BHChannels_FailedToBeSetupMod_Item = -1; +static gint ett_f1ap_BHChannels_Modified_Item = -1; +static gint ett_f1ap_BHChannels_Required_ToBeReleased_Item = -1; +static gint ett_f1ap_BHChannels_Setup_Item = -1; +static gint ett_f1ap_BHChannels_SetupMod_Item = -1; +static gint ett_f1ap_BHChannels_ToBeModified_Item = -1; +static gint ett_f1ap_BHChannels_ToBeReleased_Item = -1; +static gint ett_f1ap_BHChannels_ToBeSetup_Item = -1; +static gint ett_f1ap_BHChannels_ToBeSetupMod_Item = -1; +static gint ett_f1ap_BHInfo = -1; +static gint ett_f1ap_BHQoSInformation = -1; +static gint ett_f1ap_BH_Routing_Information_Added_List_Item = -1; +static gint ett_f1ap_BH_Routing_Information_Removed_List_Item = -1; static gint ett_f1ap_BPLMN_ID_Info_List = -1; static gint ett_f1ap_BPLMN_ID_Info_Item = -1; static gint ett_f1ap_ServedPLMNs_List = -1; static gint ett_f1ap_ServedPLMNs_Item = -1; +static gint ett_f1ap_BroadcastCAGList = -1; +static gint ett_f1ap_BroadcastNIDList = -1; +static gint ett_f1ap_BroadcastSNPN_ID_List = -1; +static gint ett_f1ap_BroadcastSNPN_ID_List_Item = -1; +static gint ett_f1ap_BroadcastPNI_NPN_ID_List = -1; +static gint ett_f1ap_BroadcastPNI_NPN_ID_List_Item = -1; static gint ett_f1ap_Candidate_SpCell_Item = -1; +static gint ett_f1ap_CapacityValue = -1; static gint ett_f1ap_Cause = -1; +static gint ett_f1ap_CellMeasurementResultList = -1; +static gint ett_f1ap_CellMeasurementResultItem = -1; static gint ett_f1ap_Cells_Failed_to_be_Activated_List_Item = -1; static gint ett_f1ap_Cells_Status_Item = -1; static gint ett_f1ap_Cells_To_Be_Broadcast_Item = -1; @@ -993,14 +1741,27 @@ static gint ett_f1ap_Cells_Broadcast_Cancelled_Item = -1; static gint ett_f1ap_Cells_to_be_Activated_List_Item = -1; static gint ett_f1ap_Cells_to_be_Deactivated_List_Item = -1; static gint ett_f1ap_Cells_to_be_Barred_Item = -1; +static gint ett_f1ap_CellToReportList = -1; +static gint ett_f1ap_CellToReportItem = -1; static gint ett_f1ap_CellType = -1; +static gint ett_f1ap_Child_Node_Cells_List = -1; +static gint ett_f1ap_Child_Node_Cells_List_Item = -1; +static gint ett_f1ap_Child_Nodes_List = -1; +static gint ett_f1ap_Child_Nodes_List_Item = -1; static gint ett_f1ap_CNUEPagingIdentity = -1; +static gint ett_f1ap_CompositeAvailableCapacityGroup = -1; +static gint ett_f1ap_CompositeAvailableCapacity = -1; +static gint ett_f1ap_ConditionalInterDUMobilityInformation = -1; +static gint ett_f1ap_ConditionalIntraDUMobilityInformation = -1; static gint ett_f1ap_CP_TransportLayerAddress = -1; static gint ett_f1ap_CriticalityDiagnostics = -1; static gint ett_f1ap_CriticalityDiagnostics_IE_List = -1; static gint ett_f1ap_CriticalityDiagnostics_IE_Item = -1; +static gint ett_f1ap_CUDURadioInformationType = -1; +static gint ett_f1ap_CUDURIMInformation = -1; static gint ett_f1ap_CUtoDURRCInformation = -1; static gint ett_f1ap_Dedicated_SIDelivery_NeededUE_Item = -1; +static gint ett_f1ap_DL_UP_TNL_Address_to_Update_List_Item = -1; static gint ett_f1ap_DLUPTNLInformation_ToBeSetup_List = -1; static gint ett_f1ap_DLUPTNLInformation_ToBeSetup_Item = -1; static gint ett_f1ap_DRB_Activity_Item = -1; @@ -1020,13 +1781,23 @@ static gint ett_f1ap_DRBs_ToBeReleased_Item = -1; static gint ett_f1ap_DRBs_ToBeSetup_Item = -1; static gint ett_f1ap_DRBs_ToBeSetupMod_Item = -1; static gint ett_f1ap_DRXCycle = -1; +static gint ett_f1ap_DSInformationList = -1; +static gint ett_f1ap_DUCURadioInformationType = -1; +static gint ett_f1ap_DUCURIMInformation = -1; +static gint ett_f1ap_DUF_Slot_Config_Item = -1; +static gint ett_f1ap_DUF_Slot_Config_List = -1; static gint ett_f1ap_DUtoCURRCInformation = -1; static gint ett_f1ap_Dynamic5QIDescriptor = -1; +static gint ett_f1ap_DynamicPQIDescriptor = -1; +static gint ett_f1ap_EgressBHRLCCHList = -1; +static gint ett_f1ap_EgressBHRLCCHItem = -1; static gint ett_f1ap_Endpoint_IP_address_and_port = -1; static gint ett_f1ap_ExtendedAvailablePLMN_List = -1; static gint ett_f1ap_ExtendedAvailablePLMN_Item = -1; +static gint ett_f1ap_ExplicitFormat = -1; static gint ett_f1ap_ExtendedServedPLMNs_List = -1; static gint ett_f1ap_ExtendedServedPLMNs_Item = -1; +static gint ett_f1ap_ExtendedSliceSupportList = -1; static gint ett_f1ap_EUTRACells_List = -1; static gint ett_f1ap_EUTRACells_List_item = -1; static gint ett_f1ap_EUTRA_Coex_FDD_Info = -1; @@ -1043,6 +1814,9 @@ static gint ett_f1ap_Flows_Mapped_To_DRB_List = -1; static gint ett_f1ap_Flows_Mapped_To_DRB_Item = -1; static gint ett_f1ap_FreqBandNrItem = -1; static gint ett_f1ap_SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem = -1; +static gint ett_f1ap_FreqDomainLength = -1; +static gint ett_f1ap_FlowsMappedToSLDRB_List = -1; +static gint ett_f1ap_FlowsMappedToSLDRB_Item = -1; static gint ett_f1ap_GBR_QosInformation = -1; static gint ett_f1ap_GBR_QoSFlowInformation = -1; static gint ett_f1ap_GNB_CUSystemInformation = -1; @@ -1052,21 +1826,77 @@ static gint ett_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_Item = -1; static gint ett_f1ap_GNB_CU_TNL_Association_To_Add_Item = -1; static gint ett_f1ap_GNB_CU_TNL_Association_To_Remove_Item = -1; static gint ett_f1ap_GNB_CU_TNL_Association_To_Update_Item = -1; +static gint ett_f1ap_GNB_DU_Cell_Resource_Configuration = -1; static gint ett_f1ap_GNB_DU_Served_Cells_Item = -1; static gint ett_f1ap_GNB_DU_System_Information = -1; static gint ett_f1ap_GNB_DU_TNL_Association_To_Remove_Item = -1; +static gint ett_f1ap_GTPTLAs = -1; +static gint ett_f1ap_GTPTLA_Item = -1; static gint ett_f1ap_GTPTunnel = -1; +static gint ett_f1ap_HardwareLoadIndicator = -1; +static gint ett_f1ap_HSNASlotConfigList = -1; +static gint ett_f1ap_HSNASlotConfigItem = -1; +static gint ett_f1ap_IAB_Info_IAB_donor_CU = -1; +static gint ett_f1ap_IAB_Info_IAB_DU = -1; +static gint ett_f1ap_IAB_MT_Cell_List = -1; +static gint ett_f1ap_IAB_MT_Cell_List_Item = -1; +static gint ett_f1ap_IAB_STC_Info = -1; +static gint ett_f1ap_IAB_STC_Info_List = -1; +static gint ett_f1ap_IAB_STC_Info_Item = -1; +static gint ett_f1ap_IAB_Allocated_TNL_Address_Item = -1; +static gint ett_f1ap_IAB_DU_Cell_Resource_Configuration_Mode_Info = -1; +static gint ett_f1ap_IAB_DU_Cell_Resource_Configuration_FDD_Info = -1; +static gint ett_f1ap_IAB_DU_Cell_Resource_Configuration_TDD_Info = -1; +static gint ett_f1ap_IABIPv6RequestType = -1; +static gint ett_f1ap_IABTNLAddress = -1; +static gint ett_f1ap_IABTNLAddressesRequested = -1; +static gint ett_f1ap_IAB_TNL_Addresses_To_Remove_Item = -1; +static gint ett_f1ap_IABv4AddressesRequested = -1; +static gint ett_f1ap_ImplicitFormat = -1; +static gint ett_f1ap_IntendedTDD_DL_ULConfig = -1; +static gint ett_f1ap_IPHeaderInformation = -1; +static gint ett_f1ap_IPtolayer2TrafficMappingInfo = -1; +static gint ett_f1ap_IPtolayer2TrafficMappingInfoList = -1; +static gint ett_f1ap_IPtolayer2TrafficMappingInfo_Item = -1; +static gint ett_f1ap_L139Info = -1; +static gint ett_f1ap_L839Info = -1; +static gint ett_f1ap_LTEUESidelinkAggregateMaximumBitrate = -1; +static gint ett_f1ap_LTEV2XServicesAuthorized = -1; +static gint ett_f1ap_MappingInformationtoRemove = -1; +static gint ett_f1ap_MultiplexingInfo = -1; +static gint ett_f1ap_M5Configuration = -1; +static gint ett_f1ap_M6Configuration = -1; +static gint ett_f1ap_M7Configuration = -1; +static gint ett_f1ap_MDTConfiguration = -1; +static gint ett_f1ap_MDTPLMNList = -1; +static gint ett_f1ap_Neighbour_Cell_Information_Item = -1; static gint ett_f1ap_NGRANAllocationAndRetentionPriority = -1; static gint ett_f1ap_NR_CGI_List_For_Restart_Item = -1; static gint ett_f1ap_NonDynamic5QIDescriptor = -1; +static gint ett_f1ap_NonDynamicPQIDescriptor = -1; static gint ett_f1ap_NotificationInformation = -1; +static gint ett_f1ap_NPNBroadcastInformation = -1; +static gint ett_f1ap_NPN_Broadcast_Information_SNPN = -1; +static gint ett_f1ap_NPN_Broadcast_Information_PNI_NPN = -1; +static gint ett_f1ap_NPNSupportInfo = -1; +static gint ett_f1ap_NRCarrierList = -1; +static gint ett_f1ap_NRCarrierItem = -1; static gint ett_f1ap_NRFreqInfo = -1; static gint ett_f1ap_SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem = -1; static gint ett_f1ap_NRCGI = -1; static gint ett_f1ap_NR_Mode_Info = -1; +static gint ett_f1ap_NRPRACHConfig = -1; +static gint ett_f1ap_NRPRACHConfigList = -1; +static gint ett_f1ap_NRPRACHConfigItem = -1; +static gint ett_f1ap_NumDLULSymbols = -1; +static gint ett_f1ap_NRV2XServicesAuthorized = -1; +static gint ett_f1ap_NRUESidelinkAggregateMaximumBitrate = -1; static gint ett_f1ap_PacketErrorRate = -1; static gint ett_f1ap_PagingCell_Item = -1; static gint ett_f1ap_PagingIdentity = -1; +static gint ett_f1ap_PC5_QoS_Characteristics = -1; +static gint ett_f1ap_PC5QoSParameters = -1; +static gint ett_f1ap_PC5FlowBitRates = -1; static gint ett_f1ap_Protected_EUTRA_Resources_Item = -1; static gint ett_f1ap_Potential_SpCell_Item = -1; static gint ett_f1ap_PWS_Failed_NR_CGI_Item = -1; @@ -1074,12 +1904,21 @@ static gint ett_f1ap_PWSSystemInformation = -1; static gint ett_f1ap_QoS_Characteristics = -1; static gint ett_f1ap_QoSFlowLevelQoSParameters = -1; static gint ett_f1ap_QoSInformation = -1; +static gint ett_f1ap_RACHReportInformationList = -1; +static gint ett_f1ap_RACHReportInformationItem = -1; +static gint ett_f1ap_RadioResourceStatus = -1; static gint ett_f1ap_RANUEPagingIdentity = -1; static gint ett_f1ap_RAT_FrequencyPriorityInformation = -1; static gint ett_f1ap_ResourceCoordinationEUTRACellInfo = -1; static gint ett_f1ap_ResourceCoordinationTransferInformation = -1; +static gint ett_f1ap_ReportingRequestType = -1; +static gint ett_f1ap_RLCDuplicationInformation = -1; +static gint ett_f1ap_RLCDuplicationStateList = -1; +static gint ett_f1ap_RLCDuplicationState_Item = -1; static gint ett_f1ap_RLCFailureIndication = -1; static gint ett_f1ap_RLC_Status = -1; +static gint ett_f1ap_RLFReportInformationList = -1; +static gint ett_f1ap_RLFReportInformationItem = -1; static gint ett_f1ap_RRCDeliveryStatus = -1; static gint ett_f1ap_RRC_Version = -1; static gint ett_f1ap_SCell_FailedtoSetup_Item = -1; @@ -1096,8 +1935,33 @@ static gint ett_f1ap_Service_Status = -1; static gint ett_f1ap_SItype_List = -1; static gint ett_f1ap_SItype_Item = -1; static gint ett_f1ap_SibtypetobeupdatedListItem = -1; +static gint ett_f1ap_SLDRBInformation = -1; +static gint ett_f1ap_SLDRBs_FailedToBeModified_Item = -1; +static gint ett_f1ap_SLDRBs_FailedToBeSetup_Item = -1; +static gint ett_f1ap_SLDRBs_FailedToBeSetupMod_Item = -1; +static gint ett_f1ap_SLDRBs_Modified_Item = -1; +static gint ett_f1ap_SLDRBs_ModifiedConf_Item = -1; +static gint ett_f1ap_SLDRBs_Required_ToBeModified_Item = -1; +static gint ett_f1ap_SLDRBs_Required_ToBeReleased_Item = -1; +static gint ett_f1ap_SLDRBs_Setup_Item = -1; +static gint ett_f1ap_SLDRBs_SetupMod_Item = -1; +static gint ett_f1ap_SLDRBs_ToBeModified_Item = -1; +static gint ett_f1ap_SLDRBs_ToBeReleased_Item = -1; +static gint ett_f1ap_SLDRBs_ToBeSetup_Item = -1; +static gint ett_f1ap_SLDRBs_ToBeSetupMod_Item = -1; +static gint ett_f1ap_SliceAvailableCapacity = -1; +static gint ett_f1ap_SliceAvailableCapacityList = -1; +static gint ett_f1ap_SliceAvailableCapacityItem = -1; +static gint ett_f1ap_SNSSAIAvailableCapacity_List = -1; +static gint ett_f1ap_SNSSAIAvailableCapacity_Item = -1; static gint ett_f1ap_SliceSupportList = -1; static gint ett_f1ap_SliceSupportItem = -1; +static gint ett_f1ap_SliceToReportList = -1; +static gint ett_f1ap_SliceToReportItem = -1; +static gint ett_f1ap_SNSSAI_list = -1; +static gint ett_f1ap_SNSSAI_Item = -1; +static gint ett_f1ap_Slot_Configuration_List = -1; +static gint ett_f1ap_Slot_Configuration_Item = -1; static gint ett_f1ap_SNSSAI = -1; static gint ett_f1ap_SRBs_FailedToBeSetup_Item = -1; static gint ett_f1ap_SRBs_FailedToBeSetupMod_Item = -1; @@ -1108,10 +1972,32 @@ static gint ett_f1ap_SRBs_SetupMod_Item = -1; static gint ett_f1ap_SRBs_ToBeReleased_Item = -1; static gint ett_f1ap_SRBs_ToBeSetup_Item = -1; static gint ett_f1ap_SRBs_ToBeSetupMod_Item = -1; +static gint ett_f1ap_SSB_transmissionBitmap = -1; +static gint ett_f1ap_SSBAreaCapacityValueList = -1; +static gint ett_f1ap_SSBAreaCapacityValueItem = -1; +static gint ett_f1ap_SSBAreaRadioResourceStatusList = -1; +static gint ett_f1ap_SSBAreaRadioResourceStatusItem = -1; +static gint ett_f1ap_SSB_PositionsInBurst = -1; +static gint ett_f1ap_SSBToReportList = -1; +static gint ett_f1ap_SSBToReportItem = -1; static gint ett_f1ap_SUL_Information = -1; static gint ett_f1ap_SupportedSULFreqBandItem = -1; +static gint ett_f1ap_SymbolAllocInSlot = -1; +static gint ett_f1ap_TargetCellList = -1; +static gint ett_f1ap_TargetCellList_Item = -1; static gint ett_f1ap_TDD_Info = -1; +static gint ett_f1ap_TimeReferenceInformation = -1; +static gint ett_f1ap_TNLCapacityIndicator = -1; +static gint ett_f1ap_TraceActivation = -1; +static gint ett_f1ap_TrafficMappingInfo = -1; static gint ett_f1ap_Transmission_Bandwidth = -1; +static gint ett_f1ap_Transport_UP_Layer_Address_Info_To_Add_List = -1; +static gint ett_f1ap_Transport_UP_Layer_Address_Info_To_Add_Item = -1; +static gint ett_f1ap_Transport_UP_Layer_Address_Info_To_Remove_List = -1; +static gint ett_f1ap_Transport_UP_Layer_Address_Info_To_Remove_Item = -1; +static gint ett_f1ap_Transport_Layer_Address_Info = -1; +static gint ett_f1ap_TSCAssistanceInformation = -1; +static gint ett_f1ap_TSCTrafficCharacteristics = -1; static gint ett_f1ap_UAC_Assistance_Info = -1; static gint ett_f1ap_UACPLMN_List = -1; static gint ett_f1ap_UACPLMN_Item = -1; @@ -1121,10 +2007,16 @@ static gint ett_f1ap_UACCategoryType = -1; static gint ett_f1ap_UACOperatorDefined = -1; static gint ett_f1ap_UE_associatedLogicalF1_ConnectionItem = -1; static gint ett_f1ap_UEIdentityIndexValue = -1; +static gint ett_f1ap_UL_BH_Non_UP_Traffic_Mapping = -1; +static gint ett_f1ap_UL_BH_Non_UP_Traffic_Mapping_List = -1; +static gint ett_f1ap_UL_BH_Non_UP_Traffic_Mapping_Item = -1; static gint ett_f1ap_ULConfiguration = -1; +static gint ett_f1ap_UL_UP_TNL_Information_to_Update_List_Item = -1; +static gint ett_f1ap_UL_UP_TNL_Address_to_Update_List_Item = -1; static gint ett_f1ap_ULUPTNLInformation_ToBeSetup_List = -1; static gint ett_f1ap_ULUPTNLInformation_ToBeSetup_Item = -1; static gint ett_f1ap_UPTransportLayerInformation = -1; +static gint ett_f1ap_VictimgNBSetID = -1; static gint ett_f1ap_Reset = -1; static gint ett_f1ap_ResetType = -1; static gint ett_f1ap_UE_associatedLogicalF1_ConnectionListRes = -1; @@ -1152,6 +2044,7 @@ static gint ett_f1ap_GNB_CU_TNL_Association_To_Remove_List = -1; static gint ett_f1ap_GNB_CU_TNL_Association_To_Update_List = -1; static gint ett_f1ap_Cells_to_be_Barred_List = -1; static gint ett_f1ap_Protected_EUTRA_Resources_List = -1; +static gint ett_f1ap_Neighbour_Cell_Information_List = -1; static gint ett_f1ap_GNBCUConfigurationUpdateAcknowledge = -1; static gint ett_f1ap_Cells_Failed_to_be_Activated_List = -1; static gint ett_f1ap_GNB_CU_TNL_Association_Setup_List = -1; @@ -1164,12 +2057,18 @@ static gint ett_f1ap_Candidate_SpCell_List = -1; static gint ett_f1ap_SCell_ToBeSetup_List = -1; static gint ett_f1ap_SRBs_ToBeSetup_List = -1; static gint ett_f1ap_DRBs_ToBeSetup_List = -1; +static gint ett_f1ap_BHChannels_ToBeSetup_List = -1; +static gint ett_f1ap_SLDRBs_ToBeSetup_List = -1; static gint ett_f1ap_UEContextSetupResponse = -1; static gint ett_f1ap_DRBs_Setup_List = -1; static gint ett_f1ap_SRBs_FailedToBeSetup_List = -1; static gint ett_f1ap_DRBs_FailedToBeSetup_List = -1; static gint ett_f1ap_SCell_FailedtoSetup_List = -1; static gint ett_f1ap_SRBs_Setup_List = -1; +static gint ett_f1ap_BHChannels_Setup_List = -1; +static gint ett_f1ap_BHChannels_FailedToBeSetup_List = -1; +static gint ett_f1ap_SLDRBs_Setup_List = -1; +static gint ett_f1ap_SLDRBs_FailedToBeSetup_List = -1; static gint ett_f1ap_UEContextSetupFailure = -1; static gint ett_f1ap_Potential_SpCell_List = -1; static gint ett_f1ap_UEContextReleaseRequest = -1; @@ -1180,9 +2079,15 @@ static gint ett_f1ap_SCell_ToBeSetupMod_List = -1; static gint ett_f1ap_SCell_ToBeRemoved_List = -1; static gint ett_f1ap_SRBs_ToBeSetupMod_List = -1; static gint ett_f1ap_DRBs_ToBeSetupMod_List = -1; +static gint ett_f1ap_BHChannels_ToBeSetupMod_List = -1; static gint ett_f1ap_DRBs_ToBeModified_List = -1; +static gint ett_f1ap_BHChannels_ToBeModified_List = -1; static gint ett_f1ap_SRBs_ToBeReleased_List = -1; static gint ett_f1ap_DRBs_ToBeReleased_List = -1; +static gint ett_f1ap_BHChannels_ToBeReleased_List = -1; +static gint ett_f1ap_SLDRBs_ToBeSetupMod_List = -1; +static gint ett_f1ap_SLDRBs_ToBeModified_List = -1; +static gint ett_f1ap_SLDRBs_ToBeReleased_List = -1; static gint ett_f1ap_UEContextModificationResponse = -1; static gint ett_f1ap_DRBs_SetupMod_List = -1; static gint ett_f1ap_DRBs_Modified_List = -1; @@ -1192,14 +2097,26 @@ static gint ett_f1ap_DRBs_FailedToBeModified_List = -1; static gint ett_f1ap_SRBs_FailedToBeSetupMod_List = -1; static gint ett_f1ap_DRBs_FailedToBeSetupMod_List = -1; static gint ett_f1ap_SCell_FailedtoSetupMod_List = -1; +static gint ett_f1ap_BHChannels_SetupMod_List = -1; +static gint ett_f1ap_BHChannels_Modified_List = -1; +static gint ett_f1ap_BHChannels_FailedToBeModified_List = -1; +static gint ett_f1ap_BHChannels_FailedToBeSetupMod_List = -1; static gint ett_f1ap_Associated_SCell_List = -1; +static gint ett_f1ap_SLDRBs_SetupMod_List = -1; +static gint ett_f1ap_SLDRBs_Modified_List = -1; +static gint ett_f1ap_SLDRBs_FailedToBeModified_List = -1; +static gint ett_f1ap_SLDRBs_FailedToBeSetupMod_List = -1; static gint ett_f1ap_UEContextModificationFailure = -1; static gint ett_f1ap_UEContextModificationRequired = -1; static gint ett_f1ap_DRBs_Required_ToBeModified_List = -1; static gint ett_f1ap_DRBs_Required_ToBeReleased_List = -1; static gint ett_f1ap_SRBs_Required_ToBeReleased_List = -1; +static gint ett_f1ap_BHChannels_Required_ToBeReleased_List = -1; +static gint ett_f1ap_SLDRBs_Required_ToBeModified_List = -1; +static gint ett_f1ap_SLDRBs_Required_ToBeReleased_List = -1; static gint ett_f1ap_UEContextModificationConfirm = -1; static gint ett_f1ap_DRBs_ModifiedConf_List = -1; +static gint ett_f1ap_SLDRBs_ModifiedConf_List = -1; static gint ett_f1ap_UEContextModificationRefuse = -1; static gint ett_f1ap_WriteReplaceWarningRequest = -1; static gint ett_f1ap_Cells_To_Be_Broadcast_List = -1; @@ -1230,13 +2147,42 @@ static gint ett_f1ap_RRCDeliveryReport = -1; static gint ett_f1ap_F1RemovalRequest = -1; static gint ett_f1ap_F1RemovalResponse = -1; static gint ett_f1ap_F1RemovalFailure = -1; +static gint ett_f1ap_TraceStart = -1; +static gint ett_f1ap_DeactivateTrace = -1; +static gint ett_f1ap_CellTrafficTrace = -1; +static gint ett_f1ap_DUCURadioInformationTransfer = -1; +static gint ett_f1ap_CUDURadioInformationTransfer = -1; +static gint ett_f1ap_BAPMappingConfiguration = -1; +static gint ett_f1ap_BH_Routing_Information_Added_List = -1; +static gint ett_f1ap_BH_Routing_Information_Removed_List = -1; +static gint ett_f1ap_BAPMappingConfigurationAcknowledge = -1; +static gint ett_f1ap_GNBDUResourceConfiguration = -1; +static gint ett_f1ap_GNBDUResourceConfigurationAcknowledge = -1; +static gint ett_f1ap_IABTNLAddressRequest = -1; +static gint ett_f1ap_IAB_TNL_Addresses_To_Remove_List = -1; +static gint ett_f1ap_IABTNLAddressResponse = -1; +static gint ett_f1ap_IAB_Allocated_TNL_Address_List = -1; +static gint ett_f1ap_IABUPConfigurationUpdateRequest = -1; +static gint ett_f1ap_UL_UP_TNL_Information_to_Update_List = -1; +static gint ett_f1ap_UL_UP_TNL_Address_to_Update_List = -1; +static gint ett_f1ap_IABUPConfigurationUpdateResponse = -1; +static gint ett_f1ap_DL_UP_TNL_Address_to_Update_List = -1; +static gint ett_f1ap_IABUPConfigurationUpdateFailure = -1; +static gint ett_f1ap_ResourceStatusRequest = -1; +static gint ett_f1ap_ResourceStatusResponse = -1; +static gint ett_f1ap_ResourceStatusFailure = -1; +static gint ett_f1ap_ResourceStatusUpdate = -1; +static gint ett_f1ap_AccessAndMobilityIndication = -1; +static gint ett_f1ap_ReferenceTimeInformationReportingControl = -1; +static gint ett_f1ap_ReferenceTimeInformationReport = -1; +static gint ett_f1ap_AccessSuccess = -1; static gint ett_f1ap_F1AP_PDU = -1; static gint ett_f1ap_InitiatingMessage = -1; static gint ett_f1ap_SuccessfulOutcome = -1; static gint ett_f1ap_UnsuccessfulOutcome = -1; /*--- End of included file: packet-f1ap-ett.c ---*/ -#line 79 "./asn1/f1ap/packet-f1ap-template.c" +#line 126 "./asn1/f1ap/packet-f1ap-template.c" enum{ INITIATING_MESSAGE, @@ -1267,6 +2213,7 @@ static dissector_handle_t nr_rrc_ul_ccch_handle; static dissector_handle_t nr_rrc_dl_ccch_handle; static dissector_handle_t nr_rrc_ul_dcch_handle; static dissector_handle_t nr_pdcp_handle; +static dissector_handle_t lte_rrc_conn_reconf_handle; /* Dissector tables */ static dissector_table_t f1ap_ies_dissector_table; @@ -1281,6 +2228,11 @@ static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, pro static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); +static const true_false_string f1ap_tfs_interfacesToTrace = { + "Should be traced", + "Should not be traced" +}; + static void f1ap_MaxPacketLossRate_fmt(gchar *s, guint32 v) { @@ -1293,6 +2245,12 @@ f1ap_PacketDelayBudget_fmt(gchar *s, guint32 v) g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%u)", (float)v/2, v); } +static void +f1ap_ExtendedPacketDelayBudget_fmt(gchar *s, guint32 v) +{ + g_snprintf(s, ITEM_LABEL_LENGTH, "%.2fms (%u)", (float)v/100, v); +} + static f1ap_private_data_t* f1ap_get_private_data(packet_info *pinfo) { @@ -1359,7 +2317,7 @@ dissect_f1ap_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int dissect_f1ap_T_global(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 96 "./asn1/f1ap/f1ap.cnf" +#line 98 "./asn1/f1ap/f1ap.cnf" f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &f1ap_data->obj_id); @@ -1384,7 +2342,7 @@ static const per_choice_t PrivateIE_ID_choice[] = { static int dissect_f1ap_PrivateIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 92 "./asn1/f1ap/f1ap.cnf" +#line 94 "./asn1/f1ap/f1ap.cnf" f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); f1ap_data->obj_id = NULL; @@ -1426,6 +2384,19 @@ static const value_string f1ap_ProcedureCode_vals[] = { { id_RRCDeliveryReport, "id-RRCDeliveryReport" }, { id_F1Removal, "id-F1Removal" }, { id_NetworkAccessRateReduction, "id-NetworkAccessRateReduction" }, + { id_TraceStart, "id-TraceStart" }, + { id_DeactivateTrace, "id-DeactivateTrace" }, + { id_DUCURadioInformationTransfer, "id-DUCURadioInformationTransfer" }, + { id_CUDURadioInformationTransfer, "id-CUDURadioInformationTransfer" }, + { id_BAPMappingConfiguration, "id-BAPMappingConfiguration" }, + { id_GNBDUResourceConfiguration, "id-GNBDUResourceConfiguration" }, + { id_IABTNLAddressAllocation, "id-IABTNLAddressAllocation" }, + { id_IABUPConfigurationUpdate, "id-IABUPConfigurationUpdate" }, + { id_resourceStatusReportingInitiation, "id-resourceStatusReportingInitiation" }, + { id_resourceStatusReporting, "id-resourceStatusReporting" }, + { id_accessAndMobilityIndication, "id-accessAndMobilityIndication" }, + { id_accessSuccess, "id-accessSuccess" }, + { id_cellTrafficTrace, "id-cellTrafficTrace" }, { 0, NULL } }; @@ -1434,7 +2405,7 @@ static value_string_ext f1ap_ProcedureCode_vals_ext = VALUE_STRING_EXT_INIT(f1ap static int dissect_f1ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 73 "./asn1/f1ap/f1ap.cnf" +#line 75 "./asn1/f1ap/f1ap.cnf" f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 255U, &f1ap_data->procedure_code, FALSE); @@ -1448,7 +2419,7 @@ dissect_f1ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ static int dissect_f1ap_ProtocolExtensionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 67 "./asn1/f1ap/f1ap.cnf" +#line 69 "./asn1/f1ap/f1ap.cnf" f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 65535U, &f1ap_data->protocol_extension_id, FALSE); @@ -1702,6 +2673,155 @@ static const value_string f1ap_ProtocolIE_ID_vals[] = { { id_systemInformationAreaID, "id-systemInformationAreaID" }, { id_areaScope, "id-areaScope" }, { id_RRCContainer_RRCSetupComplete, "id-RRCContainer-RRCSetupComplete" }, + { id_TraceActivation, "id-TraceActivation" }, + { id_TraceID, "id-TraceID" }, + { id_Neighbour_Cell_Information_List, "id-Neighbour-Cell-Information-List" }, + { id_Unknown_245, "id-Unknown-245" }, + { id_SymbolAllocInSlot, "id-SymbolAllocInSlot" }, + { id_NumDLULSymbols, "id-NumDLULSymbols" }, + { id_AdditionalRRMPriorityIndex, "id-AdditionalRRMPriorityIndex" }, + { id_DUCURadioInformationType, "id-DUCURadioInformationType" }, + { id_CUDURadioInformationType, "id-CUDURadioInformationType" }, + { id_AggressorgNBSetID, "id-AggressorgNBSetID" }, + { id_VictimgNBSetID, "id-VictimgNBSetID" }, + { id_LowerLayerPresenceStatusChange, "id-LowerLayerPresenceStatusChange" }, + { id_Transport_Layer_Address_Info, "id-Transport-Layer-Address-Info" }, + { id_Neighbour_Cell_Information_Item, "id-Neighbour-Cell-Information-Item" }, + { id_IntendedTDD_DL_ULConfig, "id-IntendedTDD-DL-ULConfig" }, + { id_QosMonitoringRequest, "id-QosMonitoringRequest" }, + { id_BHChannels_ToBeSetup_List, "id-BHChannels-ToBeSetup-List" }, + { id_BHChannels_ToBeSetup_Item, "id-BHChannels-ToBeSetup-Item" }, + { id_BHChannels_Setup_List, "id-BHChannels-Setup-List" }, + { id_BHChannels_Setup_Item, "id-BHChannels-Setup-Item" }, + { id_BHChannels_ToBeModified_Item, "id-BHChannels-ToBeModified-Item" }, + { id_BHChannels_ToBeModified_List, "id-BHChannels-ToBeModified-List" }, + { id_BHChannels_ToBeReleased_Item, "id-BHChannels-ToBeReleased-Item" }, + { id_BHChannels_ToBeReleased_List, "id-BHChannels-ToBeReleased-List" }, + { id_BHChannels_ToBeSetupMod_Item, "id-BHChannels-ToBeSetupMod-Item" }, + { id_BHChannels_ToBeSetupMod_List, "id-BHChannels-ToBeSetupMod-List" }, + { id_BHChannels_FailedToBeModified_Item, "id-BHChannels-FailedToBeModified-Item" }, + { id_BHChannels_FailedToBeModified_List, "id-BHChannels-FailedToBeModified-List" }, + { id_BHChannels_FailedToBeSetupMod_Item, "id-BHChannels-FailedToBeSetupMod-Item" }, + { id_BHChannels_FailedToBeSetupMod_List, "id-BHChannels-FailedToBeSetupMod-List" }, + { id_BHChannels_Modified_Item, "id-BHChannels-Modified-Item" }, + { id_BHChannels_Modified_List, "id-BHChannels-Modified-List" }, + { id_BHChannels_SetupMod_Item, "id-BHChannels-SetupMod-Item" }, + { id_BHChannels_SetupMod_List, "id-BHChannels-SetupMod-List" }, + { id_BHChannels_Required_ToBeReleased_Item, "id-BHChannels-Required-ToBeReleased-Item" }, + { id_BHChannels_Required_ToBeReleased_List, "id-BHChannels-Required-ToBeReleased-List" }, + { id_BHChannels_FailedToBeSetup_Item, "id-BHChannels-FailedToBeSetup-Item" }, + { id_BHChannels_FailedToBeSetup_List, "id-BHChannels-FailedToBeSetup-List" }, + { id_BHInfo, "id-BHInfo" }, + { id_BAPAddress, "id-BAPAddress" }, + { id_ConfiguredBAPAddress, "id-ConfiguredBAPAddress" }, + { id_BH_Routing_Information_Added_List, "id-BH-Routing-Information-Added-List" }, + { id_BH_Routing_Information_Added_List_Item, "id-BH-Routing-Information-Added-List-Item" }, + { id_BH_Routing_Information_Removed_List, "id-BH-Routing-Information-Removed-List" }, + { id_BH_Routing_Information_Removed_List_Item, "id-BH-Routing-Information-Removed-List-Item" }, + { id_UL_BH_Non_UP_Traffic_Mapping, "id-UL-BH-Non-UP-Traffic-Mapping" }, + { id_Activated_Cells_to_be_Updated_List, "id-Activated-Cells-to-be-Updated-List" }, + { id_Child_Nodes_List, "id-Child-Nodes-List" }, + { id_IAB_Info_IAB_DU, "id-IAB-Info-IAB-DU" }, + { id_IAB_Info_IAB_donor_CU, "id-IAB-Info-IAB-donor-CU" }, + { id_IAB_TNL_Addresses_To_Remove_List, "id-IAB-TNL-Addresses-To-Remove-List" }, + { id_IAB_TNL_Addresses_To_Remove_Item, "id-IAB-TNL-Addresses-To-Remove-Item" }, + { id_IAB_Allocated_TNL_Address_List, "id-IAB-Allocated-TNL-Address-List" }, + { id_IAB_Allocated_TNL_Address_Item, "id-IAB-Allocated-TNL-Address-Item" }, + { id_IABIPv6RequestType, "id-IABIPv6RequestType" }, + { id_IABv4AddressesRequested, "id-IABv4AddressesRequested" }, + { id_IAB_Barred, "id-IAB-Barred" }, + { id_TrafficMappingInformation, "id-TrafficMappingInformation" }, + { id_UL_UP_TNL_Information_to_Update_List, "id-UL-UP-TNL-Information-to-Update-List" }, + { id_UL_UP_TNL_Information_to_Update_List_Item, "id-UL-UP-TNL-Information-to-Update-List-Item" }, + { id_UL_UP_TNL_Address_to_Update_List, "id-UL-UP-TNL-Address-to-Update-List" }, + { id_UL_UP_TNL_Address_to_Update_List_Item, "id-UL-UP-TNL-Address-to-Update-List-Item" }, + { id_DL_UP_TNL_Address_to_Update_List, "id-DL-UP-TNL-Address-to-Update-List" }, + { id_DL_UP_TNL_Address_to_Update_List_Item, "id-DL-UP-TNL-Address-to-Update-List-Item" }, + { id_NRV2XServicesAuthorized, "id-NRV2XServicesAuthorized" }, + { id_LTEV2XServicesAuthorized, "id-LTEV2XServicesAuthorized" }, + { id_NRUESidelinkAggregateMaximumBitrate, "id-NRUESidelinkAggregateMaximumBitrate" }, + { id_LTEUESidelinkAggregateMaximumBitrate, "id-LTEUESidelinkAggregateMaximumBitrate" }, + { id_SIB12_message, "id-SIB12-message" }, + { id_SIB13_message, "id-SIB13-message" }, + { id_SIB14_message, "id-SIB14-message" }, + { id_SLDRBs_FailedToBeModified_Item, "id-SLDRBs-FailedToBeModified-Item" }, + { id_SLDRBs_FailedToBeModified_List, "id-SLDRBs-FailedToBeModified-List" }, + { id_SLDRBs_FailedToBeSetup_Item, "id-SLDRBs-FailedToBeSetup-Item" }, + { id_SLDRBs_FailedToBeSetup_List, "id-SLDRBs-FailedToBeSetup-List" }, + { id_SLDRBs_Modified_Item, "id-SLDRBs-Modified-Item" }, + { id_SLDRBs_Modified_List, "id-SLDRBs-Modified-List" }, + { id_SLDRBs_Required_ToBeModified_Item, "id-SLDRBs-Required-ToBeModified-Item" }, + { id_SLDRBs_Required_ToBeModified_List, "id-SLDRBs-Required-ToBeModified-List" }, + { id_SLDRBs_Required_ToBeReleased_Item, "id-SLDRBs-Required-ToBeReleased-Item" }, + { id_SLDRBs_Required_ToBeReleased_List, "id-SLDRBs-Required-ToBeReleased-List" }, + { id_SLDRBs_Setup_Item, "id-SLDRBs-Setup-Item" }, + { id_SLDRBs_Setup_List, "id-SLDRBs-Setup-List" }, + { id_SLDRBs_ToBeModified_Item, "id-SLDRBs-ToBeModified-Item" }, + { id_SLDRBs_ToBeModified_List, "id-SLDRBs-ToBeModified-List" }, + { id_SLDRBs_ToBeReleased_Item, "id-SLDRBs-ToBeReleased-Item" }, + { id_SLDRBs_ToBeReleased_List, "id-SLDRBs-ToBeReleased-List" }, + { id_SLDRBs_ToBeSetup_Item, "id-SLDRBs-ToBeSetup-Item" }, + { id_SLDRBs_ToBeSetup_List, "id-SLDRBs-ToBeSetup-List" }, + { id_SLDRBs_ToBeSetupMod_Item, "id-SLDRBs-ToBeSetupMod-Item" }, + { id_SLDRBs_ToBeSetupMod_List, "id-SLDRBs-ToBeSetupMod-List" }, + { id_SLDRBs_SetupMod_List, "id-SLDRBs-SetupMod-List" }, + { id_SLDRBs_FailedToBeSetupMod_List, "id-SLDRBs-FailedToBeSetupMod-List" }, + { id_SLDRBs_SetupMod_Item, "id-SLDRBs-SetupMod-Item" }, + { id_SLDRBs_FailedToBeSetupMod_Item, "id-SLDRBs-FailedToBeSetupMod-Item" }, + { id_SLDRBs_ModifiedConf_List, "id-SLDRBs-ModifiedConf-List" }, + { id_SLDRBs_ModifiedConf_Item, "id-SLDRBs-ModifiedConf-Item" }, + { id_UEAssistanceInformationEUTRA, "id-UEAssistanceInformationEUTRA" }, + { id_PC5LinkAMBR, "id-PC5LinkAMBR" }, + { id_SL_PHY_MAC_RLC_Config, "id-SL-PHY-MAC-RLC-Config" }, + { id_SL_ConfigDedicatedEUTRA, "id-SL-ConfigDedicatedEUTRA" }, + { id_AlternativeQoSParaSetList, "id-AlternativeQoSParaSetList" }, + { id_CurrentQoSParaSetIndex, "id-CurrentQoSParaSetIndex" }, + { id_gNBCUMeasurementID, "id-gNBCUMeasurementID" }, + { id_gNBDUMeasurementID, "id-gNBDUMeasurementID" }, + { id_RegistrationRequest, "id-RegistrationRequest" }, + { id_ReportCharacteristics, "id-ReportCharacteristics" }, + { id_CellToReportList, "id-CellToReportList" }, + { id_CellMeasurementResultList, "id-CellMeasurementResultList" }, + { id_HardwareLoadIndicator, "id-HardwareLoadIndicator" }, + { id_ReportingPeriodicity, "id-ReportingPeriodicity" }, + { id_TNLCapacityIndicator, "id-TNLCapacityIndicator" }, + { id_CarrierList, "id-CarrierList" }, + { id_ULCarrierList, "id-ULCarrierList" }, + { id_FrequencyShift7p5khz, "id-FrequencyShift7p5khz" }, + { id_SSB_PositionsInBurst, "id-SSB-PositionsInBurst" }, + { id_NRPRACHConfig, "id-NRPRACHConfig" }, + { id_RACHReportInformationList, "id-RACHReportInformationList" }, + { id_RLFReportInformationList, "id-RLFReportInformationList" }, + { id_TDD_UL_DLConfigCommonNR, "id-TDD-UL-DLConfigCommonNR" }, + { id_CNPacketDelayBudgetDownlink, "id-CNPacketDelayBudgetDownlink" }, + { id_ExtendedPacketDelayBudget, "id-ExtendedPacketDelayBudget" }, + { id_TSCTrafficCharacteristics, "id-TSCTrafficCharacteristics" }, + { id_ReportingRequestType, "id-ReportingRequestType" }, + { id_TimeReferenceInformation, "id-TimeReferenceInformation" }, + { id_ReferenceTimeInformationReport, "id-ReferenceTimeInformationReport" }, + { id_ReferenceTimeInformationReportingControl, "id-ReferenceTimeInformationReportingControl" }, + { id_CNPacketDelayBudgetUplink, "id-CNPacketDelayBudgetUplink" }, + { id_AdditionalPDCPDuplicationTNL_List, "id-AdditionalPDCPDuplicationTNL-List" }, + { id_RLCDuplicationInformation, "id-RLCDuplicationInformation" }, + { id_AdditionalDuplicationIndication, "id-AdditionalDuplicationIndication" }, + { id_ConditionalInterDUMobilityInformation, "id-ConditionalInterDUMobilityInformation" }, + { id_ConditionalIntraDUMobilityInformation, "id-ConditionalIntraDUMobilityInformation" }, + { id_targetCellsToCancel, "id-targetCellsToCancel" }, + { id_requestedTargetCellGlobalID, "id-requestedTargetCellGlobalID" }, + { id_ManagementBasedMDTPLMNList, "id-ManagementBasedMDTPLMNList" }, + { id_TraceCollectionEntityIPAddress, "id-TraceCollectionEntityIPAddress" }, + { id_PrivacyIndicator, "id-PrivacyIndicator" }, + { id_TraceCollectionEntityURI, "id-TraceCollectionEntityURI" }, + { id_mdtConfiguration, "id-mdtConfiguration" }, + { id_ServingNID, "id-ServingNID" }, + { id_NPNBroadcastInformation, "id-NPNBroadcastInformation" }, + { id_NPNSupportInfo, "id-NPNSupportInfo" }, + { id_NID, "id-NID" }, + { id_AvailableSNPN_ID_List, "id-AvailableSNPN-ID-List" }, + { id_SIB10_message, "id-SIB10-message" }, + { id_Unknown_388, "id-Unknown-388" }, + { id_DLCarrierList, "id-DLCarrierList" }, + { id_ExtendedTAISliceSupportList, "id-ExtendedTAISliceSupportList" }, { 0, NULL } }; @@ -1710,7 +2830,7 @@ static value_string_ext f1ap_ProtocolIE_ID_vals_ext = VALUE_STRING_EXT_INIT(f1ap static int dissect_f1ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 55 "./asn1/f1ap/f1ap.cnf" +#line 57 "./asn1/f1ap/f1ap.cnf" f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 65535U, &f1ap_data->protocol_ie_id, FALSE); @@ -1718,7 +2838,7 @@ dissect_f1ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ -#line 59 "./asn1/f1ap/f1ap.cnf" +#line 61 "./asn1/f1ap/f1ap.cnf" if (tree) { proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(f1ap_data->protocol_ie_id, &f1ap_ProtocolIE_ID_vals_ext, "unknown (%d)")); @@ -1836,7 +2956,7 @@ dissect_f1ap_ProtocolExtensionContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ static int dissect_f1ap_T_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 100 "./asn1/f1ap/f1ap.cnf" +#line 102 "./asn1/f1ap/f1ap.cnf" f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); if (f1ap_data->obj_id) { offset = call_per_oid_callback(f1ap_data->obj_id, tvb, actx->pinfo, tree, offset, actx, hf_index); @@ -1883,28 +3003,15 @@ dissect_f1ap_PrivateIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * static int -dissect_f1ap_T_additionalSIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 686 "./asn1/f1ap/f1ap.cnf" +dissect_f1ap_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1196 "./asn1/f1ap/f1ap.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + 3, 3, FALSE, ¶m_tvb); if (param_tvb) { - f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sIBmessage); - switch (f1ap_data->sib_type) { - case 6: - dissect_nr_rrc_SIB6_PDU(param_tvb, actx->pinfo, subtree, NULL); - break; - case 7: - dissect_nr_rrc_SIB7_PDU(param_tvb, actx->pinfo, subtree, NULL); - break; - case 8: - dissect_nr_rrc_SIB8_PDU(param_tvb, actx->pinfo, subtree, NULL); - break; - default: - break; - } + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_PLMN_Identity); + dissect_e212_mcc_mnc(param_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE); } @@ -1913,97 +3020,97 @@ dissect_f1ap_T_additionalSIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const per_sequence_t AdditionalSIBMessageList_Item_sequence[] = { - { &hf_f1ap_additionalSIB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_T_additionalSIB }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_AdditionalSIBMessageList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_AdditionalSIBMessageList_Item, AdditionalSIBMessageList_Item_sequence); +dissect_f1ap_NRCellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 36, 36, FALSE, NULL, 0, NULL, NULL); return offset; } -static const per_sequence_t AdditionalSIBMessageList_sequence_of[1] = { - { &hf_f1ap_AdditionalSIBMessageList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_AdditionalSIBMessageList_Item }, +static const per_sequence_t NRCGI_sequence[] = { + { &hf_f1ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity }, + { &hf_f1ap_nRCellIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCellIdentity }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_AdditionalSIBMessageList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_f1ap_AdditionalSIBMessageList, AdditionalSIBMessageList_sequence_of, - 1, maxnoofAdditionalSIBs, FALSE); +dissect_f1ap_NRCGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_NRCGI, NRCGI_sequence); return offset; } -static const value_string f1ap_PriorityLevel_vals[] = { - { 0, "spare" }, - { 1, "highest" }, - { 14, "lowest" }, - { 15, "no-priority" }, +static const value_string f1ap_SubcarrierSpacing_vals[] = { + { 0, "kHz15" }, + { 1, "kHz30" }, + { 2, "kHz60" }, + { 3, "kHz120" }, + { 4, "kHz240" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, { 0, NULL } }; static int -dissect_f1ap_PriorityLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 15U, NULL, FALSE); +dissect_f1ap_SubcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 8, NULL, TRUE, 0, NULL); return offset; } -static const value_string f1ap_Pre_emptionCapability_vals[] = { - { 0, "shall-not-trigger-pre-emption" }, - { 1, "may-trigger-pre-emption" }, +static const value_string f1ap_DUFTransmissionPeriodicity_vals[] = { + { 0, "ms0p5" }, + { 1, "ms0p625" }, + { 2, "ms1" }, + { 3, "ms1p25" }, + { 4, "ms2" }, + { 5, "ms2p5" }, + { 6, "ms5" }, + { 7, "ms10" }, { 0, NULL } }; static int -dissect_f1ap_Pre_emptionCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_DUFTransmissionPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); + 8, NULL, TRUE, 0, NULL); return offset; } -static const value_string f1ap_Pre_emptionVulnerability_vals[] = { - { 0, "not-pre-emptable" }, - { 1, "pre-emptable" }, +static const value_string f1ap_Permutation_vals[] = { + { 0, "dfu" }, + { 1, "ufd" }, { 0, NULL } }; static int -dissect_f1ap_Pre_emptionVulnerability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_Permutation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); + 2, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t AllocationAndRetentionPriority_sequence[] = { - { &hf_f1ap_priorityLevel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PriorityLevel }, - { &hf_f1ap_pre_emptionCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Pre_emptionCapability }, - { &hf_f1ap_pre_emptionVulnerability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Pre_emptionVulnerability }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_AllocationAndRetentionPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_AllocationAndRetentionPriority, AllocationAndRetentionPriority_sequence); +dissect_f1ap_NoofDownlinkSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 14U, NULL, FALSE); return offset; } @@ -2011,405 +3118,428 @@ dissect_f1ap_AllocationAndRetentionPriority(tvbuff_t *tvb _U_, int offset _U_, a static int -dissect_f1ap_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 853 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - 3, 3, FALSE, ¶m_tvb); - - if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_PLMN_Identity); - dissect_e212_mcc_mnc(param_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE); - } - - +dissect_f1ap_NoofUplinkSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 14U, NULL, FALSE); return offset; } +static const per_sequence_t ExplicitFormat_sequence[] = { + { &hf_f1ap_permutation , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Permutation }, + { &hf_f1ap_noofDownlinkSymbols, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NoofDownlinkSymbols }, + { &hf_f1ap_noofUplinkSymbols, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NoofUplinkSymbols }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_NRCellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 36, 36, FALSE, NULL, 0, NULL, NULL); +dissect_f1ap_ExplicitFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_ExplicitFormat, ExplicitFormat_sequence); return offset; } -static const per_sequence_t NRCGI_sequence[] = { - { &hf_f1ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity }, - { &hf_f1ap_nRCellIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCellIdentity }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_NRCGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_NRCGI, NRCGI_sequence); +dissect_f1ap_DUFSlotformatIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 254U, NULL, FALSE); return offset; } -static const per_sequence_t Associated_SCell_Item_sequence[] = { - { &hf_f1ap_sCell_ID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, +static const per_sequence_t ImplicitFormat_sequence[] = { + { &hf_f1ap_dUFSlotformatIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_DUFSlotformatIndex }, { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_Associated_SCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_ImplicitFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Associated_SCell_Item, Associated_SCell_Item_sequence); + ett_f1ap_ImplicitFormat, ImplicitFormat_sequence); return offset; } -static const per_sequence_t AvailablePLMNList_Item_sequence[] = { - { &hf_f1ap_pLMNIdentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string f1ap_DUF_Slot_Config_Item_vals[] = { + { 0, "explicitFormat" }, + { 1, "implicitFormat" }, + { 2, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t DUF_Slot_Config_Item_choice[] = { + { 0, &hf_f1ap_explicitFormat , ASN1_NO_EXTENSIONS , dissect_f1ap_ExplicitFormat }, + { 1, &hf_f1ap_implicitFormat , ASN1_NO_EXTENSIONS , dissect_f1ap_ImplicitFormat }, + { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } }; static int -dissect_f1ap_AvailablePLMNList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_AvailablePLMNList_Item, AvailablePLMNList_Item_sequence); +dissect_f1ap_DUF_Slot_Config_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_f1ap_DUF_Slot_Config_Item, DUF_Slot_Config_Item_choice, + NULL); return offset; } -static const per_sequence_t AvailablePLMNList_sequence_of[1] = { - { &hf_f1ap_AvailablePLMNList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_AvailablePLMNList_Item }, +static const per_sequence_t DUF_Slot_Config_List_sequence_of[1] = { + { &hf_f1ap_DUF_Slot_Config_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_DUF_Slot_Config_Item }, }; static int -dissect_f1ap_AvailablePLMNList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_DUF_Slot_Config_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_f1ap_AvailablePLMNList, AvailablePLMNList_sequence_of, - 1, maxnoofBPLMNs, FALSE); + ett_f1ap_DUF_Slot_Config_List, DUF_Slot_Config_List_sequence_of, + 1, maxnoofDUFSlots, FALSE); return offset; } +static const value_string f1ap_HSNATransmissionPeriodicity_vals[] = { + { 0, "ms0p5" }, + { 1, "ms0p625" }, + { 2, "ms1" }, + { 3, "ms1p25" }, + { 4, "ms2" }, + { 5, "ms2p5" }, + { 6, "ms5" }, + { 7, "ms10" }, + { 8, "ms20" }, + { 9, "ms40" }, + { 10, "ms80" }, + { 11, "ms160" }, + { 0, NULL } +}; + static int -dissect_f1ap_AveragingWindow(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 4095U, NULL, TRUE); +dissect_f1ap_HSNATransmissionPeriodicity(tvbuff_t *tvb _U_, int offset _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, TRUE, 0, NULL); return offset; } -static const value_string f1ap_AreaScope_vals[] = { - { 0, "true" }, +static const value_string f1ap_HSNADownlink_vals[] = { + { 0, "hard" }, + { 1, "soft" }, + { 2, "notavailable" }, { 0, NULL } }; static int -dissect_f1ap_AreaScope(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_HSNADownlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 0, NULL); + 3, NULL, FALSE, 0, NULL); return offset; } +static const value_string f1ap_HSNAUplink_vals[] = { + { 0, "hard" }, + { 1, "soft" }, + { 2, "notavailable" }, + { 0, NULL } +}; + static int -dissect_f1ap_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index, - 0U, G_GUINT64_CONSTANT(4000000000000), NULL, TRUE); +dissect_f1ap_HSNAUplink(tvbuff_t *tvb _U_, int offset _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 f1ap_BearerTypeChange_vals[] = { - { 0, "true" }, +static const value_string f1ap_HSNAFlexible_vals[] = { + { 0, "hard" }, + { 1, "soft" }, + { 2, "notavailable" }, { 0, NULL } }; static int -dissect_f1ap_BearerTypeChange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_HSNAFlexible(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 0, NULL); + 3, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t ExtendedAvailablePLMN_Item_sequence[] = { - { &hf_f1ap_pLMNIdentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity }, +static const per_sequence_t HSNASlotConfigItem_sequence[] = { + { &hf_f1ap_hSNADownlink , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_HSNADownlink }, + { &hf_f1ap_hSNAUplink , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_HSNAUplink }, + { &hf_f1ap_hSNAFlexible , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_HSNAFlexible }, { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_ExtendedAvailablePLMN_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_HSNASlotConfigItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_ExtendedAvailablePLMN_Item, ExtendedAvailablePLMN_Item_sequence); + ett_f1ap_HSNASlotConfigItem, HSNASlotConfigItem_sequence); return offset; } -static const per_sequence_t ExtendedAvailablePLMN_List_sequence_of[1] = { - { &hf_f1ap_ExtendedAvailablePLMN_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ExtendedAvailablePLMN_Item }, +static const per_sequence_t HSNASlotConfigList_sequence_of[1] = { + { &hf_f1ap_HSNASlotConfigList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_HSNASlotConfigItem }, }; static int -dissect_f1ap_ExtendedAvailablePLMN_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_HSNASlotConfigList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_f1ap_ExtendedAvailablePLMN_List, ExtendedAvailablePLMN_List_sequence_of, - 1, maxnoofExtendedBPLMNs, FALSE); + ett_f1ap_HSNASlotConfigList, HSNASlotConfigList_sequence_of, + 1, maxnoofHSNASlots, FALSE); return offset; } +static const per_sequence_t GNB_DU_Cell_Resource_Configuration_sequence[] = { + { &hf_f1ap_subcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SubcarrierSpacing }, + { &hf_f1ap_dUFTransmissionPeriodicity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_DUFTransmissionPeriodicity }, + { &hf_f1ap_dUF_Slot_Config_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_DUF_Slot_Config_List }, + { &hf_f1ap_hSNATransmissionPeriodicity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_HSNATransmissionPeriodicity }, + { &hf_f1ap_hNSASlotConfigList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_HSNASlotConfigList }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_FiveGS_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 972 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *parameter_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, - 3, 3, FALSE, ¶meter_tvb); - - if (parameter_tvb) { - actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 3, ENC_BIG_ENDIAN); - } - - +dissect_f1ap_GNB_DU_Cell_Resource_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GNB_DU_Cell_Resource_Configuration, GNB_DU_Cell_Resource_Configuration_sequence); return offset; } +static const per_sequence_t IAB_DU_Cell_Resource_Configuration_FDD_Info_sequence[] = { + { &hf_f1ap_gNB_DU_Cell_Resource_Configuration_FDD_UL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_DU_Cell_Resource_Configuration }, + { &hf_f1ap_gNB_DU_Cell_Resource_Configuration_FDD_DL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_DU_Cell_Resource_Configuration }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_RANAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 255U, NULL, FALSE); +dissect_f1ap_IAB_DU_Cell_Resource_Configuration_FDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_IAB_DU_Cell_Resource_Configuration_FDD_Info, IAB_DU_Cell_Resource_Configuration_FDD_Info_sequence); return offset; } -static const per_sequence_t BPLMN_ID_Info_Item_sequence[] = { - { &hf_f1ap_pLMN_Identity_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_AvailablePLMNList }, - { &hf_f1ap_extended_PLMN_Identity_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ExtendedAvailablePLMN_List }, - { &hf_f1ap_fiveGS_TAC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_FiveGS_TAC }, - { &hf_f1ap_nr_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCellIdentity }, - { &hf_f1ap_ranac , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_RANAC }, +static const per_sequence_t IAB_DU_Cell_Resource_Configuration_TDD_Info_sequence[] = { + { &hf_f1ap_gNB_DU_Cell_Resourc_Configuration_TDD, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_DU_Cell_Resource_Configuration }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_BPLMN_ID_Info_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_IAB_DU_Cell_Resource_Configuration_TDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_BPLMN_ID_Info_Item, BPLMN_ID_Info_Item_sequence); + ett_f1ap_IAB_DU_Cell_Resource_Configuration_TDD_Info, IAB_DU_Cell_Resource_Configuration_TDD_Info_sequence); return offset; } -static const per_sequence_t BPLMN_ID_Info_List_sequence_of[1] = { - { &hf_f1ap_BPLMN_ID_Info_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BPLMN_ID_Info_Item }, +static const value_string f1ap_IAB_DU_Cell_Resource_Configuration_Mode_Info_vals[] = { + { 0, "fDD" }, + { 1, "tDD" }, + { 2, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t IAB_DU_Cell_Resource_Configuration_Mode_Info_choice[] = { + { 0, &hf_f1ap_fDD_01 , ASN1_NO_EXTENSIONS , dissect_f1ap_IAB_DU_Cell_Resource_Configuration_FDD_Info }, + { 1, &hf_f1ap_tDD_01 , ASN1_NO_EXTENSIONS , dissect_f1ap_IAB_DU_Cell_Resource_Configuration_TDD_Info }, + { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } }; static int -dissect_f1ap_BPLMN_ID_Info_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_f1ap_BPLMN_ID_Info_List, BPLMN_ID_Info_List_sequence_of, - 1, maxnoofBPLMNsNRminus1, FALSE); +dissect_f1ap_IAB_DU_Cell_Resource_Configuration_Mode_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_IAB_DU_Cell_Resource_Configuration_Mode_Info, IAB_DU_Cell_Resource_Configuration_Mode_Info_choice, + NULL); return offset; } -static const per_sequence_t ServedPLMNs_Item_sequence[] = { - { &hf_f1ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t Activated_Cells_to_be_Updated_List_Item_sequence[] = { + { &hf_f1ap_nRCGI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_iAB_DU_Cell_Resource_Configuration_Mode_Info, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_IAB_DU_Cell_Resource_Configuration_Mode_Info }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_ServedPLMNs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_Activated_Cells_to_be_Updated_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_ServedPLMNs_Item, ServedPLMNs_Item_sequence); + ett_f1ap_Activated_Cells_to_be_Updated_List_Item, Activated_Cells_to_be_Updated_List_Item_sequence); return offset; } -static const per_sequence_t ServedPLMNs_List_sequence_of[1] = { - { &hf_f1ap_ServedPLMNs_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ServedPLMNs_Item }, +static const per_sequence_t Activated_Cells_to_be_Updated_List_sequence_of[1] = { + { &hf_f1ap_Activated_Cells_to_be_Updated_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Activated_Cells_to_be_Updated_List_Item }, }; static int -dissect_f1ap_ServedPLMNs_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_Activated_Cells_to_be_Updated_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_f1ap_ServedPLMNs_List, ServedPLMNs_List_sequence_of, - 1, maxnoofBPLMNs, FALSE); + ett_f1ap_Activated_Cells_to_be_Updated_List, Activated_Cells_to_be_Updated_List_sequence_of, + 1, maxnoofServedCellsIAB, FALSE); return offset; } -static const value_string f1ap_Cancel_all_Warning_Messages_Indicator_vals[] = { - { 0, "true" }, +static const value_string f1ap_AdditionalDuplicationIndication_vals[] = { + { 0, "three" }, + { 1, "four" }, { 0, NULL } }; static int -dissect_f1ap_Cancel_all_Warning_Messages_Indicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_AdditionalDuplicationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 0, NULL); + 2, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t Candidate_SpCell_Item_sequence[] = { - { &hf_f1ap_candidate_SpCell_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_Candidate_SpCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Candidate_SpCell_Item, Candidate_SpCell_Item_sequence); +dissect_f1ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1447 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 1, 160, TRUE, NULL, 0, ¶m_tvb, NULL); + + if (param_tvb) { + proto_tree *subtree; + gint tvb_len; + + tvb_len = tvb_reported_length(param_tvb); + subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_TransportLayerAddress); + if (tvb_len == 4) { + /* IPv4 */ + proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv4, param_tvb, 0, 4, ENC_BIG_ENDIAN); + } else if (tvb_len == 16) { + /* IPv6 */ + proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv6, param_tvb, 0, 16, ENC_NA); + } else if (tvb_len == 20) { + /* IPv4 */ + proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv4, param_tvb, 0, 4, ENC_BIG_ENDIAN); + /* IPv6 */ + proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv6, param_tvb, 4, 16, ENC_NA); + } + } + + return offset; } -static const value_string f1ap_CauseRadioNetwork_vals[] = { - { 0, "unspecified" }, - { 1, "rl-failure-rlc" }, - { 2, "unknown-or-already-allocated-gnb-cu-ue-f1ap-id" }, - { 3, "unknown-or-already-allocated-gnb-du-ue-f1ap-id" }, - { 4, "unknown-or-inconsistent-pair-of-ue-f1ap-id" }, - { 5, "interaction-with-other-procedure" }, - { 6, "not-supported-qci-Value" }, - { 7, "action-desirable-for-radio-reasons" }, - { 8, "no-radio-resources-available" }, - { 9, "procedure-cancelled" }, - { 10, "normal-release" }, - { 11, "cell-not-available" }, - { 12, "rl-failure-others" }, - { 13, "ue-rejection" }, - { 14, "resources-not-available-for-the-slice" }, - { 15, "amf-initiated-abnormal-release" }, - { 16, "release-due-to-pre-emption" }, - { 17, "plmn-not-served-by-the-gNB-CU" }, - { 18, "multiple-drb-id-instances" }, - { 19, "unknown-drb-id" }, - { 0, NULL } -}; - static int -dissect_f1ap_CauseRadioNetwork(tvbuff_t *tvb _U_, int offset _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, TRUE, 9, NULL); +dissect_f1ap_GTP_TEID(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, + 4, 4, FALSE, NULL); return offset; } -static const value_string f1ap_CauseTransport_vals[] = { - { 0, "unspecified" }, - { 1, "transport-resource-unavailable" }, - { 0, NULL } +static const per_sequence_t GTPTunnel_sequence[] = { + { &hf_f1ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress }, + { &hf_f1ap_gTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_GTP_TEID }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; - static int -dissect_f1ap_CauseTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, TRUE, 0, NULL); +dissect_f1ap_GTPTunnel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GTPTunnel, GTPTunnel_sequence); return offset; } -static const value_string f1ap_CauseProtocol_vals[] = { - { 0, "transfer-syntax-error" }, - { 1, "abstract-syntax-error-reject" }, - { 2, "abstract-syntax-error-ignore-and-notify" }, - { 3, "message-not-compatible-with-receiver-state" }, - { 4, "semantic-error" }, - { 5, "abstract-syntax-error-falsely-constructed-message" }, - { 6, "unspecified" }, +static const value_string f1ap_UPTransportLayerInformation_vals[] = { + { 0, "gTPTunnel" }, + { 1, "choice-extension" }, { 0, NULL } }; +static const per_choice_t UPTransportLayerInformation_choice[] = { + { 0, &hf_f1ap_gTPTunnel , ASN1_NO_EXTENSIONS , dissect_f1ap_GTPTunnel }, + { 1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } +}; static int -dissect_f1ap_CauseProtocol(tvbuff_t *tvb _U_, int offset _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, TRUE, 0, NULL); +dissect_f1ap_UPTransportLayerInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_UPTransportLayerInformation, UPTransportLayerInformation_choice, + NULL); return offset; } -static const value_string f1ap_CauseMisc_vals[] = { - { 0, "control-processing-overload" }, - { 1, "not-enough-user-plane-processing-resources" }, - { 2, "hardware-failure" }, - { 3, "om-intervention" }, - { 4, "unspecified" }, - { 0, NULL } +static const per_sequence_t AdditionalPDCPDuplicationTNL_Item_sequence[] = { + { &hf_f1ap_additionalPDCPDuplicationUPTNLInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_UPTransportLayerInformation }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; - static int -dissect_f1ap_CauseMisc(tvbuff_t *tvb _U_, int offset _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); +dissect_f1ap_AdditionalPDCPDuplicationTNL_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_AdditionalPDCPDuplicationTNL_Item, AdditionalPDCPDuplicationTNL_Item_sequence); return offset; } -static const value_string f1ap_Cause_vals[] = { - { 0, "radioNetwork" }, - { 1, "transport" }, - { 2, "protocol" }, - { 3, "misc" }, - { 4, "choice-extension" }, - { 0, NULL } -}; - -static const per_choice_t Cause_choice[] = { - { 0, &hf_f1ap_radioNetwork , ASN1_NO_EXTENSIONS , dissect_f1ap_CauseRadioNetwork }, - { 1, &hf_f1ap_transport , ASN1_NO_EXTENSIONS , dissect_f1ap_CauseTransport }, - { 2, &hf_f1ap_protocol , ASN1_NO_EXTENSIONS , dissect_f1ap_CauseProtocol }, - { 3, &hf_f1ap_misc , ASN1_NO_EXTENSIONS , dissect_f1ap_CauseMisc }, - { 4, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, - { 0, NULL, 0, NULL } +static const per_sequence_t AdditionalPDCPDuplicationTNL_List_sequence_of[1] = { + { &hf_f1ap_AdditionalPDCPDuplicationTNL_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_AdditionalPDCPDuplicationTNL_Item }, }; static int -dissect_f1ap_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_f1ap_Cause, Cause_choice, - NULL); +dissect_f1ap_AdditionalPDCPDuplicationTNL_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_f1ap_AdditionalPDCPDuplicationTNL_List, AdditionalPDCPDuplicationTNL_List_sequence_of, + 1, maxnoofAdditionalPDCPDuplicationTNL, FALSE); return offset; } @@ -2417,15 +3547,28 @@ dissect_f1ap_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, prot static int -dissect_f1ap_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 930 "./asn1/f1ap/f1ap.cnf" +dissect_f1ap_T_additionalSIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1029 "./asn1/f1ap/f1ap.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_CellGroupConfig); - dissect_nr_rrc_CellGroupConfig_PDU(param_tvb, actx->pinfo, subtree, NULL); + f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sIBmessage); + switch (f1ap_data->sib_type) { + case 6: + dissect_nr_rrc_SIB6_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 7: + dissect_nr_rrc_SIB7_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 8: + dissect_nr_rrc_SIB8_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + default: + break; + } } @@ -2434,167 +3577,161 @@ dissect_f1ap_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const value_string f1ap_Cell_Direction_vals[] = { - { 0, "dl-only" }, - { 1, "ul-only" }, - { 0, NULL } +static const per_sequence_t AdditionalSIBMessageList_Item_sequence[] = { + { &hf_f1ap_additionalSIB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_T_additionalSIB }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; - static int -dissect_f1ap_Cell_Direction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_f1ap_AdditionalSIBMessageList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_AdditionalSIBMessageList_Item, AdditionalSIBMessageList_Item_sequence); return offset; } -static const per_sequence_t Cells_Failed_to_be_Activated_List_Item_sequence[] = { - { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Cause }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const per_sequence_t AdditionalSIBMessageList_sequence_of[1] = { + { &hf_f1ap_AdditionalSIBMessageList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_AdditionalSIBMessageList_Item }, }; static int -dissect_f1ap_Cells_Failed_to_be_Activated_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Cells_Failed_to_be_Activated_List_Item, Cells_Failed_to_be_Activated_List_Item_sequence); +dissect_f1ap_AdditionalSIBMessageList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_AdditionalSIBMessageList, AdditionalSIBMessageList_sequence_of, + 1, maxnoofAdditionalSIBs, FALSE); return offset; } -static const value_string f1ap_Service_State_vals[] = { - { 0, "in-service" }, - { 1, "out-of-service" }, - { 0, NULL } -}; - static int -dissect_f1ap_Service_State(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, TRUE, 0, NULL); +dissect_f1ap_AdditionalRRMPriorityIndex(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 f1ap_T_switchingOffOngoing_vals[] = { - { 0, "true" }, - { 0, NULL } +static const per_sequence_t AggressorCellList_Item_sequence[] = { + { &hf_f1ap_aggressorCell_ID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; - static int -dissect_f1ap_T_switchingOffOngoing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 0, NULL); +dissect_f1ap_AggressorCellList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_AggressorCellList_Item, AggressorCellList_Item_sequence); return offset; } -static const per_sequence_t Service_Status_sequence[] = { - { &hf_f1ap_service_state , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Service_State }, - { &hf_f1ap_switchingOffOngoing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_T_switchingOffOngoing }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const per_sequence_t AggressorCellList_sequence_of[1] = { + { &hf_f1ap_AggressorCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_AggressorCellList_Item }, }; static int -dissect_f1ap_Service_Status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Service_Status, Service_Status_sequence); +dissect_f1ap_AggressorCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_AggressorCellList, AggressorCellList_sequence_of, + 1, maxCellingNBDU, FALSE); return offset; } -static const per_sequence_t Cells_Status_Item_sequence[] = { - { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_service_status , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Service_Status }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_Cells_Status_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Cells_Status_Item, Cells_Status_Item_sequence); +dissect_f1ap_GNBSetID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 22, 22, FALSE, NULL, 0, NULL, NULL); return offset; } -static const per_sequence_t Cells_To_Be_Broadcast_Item_sequence[] = { - { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t AggressorgNBSetID_sequence[] = { + { &hf_f1ap_aggressorgNBSetID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_GNBSetID }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_Cells_To_Be_Broadcast_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_AggressorgNBSetID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Cells_To_Be_Broadcast_Item, Cells_To_Be_Broadcast_Item_sequence); + ett_f1ap_AggressorgNBSetID, AggressorgNBSetID_sequence); return offset; } -static const per_sequence_t Cells_Broadcast_Completed_Item_sequence[] = { - { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string f1ap_PriorityLevel_vals[] = { + { 0, "spare" }, + { 1, "highest" }, + { 14, "lowest" }, + { 15, "no-priority" }, + { 0, NULL } }; + static int -dissect_f1ap_Cells_Broadcast_Completed_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Cells_Broadcast_Completed_Item, Cells_Broadcast_Completed_Item_sequence); +dissect_f1ap_PriorityLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 15U, NULL, FALSE); return offset; } -static const per_sequence_t Broadcast_To_Be_Cancelled_Item_sequence[] = { - { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; +static const value_string f1ap_Pre_emptionCapability_vals[] = { + { 0, "shall-not-trigger-pre-emption" }, + { 1, "may-trigger-pre-emption" }, + { 0, NULL } +}; + static int -dissect_f1ap_Broadcast_To_Be_Cancelled_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Broadcast_To_Be_Cancelled_Item, Broadcast_To_Be_Cancelled_Item_sequence); +dissect_f1ap_Pre_emptionCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 f1ap_Pre_emptionVulnerability_vals[] = { + { 0, "not-pre-emptable" }, + { 1, "pre-emptable" }, + { 0, NULL } +}; + static int -dissect_f1ap_NumberOfBroadcasts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 65535U, NULL, FALSE); +dissect_f1ap_Pre_emptionVulnerability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 Cells_Broadcast_Cancelled_Item_sequence[] = { - { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_numberOfBroadcasts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NumberOfBroadcasts }, +static const per_sequence_t AllocationAndRetentionPriority_sequence[] = { + { &hf_f1ap_priorityLevel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PriorityLevel }, + { &hf_f1ap_pre_emptionCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Pre_emptionCapability }, + { &hf_f1ap_pre_emptionVulnerability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Pre_emptionVulnerability }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_Cells_Broadcast_Cancelled_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_AllocationAndRetentionPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Cells_Broadcast_Cancelled_Item, Cells_Broadcast_Cancelled_Item_sequence); + ett_f1ap_AllocationAndRetentionPriority, AllocationAndRetentionPriority_sequence); return offset; } @@ -2602,155 +3739,142 @@ dissect_f1ap_Cells_Broadcast_Cancelled_Item(tvbuff_t *tvb _U_, int offset _U_, a static int -dissect_f1ap_NRPCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_QoSParaSetIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 1007U, NULL, FALSE); + 1U, 8U, NULL, TRUE); return offset; } -static const per_sequence_t Cells_to_be_Activated_List_Item_sequence[] = { - { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_nRPCI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_NRPCI }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_Cells_to_be_Activated_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Cells_to_be_Activated_List_Item, Cells_to_be_Activated_List_Item_sequence); +dissect_f1ap_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index, + 0U, G_GUINT64_CONSTANT(4000000000000), NULL, TRUE); return offset; } -static const per_sequence_t Cells_to_be_Deactivated_List_Item_sequence[] = { - { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_Cells_to_be_Deactivated_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Cells_to_be_Deactivated_List_Item, Cells_to_be_Deactivated_List_Item_sequence); +dissect_f1ap_PacketDelayBudget(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 1023U, NULL, TRUE); return offset; } -static const value_string f1ap_CellBarred_vals[] = { - { 0, "barred" }, - { 1, "not-barred" }, - { 0, NULL } -}; - static int -dissect_f1ap_CellBarred(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, TRUE, 0, NULL); +dissect_f1ap_PER_Scalar(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 9U, NULL, TRUE); return offset; } -static const per_sequence_t Cells_to_be_Barred_Item_sequence[] = { - { &hf_f1ap_nRCGI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_cellBarred , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CellBarred }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_Cells_to_be_Barred_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Cells_to_be_Barred_Item, Cells_to_be_Barred_Item_sequence); +dissect_f1ap_PER_Exponent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 9U, NULL, TRUE); return offset; } -static const value_string f1ap_CellSize_vals[] = { - { 0, "verysmall" }, - { 1, "small" }, - { 2, "medium" }, - { 3, "large" }, - { 0, NULL } +static const per_sequence_t PacketErrorRate_sequence[] = { + { &hf_f1ap_pER_Scalar , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PER_Scalar }, + { &hf_f1ap_pER_Exponent , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PER_Exponent }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; - static int -dissect_f1ap_CellSize(tvbuff_t *tvb _U_, int offset _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); +dissect_f1ap_PacketErrorRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_PacketErrorRate, PacketErrorRate_sequence); return offset; } -static const per_sequence_t CellType_sequence[] = { - { &hf_f1ap_cellSize , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_CellSize }, +static const per_sequence_t AlternativeQoSParaSetItem_sequence[] = { + { &hf_f1ap_alternativeQoSParaSetIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSParaSetIndex }, + { &hf_f1ap_guaranteedFlowBitRateDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_BitRate }, + { &hf_f1ap_guaranteedFlowBitRateUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_BitRate }, + { &hf_f1ap_packetDelayBudget, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_PacketDelayBudget }, + { &hf_f1ap_packetErrorRate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_PacketErrorRate }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_CellType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_AlternativeQoSParaSetItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_CellType, CellType_sequence); + ett_f1ap_AlternativeQoSParaSetItem, AlternativeQoSParaSetItem_sequence); return offset; } -static const value_string f1ap_CellULConfigured_vals[] = { - { 0, "none" }, - { 1, "ul" }, - { 2, "sul" }, - { 3, "ul-and-sul" }, - { 0, NULL } +static const per_sequence_t AlternativeQoSParaSetList_sequence_of[1] = { + { &hf_f1ap_AlternativeQoSParaSetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_AlternativeQoSParaSetItem }, }; - static int -dissect_f1ap_CellULConfigured(tvbuff_t *tvb _U_, int offset _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); +dissect_f1ap_AlternativeQoSParaSetList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_AlternativeQoSParaSetList, AlternativeQoSParaSetList_sequence_of, + 1, maxnoofQoSParaSets, FALSE); return offset; } +static const per_sequence_t Associated_SCell_Item_sequence[] = { + { &hf_f1ap_sCell_ID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_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); +dissect_f1ap_Associated_SCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Associated_SCell_Item, Associated_SCell_Item_sequence); return offset; } -static const value_string f1ap_CNUEPagingIdentity_vals[] = { - { 0, "fiveG-S-TMSI" }, - { 1, "choice-extension" }, - { 0, NULL } +static const per_sequence_t AvailablePLMNList_Item_sequence[] = { + { &hf_f1ap_pLMNIdentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; -static const per_choice_t CNUEPagingIdentity_choice[] = { - { 0, &hf_f1ap_fiveG_S_TMSI , ASN1_NO_EXTENSIONS , dissect_f1ap_BIT_STRING_SIZE_48 }, - { 1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, - { 0, NULL, 0, NULL } +static int +dissect_f1ap_AvailablePLMNList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_AvailablePLMNList_Item, AvailablePLMNList_Item_sequence); + + return offset; +} + + +static const per_sequence_t AvailablePLMNList_sequence_of[1] = { + { &hf_f1ap_AvailablePLMNList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_AvailablePLMNList_Item }, }; static int -dissect_f1ap_CNUEPagingIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_f1ap_CNUEPagingIdentity, CNUEPagingIdentity_choice, - NULL); +dissect_f1ap_AvailablePLMNList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_AvailablePLMNList, AvailablePLMNList_sequence_of, + 1, maxnoofBPLMNs, FALSE); return offset; } @@ -2758,72 +3882,53 @@ dissect_f1ap_CNUEPagingIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a static int -dissect_f1ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1089 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; +dissect_f1ap_NID(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, 160, TRUE, NULL, 0, ¶m_tvb, NULL); + 44, 44, FALSE, NULL, 0, NULL, NULL); - if (param_tvb) { - proto_tree *subtree; - gint tvb_len; + return offset; +} - tvb_len = tvb_reported_length(param_tvb); - subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_TransportLayerAddress); - if (tvb_len == 4) { - /* IPv4 */ - proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv4, param_tvb, 0, 4, ENC_BIG_ENDIAN); - } else if (tvb_len == 16) { - /* IPv6 */ - proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv6, param_tvb, 0, 16, ENC_NA); - } else if (tvb_len == 20) { - /* IPv4 */ - proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv4, param_tvb, 0, 4, ENC_BIG_ENDIAN); - /* IPv6 */ - proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv6, param_tvb, 4, 16, ENC_NA); - } - } +static const per_sequence_t BroadcastNIDList_sequence_of[1] = { + { &hf_f1ap_BroadcastNIDList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NID }, +}; +static int +dissect_f1ap_BroadcastNIDList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_BroadcastNIDList, BroadcastNIDList_sequence_of, + 1, maxnoofNIDsupported, FALSE); return offset; } -static const per_sequence_t Endpoint_IP_address_and_port_sequence[] = { - { &hf_f1ap_endpointIPAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t AvailableSNPN_ID_List_Item_sequence[] = { + { &hf_f1ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity }, + { &hf_f1ap_availableNIDList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_BroadcastNIDList }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_Endpoint_IP_address_and_port(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_AvailableSNPN_ID_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Endpoint_IP_address_and_port, Endpoint_IP_address_and_port_sequence); + ett_f1ap_AvailableSNPN_ID_List_Item, AvailableSNPN_ID_List_Item_sequence); return offset; } -static const value_string f1ap_CP_TransportLayerAddress_vals[] = { - { 0, "endpoint-IP-address" }, - { 1, "endpoint-IP-address-and-port" }, - { 2, "choice-extension" }, - { 0, NULL } -}; - -static const per_choice_t CP_TransportLayerAddress_choice[] = { - { 0, &hf_f1ap_endpoint_IP_address, ASN1_NO_EXTENSIONS , dissect_f1ap_TransportLayerAddress }, - { 1, &hf_f1ap_endpoint_IP_address_and_port, ASN1_NO_EXTENSIONS , dissect_f1ap_Endpoint_IP_address_and_port }, - { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, - { 0, NULL, 0, NULL } +static const per_sequence_t AvailableSNPN_ID_List_sequence_of[1] = { + { &hf_f1ap_AvailableSNPN_ID_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_AvailableSNPN_ID_List_Item }, }; static int -dissect_f1ap_CP_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_f1ap_CP_TransportLayerAddress, CP_TransportLayerAddress_choice, - NULL); +dissect_f1ap_AvailableSNPN_ID_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_f1ap_AvailableSNPN_ID_List, AvailableSNPN_ID_List_sequence_of, + 1, maxnoofNIDsupported, FALSE); return offset; } @@ -2831,75 +3936,59 @@ dissect_f1ap_CP_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ct static int -dissect_f1ap_TransactionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_AveragingWindow(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 255U, NULL, TRUE); + 0U, 4095U, NULL, TRUE); return offset; } -static const value_string f1ap_TypeOfError_vals[] = { - { 0, "not-understood" }, - { 1, "missing" }, +static const value_string f1ap_AreaScope_vals[] = { + { 0, "true" }, { 0, NULL } }; static int -dissect_f1ap_TypeOfError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_AreaScope(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, TRUE, 0, NULL); + 1, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t CriticalityDiagnostics_IE_Item_sequence[] = { - { &hf_f1ap_iECriticality , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Criticality }, - { &hf_f1ap_iE_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_ID }, - { &hf_f1ap_typeOfError , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_TypeOfError }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_CriticalityDiagnostics_IE_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_CriticalityDiagnostics_IE_Item, CriticalityDiagnostics_IE_Item_sequence); +dissect_f1ap_BAPAddress(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 CriticalityDiagnostics_IE_List_sequence_of[1] = { - { &hf_f1ap_CriticalityDiagnostics_IE_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CriticalityDiagnostics_IE_Item }, +static const value_string f1ap_BAPCtrlPDUChannel_vals[] = { + { 0, "true" }, + { 0, NULL } }; + static int -dissect_f1ap_CriticalityDiagnostics_IE_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_f1ap_CriticalityDiagnostics_IE_List, CriticalityDiagnostics_IE_List_sequence_of, - 1, maxnoofErrors, FALSE); +dissect_f1ap_BAPCtrlPDUChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t CriticalityDiagnostics_sequence[] = { - { &hf_f1ap_procedureCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProcedureCode }, - { &hf_f1ap_triggeringMessage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_TriggeringMessage }, - { &hf_f1ap_procedureCriticality, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_Criticality }, - { &hf_f1ap_transactionID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_TransactionID }, - { &hf_f1ap_iEsCriticalityDiagnostics, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_CriticalityDiagnostics_IE_List }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_CriticalityDiagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_CriticalityDiagnostics, CriticalityDiagnostics_sequence); +dissect_f1ap_MappingInformationIndex(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, + 26, 26, FALSE, NULL, 0, NULL, NULL); return offset; } @@ -2907,292 +3996,346 @@ dissect_f1ap_CriticalityDiagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ static int -dissect_f1ap_C_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_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, TRUE); +dissect_f1ap_BHRLCChannelID(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 per_sequence_t BAPlayerBHRLCchannelMappingInfo_Item_sequence[] = { + { &hf_f1ap_mappingInformationIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_MappingInformationIndex }, + { &hf_f1ap_priorHopBAPAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_BAPAddress }, + { &hf_f1ap_ingressbHRLCChannelID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_BHRLCChannelID }, + { &hf_f1ap_nextHopBAPAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_BAPAddress }, + { &hf_f1ap_egressbHRLCChannelID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_BHRLCChannelID }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_CG_ConfigInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 898 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); - - if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_CG_ConfigInfo); - dissect_nr_rrc_CG_ConfigInfo_PDU(param_tvb, actx->pinfo, subtree, NULL); - } - - +dissect_f1ap_BAPlayerBHRLCchannelMappingInfo_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_BAPlayerBHRLCchannelMappingInfo_Item, BAPlayerBHRLCchannelMappingInfo_Item_sequence); return offset; } +static const per_sequence_t BAPlayerBHRLCchannelMappingInfoList_sequence_of[1] = { + { &hf_f1ap_BAPlayerBHRLCchannelMappingInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BAPlayerBHRLCchannelMappingInfo_Item }, +}; static int -dissect_f1ap_UE_CapabilityRAT_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 906 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); +dissect_f1ap_BAPlayerBHRLCchannelMappingInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_BAPlayerBHRLCchannelMappingInfoList, BAPlayerBHRLCchannelMappingInfoList_sequence_of, + 1, maxnoofMappingEntries, FALSE); - if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UE_CapabilityRAT_ContainerList); - dissect_nr_rrc_UE_CapabilityRAT_ContainerList_PDU(param_tvb, actx->pinfo, subtree, NULL); - } + return offset; +} +static const per_sequence_t MappingInformationtoRemove_sequence_of[1] = { + { &hf_f1ap_MappingInformationtoRemove_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_MappingInformationIndex }, +}; + +static int +dissect_f1ap_MappingInformationtoRemove(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_MappingInformationtoRemove, MappingInformationtoRemove_sequence_of, + 1, maxnoofMappingEntries, FALSE); return offset; } +static const per_sequence_t BAPlayerBHRLCchannelMappingInfo_sequence[] = { + { &hf_f1ap_bAPlayerBHRLCchannelMappingInfoToAdd, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_BAPlayerBHRLCchannelMappingInfoList }, + { &hf_f1ap_bAPlayerBHRLCchannelMappingInfoToRemove, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_MappingInformationtoRemove }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 914 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); +dissect_f1ap_BAPlayerBHRLCchannelMappingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_BAPlayerBHRLCchannelMappingInfo, BAPlayerBHRLCchannelMappingInfo_sequence); - if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MeasConfig); - dissect_nr_rrc_MeasConfig_PDU(param_tvb, actx->pinfo, subtree, NULL); - } + return offset; +} +static int +dissect_f1ap_BAPPathID(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 CUtoDURRCInformation_sequence[] = { - { &hf_f1ap_cG_ConfigInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_CG_ConfigInfo }, - { &hf_f1ap_uE_CapabilityRAT_ContainerList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_UE_CapabilityRAT_ContainerList }, - { &hf_f1ap_measConfig , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_MeasConfig }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t BAPRoutingID_sequence[] = { + { &hf_f1ap_bAPAddress , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BAPAddress }, + { &hf_f1ap_bAPPathID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BAPPathID }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_CUtoDURRCInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_BAPRoutingID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_CUtoDURRCInformation, CUtoDURRCInformation_sequence); + ett_f1ap_BAPRoutingID, BAPRoutingID_sequence); return offset; } -static const value_string f1ap_DCBasedDuplicationConfigured_vals[] = { +static const value_string f1ap_BearerTypeChange_vals[] = { { 0, "true" }, - { 1, "false" }, { 0, NULL } }; static int -dissect_f1ap_DCBasedDuplicationConfigured(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_BearerTypeChange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 1, NULL); + 1, NULL, TRUE, 0, NULL); return offset; } +static const value_string f1ap_CauseRadioNetwork_vals[] = { + { 0, "unspecified" }, + { 1, "rl-failure-rlc" }, + { 2, "unknown-or-already-allocated-gnb-cu-ue-f1ap-id" }, + { 3, "unknown-or-already-allocated-gnb-du-ue-f1ap-id" }, + { 4, "unknown-or-inconsistent-pair-of-ue-f1ap-id" }, + { 5, "interaction-with-other-procedure" }, + { 6, "not-supported-qci-Value" }, + { 7, "action-desirable-for-radio-reasons" }, + { 8, "no-radio-resources-available" }, + { 9, "procedure-cancelled" }, + { 10, "normal-release" }, + { 11, "cell-not-available" }, + { 12, "rl-failure-others" }, + { 13, "ue-rejection" }, + { 14, "resources-not-available-for-the-slice" }, + { 15, "amf-initiated-abnormal-release" }, + { 16, "release-due-to-pre-emption" }, + { 17, "plmn-not-served-by-the-gNB-CU" }, + { 18, "multiple-drb-id-instances" }, + { 19, "unknown-drb-id" }, + { 20, "multiple-bh-rlc-ch-id-instances" }, + { 21, "unknown-bh-rlc-ch-id" }, + { 22, "cho-cpc-resources-tobechanged" }, + { 23, "nPN-not-supported" }, + { 24, "nPN-access-denied" }, + { 0, NULL } +}; + static int -dissect_f1ap_GNB_CU_UE_F1AP_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, 4294967295U, NULL, FALSE); +dissect_f1ap_CauseRadioNetwork(tvbuff_t *tvb _U_, int offset _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, TRUE, 14, NULL); return offset; } -static const per_sequence_t Dedicated_SIDelivery_NeededUE_Item_sequence[] = { - { &hf_f1ap_gNB_CU_UE_F1AP_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_CU_UE_F1AP_ID }, - { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string f1ap_CauseTransport_vals[] = { + { 0, "unspecified" }, + { 1, "transport-resource-unavailable" }, + { 2, "unknown-TNL-address-for-IAB" }, + { 3, "unknown-UP-TNL-information-for-IAB" }, + { 0, NULL } }; + static int -dissect_f1ap_Dedicated_SIDelivery_NeededUE_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Dedicated_SIDelivery_NeededUE_Item, Dedicated_SIDelivery_NeededUE_Item_sequence); +dissect_f1ap_CauseTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 2, NULL); return offset; } +static const value_string f1ap_CauseProtocol_vals[] = { + { 0, "transfer-syntax-error" }, + { 1, "abstract-syntax-error-reject" }, + { 2, "abstract-syntax-error-ignore-and-notify" }, + { 3, "message-not-compatible-with-receiver-state" }, + { 4, "semantic-error" }, + { 5, "abstract-syntax-error-falsely-constructed-message" }, + { 6, "unspecified" }, + { 0, NULL } +}; + static int -dissect_f1ap_GTP_TEID(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, - 4, 4, FALSE, NULL); +dissect_f1ap_CauseProtocol(tvbuff_t *tvb _U_, int offset _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, TRUE, 0, NULL); return offset; } -static const per_sequence_t GTPTunnel_sequence[] = { - { &hf_f1ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress }, - { &hf_f1ap_gTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_GTP_TEID }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string f1ap_CauseMisc_vals[] = { + { 0, "control-processing-overload" }, + { 1, "not-enough-user-plane-processing-resources" }, + { 2, "hardware-failure" }, + { 3, "om-intervention" }, + { 4, "unspecified" }, + { 0, NULL } }; + static int -dissect_f1ap_GTPTunnel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GTPTunnel, GTPTunnel_sequence); +dissect_f1ap_CauseMisc(tvbuff_t *tvb _U_, int offset _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 value_string f1ap_UPTransportLayerInformation_vals[] = { - { 0, "gTPTunnel" }, - { 1, "choice-extension" }, +static const value_string f1ap_Cause_vals[] = { + { 0, "radioNetwork" }, + { 1, "transport" }, + { 2, "protocol" }, + { 3, "misc" }, + { 4, "choice-extension" }, { 0, NULL } }; -static const per_choice_t UPTransportLayerInformation_choice[] = { - { 0, &hf_f1ap_gTPTunnel , ASN1_NO_EXTENSIONS , dissect_f1ap_GTPTunnel }, - { 1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_choice_t Cause_choice[] = { + { 0, &hf_f1ap_radioNetwork , ASN1_NO_EXTENSIONS , dissect_f1ap_CauseRadioNetwork }, + { 1, &hf_f1ap_transport , ASN1_NO_EXTENSIONS , dissect_f1ap_CauseTransport }, + { 2, &hf_f1ap_protocol , ASN1_NO_EXTENSIONS , dissect_f1ap_CauseProtocol }, + { 3, &hf_f1ap_misc , ASN1_NO_EXTENSIONS , dissect_f1ap_CauseMisc }, + { 4, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, { 0, NULL, 0, NULL } }; static int -dissect_f1ap_UPTransportLayerInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_f1ap_UPTransportLayerInformation, UPTransportLayerInformation_choice, + ett_f1ap_Cause, Cause_choice, NULL); return offset; } -static const per_sequence_t DLUPTNLInformation_ToBeSetup_Item_sequence[] = { - { &hf_f1ap_dLUPTNLInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_UPTransportLayerInformation }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t BHChannels_FailedToBeModified_Item_sequence[] = { + { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID }, + { &hf_f1ap_cause , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_Cause }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_DLUPTNLInformation_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_BHChannels_FailedToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DLUPTNLInformation_ToBeSetup_Item, DLUPTNLInformation_ToBeSetup_Item_sequence); + ett_f1ap_BHChannels_FailedToBeModified_Item, BHChannels_FailedToBeModified_Item_sequence); return offset; } -static const per_sequence_t DLUPTNLInformation_ToBeSetup_List_sequence_of[1] = { - { &hf_f1ap_DLUPTNLInformation_ToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_DLUPTNLInformation_ToBeSetup_Item }, +static const per_sequence_t BHChannels_FailedToBeSetup_Item_sequence[] = { + { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID }, + { &hf_f1ap_cause , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_Cause }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_DLUPTNLInformation_ToBeSetup_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_f1ap_DLUPTNLInformation_ToBeSetup_List, DLUPTNLInformation_ToBeSetup_List_sequence_of, - 1, maxnoofDLUPTNLInformation, FALSE); - - return offset; -} - - - -static int -dissect_f1ap_DRBID(tvbuff_t *tvb _U_, int offset _U_, 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, TRUE); +dissect_f1ap_BHChannels_FailedToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_BHChannels_FailedToBeSetup_Item, BHChannels_FailedToBeSetup_Item_sequence); return offset; } -static const value_string f1ap_DRB_Activity_vals[] = { - { 0, "active" }, - { 1, "not-active" }, - { 0, NULL } +static const per_sequence_t BHChannels_FailedToBeSetupMod_Item_sequence[] = { + { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID }, + { &hf_f1ap_cause , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_Cause }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; - static int -dissect_f1ap_DRB_Activity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_f1ap_BHChannels_FailedToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_BHChannels_FailedToBeSetupMod_Item, BHChannels_FailedToBeSetupMod_Item_sequence); return offset; } -static const per_sequence_t DRB_Activity_Item_sequence[] = { - { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, - { &hf_f1ap_dRB_Activity , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_DRB_Activity }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t BHChannels_Modified_Item_sequence[] = { + { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_DRB_Activity_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_BHChannels_Modified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DRB_Activity_Item, DRB_Activity_Item_sequence); + ett_f1ap_BHChannels_Modified_Item, BHChannels_Modified_Item_sequence); return offset; } -static const per_sequence_t DRBs_FailedToBeModified_Item_sequence[] = { - { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, - { &hf_f1ap_cause , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_Cause }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t BHChannels_Required_ToBeReleased_Item_sequence[] = { + { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_DRBs_FailedToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_BHChannels_Required_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DRBs_FailedToBeModified_Item, DRBs_FailedToBeModified_Item_sequence); + ett_f1ap_BHChannels_Required_ToBeReleased_Item, BHChannels_Required_ToBeReleased_Item_sequence); return offset; } -static const per_sequence_t DRBs_FailedToBeSetup_Item_sequence[] = { - { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, - { &hf_f1ap_cause , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_Cause }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t BHChannels_Setup_Item_sequence[] = { + { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_DRBs_FailedToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_BHChannels_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DRBs_FailedToBeSetup_Item, DRBs_FailedToBeSetup_Item_sequence); + ett_f1ap_BHChannels_Setup_Item, BHChannels_Setup_Item_sequence); return offset; } -static const per_sequence_t DRBs_FailedToBeSetupMod_Item_sequence[] = { - { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, - { &hf_f1ap_cause , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_Cause }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t BHChannels_SetupMod_Item_sequence[] = { + { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_DRBs_FailedToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_BHChannels_SetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DRBs_FailedToBeSetupMod_Item, DRBs_FailedToBeSetupMod_Item_sequence); + ett_f1ap_BHChannels_SetupMod_Item, BHChannels_SetupMod_Item_sequence); return offset; } @@ -3246,63 +4389,17 @@ dissect_f1ap_NonDynamic5QIDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } +static const value_string f1ap_T_delayCritical_vals[] = { + { 0, "delay-critical" }, + { 1, "non-delay-critical" }, + { 0, NULL } +}; + static int -dissect_f1ap_PacketDelayBudget(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 1023U, NULL, TRUE); - - return offset; -} - - - -static int -dissect_f1ap_PER_Scalar(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 9U, NULL, TRUE); - - return offset; -} - - - -static int -dissect_f1ap_PER_Exponent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 9U, NULL, TRUE); - - return offset; -} - - -static const per_sequence_t PacketErrorRate_sequence[] = { - { &hf_f1ap_pER_Scalar , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PER_Scalar }, - { &hf_f1ap_pER_Exponent , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PER_Exponent }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_f1ap_PacketErrorRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_PacketErrorRate, PacketErrorRate_sequence); - - return offset; -} - - -static const value_string f1ap_T_delayCritical_vals[] = { - { 0, "delay-critical" }, - { 1, "non-delay-critical" }, - { 0, NULL } -}; - - -static int -dissect_f1ap_T_delayCritical(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_f1ap_T_delayCritical(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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; } @@ -3435,109 +4532,136 @@ dissect_f1ap_QoSFlowLevelQoSParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_c static int -dissect_f1ap_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); +dissect_f1ap_QCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 255U, NULL, FALSE); return offset; } +static const per_sequence_t GBR_QosInformation_sequence[] = { + { &hf_f1ap_e_RAB_MaximumBitrateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate }, + { &hf_f1ap_e_RAB_MaximumBitrateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate }, + { &hf_f1ap_e_RAB_GuaranteedBitrateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate }, + { &hf_f1ap_e_RAB_GuaranteedBitrateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_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); +dissect_f1ap_GBR_QosInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GBR_QosInformation, GBR_QosInformation_sequence); return offset; } -static const per_sequence_t SNSSAI_sequence[] = { - { &hf_f1ap_sST , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_OCTET_STRING_SIZE_1 }, - { &hf_f1ap_sD , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_OCTET_STRING_SIZE_3 }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t EUTRANQoS_sequence[] = { + { &hf_f1ap_qCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_QCI }, + { &hf_f1ap_allocationAndRetentionPriority, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_AllocationAndRetentionPriority }, + { &hf_f1ap_gbrQosInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_GBR_QosInformation }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_SNSSAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_EUTRANQoS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SNSSAI, SNSSAI_sequence); + ett_f1ap_EUTRANQoS, EUTRANQoS_sequence); return offset; } -static const value_string f1ap_NotificationControl_vals[] = { - { 0, "active" }, - { 1, "not-active" }, - { 0, NULL } -}; - static int -dissect_f1ap_NotificationControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, TRUE, 0, NULL); +dissect_f1ap_CPTrafficType(tvbuff_t *tvb _U_, int offset _U_, 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, TRUE); return offset; } +static const value_string f1ap_BHQoSInformation_vals[] = { + { 0, "bHRLCCHQoS" }, + { 1, "eUTRANBHRLCCHQoS" }, + { 2, "cPTrafficType" }, + { 3, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t BHQoSInformation_choice[] = { + { 0, &hf_f1ap_bHRLCCHQoS , ASN1_NO_EXTENSIONS , dissect_f1ap_QoSFlowLevelQoSParameters }, + { 1, &hf_f1ap_eUTRANBHRLCCHQoS, ASN1_NO_EXTENSIONS , dissect_f1ap_EUTRANQoS }, + { 2, &hf_f1ap_cPTrafficType , ASN1_NO_EXTENSIONS , dissect_f1ap_CPTrafficType }, + { 3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } +}; static int -dissect_f1ap_QoSFlowIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 63U, NULL, FALSE); +dissect_f1ap_BHQoSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_BHQoSInformation, BHQoSInformation_choice, + NULL); return offset; } -static const per_sequence_t Flows_Mapped_To_DRB_Item_sequence[] = { - { &hf_f1ap_qoSFlowIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSFlowIdentifier }, - { &hf_f1ap_qoSFlowLevelQoSParameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSFlowLevelQoSParameters }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string f1ap_RLCMode_vals[] = { + { 0, "rlc-am" }, + { 1, "rlc-um-bidirectional" }, + { 2, "rlc-um-unidirectional-ul" }, + { 3, "rlc-um-unidirectional-dl" }, + { 0, NULL } }; + static int -dissect_f1ap_Flows_Mapped_To_DRB_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Flows_Mapped_To_DRB_Item, Flows_Mapped_To_DRB_Item_sequence); +dissect_f1ap_RLCMode(tvbuff_t *tvb _U_, int offset _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 Flows_Mapped_To_DRB_List_sequence_of[1] = { - { &hf_f1ap_Flows_Mapped_To_DRB_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Flows_Mapped_To_DRB_Item }, -}; static int -dissect_f1ap_Flows_Mapped_To_DRB_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_f1ap_Flows_Mapped_To_DRB_List, Flows_Mapped_To_DRB_List_sequence_of, - 1, maxnoofQoSFlows, FALSE); +dissect_f1ap_T_iPv4Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1592 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 32, 32, FALSE, NULL, 0, ¶m_tvb, NULL); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_IABTNLAddressIPv4Address); + proto_tree_add_item(subtree, hf_f1ap_IABTNLAddressIPv4, param_tvb, 0, 4, ENC_BIG_ENDIAN); + } + + return offset; } -static const per_sequence_t DRB_Information_sequence[] = { - { &hf_f1ap_dRB_QoS , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSFlowLevelQoSParameters }, - { &hf_f1ap_sNSSAI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAI }, - { &hf_f1ap_notificationControl, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_NotificationControl }, - { &hf_f1ap_flows_Mapped_To_DRB_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Flows_Mapped_To_DRB_List }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_DRB_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DRB_Information, DRB_Information_sequence); +dissect_f1ap_T_iPv6Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1600 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 128, 128, FALSE, NULL, 0, ¶m_tvb, NULL); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_IABTNLAddressIPv6Address); + proto_tree_add_item(subtree, hf_f1ap_IABTNLAddressIPv6, param_tvb, 0, 16, ENC_NA); + } + + return offset; } @@ -3545,492 +4669,534 @@ dissect_f1ap_DRB_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int -dissect_f1ap_LCID(tvbuff_t *tvb _U_, int offset _U_, 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, TRUE); +dissect_f1ap_T_iPv6Prefix(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1608 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 64, 64, FALSE, NULL, 0, ¶m_tvb, NULL); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_IABTNLAddressIPv6Prefix); + proto_tree_add_item(subtree, hf_f1ap_IABTNLAddressIPv6Prefix, param_tvb, 0, 8, ENC_NA); + } + + return offset; } -static const per_sequence_t DRBs_Modified_Item_sequence[] = { - { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, - { &hf_f1ap_lCID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_LCID }, - { &hf_f1ap_dLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DLUPTNLInformation_ToBeSetup_List }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string f1ap_IABTNLAddress_vals[] = { + { 0, "iPv4Address" }, + { 1, "iPv6Address" }, + { 2, "iPv6Prefix" }, + { 3, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t IABTNLAddress_choice[] = { + { 0, &hf_f1ap_iPv4Address , ASN1_NO_EXTENSIONS , dissect_f1ap_T_iPv4Address }, + { 1, &hf_f1ap_iPv6Address_01 , ASN1_NO_EXTENSIONS , dissect_f1ap_T_iPv6Address }, + { 2, &hf_f1ap_iPv6Prefix_01 , ASN1_NO_EXTENSIONS , dissect_f1ap_T_iPv6Prefix }, + { 3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } }; static int -dissect_f1ap_DRBs_Modified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DRBs_Modified_Item, DRBs_Modified_Item_sequence); +dissect_f1ap_IABTNLAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_IABTNLAddress, IABTNLAddress_choice, + NULL); return offset; } -static const per_sequence_t ULUPTNLInformation_ToBeSetup_Item_sequence[] = { - { &hf_f1ap_uLUPTNLInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_UPTransportLayerInformation }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_ULUPTNLInformation_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_ULUPTNLInformation_ToBeSetup_Item, ULUPTNLInformation_ToBeSetup_Item_sequence); +dissect_f1ap_DSCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 6, 6, FALSE, NULL, 0, NULL, NULL); return offset; } -static const per_sequence_t ULUPTNLInformation_ToBeSetup_List_sequence_of[1] = { - { &hf_f1ap_ULUPTNLInformation_ToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ULUPTNLInformation_ToBeSetup_Item }, +static const per_sequence_t DSInformationList_sequence_of[1] = { + { &hf_f1ap_DSInformationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_DSCP }, }; static int -dissect_f1ap_ULUPTNLInformation_ToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_DSInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_f1ap_ULUPTNLInformation_ToBeSetup_List, ULUPTNLInformation_ToBeSetup_List_sequence_of, - 1, maxnoofULUPTNLInformation, FALSE); + ett_f1ap_DSInformationList, DSInformationList_sequence_of, + 0, maxnoofDSInfo, FALSE); return offset; } -static const per_sequence_t DRBs_ModifiedConf_Item_sequence[] = { - { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, - { &hf_f1ap_uLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ULUPTNLInformation_ToBeSetup_List }, + +static int +dissect_f1ap_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); + + return offset; +} + + +static const per_sequence_t IPHeaderInformation_sequence[] = { + { &hf_f1ap_destinationIABTNLAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_IABTNLAddress }, + { &hf_f1ap_dsInformationList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DSInformationList }, + { &hf_f1ap_iPv6FlowLabel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_BIT_STRING_SIZE_20 }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_DRBs_ModifiedConf_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_IPHeaderInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DRBs_ModifiedConf_Item, DRBs_ModifiedConf_Item_sequence); + ett_f1ap_IPHeaderInformation, IPHeaderInformation_sequence); return offset; } -static const value_string f1ap_Notification_Cause_vals[] = { - { 0, "fulfilled" }, - { 1, "not-fulfilled" }, - { 0, NULL } +static const per_sequence_t EgressBHRLCCHItem_sequence[] = { + { &hf_f1ap_nextHopBAPAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BAPAddress }, + { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; - static int -dissect_f1ap_Notification_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, TRUE, 0, NULL); +dissect_f1ap_EgressBHRLCCHItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_EgressBHRLCCHItem, EgressBHRLCCHItem_sequence); return offset; } -static const per_sequence_t DRB_Notify_Item_sequence[] = { - { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, - { &hf_f1ap_notification_Cause, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Notification_Cause }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const per_sequence_t EgressBHRLCCHList_sequence_of[1] = { + { &hf_f1ap_EgressBHRLCCHList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_EgressBHRLCCHItem }, }; static int -dissect_f1ap_DRB_Notify_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DRB_Notify_Item, DRB_Notify_Item_sequence); +dissect_f1ap_EgressBHRLCCHList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_EgressBHRLCCHList, EgressBHRLCCHList_sequence_of, + 1, maxnoofEgressLinks, FALSE); return offset; } -static const per_sequence_t DRBs_Required_ToBeModified_Item_sequence[] = { - { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, - { &hf_f1ap_dLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DLUPTNLInformation_ToBeSetup_List }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t BHInfo_sequence[] = { + { &hf_f1ap_bAProutingID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_BAPRoutingID }, + { &hf_f1ap_egressBHRLCCHList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_EgressBHRLCCHList }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_DRBs_Required_ToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_BHInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DRBs_Required_ToBeModified_Item, DRBs_Required_ToBeModified_Item_sequence); + ett_f1ap_BHInfo, BHInfo_sequence); return offset; } -static const per_sequence_t DRBs_Required_ToBeReleased_Item_sequence[] = { - { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, +static const per_sequence_t IPtolayer2TrafficMappingInfo_Item_sequence[] = { + { &hf_f1ap_mappingInformationIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_MappingInformationIndex }, + { &hf_f1ap_iPHeaderInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_IPHeaderInformation }, + { &hf_f1ap_bHInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_BHInfo }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_DRBs_Required_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_IPtolayer2TrafficMappingInfo_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DRBs_Required_ToBeReleased_Item, DRBs_Required_ToBeReleased_Item_sequence); + ett_f1ap_IPtolayer2TrafficMappingInfo_Item, IPtolayer2TrafficMappingInfo_Item_sequence); return offset; } -static const per_sequence_t DRBs_Setup_Item_sequence[] = { - { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, - { &hf_f1ap_lCID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_LCID }, - { &hf_f1ap_dLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DLUPTNLInformation_ToBeSetup_List }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const per_sequence_t IPtolayer2TrafficMappingInfoList_sequence_of[1] = { + { &hf_f1ap_IPtolayer2TrafficMappingInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_IPtolayer2TrafficMappingInfo_Item }, }; static int -dissect_f1ap_DRBs_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DRBs_Setup_Item, DRBs_Setup_Item_sequence); +dissect_f1ap_IPtolayer2TrafficMappingInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_IPtolayer2TrafficMappingInfoList, IPtolayer2TrafficMappingInfoList_sequence_of, + 1, maxnoofMappingEntries, FALSE); return offset; } -static const per_sequence_t DRBs_SetupMod_Item_sequence[] = { - { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, - { &hf_f1ap_lCID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_LCID }, - { &hf_f1ap_dLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DLUPTNLInformation_ToBeSetup_List }, +static const per_sequence_t IPtolayer2TrafficMappingInfo_sequence[] = { + { &hf_f1ap_iPtolayer2TrafficMappingInfoToAdd, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_IPtolayer2TrafficMappingInfoList }, + { &hf_f1ap_iPtolayer2TrafficMappingInfoToRemove, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_MappingInformationtoRemove }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_DRBs_SetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_IPtolayer2TrafficMappingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DRBs_SetupMod_Item, DRBs_SetupMod_Item_sequence); + ett_f1ap_IPtolayer2TrafficMappingInfo, IPtolayer2TrafficMappingInfo_sequence); return offset; } +static const value_string f1ap_TrafficMappingInfo_vals[] = { + { 0, "iPtolayer2TrafficMappingInfo" }, + { 1, "bAPlayerBHRLCchannelMappingInfo" }, + { 2, "choice-extension" }, + { 0, NULL } +}; -static int -dissect_f1ap_QCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 255U, NULL, FALSE); +static const per_choice_t TrafficMappingInfo_choice[] = { + { 0, &hf_f1ap_iPtolayer2TrafficMappingInfo, ASN1_NO_EXTENSIONS , dissect_f1ap_IPtolayer2TrafficMappingInfo }, + { 1, &hf_f1ap_bAPlayerBHRLCchannelMappingInfo, ASN1_NO_EXTENSIONS , dissect_f1ap_BAPlayerBHRLCchannelMappingInfo }, + { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_f1ap_TrafficMappingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_TrafficMappingInfo, TrafficMappingInfo_choice, + NULL); return offset; } -static const per_sequence_t GBR_QosInformation_sequence[] = { - { &hf_f1ap_e_RAB_MaximumBitrateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate }, - { &hf_f1ap_e_RAB_MaximumBitrateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate }, - { &hf_f1ap_e_RAB_GuaranteedBitrateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate }, - { &hf_f1ap_e_RAB_GuaranteedBitrateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t BHChannels_ToBeModified_Item_sequence[] = { + { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID }, + { &hf_f1ap_bHQoSInformation, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BHQoSInformation }, + { &hf_f1ap_rLCmode , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_RLCMode }, + { &hf_f1ap_bAPCtrlPDUChannel, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_BAPCtrlPDUChannel }, + { &hf_f1ap_trafficMappingInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_TrafficMappingInfo }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_GBR_QosInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_BHChannels_ToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GBR_QosInformation, GBR_QosInformation_sequence); + ett_f1ap_BHChannels_ToBeModified_Item, BHChannels_ToBeModified_Item_sequence); return offset; } -static const per_sequence_t EUTRANQoS_sequence[] = { - { &hf_f1ap_qCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_QCI }, - { &hf_f1ap_allocationAndRetentionPriority, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_AllocationAndRetentionPriority }, - { &hf_f1ap_gbrQosInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_GBR_QosInformation }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t BHChannels_ToBeReleased_Item_sequence[] = { + { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_EUTRANQoS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_BHChannels_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_EUTRANQoS, EUTRANQoS_sequence); + ett_f1ap_BHChannels_ToBeReleased_Item, BHChannels_ToBeReleased_Item_sequence); return offset; } -static const value_string f1ap_QoSInformation_vals[] = { - { 0, "eUTRANQoS" }, - { 1, "choice-extension" }, - { 0, NULL } -}; - -static const per_choice_t QoSInformation_choice[] = { - { 0, &hf_f1ap_eUTRANQoS , ASN1_NO_EXTENSIONS , dissect_f1ap_EUTRANQoS }, - { 1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, - { 0, NULL, 0, NULL } +static const per_sequence_t BHChannels_ToBeSetup_Item_sequence[] = { + { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID }, + { &hf_f1ap_bHQoSInformation, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BHQoSInformation }, + { &hf_f1ap_rLCmode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_RLCMode }, + { &hf_f1ap_bAPCtrlPDUChannel, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_BAPCtrlPDUChannel }, + { &hf_f1ap_trafficMappingInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_TrafficMappingInfo }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_QoSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_f1ap_QoSInformation, QoSInformation_choice, - NULL); +dissect_f1ap_BHChannels_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_BHChannels_ToBeSetup_Item, BHChannels_ToBeSetup_Item_sequence); return offset; } -static const value_string f1ap_ULUEConfiguration_vals[] = { - { 0, "no-data" }, - { 1, "shared" }, - { 2, "only" }, - { 0, NULL } +static const per_sequence_t BHChannels_ToBeSetupMod_Item_sequence[] = { + { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID }, + { &hf_f1ap_bHQoSInformation, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BHQoSInformation }, + { &hf_f1ap_rLCmode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_RLCMode }, + { &hf_f1ap_bAPCtrlPDUChannel, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_BAPCtrlPDUChannel }, + { &hf_f1ap_trafficMappingInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_TrafficMappingInfo }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; - static int -dissect_f1ap_ULUEConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 3, NULL, TRUE, 0, NULL); +dissect_f1ap_BHChannels_ToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_BHChannels_ToBeSetupMod_Item, BHChannels_ToBeSetupMod_Item_sequence); return offset; } -static const per_sequence_t ULConfiguration_sequence[] = { - { &hf_f1ap_uLUEConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ULUEConfiguration }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t BH_Routing_Information_Added_List_Item_sequence[] = { + { &hf_f1ap_bAPRoutingID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BAPRoutingID }, + { &hf_f1ap_nextHopBAPAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BAPAddress }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_ULConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_BH_Routing_Information_Added_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_ULConfiguration, ULConfiguration_sequence); + ett_f1ap_BH_Routing_Information_Added_List_Item, BH_Routing_Information_Added_List_Item_sequence); return offset; } -static const per_sequence_t DRBs_ToBeModified_Item_sequence[] = { - { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, - { &hf_f1ap_qoSInformation , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_QoSInformation }, - { &hf_f1ap_uLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ULUPTNLInformation_ToBeSetup_List }, - { &hf_f1ap_uLConfiguration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ULConfiguration }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t BH_Routing_Information_Removed_List_Item_sequence[] = { + { &hf_f1ap_bAPRoutingID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BAPRoutingID }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_DRBs_ToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_BH_Routing_Information_Removed_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DRBs_ToBeModified_Item, DRBs_ToBeModified_Item_sequence); + ett_f1ap_BH_Routing_Information_Removed_List_Item, BH_Routing_Information_Removed_List_Item_sequence); return offset; } -static const per_sequence_t DRBs_ToBeReleased_Item_sequence[] = { - { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t ExtendedAvailablePLMN_Item_sequence[] = { + { &hf_f1ap_pLMNIdentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_DRBs_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_ExtendedAvailablePLMN_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DRBs_ToBeReleased_Item, DRBs_ToBeReleased_Item_sequence); + ett_f1ap_ExtendedAvailablePLMN_Item, ExtendedAvailablePLMN_Item_sequence); return offset; } -static const value_string f1ap_RLCMode_vals[] = { - { 0, "rlc-am" }, - { 1, "rlc-um-bidirectional" }, - { 2, "rlc-um-unidirectional-ul" }, - { 3, "rlc-um-unidirectional-dl" }, - { 0, NULL } +static const per_sequence_t ExtendedAvailablePLMN_List_sequence_of[1] = { + { &hf_f1ap_ExtendedAvailablePLMN_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ExtendedAvailablePLMN_Item }, }; - static int -dissect_f1ap_RLCMode(tvbuff_t *tvb _U_, int offset _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); +dissect_f1ap_ExtendedAvailablePLMN_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_f1ap_ExtendedAvailablePLMN_List, ExtendedAvailablePLMN_List_sequence_of, + 1, maxnoofExtendedBPLMNs, FALSE); return offset; } -static const value_string f1ap_DuplicationActivation_vals[] = { - { 0, "active" }, - { 1, "inactive" }, - { 0, NULL } -}; + +static int +dissect_f1ap_FiveGS_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1315 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *parameter_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, + 3, 3, FALSE, ¶meter_tvb); + + if (parameter_tvb) { + actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 3, ENC_BIG_ENDIAN); + } + + + + return offset; +} + static int -dissect_f1ap_DuplicationActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, TRUE, 0, NULL); +dissect_f1ap_RANAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 255U, NULL, FALSE); return offset; } -static const per_sequence_t DRBs_ToBeSetup_Item_sequence[] = { - { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, - { &hf_f1ap_qoSInformation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSInformation }, - { &hf_f1ap_uLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ULUPTNLInformation_ToBeSetup_List }, - { &hf_f1ap_rLCMode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_RLCMode }, - { &hf_f1ap_uLConfiguration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ULConfiguration }, - { &hf_f1ap_duplicationActivation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_DuplicationActivation }, +static const per_sequence_t BPLMN_ID_Info_Item_sequence[] = { + { &hf_f1ap_pLMN_Identity_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_AvailablePLMNList }, + { &hf_f1ap_extended_PLMN_Identity_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ExtendedAvailablePLMN_List }, + { &hf_f1ap_fiveGS_TAC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_FiveGS_TAC }, + { &hf_f1ap_nr_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCellIdentity }, + { &hf_f1ap_ranac , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_RANAC }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_DRBs_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_BPLMN_ID_Info_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DRBs_ToBeSetup_Item, DRBs_ToBeSetup_Item_sequence); + ett_f1ap_BPLMN_ID_Info_Item, BPLMN_ID_Info_Item_sequence); return offset; } -static const per_sequence_t DRBs_ToBeSetupMod_Item_sequence[] = { - { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, - { &hf_f1ap_qoSInformation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSInformation }, - { &hf_f1ap_uLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ULUPTNLInformation_ToBeSetup_List }, - { &hf_f1ap_rLCMode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_RLCMode }, - { &hf_f1ap_uLConfiguration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ULConfiguration }, - { &hf_f1ap_duplicationActivation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_DuplicationActivation }, +static const per_sequence_t BPLMN_ID_Info_List_sequence_of[1] = { + { &hf_f1ap_BPLMN_ID_Info_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BPLMN_ID_Info_Item }, +}; + +static int +dissect_f1ap_BPLMN_ID_Info_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_f1ap_BPLMN_ID_Info_List, BPLMN_ID_Info_List_sequence_of, + 1, maxnoofBPLMNsNR, FALSE); + + return offset; +} + + +static const per_sequence_t ServedPLMNs_Item_sequence[] = { + { &hf_f1ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_DRBs_ToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_ServedPLMNs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DRBs_ToBeSetupMod_Item, DRBs_ToBeSetupMod_Item_sequence); + ett_f1ap_ServedPLMNs_Item, ServedPLMNs_Item_sequence); return offset; } -static const value_string f1ap_LongDRXCycleLength_vals[] = { - { 0, "ms10" }, - { 1, "ms20" }, - { 2, "ms32" }, - { 3, "ms40" }, - { 4, "ms60" }, - { 5, "ms64" }, - { 6, "ms70" }, - { 7, "ms80" }, - { 8, "ms128" }, - { 9, "ms160" }, - { 10, "ms256" }, - { 11, "ms320" }, - { 12, "ms512" }, - { 13, "ms640" }, - { 14, "ms1024" }, - { 15, "ms1280" }, - { 16, "ms2048" }, - { 17, "ms2560" }, - { 18, "ms5120" }, - { 19, "ms10240" }, - { 0, NULL } +static const per_sequence_t ServedPLMNs_List_sequence_of[1] = { + { &hf_f1ap_ServedPLMNs_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ServedPLMNs_Item }, }; -static value_string_ext f1ap_LongDRXCycleLength_vals_ext = VALUE_STRING_EXT_INIT(f1ap_LongDRXCycleLength_vals); +static int +dissect_f1ap_ServedPLMNs_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_f1ap_ServedPLMNs_List, ServedPLMNs_List_sequence_of, + 1, maxnoofBPLMNs, FALSE); + + return offset; +} + static int -dissect_f1ap_LongDRXCycleLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 20, NULL, TRUE, 0, NULL); +dissect_f1ap_CAGID(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 f1ap_ShortDRXCycleLength_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" }, - { 0, NULL } +static const per_sequence_t BroadcastCAGList_sequence_of[1] = { + { &hf_f1ap_BroadcastCAGList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CAGID }, }; -static value_string_ext f1ap_ShortDRXCycleLength_vals_ext = VALUE_STRING_EXT_INIT(f1ap_ShortDRXCycleLength_vals); +static int +dissect_f1ap_BroadcastCAGList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_BroadcastCAGList, BroadcastCAGList_sequence_of, + 1, maxnoofCAGsupported, FALSE); + return offset; +} + + +static const per_sequence_t BroadcastSNPN_ID_List_Item_sequence[] = { + { &hf_f1ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity }, + { &hf_f1ap_broadcastNIDList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_BroadcastNIDList }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_ShortDRXCycleLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 23, NULL, TRUE, 0, NULL); +dissect_f1ap_BroadcastSNPN_ID_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_BroadcastSNPN_ID_List_Item, BroadcastSNPN_ID_List_Item_sequence); return offset; } +static const per_sequence_t BroadcastSNPN_ID_List_sequence_of[1] = { + { &hf_f1ap_BroadcastSNPN_ID_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BroadcastSNPN_ID_List_Item }, +}; static int -dissect_f1ap_ShortDRXCycleTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 16U, NULL, FALSE); +dissect_f1ap_BroadcastSNPN_ID_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_f1ap_BroadcastSNPN_ID_List, BroadcastSNPN_ID_List_sequence_of, + 1, maxnoofNIDsupported, FALSE); return offset; } -static const per_sequence_t DRXCycle_sequence[] = { - { &hf_f1ap_longDRXCycleLength, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_LongDRXCycleLength }, - { &hf_f1ap_shortDRXCycleLength, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ShortDRXCycleLength }, - { &hf_f1ap_shortDRXCycleTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ShortDRXCycleTimer }, +static const per_sequence_t BroadcastPNI_NPN_ID_List_Item_sequence[] = { + { &hf_f1ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity }, + { &hf_f1ap_broadcastCAGList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_BroadcastCAGList }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_DRXCycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_BroadcastPNI_NPN_ID_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DRXCycle, DRXCycle_sequence); + ett_f1ap_BroadcastPNI_NPN_ID_List_Item, BroadcastPNI_NPN_ID_List_Item_sequence); return offset; } +static const per_sequence_t BroadcastPNI_NPN_ID_List_sequence_of[1] = { + { &hf_f1ap_BroadcastPNI_NPN_ID_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BroadcastPNI_NPN_ID_List_Item }, +}; static int -dissect_f1ap_DRX_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1115 "./asn1/f1ap/f1ap.cnf" +dissect_f1ap_BroadcastPNI_NPN_ID_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_f1ap_BroadcastPNI_NPN_ID_List, BroadcastPNI_NPN_ID_List_sequence_of, + 1, maxnoofCAGsupported, FALSE); + + return offset; +} + + + +static int +dissect_f1ap_BurstArrivalTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1549 "./asn1/f1ap/f1ap.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_DRX_Config); - dissect_nr_rrc_DRX_Config_PDU(param_tvb, actx->pinfo, subtree, NULL); + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_BurstArrivalTime); + dissect_nr_rrc_ReferenceTime_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); } @@ -4039,14 +5205,14 @@ dissect_f1ap_DRX_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } -static const value_string f1ap_DRXConfigurationIndicator_vals[] = { - { 0, "release" }, +static const value_string f1ap_Cancel_all_Warning_Messages_Indicator_vals[] = { + { 0, "true" }, { 0, NULL } }; static int -dissect_f1ap_DRXConfigurationIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_Cancel_all_Warning_Messages_Indicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, TRUE, 0, NULL); @@ -4054,11 +5220,26 @@ dissect_f1ap_DRXConfigurationIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_c } +static const per_sequence_t Candidate_SpCell_Item_sequence[] = { + { &hf_f1ap_candidate_SpCell_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_DRX_LongCycleStartOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_Candidate_SpCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Candidate_SpCell_Item, Candidate_SpCell_Item_sequence); + + return offset; +} + + + +static int +dissect_f1ap_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, 10239U, NULL, FALSE); + 0U, 100U, NULL, FALSE); return offset; } @@ -4066,37 +5247,55 @@ dissect_f1ap_DRX_LongCycleStartOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ct static int -dissect_f1ap_DUtoCURRCContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 837 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); +dissect_f1ap_INTEGER_0_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 63U, NULL, FALSE); + + return offset; +} - if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_DUtoCURRCContainer); - dissect_nr_rrc_CellGroupConfig_PDU(param_tvb, actx->pinfo, subtree, NULL); - } +static const per_sequence_t SSBAreaCapacityValueItem_sequence[] = { + { &hf_f1ap_sSBIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_63 }, + { &hf_f1ap_sSBAreaCapacityValue, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; +static int +dissect_f1ap_SSBAreaCapacityValueItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SSBAreaCapacityValueItem, SSBAreaCapacityValueItem_sequence); return offset; } +static const per_sequence_t SSBAreaCapacityValueList_sequence_of[1] = { + { &hf_f1ap_SSBAreaCapacityValueList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SSBAreaCapacityValueItem }, +}; static int -dissect_f1ap_MeasGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 946 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); +dissect_f1ap_SSBAreaCapacityValueList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_SSBAreaCapacityValueList, SSBAreaCapacityValueList_sequence_of, + 1, maxnoofSSBAreas, FALSE); + + return offset; +} - if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MeasGapConfig); - dissect_nr_rrc_MeasGapConfig_PDU(param_tvb, actx->pinfo, subtree, NULL); - } +static const per_sequence_t CapacityValue_sequence[] = { + { &hf_f1ap_capacityValue , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 }, + { &hf_f1ap_sSBAreaCapacityValueList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_SSBAreaCapacityValueList }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; +static int +dissect_f1ap_CapacityValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_CapacityValue, CapacityValue_sequence); return offset; } @@ -4104,15 +5303,15 @@ dissect_f1ap_MeasGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ static int -dissect_f1ap_T_requestedP_MaxFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 962 "./asn1/f1ap/f1ap.cnf" +dissect_f1ap_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1273 "./asn1/f1ap/f1ap.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_requestedP_MaxFR1); - dissect_nr_rrc_P_Max_PDU(param_tvb, actx->pinfo, subtree, NULL); + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_CellGroupConfig); + dissect_nr_rrc_CellGroupConfig_PDU(param_tvb, actx->pinfo, subtree, NULL); } @@ -4121,103 +5320,111 @@ dissect_f1ap_T_requestedP_MaxFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } -static const per_sequence_t DUtoCURRCInformation_sequence[] = { - { &hf_f1ap_cellGroupConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_CellGroupConfig }, - { &hf_f1ap_measGapConfig , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_MeasGapConfig }, - { &hf_f1ap_requestedP_MaxFR1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_T_requestedP_MaxFR1 }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_DUtoCURRCInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DUtoCURRCInformation, DUtoCURRCInformation_sequence); +dissect_f1ap_CellCapacityClassValue(tvbuff_t *tvb _U_, int offset _U_, 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, 100U, NULL, TRUE); return offset; } -static const value_string f1ap_DuplicationIndication_vals[] = { - { 0, "true" }, - { 1, "false" }, +static const value_string f1ap_Cell_Direction_vals[] = { + { 0, "dl-only" }, + { 1, "ul-only" }, { 0, NULL } }; static int -dissect_f1ap_DuplicationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_Cell_Direction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 1, NULL); + 2, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t SliceSupportItem_sequence[] = { - { &hf_f1ap_sNSSAI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAI }, +static const per_sequence_t SSBAreaRadioResourceStatusItem_sequence[] = { + { &hf_f1ap_sSBIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_63 }, + { &hf_f1ap_sSBAreaDLGBRPRBusage, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 }, + { &hf_f1ap_sSBAreaULGBRPRBusage, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 }, + { &hf_f1ap_sSBAreaDLnon_GBRPRBusage, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 }, + { &hf_f1ap_sSBAreaULnon_GBRPRBusage, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 }, + { &hf_f1ap_sSBAreaDLTotalPRBusage, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 }, + { &hf_f1ap_sSBAreaULTotalPRBusage, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 }, + { &hf_f1ap_dLschedulingPDCCHCCEusage, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_INTEGER_0_100 }, + { &hf_f1ap_uLschedulingPDCCHCCEusage, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_INTEGER_0_100 }, { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_SliceSupportItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_SSBAreaRadioResourceStatusItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SliceSupportItem, SliceSupportItem_sequence); + ett_f1ap_SSBAreaRadioResourceStatusItem, SSBAreaRadioResourceStatusItem_sequence); return offset; } -static const per_sequence_t SliceSupportList_sequence_of[1] = { - { &hf_f1ap_SliceSupportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SliceSupportItem }, +static const per_sequence_t SSBAreaRadioResourceStatusList_sequence_of[1] = { + { &hf_f1ap_SSBAreaRadioResourceStatusList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SSBAreaRadioResourceStatusItem }, }; static int -dissect_f1ap_SliceSupportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_SSBAreaRadioResourceStatusList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_f1ap_SliceSupportList, SliceSupportList_sequence_of, - 1, maxnoofSliceItems, FALSE); + ett_f1ap_SSBAreaRadioResourceStatusList, SSBAreaRadioResourceStatusList_sequence_of, + 1, maxnoofSSBAreas, FALSE); return offset; } -static const per_sequence_t ExtendedServedPLMNs_Item_sequence[] = { - { &hf_f1ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity }, - { &hf_f1ap_tAISliceSupportList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_SliceSupportList }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t RadioResourceStatus_sequence[] = { + { &hf_f1ap_sSBAreaRadioResourceStatusList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SSBAreaRadioResourceStatusList }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_ExtendedServedPLMNs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_RadioResourceStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_ExtendedServedPLMNs_Item, ExtendedServedPLMNs_Item_sequence); + ett_f1ap_RadioResourceStatus, RadioResourceStatus_sequence); return offset; } -static const per_sequence_t ExtendedServedPLMNs_List_sequence_of[1] = { - { &hf_f1ap_ExtendedServedPLMNs_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ExtendedServedPLMNs_Item }, +static const per_sequence_t CompositeAvailableCapacity_sequence[] = { + { &hf_f1ap_cellCapacityClassValue, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_CellCapacityClassValue }, + { &hf_f1ap_capacityValue_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CapacityValue }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_ExtendedServedPLMNs_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_f1ap_ExtendedServedPLMNs_List, ExtendedServedPLMNs_List_sequence_of, - 1, maxnoofExtendedBPLMNs, FALSE); +dissect_f1ap_CompositeAvailableCapacity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_CompositeAvailableCapacity, CompositeAvailableCapacity_sequence); return offset; } +static const per_sequence_t CompositeAvailableCapacityGroup_sequence[] = { + { &hf_f1ap_compositeAvailableCapacityDownlink, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CompositeAvailableCapacity }, + { &hf_f1ap_compositeAvailableCapacityUplink, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CompositeAvailableCapacity }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_EUTRA_Cell_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 28, 28, FALSE, NULL, 0, NULL, NULL); +dissect_f1ap_CompositeAvailableCapacityGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_CompositeAvailableCapacityGroup, CompositeAvailableCapacityGroup_sequence); return offset; } @@ -4225,129 +5432,111 @@ dissect_f1ap_EUTRA_Cell_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ static int -dissect_f1ap_OffsetToPointA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 2199U, NULL, TRUE); +dissect_f1ap_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 const per_sequence_t EUTRA_FDD_Info_sequence[] = { - { &hf_f1ap_uL_offsetToPointA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_OffsetToPointA }, - { &hf_f1ap_dL_offsetToPointA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_OffsetToPointA }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_EUTRA_FDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_EUTRA_FDD_Info, EUTRA_FDD_Info_sequence); +dissect_f1ap_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 EUTRA_TDD_Info_sequence[] = { - { &hf_f1ap_offsetToPointA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_OffsetToPointA }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t SNSSAI_sequence[] = { + { &hf_f1ap_sST , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_OCTET_STRING_SIZE_1 }, + { &hf_f1ap_sD , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_OCTET_STRING_SIZE_3 }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_EUTRA_TDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_SNSSAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_EUTRA_TDD_Info, EUTRA_TDD_Info_sequence); + ett_f1ap_SNSSAI, SNSSAI_sequence); return offset; } -static const value_string f1ap_EUTRA_Mode_Info_vals[] = { - { 0, "eUTRAFDD" }, - { 1, "eUTRATDD" }, - { 2, "choice-extension" }, - { 0, NULL } -}; - -static const per_choice_t EUTRA_Mode_Info_choice[] = { - { 0, &hf_f1ap_eUTRAFDD , ASN1_NO_EXTENSIONS , dissect_f1ap_EUTRA_FDD_Info }, - { 1, &hf_f1ap_eUTRATDD , ASN1_NO_EXTENSIONS , dissect_f1ap_EUTRA_TDD_Info }, - { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, - { 0, NULL, 0, NULL } +static const per_sequence_t SNSSAIAvailableCapacity_Item_sequence[] = { + { &hf_f1ap_sNSSAI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAI }, + { &hf_f1ap_sliceAvailableCapacityValueDownlink, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_INTEGER_0_100 }, + { &hf_f1ap_sliceAvailableCapacityValueUplink, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_INTEGER_0_100 }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_EUTRA_Mode_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_f1ap_EUTRA_Mode_Info, EUTRA_Mode_Info_choice, - NULL); +dissect_f1ap_SNSSAIAvailableCapacity_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SNSSAIAvailableCapacity_Item, SNSSAIAvailableCapacity_Item_sequence); return offset; } +static const per_sequence_t SNSSAIAvailableCapacity_List_sequence_of[1] = { + { &hf_f1ap_SNSSAIAvailableCapacity_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAIAvailableCapacity_Item }, +}; static int -dissect_f1ap_ProtectedEUTRAResourceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1065 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); - - if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ProtectedEUTRAResourceIndication); - dissect_x2ap_ProtectedEUTRAResourceIndication_PDU(param_tvb, actx->pinfo, subtree, NULL); - } - - +dissect_f1ap_SNSSAIAvailableCapacity_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_f1ap_SNSSAIAvailableCapacity_List, SNSSAIAvailableCapacity_List_sequence_of, + 1, maxnoofSliceItems, FALSE); return offset; } -static const per_sequence_t Served_EUTRA_Cells_Information_sequence[] = { - { &hf_f1ap_eUTRA_Mode_Info_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_Mode_Info }, - { &hf_f1ap_protectedEUTRAResourceIndication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtectedEUTRAResourceIndication }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t SliceAvailableCapacityItem_sequence[] = { + { &hf_f1ap_pLMNIdentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity }, + { &hf_f1ap_sNSSAIAvailableCapacity_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAIAvailableCapacity_List }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_Served_EUTRA_Cells_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_SliceAvailableCapacityItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Served_EUTRA_Cells_Information, Served_EUTRA_Cells_Information_sequence); + ett_f1ap_SliceAvailableCapacityItem, SliceAvailableCapacityItem_sequence); return offset; } -static const per_sequence_t EUTRACells_List_item_sequence[] = { - { &hf_f1ap_eUTRA_Cell_ID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_Cell_ID }, - { &hf_f1ap_served_EUTRA_Cells_Information, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Served_EUTRA_Cells_Information }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const per_sequence_t SliceAvailableCapacityList_sequence_of[1] = { + { &hf_f1ap_SliceAvailableCapacityList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SliceAvailableCapacityItem }, }; static int -dissect_f1ap_EUTRACells_List_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_EUTRACells_List_item, EUTRACells_List_item_sequence); +dissect_f1ap_SliceAvailableCapacityList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_SliceAvailableCapacityList, SliceAvailableCapacityList_sequence_of, + 1, maxnoofBPLMNsNR, FALSE); return offset; } -static const per_sequence_t EUTRACells_List_sequence_of[1] = { - { &hf_f1ap_EUTRACells_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRACells_List_item }, +static const per_sequence_t SliceAvailableCapacity_sequence[] = { + { &hf_f1ap_sliceAvailableCapacityList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SliceAvailableCapacityList }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_EUTRACells_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_f1ap_EUTRACells_List, EUTRACells_List_sequence_of, - 1, maxCellineNB, FALSE); +dissect_f1ap_SliceAvailableCapacity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SliceAvailableCapacity, SliceAvailableCapacity_sequence); return offset; } @@ -4355,192 +5544,166 @@ dissect_f1ap_EUTRACells_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int -dissect_f1ap_ExtendedEARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_NumberofActiveUEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 262143U, NULL, FALSE); + 0U, 16777215U, NULL, TRUE); return offset; } -static const value_string f1ap_EUTRA_Transmission_Bandwidth_vals[] = { - { 0, "bw6" }, - { 1, "bw15" }, - { 2, "bw25" }, - { 3, "bw50" }, - { 4, "bw75" }, - { 5, "bw100" }, - { 0, NULL } +static const per_sequence_t CellMeasurementResultItem_sequence[] = { + { &hf_f1ap_cellID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_radioResourceStatus, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_RadioResourceStatus }, + { &hf_f1ap_compositeAvailableCapacityGroup, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_CompositeAvailableCapacityGroup }, + { &hf_f1ap_sliceAvailableCapacity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_SliceAvailableCapacity }, + { &hf_f1ap_numberofActiveUEs, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_NumberofActiveUEs }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; - static int -dissect_f1ap_EUTRA_Transmission_Bandwidth(tvbuff_t *tvb _U_, int offset _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); +dissect_f1ap_CellMeasurementResultItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_CellMeasurementResultItem, CellMeasurementResultItem_sequence); return offset; } -static const per_sequence_t EUTRA_Coex_FDD_Info_sequence[] = { - { &hf_f1ap_uL_EARFCN , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ExtendedEARFCN }, - { &hf_f1ap_dL_EARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ExtendedEARFCN }, - { &hf_f1ap_uL_Transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_EUTRA_Transmission_Bandwidth }, - { &hf_f1ap_dL_Transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_Transmission_Bandwidth }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const per_sequence_t CellMeasurementResultList_sequence_of[1] = { + { &hf_f1ap_CellMeasurementResultList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CellMeasurementResultItem }, }; static int -dissect_f1ap_EUTRA_Coex_FDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_EUTRA_Coex_FDD_Info, EUTRA_Coex_FDD_Info_sequence); +dissect_f1ap_CellMeasurementResultList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_CellMeasurementResultList, CellMeasurementResultList_sequence_of, + 1, maxCellingNBDU, FALSE); return offset; } -static const value_string f1ap_EUTRA_SubframeAssignment_vals[] = { - { 0, "sa0" }, - { 1, "sa1" }, - { 2, "sa2" }, - { 3, "sa3" }, - { 4, "sa4" }, - { 5, "sa5" }, - { 6, "sa6" }, - { 0, NULL } +static const per_sequence_t Cells_Failed_to_be_Activated_List_Item_sequence[] = { + { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Cause }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; - static int -dissect_f1ap_EUTRA_SubframeAssignment(tvbuff_t *tvb _U_, int offset _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, TRUE, 0, NULL); +dissect_f1ap_Cells_Failed_to_be_Activated_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Cells_Failed_to_be_Activated_List_Item, Cells_Failed_to_be_Activated_List_Item_sequence); return offset; } -static const value_string f1ap_EUTRA_SpecialSubframePatterns_vals[] = { - { 0, "ssp0" }, - { 1, "ssp1" }, - { 2, "ssp2" }, - { 3, "ssp3" }, - { 4, "ssp4" }, - { 5, "ssp5" }, - { 6, "ssp6" }, - { 7, "ssp7" }, - { 8, "ssp8" }, - { 9, "ssp9" }, - { 10, "ssp10" }, +static const value_string f1ap_Service_State_vals[] = { + { 0, "in-service" }, + { 1, "out-of-service" }, { 0, NULL } }; static int -dissect_f1ap_EUTRA_SpecialSubframePatterns(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_Service_State(tvbuff_t *tvb _U_, int offset _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, TRUE, 0, NULL); + 2, NULL, TRUE, 0, NULL); return offset; } -static const value_string f1ap_EUTRA_CyclicPrefixDL_vals[] = { - { 0, "normal" }, - { 1, "extended" }, +static const value_string f1ap_T_switchingOffOngoing_vals[] = { + { 0, "true" }, { 0, NULL } }; static int -dissect_f1ap_EUTRA_CyclicPrefixDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_T_switchingOffOngoing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, TRUE, 0, NULL); + 1, NULL, TRUE, 0, NULL); return offset; } -static const value_string f1ap_EUTRA_CyclicPrefixUL_vals[] = { - { 0, "normal" }, - { 1, "extended" }, - { 0, NULL } +static const per_sequence_t Service_Status_sequence[] = { + { &hf_f1ap_service_state , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Service_State }, + { &hf_f1ap_switchingOffOngoing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_T_switchingOffOngoing }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; - static int -dissect_f1ap_EUTRA_CyclicPrefixUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, TRUE, 0, NULL); +dissect_f1ap_Service_Status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Service_Status, Service_Status_sequence); return offset; } -static const per_sequence_t EUTRA_SpecialSubframe_Info_sequence[] = { - { &hf_f1ap_specialSubframePatterns, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_SpecialSubframePatterns }, - { &hf_f1ap_cyclicPrefixDL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_CyclicPrefixDL }, - { &hf_f1ap_cyclicPrefixUL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_CyclicPrefixUL }, +static const per_sequence_t Cells_Status_Item_sequence[] = { + { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_service_status , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Service_Status }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_EUTRA_SpecialSubframe_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_Cells_Status_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_EUTRA_SpecialSubframe_Info, EUTRA_SpecialSubframe_Info_sequence); + ett_f1ap_Cells_Status_Item, Cells_Status_Item_sequence); return offset; } -static const per_sequence_t EUTRA_Coex_TDD_Info_sequence[] = { - { &hf_f1ap_eARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ExtendedEARFCN }, - { &hf_f1ap_transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_Transmission_Bandwidth }, - { &hf_f1ap_subframeAssignment, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_SubframeAssignment }, - { &hf_f1ap_specialSubframe_Info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_SpecialSubframe_Info }, +static const per_sequence_t Cells_To_Be_Broadcast_Item_sequence[] = { + { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_EUTRA_Coex_TDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_Cells_To_Be_Broadcast_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_EUTRA_Coex_TDD_Info, EUTRA_Coex_TDD_Info_sequence); + ett_f1ap_Cells_To_Be_Broadcast_Item, Cells_To_Be_Broadcast_Item_sequence); return offset; } -static const value_string f1ap_EUTRA_Coex_Mode_Info_vals[] = { - { 0, "fDD" }, - { 1, "tDD" }, - { 0, NULL } -}; - -static const per_choice_t EUTRA_Coex_Mode_Info_choice[] = { - { 0, &hf_f1ap_fDD , ASN1_EXTENSION_ROOT , dissect_f1ap_EUTRA_Coex_FDD_Info }, - { 1, &hf_f1ap_tDD , ASN1_EXTENSION_ROOT , dissect_f1ap_EUTRA_Coex_TDD_Info }, - { 0, NULL, 0, NULL } +static const per_sequence_t Cells_Broadcast_Completed_Item_sequence[] = { + { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_EUTRA_Coex_Mode_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_f1ap_EUTRA_Coex_Mode_Info, EUTRA_Coex_Mode_Info_choice, - NULL); +dissect_f1ap_Cells_Broadcast_Completed_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Cells_Broadcast_Completed_Item, Cells_Broadcast_Completed_Item_sequence); return offset; } +static const per_sequence_t Broadcast_To_Be_Cancelled_Item_sequence[] = { + { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_INTEGER_0_837(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 837U, NULL, FALSE); +dissect_f1ap_Broadcast_To_Be_Cancelled_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Broadcast_To_Be_Cancelled_Item, Broadcast_To_Be_Cancelled_Item_sequence); return offset; } @@ -4548,18 +5711,25 @@ dissect_f1ap_INTEGER_0_837(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ static int -dissect_f1ap_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_NumberOfBroadcasts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 15U, NULL, FALSE); + 0U, 65535U, NULL, FALSE); return offset; } +static const per_sequence_t Cells_Broadcast_Cancelled_Item_sequence[] = { + { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_numberOfBroadcasts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NumberOfBroadcasts }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL); +dissect_f1ap_Cells_Broadcast_Cancelled_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Cells_Broadcast_Cancelled_Item, Cells_Broadcast_Cancelled_Item_sequence); return offset; } @@ -4567,315 +5737,408 @@ dissect_f1ap_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr static int -dissect_f1ap_INTEGER_0_94(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_NRPCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 94U, NULL, FALSE); + 0U, 1007U, NULL, FALSE); return offset; } +static const per_sequence_t Cells_to_be_Activated_List_Item_sequence[] = { + { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_nRPCI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_NRPCI }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_INTEGER_0_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 63U, NULL, FALSE); +dissect_f1ap_Cells_to_be_Activated_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Cells_to_be_Activated_List_Item, Cells_to_be_Activated_List_Item_sequence); return offset; } -static const per_sequence_t EUTRA_PRACH_Configuration_sequence[] = { - { &hf_f1ap_rootSequenceIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_837 }, - { &hf_f1ap_zeroCorrelationIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_15 }, - { &hf_f1ap_highSpeedFlag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_BOOLEAN }, - { &hf_f1ap_prach_FreqOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_94 }, - { &hf_f1ap_prach_ConfigIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_INTEGER_0_63 }, +static const per_sequence_t Cells_to_be_Deactivated_List_Item_sequence[] = { + { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_EUTRA_PRACH_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_Cells_to_be_Deactivated_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_EUTRA_PRACH_Configuration, EUTRA_PRACH_Configuration_sequence); + ett_f1ap_Cells_to_be_Deactivated_List_Item, Cells_to_be_Deactivated_List_Item_sequence); return offset; } -static const value_string f1ap_ExecuteDuplication_vals[] = { - { 0, "true" }, +static const value_string f1ap_CellBarred_vals[] = { + { 0, "barred" }, + { 1, "not-barred" }, { 0, NULL } }; static int -dissect_f1ap_ExecuteDuplication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_CellBarred(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 0, NULL); + 2, NULL, TRUE, 0, NULL); return offset; } +static const per_sequence_t Cells_to_be_Barred_Item_sequence[] = { + { &hf_f1ap_nRCGI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_cellBarred , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CellBarred }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 707 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); +dissect_f1ap_Cells_to_be_Barred_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Cells_to_be_Barred_Item, Cells_to_be_Barred_Item_sequence); - if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container); - dissect_x2ap_EUTRANRCellResourceCoordinationRequest_PDU(param_tvb, actx->pinfo, subtree, NULL); - } + return offset; +} + + +static const value_string f1ap_CellSize_vals[] = { + { 0, "verysmall" }, + { 1, "small" }, + { 2, "medium" }, + { 3, "large" }, + { 0, NULL } +}; +static int +dissect_f1ap_CellSize(tvbuff_t *tvb _U_, int offset _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 SSBToReportItem_sequence[] = { + { &hf_f1ap_sSBIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_63 }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 715 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); +dissect_f1ap_SSBToReportItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SSBToReportItem, SSBToReportItem_sequence); - if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container); - dissect_x2ap_EUTRANRCellResourceCoordinationResponse_PDU(param_tvb, actx->pinfo, subtree, NULL); - } + return offset; +} +static const per_sequence_t SSBToReportList_sequence_of[1] = { + { &hf_f1ap_SSBToReportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SSBToReportItem }, +}; + +static int +dissect_f1ap_SSBToReportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_SSBToReportList, SSBToReportList_sequence_of, + 1, maxnoofSSBAreas, FALSE); return offset; } +static const per_sequence_t SNSSAI_Item_sequence[] = { + { &hf_f1ap_sNSSAI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAI }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_INTEGER_0_maxNRARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, maxNRARFCN, NULL, FALSE); +dissect_f1ap_SNSSAI_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SNSSAI_Item, SNSSAI_Item_sequence); return offset; } -static const value_string f1ap_NRSCS_vals[] = { - { 0, "scs15" }, - { 1, "scs30" }, - { 2, "scs60" }, - { 3, "scs120" }, - { 0, NULL } +static const per_sequence_t SNSSAI_list_sequence_of[1] = { + { &hf_f1ap_SNSSAI_list_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAI_Item }, }; +static int +dissect_f1ap_SNSSAI_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_f1ap_SNSSAI_list, SNSSAI_list_sequence_of, + 1, maxnoofSliceItems, FALSE); + + return offset; +} + + +static const per_sequence_t SliceToReportItem_sequence[] = { + { &hf_f1ap_pLMNIdentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity }, + { &hf_f1ap_sNSSAIlist , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAI_list }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_NRSCS(tvbuff_t *tvb _U_, int offset _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); +dissect_f1ap_SliceToReportItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SliceToReportItem, SliceToReportItem_sequence); return offset; } -static const value_string f1ap_NRNRB_vals[] = { - { 0, "nrb11" }, - { 1, "nrb18" }, - { 2, "nrb24" }, - { 3, "nrb25" }, - { 4, "nrb31" }, - { 5, "nrb32" }, - { 6, "nrb38" }, - { 7, "nrb51" }, - { 8, "nrb52" }, - { 9, "nrb65" }, - { 10, "nrb66" }, - { 11, "nrb78" }, - { 12, "nrb79" }, - { 13, "nrb93" }, - { 14, "nrb106" }, - { 15, "nrb107" }, - { 16, "nrb121" }, - { 17, "nrb132" }, - { 18, "nrb133" }, - { 19, "nrb135" }, - { 20, "nrb160" }, - { 21, "nrb162" }, - { 22, "nrb189" }, - { 23, "nrb216" }, - { 24, "nrb217" }, - { 25, "nrb245" }, - { 26, "nrb264" }, - { 27, "nrb270" }, - { 28, "nrb273" }, - { 0, NULL } +static const per_sequence_t SliceToReportList_sequence_of[1] = { + { &hf_f1ap_SliceToReportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SliceToReportItem }, }; -static value_string_ext f1ap_NRNRB_vals_ext = VALUE_STRING_EXT_INIT(f1ap_NRNRB_vals); - - static int -dissect_f1ap_NRNRB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 29, NULL, TRUE, 0, NULL); +dissect_f1ap_SliceToReportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_SliceToReportList, SliceToReportList_sequence_of, + 1, maxnoofBPLMNsNR, FALSE); return offset; } -static const per_sequence_t Transmission_Bandwidth_sequence[] = { - { &hf_f1ap_nRSCS , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRSCS }, - { &hf_f1ap_nRNRB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRNRB }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t CellToReportItem_sequence[] = { + { &hf_f1ap_cellID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_sSBToReportList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_SSBToReportList }, + { &hf_f1ap_sliceToReportList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_SliceToReportList }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_Transmission_Bandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_CellToReportItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Transmission_Bandwidth, Transmission_Bandwidth_sequence); + ett_f1ap_CellToReportItem, CellToReportItem_sequence); return offset; } -static const per_sequence_t SUL_Information_sequence[] = { - { &hf_f1ap_sUL_NRARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_maxNRARFCN }, - { &hf_f1ap_sUL_transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Transmission_Bandwidth }, +static const per_sequence_t CellToReportList_sequence_of[1] = { + { &hf_f1ap_CellToReportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CellToReportItem }, +}; + +static int +dissect_f1ap_CellToReportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_CellToReportList, CellToReportList_sequence_of, + 1, maxCellingNBDU, FALSE); + + return offset; +} + + +static const per_sequence_t CellType_sequence[] = { + { &hf_f1ap_cellSize , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_CellSize }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_SUL_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_CellType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SUL_Information, SUL_Information_sequence); + ett_f1ap_CellType, CellType_sequence); return offset; } +static const value_string f1ap_CellULConfigured_vals[] = { + { 0, "none" }, + { 1, "ul" }, + { 2, "sul" }, + { 3, "ul-and-sul" }, + { 0, NULL } +}; + static int -dissect_f1ap_INTEGER_1_1024_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_CellULConfigured(tvbuff_t *tvb _U_, int offset _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 int +dissect_f1ap_SSB_freqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 1024U, NULL, TRUE); + 0U, maxNRARFCN, NULL, FALSE); return offset; } -static const per_sequence_t SupportedSULFreqBandItem_sequence[] = { - { &hf_f1ap_freqBandIndicatorNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_1024_ }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string f1ap_SSB_subcarrierSpacing_vals[] = { + { 0, "kHz15" }, + { 1, "kHz30" }, + { 2, "kHz120" }, + { 3, "kHz240" }, + { 4, "spare3" }, + { 5, "spare2" }, + { 6, "spare1" }, + { 0, NULL } }; + static int -dissect_f1ap_SupportedSULFreqBandItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SupportedSULFreqBandItem, SupportedSULFreqBandItem_sequence); +dissect_f1ap_SSB_subcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 7, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem_sequence_of[1] = { - { &hf_f1ap_supportedSULBandList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SupportedSULFreqBandItem }, +static const value_string f1ap_SSB_transmissionPeriodicity_vals[] = { + { 0, "sf10" }, + { 1, "sf20" }, + { 2, "sf40" }, + { 3, "sf80" }, + { 4, "sf160" }, + { 5, "sf320" }, + { 6, "sf640" }, + { 0, NULL } }; + static int -dissect_f1ap_SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_f1ap_SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem, SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem_sequence_of, - 0, maxnoofNrCellBands, FALSE); +dissect_f1ap_SSB_transmissionPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 7, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t FreqBandNrItem_sequence[] = { - { &hf_f1ap_freqBandIndicatorNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_1024_ }, - { &hf_f1ap_supportedSULBandList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_FreqBandNrItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_FreqBandNrItem, FreqBandNrItem_sequence); +dissect_f1ap_SSB_transmissionTimingOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 127U, NULL, TRUE); return offset; } -static const per_sequence_t SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem_sequence_of[1] = { - { &hf_f1ap_freqBandListNr_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_FreqBandNrItem }, -}; static int -dissect_f1ap_SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_f1ap_SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem, SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem_sequence_of, - 1, maxnoofNrCellBands, FALSE); +dissect_f1ap_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 4, 4, FALSE, NULL, 0, NULL, NULL); return offset; } -static const per_sequence_t NRFreqInfo_sequence[] = { - { &hf_f1ap_nRARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_maxNRARFCN }, - { &hf_f1ap_sul_Information, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_SUL_Information }, - { &hf_f1ap_freqBandListNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } + +static int +dissect_f1ap_BIT_STRING_SIZE_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 8, 8, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + + +static int +dissect_f1ap_BIT_STRING_SIZE_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 64, 64, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const value_string f1ap_SSB_transmissionBitmap_vals[] = { + { 0, "shortBitmap" }, + { 1, "mediumBitmap" }, + { 2, "longBitmap" }, + { 3, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t SSB_transmissionBitmap_choice[] = { + { 0, &hf_f1ap_shortBitmap , ASN1_NO_EXTENSIONS , dissect_f1ap_BIT_STRING_SIZE_4 }, + { 1, &hf_f1ap_mediumBitmap , ASN1_NO_EXTENSIONS , dissect_f1ap_BIT_STRING_SIZE_8 }, + { 2, &hf_f1ap_longBitmap , ASN1_NO_EXTENSIONS , dissect_f1ap_BIT_STRING_SIZE_64 }, + { 3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } }; static int -dissect_f1ap_NRFreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_NRFreqInfo, NRFreqInfo_sequence); +dissect_f1ap_SSB_transmissionBitmap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_SSB_transmissionBitmap, SSB_transmissionBitmap_choice, + NULL); return offset; } -static const per_sequence_t FDD_Info_sequence[] = { - { &hf_f1ap_uL_NRFreqInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRFreqInfo }, - { &hf_f1ap_dL_NRFreqInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRFreqInfo }, - { &hf_f1ap_uL_Transmission_Bandwidth_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Transmission_Bandwidth }, - { &hf_f1ap_dL_Transmission_Bandwidth_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Transmission_Bandwidth }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t IAB_STC_Info_Item_sequence[] = { + { &hf_f1ap_sSB_freqInfo , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SSB_freqInfo }, + { &hf_f1ap_sSB_subcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SSB_subcarrierSpacing }, + { &hf_f1ap_sSB_transmissionPeriodicity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SSB_transmissionPeriodicity }, + { &hf_f1ap_sSB_transmissionTimingOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SSB_transmissionTimingOffset }, + { &hf_f1ap_sSB_transmissionBitmap, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SSB_transmissionBitmap }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_FDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_IAB_STC_Info_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_FDD_Info, FDD_Info_sequence); + ett_f1ap_IAB_STC_Info_Item, IAB_STC_Info_Item_sequence); return offset; } -static const value_string f1ap_FullConfiguration_vals[] = { - { 0, "full" }, - { 0, NULL } +static const per_sequence_t IAB_STC_Info_List_sequence_of[1] = { + { &hf_f1ap_IAB_STC_Info_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_IAB_STC_Info_Item }, }; +static int +dissect_f1ap_IAB_STC_Info_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_f1ap_IAB_STC_Info_List, IAB_STC_Info_List_sequence_of, + 1, maxnoofIABSTCInfo, FALSE); + + return offset; +} + + +static const per_sequence_t IAB_STC_Info_sequence[] = { + { &hf_f1ap_iAB_STC_Info_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_IAB_STC_Info_List }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_FullConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 0, NULL); +dissect_f1ap_IAB_STC_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_IAB_STC_Info, IAB_STC_Info_sequence); return offset; } @@ -4883,15 +6146,15 @@ dissect_f1ap_FullConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static int -dissect_f1ap_CG_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 890 "./asn1/f1ap/f1ap.cnf" +dissect_f1ap_RACH_Config_Common(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1668 "./asn1/f1ap/f1ap.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_CG_Config); - dissect_nr_rrc_CG_Config_PDU(param_tvb, actx->pinfo, subtree, NULL); + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RACH_Config_Common); + dissect_nr_rrc_RACH_ConfigCommon_PDU(param_tvb, actx->pinfo, subtree, NULL); } @@ -4902,12 +6165,16 @@ dissect_f1ap_CG_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, static int -dissect_f1ap_T_sIBtype(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 988 "./asn1/f1ap/f1ap.cnf" - f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 2U, 32U, &f1ap_data->sib_type, TRUE); +dissect_f1ap_RACH_Config_Common_IAB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1676 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RACH_Config_Common_IAB); + dissect_nr_rrc_RACH_ConfigCommon_PDU(param_tvb, actx->pinfo, subtree, NULL); + } @@ -4917,43 +6184,15 @@ dissect_f1ap_T_sIBtype(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, static int -dissect_f1ap_T_sIBmessage_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 992 "./asn1/f1ap/f1ap.cnf" +dissect_f1ap_T_cSI_RS_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1557 "./asn1/f1ap/f1ap.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); if (param_tvb) { - f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sIBmessage); - switch (f1ap_data->sib_type) { - case 2: - dissect_nr_rrc_SIB2_PDU(param_tvb, actx->pinfo, subtree, NULL); - break; - case 3: - dissect_nr_rrc_SIB3_PDU(param_tvb, actx->pinfo, subtree, NULL); - break; - case 4: - dissect_nr_rrc_SIB4_PDU(param_tvb, actx->pinfo, subtree, NULL); - break; - case 5: - dissect_nr_rrc_SIB5_PDU(param_tvb, actx->pinfo, subtree, NULL); - break; - case 6: - dissect_nr_rrc_SIB6_PDU(param_tvb, actx->pinfo, subtree, NULL); - break; - case 7: - dissect_nr_rrc_SIB7_PDU(param_tvb, actx->pinfo, subtree, NULL); - break; - case 8: - dissect_nr_rrc_SIB8_PDU(param_tvb, actx->pinfo, subtree, NULL); - break; - case 9: - dissect_nr_rrc_SIB9_PDU(param_tvb, actx->pinfo, subtree, NULL); - break; - default: - break; - } + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_cSI_RS_Configuration); + dissect_nr_rrc_NZP_CSI_RS_Resource_PDU(param_tvb, actx->pinfo, subtree, NULL); } @@ -4964,170 +6203,206 @@ dissect_f1ap_T_sIBmessage_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int -dissect_f1ap_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, TRUE); - - return offset; -} +dissect_f1ap_T_sR_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1565 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sR_Configuration); + dissect_nr_rrc_SchedulingRequestResourceConfig_PDU(param_tvb, actx->pinfo, subtree, NULL); + } -static const per_sequence_t SibtypetobeupdatedListItem_sequence[] = { - { &hf_f1ap_sIBtype_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_T_sIBtype }, - { &hf_f1ap_sIBmessage_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_T_sIBmessage_01 }, - { &hf_f1ap_valueTag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_31_ }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; -static int -dissect_f1ap_SibtypetobeupdatedListItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SibtypetobeupdatedListItem, SibtypetobeupdatedListItem_sequence); return offset; } -static const per_sequence_t SEQUENCE_SIZE_1_maxnoofSIBTypes_OF_SibtypetobeupdatedListItem_sequence_of[1] = { - { &hf_f1ap_sibtypetobeupdatedlist_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SibtypetobeupdatedListItem }, -}; static int -dissect_f1ap_SEQUENCE_SIZE_1_maxnoofSIBTypes_OF_SibtypetobeupdatedListItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_f1ap_SEQUENCE_SIZE_1_maxnoofSIBTypes_OF_SibtypetobeupdatedListItem, SEQUENCE_SIZE_1_maxnoofSIBTypes_OF_SibtypetobeupdatedListItem_sequence_of, - 1, maxnoofSIBTypes, FALSE); +dissect_f1ap_T_pDCCH_ConfigSIB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1573 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_pDCCH_ConfigSIB1); + dissect_nr_rrc_PDCCH_ConfigSIB1_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + return offset; } -static const per_sequence_t GNB_CUSystemInformation_sequence[] = { - { &hf_f1ap_sibtypetobeupdatedlist, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SEQUENCE_SIZE_1_maxnoofSIBTypes_OF_SibtypetobeupdatedListItem }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } + +static int +dissect_f1ap_T_sCS_Common(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1581 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sCS_Common); + dissect_nr_rrc_subCarrierSpacingCommon_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + +static const value_string f1ap_DU_RX_MT_RX_vals[] = { + { 0, "supported" }, + { 1, "not-supported" }, + { 0, NULL } }; + static int -dissect_f1ap_GNB_CUSystemInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GNB_CUSystemInformation, GNB_CUSystemInformation_sequence); +dissect_f1ap_DU_RX_MT_RX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 GNB_CU_TNL_Association_Setup_Item_sequence[] = { - { &hf_f1ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CP_TransportLayerAddress }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string f1ap_DU_TX_MT_TX_vals[] = { + { 0, "supported" }, + { 1, "not-supported" }, + { 0, NULL } }; + static int -dissect_f1ap_GNB_CU_TNL_Association_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GNB_CU_TNL_Association_Setup_Item, GNB_CU_TNL_Association_Setup_Item_sequence); +dissect_f1ap_DU_TX_MT_TX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t GNB_CU_TNL_Association_Failed_To_Setup_Item_sequence[] = { - { &hf_f1ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CP_TransportLayerAddress }, - { &hf_f1ap_cause , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Cause }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string f1ap_DU_RX_MT_TX_vals[] = { + { 0, "supported" }, + { 1, "not-supported" }, + { 0, NULL } }; + static int -dissect_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_Item, GNB_CU_TNL_Association_Failed_To_Setup_Item_sequence); +dissect_f1ap_DU_RX_MT_TX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); return offset; } -static const value_string f1ap_TNLAssociationUsage_vals[] = { - { 0, "ue" }, - { 1, "non-ue" }, - { 2, "both" }, +static const value_string f1ap_DU_TX_MT_RX_vals[] = { + { 0, "supported" }, + { 1, "not-supported" }, { 0, NULL } }; static int -dissect_f1ap_TNLAssociationUsage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_DU_TX_MT_RX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 3, NULL, TRUE, 0, NULL); + 2, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t GNB_CU_TNL_Association_To_Add_Item_sequence[] = { - { &hf_f1ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CP_TransportLayerAddress }, - { &hf_f1ap_tNLAssociationUsage, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_TNLAssociationUsage }, +static const per_sequence_t IAB_MT_Cell_List_Item_sequence[] = { + { &hf_f1ap_nRCellIdentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCellIdentity }, + { &hf_f1ap_dU_RX_MT_RX , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_DU_RX_MT_RX }, + { &hf_f1ap_dU_TX_MT_TX , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_DU_TX_MT_TX }, + { &hf_f1ap_dU_RX_MT_TX , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_DU_RX_MT_TX }, + { &hf_f1ap_dU_TX_MT_RX , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_DU_TX_MT_RX }, { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_GNB_CU_TNL_Association_To_Add_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_IAB_MT_Cell_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GNB_CU_TNL_Association_To_Add_Item, GNB_CU_TNL_Association_To_Add_Item_sequence); + ett_f1ap_IAB_MT_Cell_List_Item, IAB_MT_Cell_List_Item_sequence); return offset; } -static const per_sequence_t GNB_CU_TNL_Association_To_Remove_Item_sequence[] = { - { &hf_f1ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CP_TransportLayerAddress }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const per_sequence_t IAB_MT_Cell_List_sequence_of[1] = { + { &hf_f1ap_IAB_MT_Cell_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_IAB_MT_Cell_List_Item }, }; static int -dissect_f1ap_GNB_CU_TNL_Association_To_Remove_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GNB_CU_TNL_Association_To_Remove_Item, GNB_CU_TNL_Association_To_Remove_Item_sequence); +dissect_f1ap_IAB_MT_Cell_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_f1ap_IAB_MT_Cell_List, IAB_MT_Cell_List_sequence_of, + 1, maxnoofServingCells, FALSE); return offset; } -static const per_sequence_t GNB_CU_TNL_Association_To_Update_Item_sequence[] = { - { &hf_f1ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CP_TransportLayerAddress }, - { &hf_f1ap_tNLAssociationUsage, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_TNLAssociationUsage }, +static const per_sequence_t MultiplexingInfo_sequence[] = { + { &hf_f1ap_iAB_MT_Cell_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_IAB_MT_Cell_List }, { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_GNB_CU_TNL_Association_To_Update_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_MultiplexingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GNB_CU_TNL_Association_To_Update_Item, GNB_CU_TNL_Association_To_Update_Item_sequence); + ett_f1ap_MultiplexingInfo, MultiplexingInfo_sequence); return offset; } +static const per_sequence_t Child_Node_Cells_List_Item_sequence[] = { + { &hf_f1ap_nRCGI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_iAB_DU_Cell_Resource_Configuration_Mode_Info, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_IAB_DU_Cell_Resource_Configuration_Mode_Info }, + { &hf_f1ap_iAB_STC_Info , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_IAB_STC_Info }, + { &hf_f1ap_rACH_Config_Common, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_RACH_Config_Common }, + { &hf_f1ap_rACH_Config_Common_IAB, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_RACH_Config_Common_IAB }, + { &hf_f1ap_cSI_RS_Configuration, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_T_cSI_RS_Configuration }, + { &hf_f1ap_sR_Configuration, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_T_sR_Configuration }, + { &hf_f1ap_pDCCH_ConfigSIB1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_T_pDCCH_ConfigSIB1 }, + { &hf_f1ap_sCS_Common , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_T_sCS_Common }, + { &hf_f1ap_multiplexingInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_MultiplexingInfo }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_GNB_DU_UE_F1AP_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, 4294967295U, NULL, FALSE); +dissect_f1ap_Child_Node_Cells_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Child_Node_Cells_List_Item, Child_Node_Cells_List_Item_sequence); return offset; } +static const per_sequence_t Child_Node_Cells_List_sequence_of[1] = { + { &hf_f1ap_Child_Node_Cells_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Child_Node_Cells_List_Item }, +}; static int -dissect_f1ap_GNB_DU_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_64b(tvb, offset, actx, tree, hf_index, - 0U, G_GUINT64_CONSTANT(68719476735), NULL, FALSE); +dissect_f1ap_Child_Node_Cells_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_f1ap_Child_Node_Cells_List, Child_Node_Cells_List_sequence_of, + 1, maxnoofChildIABNodes, FALSE); return offset; } @@ -5135,9 +6410,9 @@ dissect_f1ap_GNB_DU_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, static int -dissect_f1ap_GNB_CU_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index, - 1, 150, TRUE); +dissect_f1ap_GNB_CU_UE_F1AP_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, 4294967295U, NULL, FALSE); return offset; } @@ -5145,67 +6420,73 @@ dissect_f1ap_GNB_CU_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ static int -dissect_f1ap_GNB_DU_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index, - 1, 150, TRUE); +dissect_f1ap_GNB_DU_UE_F1AP_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, 4294967295U, NULL, FALSE); return offset; } +static const per_sequence_t Child_Nodes_List_Item_sequence[] = { + { &hf_f1ap_gNB_CU_UE_F1AP_ID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_CU_UE_F1AP_ID }, + { &hf_f1ap_gNB_DU_UE_F1AP_ID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_DU_UE_F1AP_ID }, + { &hf_f1ap_child_Node_Cells_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Child_Node_Cells_List }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_Configured_EPS_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 981 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *parameter_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, - 2, 2, FALSE, ¶meter_tvb); +dissect_f1ap_Child_Nodes_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Child_Nodes_List_Item, Child_Nodes_List_Item_sequence); + + return offset; +} - if (parameter_tvb) { - actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN); - } +static const per_sequence_t Child_Nodes_List_sequence_of[1] = { + { &hf_f1ap_Child_Nodes_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Child_Nodes_List_Item }, +}; +static int +dissect_f1ap_Child_Nodes_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_f1ap_Child_Nodes_List, Child_Nodes_List_sequence_of, + 1, maxnoofChildIABNodes, FALSE); return offset; } -static const per_sequence_t TDD_Info_sequence[] = { - { &hf_f1ap_nRFreqInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRFreqInfo }, - { &hf_f1ap_transmission_Bandwidth_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Transmission_Bandwidth }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string f1ap_CHOtrigger_InterDU_vals[] = { + { 0, "cho-initiation" }, + { 1, "cho-replace" }, + { 0, NULL } }; + static int -dissect_f1ap_TDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_TDD_Info, TDD_Info_sequence); +dissect_f1ap_CHOtrigger_InterDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); return offset; } -static const value_string f1ap_NR_Mode_Info_vals[] = { - { 0, "fDD" }, - { 1, "tDD" }, - { 2, "choice-extension" }, +static const value_string f1ap_CHOtrigger_IntraDU_vals[] = { + { 0, "cho-initiation" }, + { 1, "cho-replace" }, + { 2, "cho-cancel" }, { 0, NULL } }; -static const per_choice_t NR_Mode_Info_choice[] = { - { 0, &hf_f1ap_fDD_01 , ASN1_NO_EXTENSIONS , dissect_f1ap_FDD_Info }, - { 1, &hf_f1ap_tDD_01 , ASN1_NO_EXTENSIONS , dissect_f1ap_TDD_Info }, - { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, - { 0, NULL, 0, NULL } -}; static int -dissect_f1ap_NR_Mode_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_f1ap_NR_Mode_Info, NR_Mode_Info_choice, - NULL); +dissect_f1ap_CHOtrigger_IntraDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, TRUE, 0, NULL); return offset; } @@ -5213,235 +6494,271 @@ dissect_f1ap_NR_Mode_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U static int -dissect_f1ap_T_measurementTimingConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 845 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); +dissect_f1ap_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); - if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_measurementTimingConfiguration); - dissect_nr_rrc_MeasurementTimingConfiguration_PDU(param_tvb, actx->pinfo, subtree, NULL); - } + return offset; +} +static const value_string f1ap_CNUEPagingIdentity_vals[] = { + { 0, "fiveG-S-TMSI" }, + { 1, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t CNUEPagingIdentity_choice[] = { + { 0, &hf_f1ap_fiveG_S_TMSI , ASN1_NO_EXTENSIONS , dissect_f1ap_BIT_STRING_SIZE_48 }, + { 1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_f1ap_CNUEPagingIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_CNUEPagingIdentity, CNUEPagingIdentity_choice, + NULL); return offset; } -static const per_sequence_t Served_Cell_Information_sequence[] = { - { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_nRPCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRPCI }, - { &hf_f1ap_fiveGS_TAC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_FiveGS_TAC }, - { &hf_f1ap_configured_EPS_TAC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_Configured_EPS_TAC }, - { &hf_f1ap_servedPLMNs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ServedPLMNs_List }, - { &hf_f1ap_nR_Mode_Info , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NR_Mode_Info }, - { &hf_f1ap_measurementTimingConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_T_measurementTimingConfiguration }, +static const per_sequence_t ConditionalInterDUMobilityInformation_sequence[] = { + { &hf_f1ap_cho_trigger , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_CHOtrigger_InterDU }, + { &hf_f1ap_targetgNB_DUUEF1APID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_GNB_DU_UE_F1AP_ID }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_Served_Cell_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_ConditionalInterDUMobilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Served_Cell_Information, Served_Cell_Information_sequence); + ett_f1ap_ConditionalInterDUMobilityInformation, ConditionalInterDUMobilityInformation_sequence); return offset; } +static const per_sequence_t TargetCellList_Item_sequence[] = { + { &hf_f1ap_target_cell , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_MIB_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 871 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); - - if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MIB_message); - dissect_nr_rrc_MIB_PDU(param_tvb, actx->pinfo, subtree, NULL); - } - - +dissect_f1ap_TargetCellList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_TargetCellList_Item, TargetCellList_Item_sequence); return offset; } +static const per_sequence_t TargetCellList_sequence_of[1] = { + { &hf_f1ap_TargetCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_TargetCellList_Item }, +}; static int -dissect_f1ap_SIB1_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 879 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); - - if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB1_message); - dissect_nr_rrc_SIB1_PDU(param_tvb, actx->pinfo, subtree, NULL); - } - - +dissect_f1ap_TargetCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_TargetCellList, TargetCellList_sequence_of, + 1, maxnoofCHOcells, FALSE); return offset; } -static const per_sequence_t GNB_DU_System_Information_sequence[] = { - { &hf_f1ap_mIB_message , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_MIB_message }, - { &hf_f1ap_sIB1_message , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SIB1_message }, +static const per_sequence_t ConditionalIntraDUMobilityInformation_sequence[] = { + { &hf_f1ap_cho_trigger_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_CHOtrigger_IntraDU }, + { &hf_f1ap_targetCellsTocancel, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_TargetCellList }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_GNB_DU_System_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_ConditionalIntraDUMobilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GNB_DU_System_Information, GNB_DU_System_Information_sequence); + ett_f1ap_ConditionalIntraDUMobilityInformation, ConditionalIntraDUMobilityInformation_sequence); return offset; } -static const per_sequence_t GNB_DU_Served_Cells_Item_sequence[] = { - { &hf_f1ap_served_Cell_Information, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Served_Cell_Information }, - { &hf_f1ap_gNB_DU_System_Information, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_GNB_DU_System_Information }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t Endpoint_IP_address_and_port_sequence[] = { + { &hf_f1ap_endpointIPAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_GNB_DU_Served_Cells_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_Endpoint_IP_address_and_port(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GNB_DU_Served_Cells_Item, GNB_DU_Served_Cells_Item_sequence); + ett_f1ap_Endpoint_IP_address_and_port, Endpoint_IP_address_and_port_sequence); return offset; } -static const value_string f1ap_GNB_DUConfigurationQuery_vals[] = { - { 0, "true" }, +static const value_string f1ap_CP_TransportLayerAddress_vals[] = { + { 0, "endpoint-IP-address" }, + { 1, "endpoint-IP-address-and-port" }, + { 2, "choice-extension" }, { 0, NULL } }; +static const per_choice_t CP_TransportLayerAddress_choice[] = { + { 0, &hf_f1ap_endpoint_IP_address, ASN1_NO_EXTENSIONS , dissect_f1ap_TransportLayerAddress }, + { 1, &hf_f1ap_endpoint_IP_address_and_port, ASN1_NO_EXTENSIONS , dissect_f1ap_Endpoint_IP_address_and_port }, + { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } +}; static int -dissect_f1ap_GNB_DUConfigurationQuery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 0, NULL); +dissect_f1ap_CP_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_CP_TransportLayerAddress, CP_TransportLayerAddress_choice, + NULL); return offset; } -static const value_string f1ap_GNBDUOverloadInformation_vals[] = { - { 0, "overloaded" }, - { 1, "not-overloaded" }, - { 0, NULL } -}; - static int -dissect_f1ap_GNBDUOverloadInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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_f1ap_TransactionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 255U, NULL, TRUE); return offset; } -static const per_sequence_t GNB_DU_TNL_Association_To_Remove_Item_sequence[] = { - { &hf_f1ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CP_TransportLayerAddress }, - { &hf_f1ap_tNLAssociationTransportLayerAddressgNBCU, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_CP_TransportLayerAddress }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string f1ap_TypeOfError_vals[] = { + { 0, "not-understood" }, + { 1, "missing" }, + { 0, NULL } }; + static int -dissect_f1ap_GNB_DU_TNL_Association_To_Remove_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GNB_DU_TNL_Association_To_Remove_Item, GNB_DU_TNL_Association_To_Remove_Item_sequence); +dissect_f1ap_TypeOfError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); return offset; } +static const per_sequence_t CriticalityDiagnostics_IE_Item_sequence[] = { + { &hf_f1ap_iECriticality , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Criticality }, + { &hf_f1ap_iE_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_ID }, + { &hf_f1ap_typeOfError , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_TypeOfError }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_HandoverPreparationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 922 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); +dissect_f1ap_CriticalityDiagnostics_IE_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_CriticalityDiagnostics_IE_Item, CriticalityDiagnostics_IE_Item_sequence); - if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_HandoverPreparationInformation); - dissect_nr_rrc_HandoverPreparationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL); - } + return offset; +} +static const per_sequence_t CriticalityDiagnostics_IE_List_sequence_of[1] = { + { &hf_f1ap_CriticalityDiagnostics_IE_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CriticalityDiagnostics_IE_Item }, +}; + +static int +dissect_f1ap_CriticalityDiagnostics_IE_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_f1ap_CriticalityDiagnostics_IE_List, CriticalityDiagnostics_IE_List_sequence_of, + 1, maxnoofErrors, FALSE); return offset; } -static const value_string f1ap_IgnorePRACHConfiguration_vals[] = { - { 0, "true" }, - { 0, NULL } +static const per_sequence_t CriticalityDiagnostics_sequence[] = { + { &hf_f1ap_procedureCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProcedureCode }, + { &hf_f1ap_triggeringMessage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_TriggeringMessage }, + { &hf_f1ap_procedureCriticality, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_Criticality }, + { &hf_f1ap_transactionID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_TransactionID }, + { &hf_f1ap_iEsCriticalityDiagnostics, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_CriticalityDiagnostics_IE_List }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; +static int +dissect_f1ap_CriticalityDiagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_CriticalityDiagnostics, CriticalityDiagnostics_sequence); + + return offset; +} + + static int -dissect_f1ap_IgnorePRACHConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 0, NULL); +dissect_f1ap_C_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_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, TRUE); return offset; } -static const value_string f1ap_IgnoreResourceCoordinationContainer_vals[] = { - { 0, "yes" }, +static const value_string f1ap_RIMRSDetectionStatus_vals[] = { + { 0, "rs-detected" }, + { 1, "rs-disappeared" }, { 0, NULL } }; static int -dissect_f1ap_IgnoreResourceCoordinationContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_RIMRSDetectionStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 0, NULL); + 2, NULL, TRUE, 0, NULL); return offset; } -static const value_string f1ap_InactivityMonitoringRequest_vals[] = { - { 0, "true" }, - { 0, NULL } +static const per_sequence_t CUDURIMInformation_sequence[] = { + { &hf_f1ap_victimgNBSetID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_GNBSetID }, + { &hf_f1ap_rIMRSDetectionStatus, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_RIMRSDetectionStatus }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; - static int -dissect_f1ap_InactivityMonitoringRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 0, NULL); +dissect_f1ap_CUDURIMInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_CUDURIMInformation, CUDURIMInformation_sequence); return offset; } -static const value_string f1ap_InactivityMonitoringResponse_vals[] = { - { 0, "not-supported" }, +static const value_string f1ap_CUDURadioInformationType_vals[] = { + { 0, "rIM" }, + { 1, "choice-extension" }, { 0, NULL } }; +static const per_choice_t CUDURadioInformationType_choice[] = { + { 0, &hf_f1ap_rIM , ASN1_NO_EXTENSIONS , dissect_f1ap_CUDURIMInformation }, + { 1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } +}; static int -dissect_f1ap_InactivityMonitoringResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 0, NULL); +dissect_f1ap_CUDURadioInformationType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_CUDURadioInformationType, CUDURadioInformationType_choice, + NULL); return offset; } @@ -5449,9 +6766,18 @@ dissect_f1ap_InactivityMonitoringResponse(tvbuff_t *tvb _U_, int offset _U_, asn static int -dissect_f1ap_MaskedIMEISV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 64, 64, FALSE, NULL, 0, NULL, NULL); +dissect_f1ap_CG_ConfigInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1241 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_CG_ConfigInfo); + dissect_nr_rrc_CG_ConfigInfo_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + return offset; } @@ -5459,15 +6785,15 @@ dissect_f1ap_MaskedIMEISV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U static int -dissect_f1ap_MeasGapSharingConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 954 "./asn1/f1ap/f1ap.cnf" +dissect_f1ap_UE_CapabilityRAT_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1249 "./asn1/f1ap/f1ap.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MeasGapSharingConfig); - dissect_nr_rrc_MeasGapSharingConfig_PDU(param_tvb, actx->pinfo, subtree, NULL); + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UE_CapabilityRAT_ContainerList); + dissect_nr_rrc_UE_CapabilityRAT_ContainerList_PDU(param_tvb, actx->pinfo, subtree, NULL); } @@ -5478,15 +6804,15 @@ dissect_f1ap_MeasGapSharingConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static int -dissect_f1ap_MeasurementTimingConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 938 "./asn1/f1ap/f1ap.cnf" +dissect_f1ap_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1257 "./asn1/f1ap/f1ap.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_measurementTimingConfiguration); - dissect_nr_rrc_MeasurementTimingConfiguration_PDU(param_tvb, actx->pinfo, subtree, NULL); + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MeasConfig); + dissect_nr_rrc_MeasConfig_PDU(param_tvb, actx->pinfo, subtree, NULL); } @@ -5495,196 +6821,201 @@ dissect_f1ap_MeasurementTimingConfiguration(tvbuff_t *tvb _U_, int offset _U_, a } +static const per_sequence_t CUtoDURRCInformation_sequence[] = { + { &hf_f1ap_cG_ConfigInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_CG_ConfigInfo }, + { &hf_f1ap_uE_CapabilityRAT_ContainerList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_UE_CapabilityRAT_ContainerList }, + { &hf_f1ap_measConfig , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_MeasConfig }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_MessageIdentifier(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); +dissect_f1ap_CUtoDURRCInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_CUtoDURRCInformation, CUtoDURRCInformation_sequence); return offset; } -static const value_string f1ap_NeedforGap_vals[] = { +static const value_string f1ap_DCBasedDuplicationConfigured_vals[] = { { 0, "true" }, + { 1, "false" }, { 0, NULL } }; static int -dissect_f1ap_NeedforGap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_DCBasedDuplicationConfigured(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 0, NULL); + 1, NULL, TRUE, 1, NULL); return offset; } -static const per_sequence_t NR_CGI_List_For_Restart_Item_sequence[] = { +static const per_sequence_t Dedicated_SIDelivery_NeededUE_Item_sequence[] = { + { &hf_f1ap_gNB_CU_UE_F1AP_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_CU_UE_F1AP_ID }, { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_NR_CGI_List_For_Restart_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_Dedicated_SIDelivery_NeededUE_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_NR_CGI_List_For_Restart_Item, NR_CGI_List_For_Restart_Item_sequence); + ett_f1ap_Dedicated_SIDelivery_NeededUE_Item, Dedicated_SIDelivery_NeededUE_Item_sequence); return offset; } +static const per_sequence_t DL_UP_TNL_Address_to_Update_List_Item_sequence[] = { + { &hf_f1ap_oldIPAdress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress }, + { &hf_f1ap_newIPAdress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_SerialNumber(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); +dissect_f1ap_DL_UP_TNL_Address_to_Update_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_DL_UP_TNL_Address_to_Update_List_Item, DL_UP_TNL_Address_to_Update_List_Item_sequence); return offset; } -static const per_sequence_t NotificationInformation_sequence[] = { - { &hf_f1ap_message_Identifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_MessageIdentifier }, - { &hf_f1ap_serialNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SerialNumber }, +static const per_sequence_t DLUPTNLInformation_ToBeSetup_Item_sequence[] = { + { &hf_f1ap_dLUPTNLInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_UPTransportLayerInformation }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_NotificationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_DLUPTNLInformation_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_NotificationInformation, NotificationInformation_sequence); + ett_f1ap_DLUPTNLInformation_ToBeSetup_Item, DLUPTNLInformation_ToBeSetup_Item_sequence); return offset; } +static const per_sequence_t DLUPTNLInformation_ToBeSetup_List_sequence_of[1] = { + { &hf_f1ap_DLUPTNLInformation_ToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_DLUPTNLInformation_ToBeSetup_Item }, +}; static int -dissect_f1ap_NumberofBroadcastRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 65535U, NULL, FALSE); +dissect_f1ap_DLUPTNLInformation_ToBeSetup_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_f1ap_DLUPTNLInformation_ToBeSetup_List, DLUPTNLInformation_ToBeSetup_List_sequence_of, + 1, maxnoofDLUPTNLInformation, FALSE); return offset; } -static const per_sequence_t PagingCell_Item_sequence[] = { - { &hf_f1ap_nRCGI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_PagingCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_PagingCell_Item, PagingCell_Item_sequence); +dissect_f1ap_DRBID(tvbuff_t *tvb _U_, int offset _U_, 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, TRUE); return offset; } -static const value_string f1ap_PagingDRX_vals[] = { - { 0, "v32" }, - { 1, "v64" }, - { 2, "v128" }, - { 3, "v256" }, +static const value_string f1ap_DRB_Activity_vals[] = { + { 0, "active" }, + { 1, "not-active" }, { 0, NULL } }; static int -dissect_f1ap_PagingDRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_DRB_Activity(tvbuff_t *tvb _U_, int offset _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); + 2, NULL, FALSE, 0, NULL); return offset; } +static const per_sequence_t DRB_Activity_Item_sequence[] = { + { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, + { &hf_f1ap_dRB_Activity , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_DRB_Activity }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_BIT_STRING_SIZE_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 40, 40, FALSE, NULL, 0, NULL, NULL); +dissect_f1ap_DRB_Activity_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_DRB_Activity_Item, DRB_Activity_Item_sequence); return offset; } -static const per_sequence_t RANUEPagingIdentity_sequence[] = { - { &hf_f1ap_iRNTI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BIT_STRING_SIZE_40 }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t DRBs_FailedToBeModified_Item_sequence[] = { + { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, + { &hf_f1ap_cause , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_Cause }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_RANUEPagingIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_DRBs_FailedToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_RANUEPagingIdentity, RANUEPagingIdentity_sequence); + ett_f1ap_DRBs_FailedToBeModified_Item, DRBs_FailedToBeModified_Item_sequence); return offset; } -static const value_string f1ap_PagingIdentity_vals[] = { - { 0, "rANUEPagingIdentity" }, - { 1, "cNUEPagingIdentity" }, - { 2, "choice-extension" }, - { 0, NULL } -}; - -static const per_choice_t PagingIdentity_choice[] = { - { 0, &hf_f1ap_rANUEPagingIdentity, ASN1_NO_EXTENSIONS , dissect_f1ap_RANUEPagingIdentity }, - { 1, &hf_f1ap_cNUEPagingIdentity, ASN1_NO_EXTENSIONS , dissect_f1ap_CNUEPagingIdentity }, - { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, - { 0, NULL, 0, NULL } +static const per_sequence_t DRBs_FailedToBeSetup_Item_sequence[] = { + { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, + { &hf_f1ap_cause , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_Cause }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_PagingIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_f1ap_PagingIdentity, PagingIdentity_choice, - NULL); +dissect_f1ap_DRBs_FailedToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_DRBs_FailedToBeSetup_Item, DRBs_FailedToBeSetup_Item_sequence); return offset; } -static const value_string f1ap_PagingOrigin_vals[] = { - { 0, "non-3gpp" }, - { 0, NULL } +static const per_sequence_t DRBs_FailedToBeSetupMod_Item_sequence[] = { + { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, + { &hf_f1ap_cause , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_Cause }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; - static int -dissect_f1ap_PagingOrigin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 0, NULL); +dissect_f1ap_DRBs_FailedToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_DRBs_FailedToBeSetupMod_Item, DRBs_FailedToBeSetupMod_Item_sequence); return offset; } -static const value_string f1ap_PagingPriority_vals[] = { - { 0, "priolevel1" }, - { 1, "priolevel2" }, - { 2, "priolevel3" }, - { 3, "priolevel4" }, - { 4, "priolevel5" }, - { 5, "priolevel6" }, - { 6, "priolevel7" }, - { 7, "priolevel8" }, +static const value_string f1ap_NotificationControl_vals[] = { + { 0, "active" }, + { 1, "not-active" }, { 0, NULL } }; static int -dissect_f1ap_PagingPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_NotificationControl(tvbuff_t *tvb _U_, int offset _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); + 2, NULL, TRUE, 0, NULL); return offset; } @@ -5692,43 +7023,57 @@ dissect_f1ap_PagingPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int -dissect_f1ap_PDCCH_BlindDetectionSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1123 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *parameter_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, - NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); +dissect_f1ap_QoSFlowIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 63U, NULL, FALSE); - if (parameter_tvb) { - actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 1, ENC_BIG_ENDIAN); - } + return offset; +} +static const per_sequence_t Flows_Mapped_To_DRB_Item_sequence[] = { + { &hf_f1ap_qoSFlowIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSFlowIdentifier }, + { &hf_f1ap_qoSFlowLevelQoSParameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSFlowLevelQoSParameters }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_Flows_Mapped_To_DRB_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Flows_Mapped_To_DRB_Item, Flows_Mapped_To_DRB_Item_sequence); return offset; } +static const per_sequence_t Flows_Mapped_To_DRB_List_sequence_of[1] = { + { &hf_f1ap_Flows_Mapped_To_DRB_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Flows_Mapped_To_DRB_Item }, +}; static int -dissect_f1ap_PDCP_SN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 4095U, NULL, FALSE); +dissect_f1ap_Flows_Mapped_To_DRB_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_f1ap_Flows_Mapped_To_DRB_List, Flows_Mapped_To_DRB_List_sequence_of, + 1, maxnoofQoSFlows, FALSE); return offset; } -static const value_string f1ap_PDCPSNLength_vals[] = { - { 0, "twelve-bits" }, - { 1, "eighteen-bits" }, - { 0, NULL } +static const per_sequence_t DRB_Information_sequence[] = { + { &hf_f1ap_dRB_QoS , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSFlowLevelQoSParameters }, + { &hf_f1ap_sNSSAI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAI }, + { &hf_f1ap_notificationControl, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_NotificationControl }, + { &hf_f1ap_flows_Mapped_To_DRB_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Flows_Mapped_To_DRB_List }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; - static int -dissect_f1ap_PDCPSNLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, TRUE, 0, NULL); +dissect_f1ap_DRB_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_DRB_Information, DRB_Information_sequence); return offset; } @@ -5736,308 +7081,386 @@ dissect_f1ap_PDCPSNLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U static int -dissect_f1ap_PDUSessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_LCID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 255U, NULL, FALSE); + 1U, 32U, NULL, TRUE); return offset; } +static const per_sequence_t DRBs_Modified_Item_sequence[] = { + { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, + { &hf_f1ap_lCID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_LCID }, + { &hf_f1ap_dLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DLUPTNLInformation_ToBeSetup_List }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_Ph_InfoMCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1143 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); - - if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_Ph_InfoMCG); - dissect_nr_rrc_PH_TypeListMCG_PDU(param_tvb, actx->pinfo, subtree, NULL); - } - - +dissect_f1ap_DRBs_Modified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_DRBs_Modified_Item, DRBs_Modified_Item_sequence); return offset; } +static const per_sequence_t ULUPTNLInformation_ToBeSetup_Item_sequence[] = { + { &hf_f1ap_uLUPTNLInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_UPTransportLayerInformation }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_Ph_InfoSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1151 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); - - if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_Ph_InfoSCG); - dissect_nr_rrc_PH_TypeListSCG_PDU(param_tvb, actx->pinfo, subtree, NULL); - } - - +dissect_f1ap_ULUPTNLInformation_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_ULUPTNLInformation_ToBeSetup_Item, ULUPTNLInformation_ToBeSetup_Item_sequence); return offset; } +static const per_sequence_t ULUPTNLInformation_ToBeSetup_List_sequence_of[1] = { + { &hf_f1ap_ULUPTNLInformation_ToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ULUPTNLInformation_ToBeSetup_Item }, +}; static int -dissect_f1ap_PortNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 864 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *parameter_tvb = NULL; - offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, - 16, 16, FALSE, NULL, 0, ¶meter_tvb, NULL); - - if (parameter_tvb) { - actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN); - } - - +dissect_f1ap_ULUPTNLInformation_ToBeSetup_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_f1ap_ULUPTNLInformation_ToBeSetup_List, ULUPTNLInformation_ToBeSetup_List_sequence_of, + 1, maxnoofULUPTNLInformation, FALSE); return offset; } +static const per_sequence_t DRBs_ModifiedConf_Item_sequence[] = { + { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, + { &hf_f1ap_uLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ULUPTNLInformation_ToBeSetup_List }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_SpectrumSharingGroupID(tvbuff_t *tvb _U_, int offset _U_, 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, maxCellineNB, NULL, FALSE); +dissect_f1ap_DRBs_ModifiedConf_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_DRBs_ModifiedConf_Item, DRBs_ModifiedConf_Item_sequence); return offset; } -static const per_sequence_t Protected_EUTRA_Resources_Item_sequence[] = { - { &hf_f1ap_spectrumSharingGroupID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SpectrumSharingGroupID }, - { &hf_f1ap_eUTRACells_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRACells_List }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string f1ap_Notification_Cause_vals[] = { + { 0, "fulfilled" }, + { 1, "not-fulfilled" }, + { 0, NULL } }; + static int -dissect_f1ap_Protected_EUTRA_Resources_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Protected_EUTRA_Resources_Item, Protected_EUTRA_Resources_Item_sequence); +dissect_f1ap_Notification_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t Potential_SpCell_Item_sequence[] = { - { &hf_f1ap_potential_SpCell_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, +static const per_sequence_t DRB_Notify_Item_sequence[] = { + { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, + { &hf_f1ap_notification_Cause, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Notification_Cause }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_Potential_SpCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_DRB_Notify_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Potential_SpCell_Item, Potential_SpCell_Item_sequence); + ett_f1ap_DRB_Notify_Item, DRB_Notify_Item_sequence); return offset; } -static const per_sequence_t PWS_Failed_NR_CGI_Item_sequence[] = { - { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_numberOfBroadcasts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NumberOfBroadcasts }, +static const per_sequence_t DRBs_Required_ToBeModified_Item_sequence[] = { + { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, + { &hf_f1ap_dLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DLUPTNLInformation_ToBeSetup_List }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_PWS_Failed_NR_CGI_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_DRBs_Required_ToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_PWS_Failed_NR_CGI_Item, PWS_Failed_NR_CGI_Item_sequence); + ett_f1ap_DRBs_Required_ToBeModified_Item, DRBs_Required_ToBeModified_Item_sequence); return offset; } +static const per_sequence_t DRBs_Required_ToBeReleased_Item_sequence[] = { + { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_SIBType_PWS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1028 "./asn1/f1ap/f1ap.cnf" - f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 6U, 8U, &f1ap_data->sib_type, TRUE); - - - +dissect_f1ap_DRBs_Required_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_DRBs_Required_ToBeReleased_Item, DRBs_Required_ToBeReleased_Item_sequence); return offset; } +static const per_sequence_t DRBs_Setup_Item_sequence[] = { + { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, + { &hf_f1ap_lCID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_LCID }, + { &hf_f1ap_dLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DLUPTNLInformation_ToBeSetup_List }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_T_sIBmessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1032 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); - - if (param_tvb) { - f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sIBmessage); - switch (f1ap_data->sib_type) { - case 6: - dissect_nr_rrc_SIB6_PDU(param_tvb, actx->pinfo, subtree, NULL); - break; - case 7: - dissect_nr_rrc_SIB7_PDU(param_tvb, actx->pinfo, subtree, NULL); - break; - case 8: - dissect_nr_rrc_SIB8_PDU(param_tvb, actx->pinfo, subtree, NULL); - break; - default: - break; - } - } - - +dissect_f1ap_DRBs_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_DRBs_Setup_Item, DRBs_Setup_Item_sequence); return offset; } -static const per_sequence_t PWSSystemInformation_sequence[] = { - { &hf_f1ap_sIBtype , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SIBType_PWS }, - { &hf_f1ap_sIBmessage , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_T_sIBmessage }, +static const per_sequence_t DRBs_SetupMod_Item_sequence[] = { + { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, + { &hf_f1ap_lCID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_LCID }, + { &hf_f1ap_dLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DLUPTNLInformation_ToBeSetup_List }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_PWSSystemInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_DRBs_SetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_PWSSystemInformation, PWSSystemInformation_sequence); + ett_f1ap_DRBs_SetupMod_Item, DRBs_SetupMod_Item_sequence); return offset; } -static const value_string f1ap_QoSFlowMappingIndication_vals[] = { - { 0, "ul" }, - { 1, "dl" }, +static const value_string f1ap_QoSInformation_vals[] = { + { 0, "eUTRANQoS" }, + { 1, "choice-extension" }, { 0, NULL } }; +static const per_choice_t QoSInformation_choice[] = { + { 0, &hf_f1ap_eUTRANQoS , ASN1_NO_EXTENSIONS , dissect_f1ap_EUTRANQoS }, + { 1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } +}; static int -dissect_f1ap_QoSFlowMappingIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, TRUE, 0, NULL); - +dissect_f1ap_QoSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_QoSInformation, QoSInformation_choice, + NULL); + return offset; } +static const value_string f1ap_ULUEConfiguration_vals[] = { + { 0, "no-data" }, + { 1, "shared" }, + { 2, "only" }, + { 0, NULL } +}; + static int -dissect_f1ap_RANUEID(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, - 8, 8, FALSE, NULL); +dissect_f1ap_ULUEConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, TRUE, 0, NULL); return offset; } +static const per_sequence_t ULConfiguration_sequence[] = { + { &hf_f1ap_uLUEConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ULUEConfiguration }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_SubscriberProfileIDforRFP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 256U, NULL, TRUE); +dissect_f1ap_ULConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_ULConfiguration, ULConfiguration_sequence); return offset; } +static const per_sequence_t DRBs_ToBeModified_Item_sequence[] = { + { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, + { &hf_f1ap_qoSInformation , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_QoSInformation }, + { &hf_f1ap_uLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ULUPTNLInformation_ToBeSetup_List }, + { &hf_f1ap_uLConfiguration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ULConfiguration }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_RAT_FrequencySelectionPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 256U, NULL, TRUE); +dissect_f1ap_DRBs_ToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_DRBs_ToBeModified_Item, DRBs_ToBeModified_Item_sequence); return offset; } -static const value_string f1ap_RAT_FrequencyPriorityInformation_vals[] = { - { 0, "eNDC" }, - { 1, "nGRAN" }, - { 2, "choice-extension" }, - { 0, NULL } -}; - -static const per_choice_t RAT_FrequencyPriorityInformation_choice[] = { - { 0, &hf_f1ap_eNDC , ASN1_NO_EXTENSIONS , dissect_f1ap_SubscriberProfileIDforRFP }, - { 1, &hf_f1ap_nGRAN , ASN1_NO_EXTENSIONS , dissect_f1ap_RAT_FrequencySelectionPriority }, - { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, - { 0, NULL, 0, NULL } +static const per_sequence_t DRBs_ToBeReleased_Item_sequence[] = { + { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_RAT_FrequencyPriorityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_f1ap_RAT_FrequencyPriorityInformation, RAT_FrequencyPriorityInformation_choice, - NULL); +dissect_f1ap_DRBs_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_DRBs_ToBeReleased_Item, DRBs_ToBeReleased_Item_sequence); return offset; } -static const value_string f1ap_Reestablishment_Indication_vals[] = { - { 0, "reestablished" }, +static const value_string f1ap_DuplicationActivation_vals[] = { + { 0, "active" }, + { 1, "inactive" }, { 0, NULL } }; static int -dissect_f1ap_Reestablishment_Indication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_DuplicationActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 0, NULL); + 2, NULL, TRUE, 0, NULL); return offset; } +static const per_sequence_t DRBs_ToBeSetup_Item_sequence[] = { + { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, + { &hf_f1ap_qoSInformation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSInformation }, + { &hf_f1ap_uLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ULUPTNLInformation_ToBeSetup_List }, + { &hf_f1ap_rLCMode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_RLCMode }, + { &hf_f1ap_uLConfiguration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ULConfiguration }, + { &hf_f1ap_duplicationActivation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_DuplicationActivation }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_RequestedBandCombinationIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1159 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); +dissect_f1ap_DRBs_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_DRBs_ToBeSetup_Item, DRBs_ToBeSetup_Item_sequence); - if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RequestedBandCombinationIndex); - dissect_nr_rrc_BandCombinationIndex_PDU(param_tvb, actx->pinfo, subtree, NULL); - } + return offset; +} +static const per_sequence_t DRBs_ToBeSetupMod_Item_sequence[] = { + { &hf_f1ap_dRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID }, + { &hf_f1ap_qoSInformation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSInformation }, + { &hf_f1ap_uLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ULUPTNLInformation_ToBeSetup_List }, + { &hf_f1ap_rLCMode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_RLCMode }, + { &hf_f1ap_uLConfiguration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ULConfiguration }, + { &hf_f1ap_duplicationActivation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_DuplicationActivation }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_DRBs_ToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_DRBs_ToBeSetupMod_Item, DRBs_ToBeSetupMod_Item_sequence); return offset; } +static const value_string f1ap_LongDRXCycleLength_vals[] = { + { 0, "ms10" }, + { 1, "ms20" }, + { 2, "ms32" }, + { 3, "ms40" }, + { 4, "ms60" }, + { 5, "ms64" }, + { 6, "ms70" }, + { 7, "ms80" }, + { 8, "ms128" }, + { 9, "ms160" }, + { 10, "ms256" }, + { 11, "ms320" }, + { 12, "ms512" }, + { 13, "ms640" }, + { 14, "ms1024" }, + { 15, "ms1280" }, + { 16, "ms2048" }, + { 17, "ms2560" }, + { 18, "ms5120" }, + { 19, "ms10240" }, + { 0, NULL } +}; + +static value_string_ext f1ap_LongDRXCycleLength_vals_ext = VALUE_STRING_EXT_INIT(f1ap_LongDRXCycleLength_vals); + static int -dissect_f1ap_RequestedFeatureSetEntryIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1167 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); +dissect_f1ap_LongDRXCycleLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 20, NULL, TRUE, 0, NULL); - if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RequestedFeatureSetEntryIndex); - dissect_nr_rrc_FeatureSetEntryIndex_PDU(param_tvb, actx->pinfo, subtree, NULL); - } + return offset; +} + + +static const value_string f1ap_ShortDRXCycleLength_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" }, + { 0, NULL } +}; + +static value_string_ext f1ap_ShortDRXCycleLength_vals_ext = VALUE_STRING_EXT_INIT(f1ap_ShortDRXCycleLength_vals); +static int +dissect_f1ap_ShortDRXCycleLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 23, NULL, TRUE, 0, NULL); return offset; } @@ -6045,17 +7468,26 @@ dissect_f1ap_RequestedFeatureSetEntryIndex(tvbuff_t *tvb _U_, int offset _U_, as static int -dissect_f1ap_Requested_PDCCH_BlindDetectionSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1133 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *parameter_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, - NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); +dissect_f1ap_ShortDRXCycleTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 16U, NULL, FALSE); - if (parameter_tvb) { - actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 1, ENC_BIG_ENDIAN); - } + return offset; +} +static const per_sequence_t DRXCycle_sequence[] = { + { &hf_f1ap_longDRXCycleLength, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_LongDRXCycleLength }, + { &hf_f1ap_shortDRXCycleLength, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ShortDRXCycleLength }, + { &hf_f1ap_shortDRXCycleTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ShortDRXCycleTimer }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_DRXCycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_DRXCycle, DRXCycle_sequence); return offset; } @@ -6063,15 +7495,15 @@ dissect_f1ap_Requested_PDCCH_BlindDetectionSCG(tvbuff_t *tvb _U_, int offset _U_ static int -dissect_f1ap_RequestedP_MaxFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1175 "./asn1/f1ap/f1ap.cnf" +dissect_f1ap_DRX_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1473 "./asn1/f1ap/f1ap.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RequestedP_MaxFR2); - dissect_nr_rrc_P_Max_PDU(param_tvb, actx->pinfo, subtree, NULL); + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_DRX_Config); + dissect_nr_rrc_DRX_Config_PDU(param_tvb, actx->pinfo, subtree, NULL); } @@ -6080,49 +7512,26 @@ dissect_f1ap_RequestedP_MaxFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } -static const value_string f1ap_RequestType_vals[] = { - { 0, "offer" }, - { 1, "execution" }, +static const value_string f1ap_DRXConfigurationIndicator_vals[] = { + { 0, "release" }, { 0, NULL } }; static int -dissect_f1ap_RequestType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_DRXConfigurationIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, TRUE, 0, NULL); - - return offset; -} - - -static const per_sequence_t ResourceCoordinationEUTRACellInfo_sequence[] = { - { &hf_f1ap_eUTRA_Mode_Info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_Coex_Mode_Info }, - { &hf_f1ap_eUTRA_PRACH_Configuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_PRACH_Configuration }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_f1ap_ResourceCoordinationEUTRACellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_ResourceCoordinationEUTRACellInfo, ResourceCoordinationEUTRACellInfo_sequence); + 1, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t ResourceCoordinationTransferInformation_sequence[] = { - { &hf_f1ap_meNB_Cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_Cell_ID }, - { &hf_f1ap_resourceCoordinationEUTRACellInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ResourceCoordinationEUTRACellInfo }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_ResourceCoordinationTransferInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_ResourceCoordinationTransferInformation, ResourceCoordinationTransferInformation_sequence); +dissect_f1ap_DRX_LongCycleStartOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 10239U, NULL, FALSE); return offset; } @@ -6130,47 +7539,15 @@ dissect_f1ap_ResourceCoordinationTransferInformation(tvbuff_t *tvb _U_, int offs static int -dissect_f1ap_ResourceCoordinationTransferContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 723 "./asn1/f1ap/f1ap.cnf" +dissect_f1ap_DUtoCURRCContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1180 "./asn1/f1ap/f1ap.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); if (param_tvb) { - proto_tree *subtree; - f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); - - subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ResourceCoordinationTransferContainer); - switch (f1ap_data->message_type) { - case INITIATING_MESSAGE: - switch (f1ap_data->procedure_code) { - case id_UEContextSetup: - case id_UEContextModification: - dissect_x2ap_MeNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL); - break; - case id_UEContextModificationRequired: - dissect_x2ap_SgNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL); - break; - default: - break; - } - break; - case SUCCESSFUL_OUTCOME: - switch (f1ap_data->procedure_code) { - case id_UEContextSetup: - case id_UEContextModification: - dissect_x2ap_SgNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL); - break; - case id_UEContextModificationRequired: - dissect_x2ap_MeNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL); - break; - default: - break; - } - break; - default: - break; - } + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_DUtoCURRCContainer); + dissect_nr_rrc_CellGroupConfig_PDU(param_tvb, actx->pinfo, subtree, NULL); } @@ -6179,41 +7556,40 @@ dissect_f1ap_ResourceCoordinationTransferContainer(tvbuff_t *tvb _U_, int offset } - -static int -dissect_f1ap_RepetitionPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 131071U, NULL, TRUE); - - return offset; -} - - -static const per_sequence_t RLCFailureIndication_sequence[] = { - { &hf_f1ap_assocatedLCID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_LCID }, +static const per_sequence_t DUCURIMInformation_sequence[] = { + { &hf_f1ap_victimgNBSetID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_GNBSetID }, + { &hf_f1ap_rIMRSDetectionStatus, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_RIMRSDetectionStatus }, + { &hf_f1ap_aggressorCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_AggressorCellList }, { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_RLCFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_DUCURIMInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_RLCFailureIndication, RLCFailureIndication_sequence); + ett_f1ap_DUCURIMInformation, DUCURIMInformation_sequence); return offset; } -static const per_sequence_t RLC_Status_sequence[] = { - { &hf_f1ap_reestablishment_Indication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Reestablishment_Indication }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string f1ap_DUCURadioInformationType_vals[] = { + { 0, "rIM" }, + { 1, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t DUCURadioInformationType_choice[] = { + { 0, &hf_f1ap_rIM_01 , ASN1_NO_EXTENSIONS , dissect_f1ap_DUCURIMInformation }, + { 1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } }; static int -dissect_f1ap_RLC_Status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_RLC_Status, RLC_Status_sequence); +dissect_f1ap_DUCURadioInformationType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_DUCURadioInformationType, DUCURadioInformationType_choice, + NULL); return offset; } @@ -6221,66 +7597,15 @@ dissect_f1ap_RLC_Status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, static int -dissect_f1ap_RRCContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 763 "./asn1/f1ap/f1ap.cnf" +dissect_f1ap_MeasGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1289 "./asn1/f1ap/f1ap.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); if (param_tvb) { - proto_tree *subtree; - f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); - - subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RRCContainer); - switch (f1ap_data->message_type) { - case INITIATING_MESSAGE: - switch (f1ap_data->procedure_code) { - case id_InitialULRRCMessageTransfer: - col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/"); - col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL); - call_dissector(nr_rrc_ul_ccch_handle, param_tvb, actx->pinfo, subtree); - break; - case id_ULRRCMessageTransfer: - switch (f1ap_data->srb_id) { - case 1: - case 2: - case 3: - col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/"); - col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL); - add_nr_pdcp_meta_data(actx->pinfo, PDCP_NR_DIRECTION_UPLINK, f1ap_data->srb_id); - call_dissector(nr_pdcp_handle, param_tvb, actx->pinfo, subtree); - break; - default: - break; - } - break; - case id_DLRRCMessageTransfer: - case id_UEContextRelease: - switch (f1ap_data->srb_id) { - case 0: - col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/"); - col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL); - call_dissector(nr_rrc_dl_ccch_handle, param_tvb, actx->pinfo, subtree); - break; - case 1: - case 2: - case 3: - col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/"); - col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL); - add_nr_pdcp_meta_data(actx->pinfo, PDCP_NR_DIRECTION_DOWNLINK, f1ap_data->srb_id); - call_dissector(nr_pdcp_handle, param_tvb, actx->pinfo, subtree); - break; - default: - break; - } - break; - default: - break; - } - break; - default: - break; - } + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MeasGapConfig); + dissect_nr_rrc_MeasGapConfig_PDU(param_tvb, actx->pinfo, subtree, NULL); } @@ -6291,18 +7616,15 @@ dissect_f1ap_RRCContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U static int -dissect_f1ap_RRCContainer_RRCSetupComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 826 "./asn1/f1ap/f1ap.cnf" +dissect_f1ap_T_requestedP_MaxFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1305 "./asn1/f1ap/f1ap.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); if (param_tvb) { - proto_tree *subtree; - subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RRCContainer_RRCSetupComplete); - col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/"); - col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL); - call_dissector(nr_rrc_ul_dcch_handle, param_tvb, actx->pinfo, subtree); + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_requestedP_MaxFR1); + dissect_nr_rrc_P_Max_PDU(param_tvb, actx->pinfo, subtree, NULL); } @@ -6311,184 +7633,180 @@ dissect_f1ap_RRCContainer_RRCSetupComplete(tvbuff_t *tvb _U_, int offset _U_, as } -static const per_sequence_t RRCDeliveryStatus_sequence[] = { - { &hf_f1ap_delivery_status, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_PDCP_SN }, - { &hf_f1ap_triggering_message, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_PDCP_SN }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t DUtoCURRCInformation_sequence[] = { + { &hf_f1ap_cellGroupConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_CellGroupConfig }, + { &hf_f1ap_measGapConfig , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_MeasGapConfig }, + { &hf_f1ap_requestedP_MaxFR1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_T_requestedP_MaxFR1 }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_RRCDeliveryStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_DUtoCURRCInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_RRCDeliveryStatus, RRCDeliveryStatus_sequence); + ett_f1ap_DUtoCURRCInformation, DUtoCURRCInformation_sequence); return offset; } -static const value_string f1ap_RRCDeliveryStatusRequest_vals[] = { +static const value_string f1ap_DuplicationIndication_vals[] = { { 0, "true" }, + { 1, "false" }, { 0, NULL } }; static int -dissect_f1ap_RRCDeliveryStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_DuplicationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 0, NULL); + 1, NULL, TRUE, 1, NULL); return offset; } -static const value_string f1ap_RRCReconfigurationCompleteIndicator_vals[] = { - { 0, "true" }, - { 1, "failure" }, +static const value_string f1ap_DuplicationState_vals[] = { + { 0, "active" }, + { 1, "inactive" }, { 0, NULL } }; static int -dissect_f1ap_RRCReconfigurationCompleteIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_DuplicationState(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 1, NULL); + 2, NULL, TRUE, 0, NULL); return offset; } +static const value_string f1ap_T_resourceType_vals[] = { + { 0, "gbr" }, + { 1, "non-gbr" }, + { 2, "delay-critical-grb" }, + { 0, NULL } +}; + static int -dissect_f1ap_BIT_STRING_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 3, 3, FALSE, NULL, 0, NULL, NULL); +dissect_f1ap_T_resourceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t RRC_Version_sequence[] = { - { &hf_f1ap_latest_RRC_Version, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BIT_STRING_SIZE_3 }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_RRC_Version(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_RRC_Version, RRC_Version_sequence); +dissect_f1ap_INTEGER_1_8_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 8U, NULL, TRUE); return offset; } +static const per_sequence_t DynamicPQIDescriptor_sequence[] = { + { &hf_f1ap_resourceType , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_T_resourceType }, + { &hf_f1ap_qoSPriorityLevel_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_8_ }, + { &hf_f1ap_packetDelayBudget, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_PacketDelayBudget }, + { &hf_f1ap_packetErrorRate, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_PacketErrorRate }, + { &hf_f1ap_averagingWindow, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_AveragingWindow }, + { &hf_f1ap_maxDataBurstVolume, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_MaxDataBurstVolume }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_Latest_RRC_Version_Enhanced(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1081 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - 3, 3, FALSE, ¶m_tvb); - - - -#line 1084 "./asn1/f1ap/f1ap.cnf" - if (param_tvb) { - proto_item_set_text(actx->created_item, "%u.%u.%u", tvb_get_guint8(param_tvb, 0), tvb_get_guint8(param_tvb, 1), tvb_get_guint8(param_tvb, 2)); - } - +dissect_f1ap_DynamicPQIDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_DynamicPQIDescriptor, DynamicPQIDescriptor_sequence); return offset; } -static const per_sequence_t SCell_FailedtoSetup_Item_sequence[] = { - { &hf_f1ap_sCell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_cause , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_Cause }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t SliceSupportItem_sequence[] = { + { &hf_f1ap_sNSSAI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAI }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_SCell_FailedtoSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_SliceSupportItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SCell_FailedtoSetup_Item, SCell_FailedtoSetup_Item_sequence); + ett_f1ap_SliceSupportItem, SliceSupportItem_sequence); return offset; } -static const per_sequence_t SCell_FailedtoSetupMod_Item_sequence[] = { - { &hf_f1ap_sCell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_cause , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_Cause }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const per_sequence_t SliceSupportList_sequence_of[1] = { + { &hf_f1ap_SliceSupportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SliceSupportItem }, }; static int -dissect_f1ap_SCell_FailedtoSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SCell_FailedtoSetupMod_Item, SCell_FailedtoSetupMod_Item_sequence); +dissect_f1ap_SliceSupportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_SliceSupportList, SliceSupportList_sequence_of, + 1, maxnoofSliceItems, FALSE); return offset; } -static const per_sequence_t SCell_ToBeRemoved_Item_sequence[] = { - { &hf_f1ap_sCell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, +static const per_sequence_t ExtendedServedPLMNs_Item_sequence[] = { + { &hf_f1ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity }, + { &hf_f1ap_tAISliceSupportList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_SliceSupportList }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_SCell_ToBeRemoved_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_ExtendedServedPLMNs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SCell_ToBeRemoved_Item, SCell_ToBeRemoved_Item_sequence); + ett_f1ap_ExtendedServedPLMNs_Item, ExtendedServedPLMNs_Item_sequence); return offset; } +static const per_sequence_t ExtendedServedPLMNs_List_sequence_of[1] = { + { &hf_f1ap_ExtendedServedPLMNs_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ExtendedServedPLMNs_Item }, +}; static int -dissect_f1ap_SCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 31U, NULL, TRUE); +dissect_f1ap_ExtendedServedPLMNs_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_f1ap_ExtendedServedPLMNs_List, ExtendedServedPLMNs_List_sequence_of, + 1, maxnoofExtendedBPLMNs, FALSE); return offset; } -static const per_sequence_t SCell_ToBeSetup_Item_sequence[] = { - { &hf_f1ap_sCell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_sCellIndex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SCellIndex }, - { &hf_f1ap_sCellULConfigured, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_CellULConfigured }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const per_sequence_t ExtendedSliceSupportList_sequence_of[1] = { + { &hf_f1ap_ExtendedSliceSupportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SliceSupportItem }, }; static int -dissect_f1ap_SCell_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SCell_ToBeSetup_Item, SCell_ToBeSetup_Item_sequence); +dissect_f1ap_ExtendedSliceSupportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_ExtendedSliceSupportList, ExtendedSliceSupportList_sequence_of, + 1, maxnoofExtSliceItems, FALSE); return offset; } -static const per_sequence_t SCell_ToBeSetupMod_Item_sequence[] = { - { &hf_f1ap_sCell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_sCellIndex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SCellIndex }, - { &hf_f1ap_sCellULConfigured, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_CellULConfigured }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_SCell_ToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SCell_ToBeSetupMod_Item, SCell_ToBeSetupMod_Item_sequence); +dissect_f1ap_EUTRA_Cell_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 28, 28, FALSE, NULL, 0, NULL, NULL); return offset; } @@ -6496,126 +7814,129 @@ dissect_f1ap_SCell_ToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx static int -dissect_f1ap_SelectedBandCombinationIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, NULL); +dissect_f1ap_OffsetToPointA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 2199U, NULL, TRUE); return offset; } +static const per_sequence_t EUTRA_FDD_Info_sequence[] = { + { &hf_f1ap_uL_offsetToPointA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_OffsetToPointA }, + { &hf_f1ap_dL_offsetToPointA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_OffsetToPointA }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_SelectedFeatureSetEntryIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, NULL); +dissect_f1ap_EUTRA_FDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_EUTRA_FDD_Info, EUTRA_FDD_Info_sequence); return offset; } +static const per_sequence_t EUTRA_TDD_Info_sequence[] = { + { &hf_f1ap_offsetToPointA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_OffsetToPointA }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 31U, NULL, TRUE); +dissect_f1ap_EUTRA_TDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_EUTRA_TDD_Info, EUTRA_TDD_Info_sequence); return offset; } +static const value_string f1ap_EUTRA_Mode_Info_vals[] = { + { 0, "eUTRAFDD" }, + { 1, "eUTRATDD" }, + { 2, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t EUTRA_Mode_Info_choice[] = { + { 0, &hf_f1ap_eUTRAFDD , ASN1_NO_EXTENSIONS , dissect_f1ap_EUTRA_FDD_Info }, + { 1, &hf_f1ap_eUTRATDD , ASN1_NO_EXTENSIONS , dissect_f1ap_EUTRA_TDD_Info }, + { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } +}; static int -dissect_f1ap_ServingCellMO(tvbuff_t *tvb _U_, int offset _U_, 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, TRUE); +dissect_f1ap_EUTRA_Mode_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_EUTRA_Mode_Info, EUTRA_Mode_Info_choice, + NULL); return offset; } -static const per_sequence_t Served_Cells_To_Add_Item_sequence[] = { - { &hf_f1ap_served_Cell_Information, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Served_Cell_Information }, - { &hf_f1ap_gNB_DU_System_Information, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_GNB_DU_System_Information }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_Served_Cells_To_Add_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Served_Cells_To_Add_Item, Served_Cells_To_Add_Item_sequence); - - return offset; -} +dissect_f1ap_ProtectedEUTRAResourceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1423 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ProtectedEUTRAResourceIndication); + dissect_x2ap_ProtectedEUTRAResourceIndication_PDU(param_tvb, actx->pinfo, subtree, NULL); + } -static const per_sequence_t Served_Cells_To_Delete_Item_sequence[] = { - { &hf_f1ap_oldNRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; -static int -dissect_f1ap_Served_Cells_To_Delete_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Served_Cells_To_Delete_Item, Served_Cells_To_Delete_Item_sequence); return offset; } -static const per_sequence_t Served_Cells_To_Modify_Item_sequence[] = { - { &hf_f1ap_oldNRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, - { &hf_f1ap_served_Cell_Information, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Served_Cell_Information }, - { &hf_f1ap_gNB_DU_System_Information, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_GNB_DU_System_Information }, +static const per_sequence_t Served_EUTRA_Cells_Information_sequence[] = { + { &hf_f1ap_eUTRA_Mode_Info_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_Mode_Info }, + { &hf_f1ap_protectedEUTRAResourceIndication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtectedEUTRAResourceIndication }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_Served_Cells_To_Modify_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_Served_EUTRA_Cells_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Served_Cells_To_Modify_Item, Served_Cells_To_Modify_Item_sequence); - - return offset; -} - - - -static int -dissect_f1ap_SItype(tvbuff_t *tvb _U_, int offset _U_, 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, TRUE); + ett_f1ap_Served_EUTRA_Cells_Information, Served_EUTRA_Cells_Information_sequence); return offset; } -static const per_sequence_t SItype_Item_sequence[] = { - { &hf_f1ap_sItype , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SItype }, +static const per_sequence_t EUTRACells_List_item_sequence[] = { + { &hf_f1ap_eUTRA_Cell_ID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_Cell_ID }, + { &hf_f1ap_served_EUTRA_Cells_Information, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Served_EUTRA_Cells_Information }, { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_SItype_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_EUTRACells_List_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SItype_Item, SItype_Item_sequence); + ett_f1ap_EUTRACells_List_item, EUTRACells_List_item_sequence); return offset; } -static const per_sequence_t SItype_List_sequence_of[1] = { - { &hf_f1ap_SItype_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SItype_Item }, +static const per_sequence_t EUTRACells_List_sequence_of[1] = { + { &hf_f1ap_EUTRACells_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRACells_List_item }, }; static int -dissect_f1ap_SItype_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_EUTRACells_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_f1ap_SItype_List, SItype_List_sequence_of, - 1, maxnoofSITypes, FALSE); + ett_f1ap_EUTRACells_List, EUTRACells_List_sequence_of, + 1, maxCellineNB, FALSE); return offset; } @@ -6623,171 +7944,211 @@ dissect_f1ap_SItype_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ static int -dissect_f1ap_SRBID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 822 "./asn1/f1ap/f1ap.cnf" - f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); +dissect_f1ap_ExtendedEARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 3U, &f1ap_data->srb_id, TRUE); + 0U, 262143U, NULL, FALSE); + return offset; +} + + +static const value_string f1ap_EUTRA_Transmission_Bandwidth_vals[] = { + { 0, "bw6" }, + { 1, "bw15" }, + { 2, "bw25" }, + { 3, "bw50" }, + { 4, "bw75" }, + { 5, "bw100" }, + { 0, NULL } +}; +static int +dissect_f1ap_EUTRA_Transmission_Bandwidth(tvbuff_t *tvb _U_, int offset _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 SRBs_FailedToBeSetup_Item_sequence[] = { - { &hf_f1ap_sRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID }, - { &hf_f1ap_cause , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_Cause }, +static const per_sequence_t EUTRA_Coex_FDD_Info_sequence[] = { + { &hf_f1ap_uL_EARFCN , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ExtendedEARFCN }, + { &hf_f1ap_dL_EARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ExtendedEARFCN }, + { &hf_f1ap_uL_Transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_EUTRA_Transmission_Bandwidth }, + { &hf_f1ap_dL_Transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_Transmission_Bandwidth }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_SRBs_FailedToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_EUTRA_Coex_FDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SRBs_FailedToBeSetup_Item, SRBs_FailedToBeSetup_Item_sequence); + ett_f1ap_EUTRA_Coex_FDD_Info, EUTRA_Coex_FDD_Info_sequence); return offset; } -static const per_sequence_t SRBs_FailedToBeSetupMod_Item_sequence[] = { - { &hf_f1ap_sRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID }, - { &hf_f1ap_cause , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_Cause }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string f1ap_EUTRA_SubframeAssignment_vals[] = { + { 0, "sa0" }, + { 1, "sa1" }, + { 2, "sa2" }, + { 3, "sa3" }, + { 4, "sa4" }, + { 5, "sa5" }, + { 6, "sa6" }, + { 0, NULL } }; + static int -dissect_f1ap_SRBs_FailedToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SRBs_FailedToBeSetupMod_Item, SRBs_FailedToBeSetupMod_Item_sequence); +dissect_f1ap_EUTRA_SubframeAssignment(tvbuff_t *tvb _U_, int offset _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, TRUE, 0, NULL); return offset; } -static const per_sequence_t SRBs_Modified_Item_sequence[] = { - { &hf_f1ap_sRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID }, - { &hf_f1ap_lCID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_LCID }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string f1ap_EUTRA_SpecialSubframePatterns_vals[] = { + { 0, "ssp0" }, + { 1, "ssp1" }, + { 2, "ssp2" }, + { 3, "ssp3" }, + { 4, "ssp4" }, + { 5, "ssp5" }, + { 6, "ssp6" }, + { 7, "ssp7" }, + { 8, "ssp8" }, + { 9, "ssp9" }, + { 10, "ssp10" }, + { 0, NULL } }; + static int -dissect_f1ap_SRBs_Modified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SRBs_Modified_Item, SRBs_Modified_Item_sequence); +dissect_f1ap_EUTRA_SpecialSubframePatterns(tvbuff_t *tvb _U_, int offset _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, TRUE, 0, NULL); return offset; } -static const per_sequence_t SRBs_Required_ToBeReleased_Item_sequence[] = { - { &hf_f1ap_sRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string f1ap_EUTRA_CyclicPrefixDL_vals[] = { + { 0, "normal" }, + { 1, "extended" }, + { 0, NULL } }; + static int -dissect_f1ap_SRBs_Required_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SRBs_Required_ToBeReleased_Item, SRBs_Required_ToBeReleased_Item_sequence); +dissect_f1ap_EUTRA_CyclicPrefixDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t SRBs_Setup_Item_sequence[] = { - { &hf_f1ap_sRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID }, - { &hf_f1ap_lCID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_LCID }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string f1ap_EUTRA_CyclicPrefixUL_vals[] = { + { 0, "normal" }, + { 1, "extended" }, + { 0, NULL } }; + static int -dissect_f1ap_SRBs_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SRBs_Setup_Item, SRBs_Setup_Item_sequence); +dissect_f1ap_EUTRA_CyclicPrefixUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t SRBs_SetupMod_Item_sequence[] = { - { &hf_f1ap_sRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID }, - { &hf_f1ap_lCID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_LCID }, +static const per_sequence_t EUTRA_SpecialSubframe_Info_sequence[] = { + { &hf_f1ap_specialSubframePatterns, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_SpecialSubframePatterns }, + { &hf_f1ap_cyclicPrefixDL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_CyclicPrefixDL }, + { &hf_f1ap_cyclicPrefixUL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_CyclicPrefixUL }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_SRBs_SetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_EUTRA_SpecialSubframe_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SRBs_SetupMod_Item, SRBs_SetupMod_Item_sequence); + ett_f1ap_EUTRA_SpecialSubframe_Info, EUTRA_SpecialSubframe_Info_sequence); return offset; } -static const per_sequence_t SRBs_ToBeReleased_Item_sequence[] = { - { &hf_f1ap_sRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID }, +static const per_sequence_t EUTRA_Coex_TDD_Info_sequence[] = { + { &hf_f1ap_eARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ExtendedEARFCN }, + { &hf_f1ap_transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_Transmission_Bandwidth }, + { &hf_f1ap_subframeAssignment, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_SubframeAssignment }, + { &hf_f1ap_specialSubframe_Info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_SpecialSubframe_Info }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_SRBs_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_EUTRA_Coex_TDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SRBs_ToBeReleased_Item, SRBs_ToBeReleased_Item_sequence); + ett_f1ap_EUTRA_Coex_TDD_Info, EUTRA_Coex_TDD_Info_sequence); return offset; } -static const per_sequence_t SRBs_ToBeSetup_Item_sequence[] = { - { &hf_f1ap_sRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID }, - { &hf_f1ap_duplicationIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_DuplicationIndication }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string f1ap_EUTRA_Coex_Mode_Info_vals[] = { + { 0, "fDD" }, + { 1, "tDD" }, + { 0, NULL } +}; + +static const per_choice_t EUTRA_Coex_Mode_Info_choice[] = { + { 0, &hf_f1ap_fDD , ASN1_EXTENSION_ROOT , dissect_f1ap_EUTRA_Coex_FDD_Info }, + { 1, &hf_f1ap_tDD , ASN1_EXTENSION_ROOT , dissect_f1ap_EUTRA_Coex_TDD_Info }, + { 0, NULL, 0, NULL } }; static int -dissect_f1ap_SRBs_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SRBs_ToBeSetup_Item, SRBs_ToBeSetup_Item_sequence); +dissect_f1ap_EUTRA_Coex_Mode_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_EUTRA_Coex_Mode_Info, EUTRA_Coex_Mode_Info_choice, + NULL); return offset; } -static const per_sequence_t SRBs_ToBeSetupMod_Item_sequence[] = { - { &hf_f1ap_sRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID }, - { &hf_f1ap_duplicationIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_DuplicationIndication }, - { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_SRBs_ToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SRBs_ToBeSetupMod_Item, SRBs_ToBeSetupMod_Item_sequence); +dissect_f1ap_INTEGER_0_837(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 837U, NULL, FALSE); return offset; } -static const value_string f1ap_SULAccessIndication_vals[] = { - { 0, "true" }, - { 0, NULL } -}; + +static int +dissect_f1ap_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 15U, NULL, FALSE); + + return offset; +} + static int -dissect_f1ap_SULAccessIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 0, NULL); +dissect_f1ap_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL); return offset; } @@ -6795,45 +8156,43 @@ dissect_f1ap_SULAccessIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * static int -dissect_f1ap_SystemInformationAreaID(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); +dissect_f1ap_INTEGER_0_94(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 94U, NULL, FALSE); return offset; } -static const value_string f1ap_TimeToWait_vals[] = { - { 0, "v1s" }, - { 1, "v2s" }, - { 2, "v5s" }, - { 3, "v10s" }, - { 4, "v20s" }, - { 5, "v60s" }, - { 0, NULL } +static const per_sequence_t EUTRA_PRACH_Configuration_sequence[] = { + { &hf_f1ap_rootSequenceIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_837 }, + { &hf_f1ap_zeroCorrelationIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_15 }, + { &hf_f1ap_highSpeedFlag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_BOOLEAN }, + { &hf_f1ap_prach_FreqOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_94 }, + { &hf_f1ap_prach_ConfigIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_INTEGER_0_63 }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; - static int -dissect_f1ap_TimeToWait(tvbuff_t *tvb _U_, int offset _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); +dissect_f1ap_EUTRA_PRACH_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_EUTRA_PRACH_Configuration, EUTRA_PRACH_Configuration_sequence); return offset; } -static const value_string f1ap_TransmissionActionIndicator_vals[] = { - { 0, "stop" }, - { 1, "restart" }, +static const value_string f1ap_ExecuteDuplication_vals[] = { + { 0, "true" }, { 0, NULL } }; static int -dissect_f1ap_TransmissionActionIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_ExecuteDuplication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 1, NULL); + 1, NULL, TRUE, 0, NULL); return offset; } @@ -6841,27 +8200,54 @@ dissect_f1ap_TransmissionActionIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1 static int -dissect_f1ap_UACReductionIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_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); +dissect_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1050 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container); + dissect_x2ap_EUTRANRCellResourceCoordinationRequest_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + return offset; } -static const value_string f1ap_UACAction_vals[] = { - { 0, "reject-non-emergency-mo-dt" }, - { 1, "reject-rrc-cr-signalling" }, - { 2, "permit-emergency-sessions-and-mobile-terminated-services-only" }, - { 3, "permit-high-priority-sessions-and-mobile-terminated-services-only" }, + +static int +dissect_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1058 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container); + dissect_x2ap_EUTRANRCellResourceCoordinationResponse_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + +static const value_string f1ap_EventType_vals[] = { + { 0, "on-demand" }, + { 1, "periodic" }, + { 2, "stop" }, { 0, NULL } }; static int -dissect_f1ap_UACAction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_EventType(tvbuff_t *tvb _U_, int offset _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); + 3, NULL, TRUE, 0, NULL); return offset; } @@ -6869,9 +8255,9 @@ dissect_f1ap_UACAction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, static int -dissect_f1ap_INTEGER_32_63_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_ExtendedPacketDelayBudget(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 32U, 63U, NULL, TRUE); + 1U, 65535U, NULL, TRUE); return offset; } @@ -6879,1868 +8265,2120 @@ dissect_f1ap_INTEGER_32_63_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int -dissect_f1ap_BIT_STRING_SIZE_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 7, 7, FALSE, NULL, 0, NULL, NULL); +dissect_f1ap_INTEGER_0_maxNRARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxNRARFCN, NULL, FALSE); return offset; } -static const per_sequence_t UACOperatorDefined_sequence[] = { - { &hf_f1ap_accessCategory , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_32_63_ }, - { &hf_f1ap_accessIdentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BIT_STRING_SIZE_7 }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string f1ap_NRSCS_vals[] = { + { 0, "scs15" }, + { 1, "scs30" }, + { 2, "scs60" }, + { 3, "scs120" }, + { 0, NULL } }; + static int -dissect_f1ap_UACOperatorDefined(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_UACOperatorDefined, UACOperatorDefined_sequence); +dissect_f1ap_NRSCS(tvbuff_t *tvb _U_, int offset _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 value_string f1ap_UACCategoryType_vals[] = { - { 0, "uACstandardized" }, - { 1, "uACOperatorDefined" }, - { 2, "choice-extension" }, +static const value_string f1ap_NRNRB_vals[] = { + { 0, "nrb11" }, + { 1, "nrb18" }, + { 2, "nrb24" }, + { 3, "nrb25" }, + { 4, "nrb31" }, + { 5, "nrb32" }, + { 6, "nrb38" }, + { 7, "nrb51" }, + { 8, "nrb52" }, + { 9, "nrb65" }, + { 10, "nrb66" }, + { 11, "nrb78" }, + { 12, "nrb79" }, + { 13, "nrb93" }, + { 14, "nrb106" }, + { 15, "nrb107" }, + { 16, "nrb121" }, + { 17, "nrb132" }, + { 18, "nrb133" }, + { 19, "nrb135" }, + { 20, "nrb160" }, + { 21, "nrb162" }, + { 22, "nrb189" }, + { 23, "nrb216" }, + { 24, "nrb217" }, + { 25, "nrb245" }, + { 26, "nrb264" }, + { 27, "nrb270" }, + { 28, "nrb273" }, { 0, NULL } }; -static const per_choice_t UACCategoryType_choice[] = { - { 0, &hf_f1ap_uACstandardized, ASN1_NO_EXTENSIONS , dissect_f1ap_UACAction }, - { 1, &hf_f1ap_uACOperatorDefined, ASN1_NO_EXTENSIONS , dissect_f1ap_UACOperatorDefined }, - { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, - { 0, NULL, 0, NULL } -}; +static value_string_ext f1ap_NRNRB_vals_ext = VALUE_STRING_EXT_INIT(f1ap_NRNRB_vals); + static int -dissect_f1ap_UACCategoryType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_f1ap_UACCategoryType, UACCategoryType_choice, - NULL); +dissect_f1ap_NRNRB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 29, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t UACType_Item_sequence[] = { - { &hf_f1ap_uACReductionIndication, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_UACReductionIndication }, - { &hf_f1ap_uACCategoryType, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_UACCategoryType }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, +static const per_sequence_t Transmission_Bandwidth_sequence[] = { + { &hf_f1ap_nRSCS_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRSCS }, + { &hf_f1ap_nRNRB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRNRB }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_UACType_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_Transmission_Bandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_UACType_Item, UACType_Item_sequence); + ett_f1ap_Transmission_Bandwidth, Transmission_Bandwidth_sequence); return offset; } -static const per_sequence_t UACType_List_sequence_of[1] = { - { &hf_f1ap_UACType_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_UACType_Item }, +static const per_sequence_t SUL_Information_sequence[] = { + { &hf_f1ap_sUL_NRARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_maxNRARFCN }, + { &hf_f1ap_sUL_transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Transmission_Bandwidth }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_UACType_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_f1ap_UACType_List, UACType_List_sequence_of, - 1, maxnoofUACperPLMN, FALSE); +dissect_f1ap_SUL_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SUL_Information, SUL_Information_sequence); return offset; } -static const per_sequence_t UACPLMN_Item_sequence[] = { - { &hf_f1ap_pLMNIdentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity }, - { &hf_f1ap_uACType_List , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_UACType_List }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_UACPLMN_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_UACPLMN_Item, UACPLMN_Item_sequence); +dissect_f1ap_INTEGER_1_1024_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 1024U, NULL, TRUE); return offset; } -static const per_sequence_t UACPLMN_List_sequence_of[1] = { - { &hf_f1ap_UACPLMN_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_UACPLMN_Item }, +static const per_sequence_t SupportedSULFreqBandItem_sequence[] = { + { &hf_f1ap_freqBandIndicatorNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_1024_ }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_UACPLMN_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_f1ap_UACPLMN_List, UACPLMN_List_sequence_of, - 1, maxnoofUACPLMNs, FALSE); +dissect_f1ap_SupportedSULFreqBandItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SupportedSULFreqBandItem, SupportedSULFreqBandItem_sequence); return offset; } -static const per_sequence_t UAC_Assistance_Info_sequence[] = { - { &hf_f1ap_uACPLMN_List , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_UACPLMN_List }, - { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const per_sequence_t SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem_sequence_of[1] = { + { &hf_f1ap_supportedSULBandList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SupportedSULFreqBandItem }, }; static int -dissect_f1ap_UAC_Assistance_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_UAC_Assistance_Info, UAC_Assistance_Info_sequence); +dissect_f1ap_SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem, SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem_sequence_of, + 0, maxnoofNrCellBands, FALSE); return offset; } -static const per_sequence_t UE_associatedLogicalF1_ConnectionItem_sequence[] = { - { &hf_f1ap_gNB_CU_UE_F1AP_ID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_GNB_CU_UE_F1AP_ID }, - { &hf_f1ap_gNB_DU_UE_F1AP_ID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_GNB_DU_UE_F1AP_ID }, +static const per_sequence_t FreqBandNrItem_sequence[] = { + { &hf_f1ap_freqBandIndicatorNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_1024_ }, + { &hf_f1ap_supportedSULBandList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem }, { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_UE_associatedLogicalF1_ConnectionItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_FreqBandNrItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_UE_associatedLogicalF1_ConnectionItem, UE_associatedLogicalF1_ConnectionItem_sequence); + ett_f1ap_FreqBandNrItem, FreqBandNrItem_sequence); return offset; } +static const per_sequence_t SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem_sequence_of[1] = { + { &hf_f1ap_freqBandListNr_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_FreqBandNrItem }, +}; static int -dissect_f1ap_UEAssistanceInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1183 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); - - if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UEAssistanceInformation); - dissect_nr_rrc_UEAssistanceInformation_PDU(param_tvb, actx->pinfo, subtree, NULL); - } - - +dissect_f1ap_SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem, SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem_sequence_of, + 1, maxnoofNrCellBands, FALSE); return offset; } -static const value_string f1ap_UEContextNotRetrievable_vals[] = { - { 0, "true" }, - { 0, NULL } +static const per_sequence_t NRFreqInfo_sequence[] = { + { &hf_f1ap_nRARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_maxNRARFCN }, + { &hf_f1ap_sul_Information, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_SUL_Information }, + { &hf_f1ap_freqBandListNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; - static int -dissect_f1ap_UEContextNotRetrievable(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 0, NULL); +dissect_f1ap_NRFreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_NRFreqInfo, NRFreqInfo_sequence); return offset; } +static const per_sequence_t FDD_Info_sequence[] = { + { &hf_f1ap_uL_NRFreqInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRFreqInfo }, + { &hf_f1ap_dL_NRFreqInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRFreqInfo }, + { &hf_f1ap_uL_Transmission_Bandwidth_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Transmission_Bandwidth }, + { &hf_f1ap_dL_Transmission_Bandwidth_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Transmission_Bandwidth }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_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); +dissect_f1ap_FDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_FDD_Info, FDD_Info_sequence); return offset; } -static const value_string f1ap_UEIdentityIndexValue_vals[] = { - { 0, "indexLength10" }, - { 1, "choice-extension" }, +static const value_string f1ap_T_restrictedSetConfig_vals[] = { + { 0, "unrestrictedSet" }, + { 1, "restrictedSetTypeA" }, + { 2, "restrictedSetTypeB" }, { 0, NULL } }; -static const per_choice_t UEIdentityIndexValue_choice[] = { - { 0, &hf_f1ap_indexLength10 , ASN1_NO_EXTENSIONS , dissect_f1ap_BIT_STRING_SIZE_10 }, - { 1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, - { 0, NULL, 0, NULL } -}; static int -dissect_f1ap_UEIdentityIndexValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_f1ap_UEIdentityIndexValue, UEIdentityIndexValue_choice, - NULL); +dissect_f1ap_T_restrictedSetConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, TRUE, 0, NULL); return offset; } +static const per_sequence_t L839Info_sequence[] = { + { &hf_f1ap_rootSequenceIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_837 }, + { &hf_f1ap_restrictedSetConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_T_restrictedSetConfig }, + { &hf_f1ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_UplinkTxDirectCurrentListInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1073 "./asn1/f1ap/f1ap.cnf" - tvbuff_t *param_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); - - if (param_tvb) { - proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UplinkTxDirectCurrentListInformation); - dissect_nr_rrc_UplinkTxDirectCurrentList_PDU(param_tvb, actx->pinfo, subtree, NULL); - } - - +dissect_f1ap_L839Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_L839Info, L839Info_sequence); return offset; } -static const per_sequence_t Reset_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } +static const value_string f1ap_T_msg1SCS_vals[] = { + { 0, "scs15" }, + { 1, "scs30" }, + { 2, "scs60" }, + { 3, "scs120" }, + { 0, NULL } }; -static int -dissect_f1ap_Reset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1191 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Reset"); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Reset, Reset_sequence); +static int +dissect_f1ap_T_msg1SCS(tvbuff_t *tvb _U_, int offset _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 value_string f1ap_ResetAll_vals[] = { - { 0, "reset-all" }, - { 0, NULL } -}; - static int -dissect_f1ap_ResetAll(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, TRUE, 0, NULL); +dissect_f1ap_INTEGER_0_137(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 137U, NULL, FALSE); return offset; } -static const per_sequence_t UE_associatedLogicalF1_ConnectionListRes_sequence_of[1] = { - { &hf_f1ap_UE_associatedLogicalF1_ConnectionListRes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t L139Info_sequence[] = { + { &hf_f1ap_msg1SCS , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_T_msg1SCS }, + { &hf_f1ap_rootSequenceIndex_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_INTEGER_0_137 }, + { &hf_f1ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_UE_associatedLogicalF1_ConnectionListRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_f1ap_UE_associatedLogicalF1_ConnectionListRes, UE_associatedLogicalF1_ConnectionListRes_sequence_of, - 1, maxnoofIndividualF1ConnectionsToReset, FALSE); +dissect_f1ap_L139Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_L139Info, L139Info_sequence); return offset; } -static const value_string f1ap_ResetType_vals[] = { - { 0, "f1-Interface" }, - { 1, "partOfF1-Interface" }, +static const value_string f1ap_FreqDomainLength_vals[] = { + { 0, "l839" }, + { 1, "l139" }, { 2, "choice-extension" }, { 0, NULL } }; -static const per_choice_t ResetType_choice[] = { - { 0, &hf_f1ap_f1_Interface , ASN1_NO_EXTENSIONS , dissect_f1ap_ResetAll }, - { 1, &hf_f1ap_partOfF1_Interface, ASN1_NO_EXTENSIONS , dissect_f1ap_UE_associatedLogicalF1_ConnectionListRes }, +static const per_choice_t FreqDomainLength_choice[] = { + { 0, &hf_f1ap_l839 , ASN1_NO_EXTENSIONS , dissect_f1ap_L839Info }, + { 1, &hf_f1ap_l139 , ASN1_NO_EXTENSIONS , dissect_f1ap_L139Info }, { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, { 0, NULL, 0, NULL } }; static int -dissect_f1ap_ResetType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_FreqDomainLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_f1ap_ResetType, ResetType_choice, + ett_f1ap_FreqDomainLength, FreqDomainLength_choice, NULL); return offset; } -static const per_sequence_t ResetAcknowledge_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } +static const value_string f1ap_FrequencyShift7p5khz_vals[] = { + { 0, "false" }, + { 1, "true" }, + { 0, NULL } }; -static int -dissect_f1ap_ResetAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1193 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetAcknowledge"); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_ResetAcknowledge, ResetAcknowledge_sequence); +static int +dissect_f1ap_FrequencyShift7p5khz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t UE_associatedLogicalF1_ConnectionListResAck_sequence_of[1] = { - { &hf_f1ap_UE_associatedLogicalF1_ConnectionListResAck_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_FullConfiguration_vals[] = { + { 0, "full" }, + { 0, NULL } }; + static int -dissect_f1ap_UE_associatedLogicalF1_ConnectionListResAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_f1ap_UE_associatedLogicalF1_ConnectionListResAck, UE_associatedLogicalF1_ConnectionListResAck_sequence_of, - 1, maxnoofIndividualF1ConnectionsToReset, FALSE); +dissect_f1ap_FullConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t ErrorIndication_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1243 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication"); - - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_ErrorIndication, ErrorIndication_sequence); +dissect_f1ap_PC5QoSFlowIdentifier(tvbuff_t *tvb _U_, int offset _U_, 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, 2048U, NULL, FALSE); return offset; } -static const per_sequence_t F1SetupRequest_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, +static const per_sequence_t FlowsMappedToSLDRB_Item_sequence[] = { + { &hf_f1ap_pc5QoSFlowIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5QoSFlowIdentifier }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_F1SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1195 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1SetupRequest"); - +dissect_f1ap_FlowsMappedToSLDRB_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_F1SetupRequest, F1SetupRequest_sequence); + ett_f1ap_FlowsMappedToSLDRB_Item, FlowsMappedToSLDRB_Item_sequence); return offset; } -static const per_sequence_t GNB_DU_Served_Cells_List_sequence_of[1] = { - { &hf_f1ap_GNB_DU_Served_Cells_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t FlowsMappedToSLDRB_List_sequence_of[1] = { + { &hf_f1ap_FlowsMappedToSLDRB_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_FlowsMappedToSLDRB_Item }, }; static int -dissect_f1ap_GNB_DU_Served_Cells_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_FlowsMappedToSLDRB_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_f1ap_GNB_DU_Served_Cells_List, GNB_DU_Served_Cells_List_sequence_of, - 1, maxCellingNBDU, FALSE); + ett_f1ap_FlowsMappedToSLDRB_List, FlowsMappedToSLDRB_List_sequence_of, + 1, maxnoofPC5QoSFlows, FALSE); return offset; } -static const per_sequence_t F1SetupResponse_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_F1SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1197 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1SetupResponse"); +dissect_f1ap_CG_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1233 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_CG_Config); + dissect_nr_rrc_CG_Config_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_F1SetupResponse, F1SetupResponse_sequence); return offset; } -static const per_sequence_t Cells_to_be_Activated_List_sequence_of[1] = { - { &hf_f1ap_Cells_to_be_Activated_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, -}; static int -dissect_f1ap_Cells_to_be_Activated_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_f1ap_Cells_to_be_Activated_List, Cells_to_be_Activated_List_sequence_of, - 1, maxCellingNBDU, FALSE); +dissect_f1ap_GNBCUMeasurementID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 4095U, NULL, TRUE); return offset; } -static const per_sequence_t F1SetupFailure_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_F1SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1199 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1SetupFailure"); - - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_F1SetupFailure, F1SetupFailure_sequence); +dissect_f1ap_GNBDUMeasurementID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 4095U, NULL, TRUE); return offset; } -static const per_sequence_t GNBDUConfigurationUpdate_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_GNBDUConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1201 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUConfigurationUpdate"); - - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GNBDUConfigurationUpdate, GNBDUConfigurationUpdate_sequence); - - return offset; -} +dissect_f1ap_T_sIBtype(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1331 "./asn1/f1ap/f1ap.cnf" + f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 2U, 32U, &f1ap_data->sib_type, TRUE); -static const per_sequence_t Served_Cells_To_Add_List_sequence_of[1] = { - { &hf_f1ap_Served_Cells_To_Add_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, -}; -static int -dissect_f1ap_Served_Cells_To_Add_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_f1ap_Served_Cells_To_Add_List, Served_Cells_To_Add_List_sequence_of, - 1, maxCellingNBDU, FALSE); return offset; } -static const per_sequence_t Served_Cells_To_Modify_List_sequence_of[1] = { - { &hf_f1ap_Served_Cells_To_Modify_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, -}; static int -dissect_f1ap_Served_Cells_To_Modify_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_f1ap_Served_Cells_To_Modify_List, Served_Cells_To_Modify_List_sequence_of, - 1, maxCellingNBDU, FALSE); +dissect_f1ap_T_sIBmessage_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1335 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sIBmessage); + switch (f1ap_data->sib_type) { + case 2: + dissect_nr_rrc_SIB2_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 3: + dissect_nr_rrc_SIB3_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 4: + dissect_nr_rrc_SIB4_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 5: + dissect_nr_rrc_SIB5_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 6: + dissect_nr_rrc_SIB6_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 7: + dissect_nr_rrc_SIB7_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 8: + dissect_nr_rrc_SIB8_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 9: + dissect_nr_rrc_SIB9_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 10: + dissect_nr_rrc_SIB10_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 11: + dissect_nr_rrc_SIB11_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 12: + dissect_nr_rrc_SIB12_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 13: + dissect_nr_rrc_SIB13_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 14: + dissect_nr_rrc_SIB14_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + default: + break; + } + } + + return offset; } -static const per_sequence_t Served_Cells_To_Delete_List_sequence_of[1] = { - { &hf_f1ap_Served_Cells_To_Delete_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, -}; static int -dissect_f1ap_Served_Cells_To_Delete_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_f1ap_Served_Cells_To_Delete_List, Served_Cells_To_Delete_List_sequence_of, - 1, maxCellingNBDU, FALSE); +dissect_f1ap_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, TRUE); return offset; } -static const per_sequence_t Cells_Status_List_sequence_of[1] = { - { &hf_f1ap_Cells_Status_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t SibtypetobeupdatedListItem_sequence[] = { + { &hf_f1ap_sIBtype_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_T_sIBtype }, + { &hf_f1ap_sIBmessage_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_T_sIBmessage_01 }, + { &hf_f1ap_valueTag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_31_ }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_Cells_Status_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_f1ap_Cells_Status_List, Cells_Status_List_sequence_of, - 0, maxCellingNBDU, FALSE); +dissect_f1ap_SibtypetobeupdatedListItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SibtypetobeupdatedListItem, SibtypetobeupdatedListItem_sequence); return offset; } -static const per_sequence_t Dedicated_SIDelivery_NeededUE_List_sequence_of[1] = { - { &hf_f1ap_Dedicated_SIDelivery_NeededUE_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t SEQUENCE_SIZE_1_maxnoofSIBTypes_OF_SibtypetobeupdatedListItem_sequence_of[1] = { + { &hf_f1ap_sibtypetobeupdatedlist_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SibtypetobeupdatedListItem }, }; static int -dissect_f1ap_Dedicated_SIDelivery_NeededUE_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_SEQUENCE_SIZE_1_maxnoofSIBTypes_OF_SibtypetobeupdatedListItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_f1ap_Dedicated_SIDelivery_NeededUE_List, Dedicated_SIDelivery_NeededUE_List_sequence_of, - 1, maxnoofUEIDs, FALSE); + ett_f1ap_SEQUENCE_SIZE_1_maxnoofSIBTypes_OF_SibtypetobeupdatedListItem, SEQUENCE_SIZE_1_maxnoofSIBTypes_OF_SibtypetobeupdatedListItem_sequence_of, + 1, maxnoofSIBTypes, FALSE); return offset; } -static const per_sequence_t GNB_DU_TNL_Association_To_Remove_List_sequence_of[1] = { - { &hf_f1ap_GNB_DU_TNL_Association_To_Remove_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t GNB_CUSystemInformation_sequence[] = { + { &hf_f1ap_sibtypetobeupdatedlist, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SEQUENCE_SIZE_1_maxnoofSIBTypes_OF_SibtypetobeupdatedListItem }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_GNB_DU_TNL_Association_To_Remove_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_f1ap_GNB_DU_TNL_Association_To_Remove_List, GNB_DU_TNL_Association_To_Remove_List_sequence_of, - 1, maxnoofTNLAssociations, FALSE); +dissect_f1ap_GNB_CUSystemInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GNB_CUSystemInformation, GNB_CUSystemInformation_sequence); return offset; } -static const per_sequence_t GNBDUConfigurationUpdateAcknowledge_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, +static const per_sequence_t GNB_CU_TNL_Association_Setup_Item_sequence[] = { + { &hf_f1ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CP_TransportLayerAddress }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_GNBDUConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1203 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUConfigurationUpdateAcknowledge"); - +dissect_f1ap_GNB_CU_TNL_Association_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GNBDUConfigurationUpdateAcknowledge, GNBDUConfigurationUpdateAcknowledge_sequence); + ett_f1ap_GNB_CU_TNL_Association_Setup_Item, GNB_CU_TNL_Association_Setup_Item_sequence); return offset; } -static const per_sequence_t GNBDUConfigurationUpdateFailure_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, +static const per_sequence_t GNB_CU_TNL_Association_Failed_To_Setup_Item_sequence[] = { + { &hf_f1ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CP_TransportLayerAddress }, + { &hf_f1ap_cause , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Cause }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_GNBDUConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1205 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUConfigurationUpdateFailure"); - +dissect_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GNBDUConfigurationUpdateFailure, GNBDUConfigurationUpdateFailure_sequence); + ett_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_Item, GNB_CU_TNL_Association_Failed_To_Setup_Item_sequence); return offset; } -static const per_sequence_t GNBCUConfigurationUpdate_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } +static const value_string f1ap_TNLAssociationUsage_vals[] = { + { 0, "ue" }, + { 1, "non-ue" }, + { 2, "both" }, + { 0, NULL } }; -static int -dissect_f1ap_GNBCUConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1207 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBCUConfigurationUpdate"); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GNBCUConfigurationUpdate, GNBCUConfigurationUpdate_sequence); +static int +dissect_f1ap_TNLAssociationUsage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t Cells_to_be_Deactivated_List_sequence_of[1] = { - { &hf_f1ap_Cells_to_be_Deactivated_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t GNB_CU_TNL_Association_To_Add_Item_sequence[] = { + { &hf_f1ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CP_TransportLayerAddress }, + { &hf_f1ap_tNLAssociationUsage, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_TNLAssociationUsage }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_Cells_to_be_Deactivated_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_f1ap_Cells_to_be_Deactivated_List, Cells_to_be_Deactivated_List_sequence_of, - 1, maxCellingNBDU, FALSE); +dissect_f1ap_GNB_CU_TNL_Association_To_Add_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GNB_CU_TNL_Association_To_Add_Item, GNB_CU_TNL_Association_To_Add_Item_sequence); return offset; } -static const per_sequence_t GNB_CU_TNL_Association_To_Add_List_sequence_of[1] = { - { &hf_f1ap_GNB_CU_TNL_Association_To_Add_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t GNB_CU_TNL_Association_To_Remove_Item_sequence[] = { + { &hf_f1ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CP_TransportLayerAddress }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_GNB_CU_TNL_Association_To_Add_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_f1ap_GNB_CU_TNL_Association_To_Add_List, GNB_CU_TNL_Association_To_Add_List_sequence_of, - 1, maxnoofTNLAssociations, FALSE); +dissect_f1ap_GNB_CU_TNL_Association_To_Remove_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GNB_CU_TNL_Association_To_Remove_Item, GNB_CU_TNL_Association_To_Remove_Item_sequence); return offset; } -static const per_sequence_t GNB_CU_TNL_Association_To_Remove_List_sequence_of[1] = { - { &hf_f1ap_GNB_CU_TNL_Association_To_Remove_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t GNB_CU_TNL_Association_To_Update_Item_sequence[] = { + { &hf_f1ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CP_TransportLayerAddress }, + { &hf_f1ap_tNLAssociationUsage, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_TNLAssociationUsage }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_GNB_CU_TNL_Association_To_Remove_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_f1ap_GNB_CU_TNL_Association_To_Remove_List, GNB_CU_TNL_Association_To_Remove_List_sequence_of, - 1, maxnoofTNLAssociations, FALSE); +dissect_f1ap_GNB_CU_TNL_Association_To_Update_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GNB_CU_TNL_Association_To_Update_Item, GNB_CU_TNL_Association_To_Update_Item_sequence); return offset; } -static const per_sequence_t GNB_CU_TNL_Association_To_Update_List_sequence_of[1] = { - { &hf_f1ap_GNB_CU_TNL_Association_To_Update_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, -}; static int -dissect_f1ap_GNB_CU_TNL_Association_To_Update_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_f1ap_GNB_CU_TNL_Association_To_Update_List, GNB_CU_TNL_Association_To_Update_List_sequence_of, - 1, maxnoofTNLAssociations, FALSE); +dissect_f1ap_GNB_DU_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_64b(tvb, offset, actx, tree, hf_index, + 0U, G_GUINT64_CONSTANT(68719476735), NULL, FALSE); return offset; } -static const per_sequence_t Cells_to_be_Barred_List_sequence_of[1] = { - { &hf_f1ap_Cells_to_be_Barred_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, -}; static int -dissect_f1ap_Cells_to_be_Barred_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_f1ap_Cells_to_be_Barred_List, Cells_to_be_Barred_List_sequence_of, - 1, maxCellingNBDU, FALSE); +dissect_f1ap_GNB_CU_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index, + 1, 150, TRUE); return offset; } -static const per_sequence_t Protected_EUTRA_Resources_List_sequence_of[1] = { - { &hf_f1ap_Protected_EUTRA_Resources_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, -}; static int -dissect_f1ap_Protected_EUTRA_Resources_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_f1ap_Protected_EUTRA_Resources_List, Protected_EUTRA_Resources_List_sequence_of, - 1, maxCellineNB, FALSE); +dissect_f1ap_GNB_DU_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index, + 1, 150, TRUE); return offset; } -static const per_sequence_t GNBCUConfigurationUpdateAcknowledge_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_GNBCUConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1209 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBCUConfigurationUpdateAcknowledge"); +dissect_f1ap_Configured_EPS_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1324 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *parameter_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, + 2, 2, FALSE, ¶meter_tvb); + + if (parameter_tvb) { + actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN); + } + - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GNBCUConfigurationUpdateAcknowledge, GNBCUConfigurationUpdateAcknowledge_sequence); return offset; } -static const per_sequence_t Cells_Failed_to_be_Activated_List_sequence_of[1] = { - { &hf_f1ap_Cells_Failed_to_be_Activated_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t TDD_Info_sequence[] = { + { &hf_f1ap_nRFreqInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRFreqInfo }, + { &hf_f1ap_transmission_Bandwidth_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Transmission_Bandwidth }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_Cells_Failed_to_be_Activated_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_f1ap_Cells_Failed_to_be_Activated_List, Cells_Failed_to_be_Activated_List_sequence_of, - 1, maxCellingNBDU, FALSE); +dissect_f1ap_TDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_TDD_Info, TDD_Info_sequence); return offset; } -static const per_sequence_t GNB_CU_TNL_Association_Setup_List_sequence_of[1] = { - { &hf_f1ap_GNB_CU_TNL_Association_Setup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_NR_Mode_Info_vals[] = { + { 0, "fDD" }, + { 1, "tDD" }, + { 2, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t NR_Mode_Info_choice[] = { + { 0, &hf_f1ap_fDD_02 , ASN1_NO_EXTENSIONS , dissect_f1ap_FDD_Info }, + { 1, &hf_f1ap_tDD_02 , ASN1_NO_EXTENSIONS , dissect_f1ap_TDD_Info }, + { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } }; static int -dissect_f1ap_GNB_CU_TNL_Association_Setup_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_f1ap_GNB_CU_TNL_Association_Setup_List, GNB_CU_TNL_Association_Setup_List_sequence_of, - 1, maxnoofTNLAssociations, FALSE); +dissect_f1ap_NR_Mode_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_NR_Mode_Info, NR_Mode_Info_choice, + NULL); return offset; } -static const per_sequence_t GNB_CU_TNL_Association_Failed_To_Setup_List_sequence_of[1] = { - { &hf_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, -}; static int -dissect_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_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_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List, GNB_CU_TNL_Association_Failed_To_Setup_List_sequence_of, - 1, maxnoofTNLAssociations, FALSE); +dissect_f1ap_T_measurementTimingConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1188 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_measurementTimingConfiguration); + dissect_nr_rrc_MeasurementTimingConfiguration_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + return offset; } -static const per_sequence_t GNBCUConfigurationUpdateFailure_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, +static const per_sequence_t Served_Cell_Information_sequence[] = { + { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_nRPCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRPCI }, + { &hf_f1ap_fiveGS_TAC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_FiveGS_TAC }, + { &hf_f1ap_configured_EPS_TAC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_Configured_EPS_TAC }, + { &hf_f1ap_servedPLMNs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ServedPLMNs_List }, + { &hf_f1ap_nR_Mode_Info , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NR_Mode_Info }, + { &hf_f1ap_measurementTimingConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_T_measurementTimingConfiguration }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_GNBCUConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1211 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBCUConfigurationUpdateFailure"); - +dissect_f1ap_Served_Cell_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GNBCUConfigurationUpdateFailure, GNBCUConfigurationUpdateFailure_sequence); + ett_f1ap_Served_Cell_Information, Served_Cell_Information_sequence); return offset; } -static const per_sequence_t GNBDUResourceCoordinationRequest_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_GNBDUResourceCoordinationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1255 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUResourceCoordinationRequest"); +dissect_f1ap_MIB_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1214 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MIB_message); + dissect_nr_rrc_MIB_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GNBDUResourceCoordinationRequest, GNBDUResourceCoordinationRequest_sequence); return offset; } -static const per_sequence_t GNBDUResourceCoordinationResponse_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_GNBDUResourceCoordinationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1257 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUResourceCoordinationResponse"); +dissect_f1ap_SIB1_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1222 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB1_message); + dissect_nr_rrc_SIB1_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GNBDUResourceCoordinationResponse, GNBDUResourceCoordinationResponse_sequence); return offset; } -static const per_sequence_t UEContextSetupRequest_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, +static const per_sequence_t GNB_DU_System_Information_sequence[] = { + { &hf_f1ap_mIB_message , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_MIB_message }, + { &hf_f1ap_sIB1_message , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SIB1_message }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_UEContextSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1213 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSetupRequest"); - +dissect_f1ap_GNB_DU_System_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_UEContextSetupRequest, UEContextSetupRequest_sequence); + ett_f1ap_GNB_DU_System_Information, GNB_DU_System_Information_sequence); return offset; } -static const per_sequence_t Candidate_SpCell_List_sequence_of[1] = { - { &hf_f1ap_Candidate_SpCell_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t GNB_DU_Served_Cells_Item_sequence[] = { + { &hf_f1ap_served_Cell_Information, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Served_Cell_Information }, + { &hf_f1ap_gNB_DU_System_Information, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_GNB_DU_System_Information }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_Candidate_SpCell_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_f1ap_Candidate_SpCell_List, Candidate_SpCell_List_sequence_of, - 1, maxnoofCandidateSpCells, FALSE); +dissect_f1ap_GNB_DU_Served_Cells_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GNB_DU_Served_Cells_Item, GNB_DU_Served_Cells_Item_sequence); return offset; } -static const per_sequence_t SCell_ToBeSetup_List_sequence_of[1] = { - { &hf_f1ap_SCell_ToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_GNB_DUConfigurationQuery_vals[] = { + { 0, "true" }, + { 0, NULL } }; + static int -dissect_f1ap_SCell_ToBeSetup_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_f1ap_SCell_ToBeSetup_List, SCell_ToBeSetup_List_sequence_of, - 1, maxnoofSCells, FALSE); +dissect_f1ap_GNB_DUConfigurationQuery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t SRBs_ToBeSetup_List_sequence_of[1] = { - { &hf_f1ap_SRBs_ToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_GNBDUOverloadInformation_vals[] = { + { 0, "overloaded" }, + { 1, "not-overloaded" }, + { 0, NULL } }; + static int -dissect_f1ap_SRBs_ToBeSetup_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_f1ap_SRBs_ToBeSetup_List, SRBs_ToBeSetup_List_sequence_of, - 1, maxnoofSRBs, FALSE); +dissect_f1ap_GNBDUOverloadInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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 DRBs_ToBeSetup_List_sequence_of[1] = { - { &hf_f1ap_DRBs_ToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t GNB_DU_TNL_Association_To_Remove_Item_sequence[] = { + { &hf_f1ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_CP_TransportLayerAddress }, + { &hf_f1ap_tNLAssociationTransportLayerAddressgNBCU, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_CP_TransportLayerAddress }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_DRBs_ToBeSetup_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_f1ap_DRBs_ToBeSetup_List, DRBs_ToBeSetup_List_sequence_of, - 1, maxnoofDRBs, FALSE); +dissect_f1ap_GNB_DU_TNL_Association_To_Remove_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GNB_DU_TNL_Association_To_Remove_Item, GNB_DU_TNL_Association_To_Remove_Item_sequence); return offset; } -static const per_sequence_t UEContextSetupResponse_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, +static const per_sequence_t GTPTLA_Item_sequence[] = { + { &hf_f1ap_gTPTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_UEContextSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1215 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSetupResponse"); - +dissect_f1ap_GTPTLA_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_UEContextSetupResponse, UEContextSetupResponse_sequence); + ett_f1ap_GTPTLA_Item, GTPTLA_Item_sequence); return offset; } -static const per_sequence_t DRBs_Setup_List_sequence_of[1] = { - { &hf_f1ap_DRBs_Setup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t GTPTLAs_sequence_of[1] = { + { &hf_f1ap_GTPTLAs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_GTPTLA_Item }, }; static int -dissect_f1ap_DRBs_Setup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_GTPTLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_f1ap_DRBs_Setup_List, DRBs_Setup_List_sequence_of, - 1, maxnoofDRBs, FALSE); + ett_f1ap_GTPTLAs, GTPTLAs_sequence_of, + 1, maxnoofGTPTLAs, FALSE); return offset; } -static const per_sequence_t SRBs_FailedToBeSetup_List_sequence_of[1] = { - { &hf_f1ap_SRBs_FailedToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, -}; static int -dissect_f1ap_SRBs_FailedToBeSetup_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_f1ap_SRBs_FailedToBeSetup_List, SRBs_FailedToBeSetup_List_sequence_of, - 1, maxnoofSRBs, FALSE); +dissect_f1ap_HandoverPreparationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1265 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_HandoverPreparationInformation); + dissect_nr_rrc_HandoverPreparationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + return offset; } -static const per_sequence_t DRBs_FailedToBeSetup_List_sequence_of[1] = { - { &hf_f1ap_DRBs_FailedToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, -}; static int -dissect_f1ap_DRBs_FailedToBeSetup_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_f1ap_DRBs_FailedToBeSetup_List, DRBs_FailedToBeSetup_List_sequence_of, - 1, maxnoofDRBs, FALSE); +dissect_f1ap_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, TRUE); return offset; } -static const per_sequence_t SCell_FailedtoSetup_List_sequence_of[1] = { - { &hf_f1ap_SCell_FailedtoSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t HardwareLoadIndicator_sequence[] = { + { &hf_f1ap_dLHardwareLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100_ }, + { &hf_f1ap_uLHardwareLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100_ }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_SCell_FailedtoSetup_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_f1ap_SCell_FailedtoSetup_List, SCell_FailedtoSetup_List_sequence_of, - 1, maxnoofSCells, FALSE); +dissect_f1ap_HardwareLoadIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_HardwareLoadIndicator, HardwareLoadIndicator_sequence); return offset; } -static const per_sequence_t SRBs_Setup_List_sequence_of[1] = { - { &hf_f1ap_SRBs_Setup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_IAB_Barred_vals[] = { + { 0, "barred" }, + { 1, "not-barred" }, + { 0, NULL } }; + static int -dissect_f1ap_SRBs_Setup_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_f1ap_SRBs_Setup_List, SRBs_Setup_List_sequence_of, - 1, maxnoofSRBs, FALSE); +dissect_f1ap_IAB_Barred(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t UEContextSetupFailure_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, +static const per_sequence_t IAB_Info_IAB_donor_CU_sequence[] = { + { &hf_f1ap_iAB_STC_Info , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_IAB_STC_Info }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_UEContextSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1217 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSetupFailure"); - +dissect_f1ap_IAB_Info_IAB_donor_CU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_UEContextSetupFailure, UEContextSetupFailure_sequence); + ett_f1ap_IAB_Info_IAB_donor_CU, IAB_Info_IAB_donor_CU_sequence); return offset; } -static const per_sequence_t Potential_SpCell_List_sequence_of[1] = { - { &hf_f1ap_Potential_SpCell_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t IAB_Info_IAB_DU_sequence[] = { + { &hf_f1ap_multiplexingInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_MultiplexingInfo }, + { &hf_f1ap_iAB_STC_Info , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_IAB_STC_Info }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_Potential_SpCell_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_f1ap_Potential_SpCell_List, Potential_SpCell_List_sequence_of, - 0, maxnoofPotentialSpCells, FALSE); +dissect_f1ap_IAB_Info_IAB_DU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_IAB_Info_IAB_DU, IAB_Info_IAB_DU_sequence); return offset; } -static const per_sequence_t UEContextReleaseRequest_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } +static const value_string f1ap_IABTNLAddressUsage_vals[] = { + { 0, "f1-c" }, + { 1, "f1-u" }, + { 2, "non-f1" }, + { 0, NULL } }; -static int -dissect_f1ap_UEContextReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1245 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseRequest"); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_UEContextReleaseRequest, UEContextReleaseRequest_sequence); +static int +dissect_f1ap_IABTNLAddressUsage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t UEContextReleaseCommand_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, +static const per_sequence_t IAB_Allocated_TNL_Address_Item_sequence[] = { + { &hf_f1ap_iABTNLAddress , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_IABTNLAddress }, + { &hf_f1ap_iABTNLAddressUsage, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_IABTNLAddressUsage }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_UEContextReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1219 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseCommand"); - +dissect_f1ap_IAB_Allocated_TNL_Address_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_UEContextReleaseCommand, UEContextReleaseCommand_sequence); + ett_f1ap_IAB_Allocated_TNL_Address_Item, IAB_Allocated_TNL_Address_Item_sequence); return offset; } -static const per_sequence_t UEContextReleaseComplete_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_UEContextReleaseComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1221 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseComplete"); - - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_UEContextReleaseComplete, UEContextReleaseComplete_sequence); +dissect_f1ap_INTEGER_1_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 256U, NULL, FALSE); return offset; } -static const per_sequence_t UEContextModificationRequest_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, +static const per_sequence_t IABTNLAddressesRequested_sequence[] = { + { &hf_f1ap_tNLAddressesOrPrefixesRequestedAllTraffic, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_INTEGER_1_256 }, + { &hf_f1ap_tNLAddressesOrPrefixesRequestedF1_C, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_INTEGER_1_256 }, + { &hf_f1ap_tNLAddressesOrPrefixesRequestedF1_U, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_INTEGER_1_256 }, + { &hf_f1ap_tNLAddressesOrPrefixesRequestedNoNF1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_INTEGER_1_256 }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_UEContextModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1223 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRequest"); - +dissect_f1ap_IABTNLAddressesRequested(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_UEContextModificationRequest, UEContextModificationRequest_sequence); + ett_f1ap_IABTNLAddressesRequested, IABTNLAddressesRequested_sequence); return offset; } -static const per_sequence_t SCell_ToBeSetupMod_List_sequence_of[1] = { - { &hf_f1ap_SCell_ToBeSetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_IABIPv6RequestType_vals[] = { + { 0, "iPv6Address" }, + { 1, "iPv6Prefix" }, + { 2, "choice-extension" }, + { 0, NULL } }; -static int -dissect_f1ap_SCell_ToBeSetupMod_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_f1ap_SCell_ToBeSetupMod_List, SCell_ToBeSetupMod_List_sequence_of, - 1, maxnoofSCells, FALSE); +static const per_choice_t IABIPv6RequestType_choice[] = { + { 0, &hf_f1ap_iPv6Address , ASN1_NO_EXTENSIONS , dissect_f1ap_IABTNLAddressesRequested }, + { 1, &hf_f1ap_iPv6Prefix , ASN1_NO_EXTENSIONS , dissect_f1ap_IABTNLAddressesRequested }, + { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_f1ap_IABIPv6RequestType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_IABIPv6RequestType, IABIPv6RequestType_choice, + NULL); return offset; } -static const per_sequence_t SCell_ToBeRemoved_List_sequence_of[1] = { - { &hf_f1ap_SCell_ToBeRemoved_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t IAB_TNL_Addresses_To_Remove_Item_sequence[] = { + { &hf_f1ap_iABTNLAddress , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_IABTNLAddress }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_SCell_ToBeRemoved_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_f1ap_SCell_ToBeRemoved_List, SCell_ToBeRemoved_List_sequence_of, - 1, maxnoofSCells, FALSE); +dissect_f1ap_IAB_TNL_Addresses_To_Remove_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_IAB_TNL_Addresses_To_Remove_Item, IAB_TNL_Addresses_To_Remove_Item_sequence); return offset; } -static const per_sequence_t SRBs_ToBeSetupMod_List_sequence_of[1] = { - { &hf_f1ap_SRBs_ToBeSetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t IABv4AddressesRequested_sequence[] = { + { &hf_f1ap_iABv4AddressesRequested, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_IABTNLAddressesRequested }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_SRBs_ToBeSetupMod_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_f1ap_SRBs_ToBeSetupMod_List, SRBs_ToBeSetupMod_List_sequence_of, - 1, maxnoofSRBs, FALSE); +dissect_f1ap_IABv4AddressesRequested(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_IABv4AddressesRequested, IABv4AddressesRequested_sequence); return offset; } -static const per_sequence_t DRBs_ToBeSetupMod_List_sequence_of[1] = { - { &hf_f1ap_DRBs_ToBeSetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_IgnorePRACHConfiguration_vals[] = { + { 0, "true" }, + { 0, NULL } }; + static int -dissect_f1ap_DRBs_ToBeSetupMod_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_f1ap_DRBs_ToBeSetupMod_List, DRBs_ToBeSetupMod_List_sequence_of, - 1, maxnoofDRBs, FALSE); +dissect_f1ap_IgnorePRACHConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t DRBs_ToBeModified_List_sequence_of[1] = { - { &hf_f1ap_DRBs_ToBeModified_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_IgnoreResourceCoordinationContainer_vals[] = { + { 0, "yes" }, + { 0, NULL } }; + static int -dissect_f1ap_DRBs_ToBeModified_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_f1ap_DRBs_ToBeModified_List, DRBs_ToBeModified_List_sequence_of, - 1, maxnoofDRBs, FALSE); +dissect_f1ap_IgnoreResourceCoordinationContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t SRBs_ToBeReleased_List_sequence_of[1] = { - { &hf_f1ap_SRBs_ToBeReleased_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_InactivityMonitoringRequest_vals[] = { + { 0, "true" }, + { 0, NULL } }; + static int -dissect_f1ap_SRBs_ToBeReleased_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_f1ap_SRBs_ToBeReleased_List, SRBs_ToBeReleased_List_sequence_of, - 1, maxnoofSRBs, FALSE); +dissect_f1ap_InactivityMonitoringRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t DRBs_ToBeReleased_List_sequence_of[1] = { - { &hf_f1ap_DRBs_ToBeReleased_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_InactivityMonitoringResponse_vals[] = { + { 0, "not-supported" }, + { 0, NULL } }; + static int -dissect_f1ap_DRBs_ToBeReleased_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_f1ap_DRBs_ToBeReleased_List, DRBs_ToBeReleased_List_sequence_of, - 1, maxnoofDRBs, FALSE); +dissect_f1ap_InactivityMonitoringResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t UEContextModificationResponse_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_UEContextModificationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1225 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationResponse"); +dissect_f1ap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1616 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 8, 8, FALSE, NULL, 0, ¶m_tvb, NULL); + + if(param_tvb){ + static int * const fields[] = { + &hf_f1ap_interfacesToTrace_NG_C, + &hf_f1ap_interfacesToTrace_Xn_C, + &hf_f1ap_interfacesToTrace_Uu, + &hf_f1ap_interfacesToTrace_F1_C, + &hf_f1ap_interfacesToTrace_E1, + &hf_f1ap_interfacesToTrace_Reserved, + NULL + }; + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_InterfacesToTrace); + proto_tree_add_bitmask_list(subtree, param_tvb, 0, 1, fields, ENC_BIG_ENDIAN); + } + - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_UEContextModificationResponse, UEContextModificationResponse_sequence); return offset; } -static const per_sequence_t DRBs_SetupMod_List_sequence_of[1] = { - { &hf_f1ap_DRBs_SetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_T_nRSCS_vals[] = { + { 0, "scs15" }, + { 1, "scs30" }, + { 2, "scs60" }, + { 3, "scs120" }, + { 0, NULL } }; + static int -dissect_f1ap_DRBs_SetupMod_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_f1ap_DRBs_SetupMod_List, DRBs_SetupMod_List_sequence_of, - 1, maxnoofDRBs, FALSE); +dissect_f1ap_T_nRSCS(tvbuff_t *tvb _U_, int offset _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 DRBs_Modified_List_sequence_of[1] = { - { &hf_f1ap_DRBs_Modified_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_T_nRCP_vals[] = { + { 0, "normal" }, + { 1, "extended" }, + { 0, NULL } }; + static int -dissect_f1ap_DRBs_Modified_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_f1ap_DRBs_Modified_List, DRBs_Modified_List_sequence_of, - 1, maxnoofDRBs, FALSE); +dissect_f1ap_T_nRCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t SRBs_SetupMod_List_sequence_of[1] = { - { &hf_f1ap_SRBs_SetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_T_nRDLULTxPeriodicity_vals[] = { + { 0, "ms0p5" }, + { 1, "ms0p625" }, + { 2, "ms1" }, + { 3, "ms1p25" }, + { 4, "ms2" }, + { 5, "ms2p5" }, + { 6, "ms3" }, + { 7, "ms4" }, + { 8, "ms5" }, + { 9, "ms10" }, + { 10, "ms20" }, + { 11, "ms40" }, + { 12, "ms60" }, + { 13, "ms80" }, + { 14, "ms100" }, + { 15, "ms120" }, + { 16, "ms140" }, + { 17, "ms160" }, + { 0, NULL } }; + static int -dissect_f1ap_SRBs_SetupMod_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_f1ap_SRBs_SetupMod_List, SRBs_SetupMod_List_sequence_of, - 1, maxnoofSRBs, FALSE); +dissect_f1ap_T_nRDLULTxPeriodicity(tvbuff_t *tvb _U_, int offset _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, TRUE, 0, NULL); return offset; } -static const per_sequence_t SRBs_Modified_List_sequence_of[1] = { - { &hf_f1ap_SRBs_Modified_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, -}; static int -dissect_f1ap_SRBs_Modified_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_f1ap_SRBs_Modified_List, SRBs_Modified_List_sequence_of, - 1, maxnoofSRBs, FALSE); +dissect_f1ap_INTEGER_0_319_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 319U, NULL, TRUE); return offset; } -static const per_sequence_t DRBs_FailedToBeModified_List_sequence_of[1] = { - { &hf_f1ap_DRBs_FailedToBeModified_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, -}; static int -dissect_f1ap_DRBs_FailedToBeModified_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_f1ap_DRBs_FailedToBeModified_List, DRBs_FailedToBeModified_List_sequence_of, - 1, maxnoofDRBs, FALSE); +dissect_f1ap_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_null(tvb, offset, actx, tree, hf_index); return offset; } -static const per_sequence_t SRBs_FailedToBeSetupMod_List_sequence_of[1] = { - { &hf_f1ap_SRBs_FailedToBeSetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, + +static int +dissect_f1ap_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, TRUE); + + return offset; +} + + +static const per_sequence_t NumDLULSymbols_sequence[] = { + { &hf_f1ap_numDLSymbols , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_13_ }, + { &hf_f1ap_numULSymbols , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_13_ }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_SRBs_FailedToBeSetupMod_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_f1ap_SRBs_FailedToBeSetupMod_List, SRBs_FailedToBeSetupMod_List_sequence_of, - 1, maxnoofSRBs, FALSE); +dissect_f1ap_NumDLULSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_NumDLULSymbols, NumDLULSymbols_sequence); return offset; } -static const per_sequence_t DRBs_FailedToBeSetupMod_List_sequence_of[1] = { - { &hf_f1ap_DRBs_FailedToBeSetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_SymbolAllocInSlot_vals[] = { + { 0, "all-DL" }, + { 1, "all-UL" }, + { 2, "both-DL-and-UL" }, + { 3, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t SymbolAllocInSlot_choice[] = { + { 0, &hf_f1ap_all_DL , ASN1_NO_EXTENSIONS , dissect_f1ap_NULL }, + { 1, &hf_f1ap_all_UL , ASN1_NO_EXTENSIONS , dissect_f1ap_NULL }, + { 2, &hf_f1ap_both_DL_and_UL , ASN1_NO_EXTENSIONS , dissect_f1ap_NumDLULSymbols }, + { 3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } }; static int -dissect_f1ap_DRBs_FailedToBeSetupMod_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_f1ap_DRBs_FailedToBeSetupMod_List, DRBs_FailedToBeSetupMod_List_sequence_of, - 1, maxnoofDRBs, FALSE); +dissect_f1ap_SymbolAllocInSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_SymbolAllocInSlot, SymbolAllocInSlot_choice, + NULL); return offset; } -static const per_sequence_t SCell_FailedtoSetupMod_List_sequence_of[1] = { - { &hf_f1ap_SCell_FailedtoSetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t Slot_Configuration_Item_sequence[] = { + { &hf_f1ap_slotIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_319_ }, + { &hf_f1ap_symbolAllocInSlot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SymbolAllocInSlot }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_SCell_FailedtoSetupMod_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_f1ap_SCell_FailedtoSetupMod_List, SCell_FailedtoSetupMod_List_sequence_of, - 1, maxnoofSCells, FALSE); +dissect_f1ap_Slot_Configuration_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Slot_Configuration_Item, Slot_Configuration_Item_sequence); return offset; } -static const per_sequence_t Associated_SCell_List_sequence_of[1] = { - { &hf_f1ap_Associated_SCell_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t Slot_Configuration_List_sequence_of[1] = { + { &hf_f1ap_Slot_Configuration_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Slot_Configuration_Item }, }; static int -dissect_f1ap_Associated_SCell_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_Slot_Configuration_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_f1ap_Associated_SCell_List, Associated_SCell_List_sequence_of, - 1, maxnoofSCells, FALSE); + ett_f1ap_Slot_Configuration_List, Slot_Configuration_List_sequence_of, + 1, maxnoofslots, FALSE); return offset; } -static const per_sequence_t UEContextModificationFailure_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, +static const per_sequence_t IntendedTDD_DL_ULConfig_sequence[] = { + { &hf_f1ap_nRSCS , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_T_nRSCS }, + { &hf_f1ap_nRCP , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_T_nRCP }, + { &hf_f1ap_nRDLULTxPeriodicity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_T_nRDLULTxPeriodicity }, + { &hf_f1ap_slot_Configuration_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Slot_Configuration_List }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_UEContextModificationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1227 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationFailure"); - +dissect_f1ap_IntendedTDD_DL_ULConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_UEContextModificationFailure, UEContextModificationFailure_sequence); + ett_f1ap_IntendedTDD_DL_ULConfig, IntendedTDD_DL_ULConfig_sequence); return offset; } -static const per_sequence_t UEContextModificationRequired_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } +static const value_string f1ap_LowerLayerPresenceStatusChange_vals[] = { + { 0, "suspend-lower-layers" }, + { 1, "resume-lower-layers" }, + { 0, NULL } }; -static int -dissect_f1ap_UEContextModificationRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1229 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRequired"); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_UEContextModificationRequired, UEContextModificationRequired_sequence); +static int +dissect_f1ap_LowerLayerPresenceStatusChange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t DRBs_Required_ToBeModified_List_sequence_of[1] = { - { &hf_f1ap_DRBs_Required_ToBeModified_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t LTEUESidelinkAggregateMaximumBitrate_sequence[] = { + { &hf_f1ap_uELTESidelinkAggregateMaximumBitrate, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_DRBs_Required_ToBeModified_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_f1ap_DRBs_Required_ToBeModified_List, DRBs_Required_ToBeModified_List_sequence_of, - 1, maxnoofDRBs, FALSE); +dissect_f1ap_LTEUESidelinkAggregateMaximumBitrate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_LTEUESidelinkAggregateMaximumBitrate, LTEUESidelinkAggregateMaximumBitrate_sequence); return offset; } -static const per_sequence_t DRBs_Required_ToBeReleased_List_sequence_of[1] = { - { &hf_f1ap_DRBs_Required_ToBeReleased_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_VehicleUE_vals[] = { + { 0, "authorized" }, + { 1, "not-authorized" }, + { 0, NULL } }; + static int -dissect_f1ap_DRBs_Required_ToBeReleased_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_f1ap_DRBs_Required_ToBeReleased_List, DRBs_Required_ToBeReleased_List_sequence_of, - 1, maxnoofDRBs, FALSE); +dissect_f1ap_VehicleUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t SRBs_Required_ToBeReleased_List_sequence_of[1] = { - { &hf_f1ap_SRBs_Required_ToBeReleased_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_PedestrianUE_vals[] = { + { 0, "authorized" }, + { 1, "not-authorized" }, + { 0, NULL } }; + static int -dissect_f1ap_SRBs_Required_ToBeReleased_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_f1ap_SRBs_Required_ToBeReleased_List, SRBs_Required_ToBeReleased_List_sequence_of, - 1, maxnoofSRBs, FALSE); +dissect_f1ap_PedestrianUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t UEContextModificationConfirm_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, +static const per_sequence_t LTEV2XServicesAuthorized_sequence[] = { + { &hf_f1ap_vehicleUE , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_VehicleUE }, + { &hf_f1ap_pedestrianUE , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_PedestrianUE }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_UEContextModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1231 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationConfirm"); - +dissect_f1ap_LTEV2XServicesAuthorized(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_UEContextModificationConfirm, UEContextModificationConfirm_sequence); + ett_f1ap_LTEV2XServicesAuthorized, LTEV2XServicesAuthorized_sequence); return offset; } -static const per_sequence_t DRBs_ModifiedConf_List_sequence_of[1] = { - { &hf_f1ap_DRBs_ModifiedConf_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, -}; static int -dissect_f1ap_DRBs_ModifiedConf_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_f1ap_DRBs_ModifiedConf_List, DRBs_ModifiedConf_List_sequence_of, - 1, maxnoofDRBs, FALSE); +dissect_f1ap_MaskedIMEISV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 64, 64, FALSE, NULL, 0, NULL, NULL); return offset; } -static const per_sequence_t UEContextModificationRefuse_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_UEContextModificationRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1233 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRefuse"); +dissect_f1ap_MeasGapSharingConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1297 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MeasGapSharingConfig); + dissect_nr_rrc_MeasGapSharingConfig_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_UEContextModificationRefuse, UEContextModificationRefuse_sequence); return offset; } -static const per_sequence_t WriteReplaceWarningRequest_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_WriteReplaceWarningRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1235 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningRequest"); +dissect_f1ap_MeasurementTimingConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1281 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_measurementTimingConfiguration); + dissect_nr_rrc_MeasurementTimingConfiguration_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_WriteReplaceWarningRequest, WriteReplaceWarningRequest_sequence); return offset; } -static const per_sequence_t Cells_To_Be_Broadcast_List_sequence_of[1] = { - { &hf_f1ap_Cells_To_Be_Broadcast_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, -}; static int -dissect_f1ap_Cells_To_Be_Broadcast_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_f1ap_Cells_To_Be_Broadcast_List, Cells_To_Be_Broadcast_List_sequence_of, - 1, maxCellingNBDU, FALSE); +dissect_f1ap_MessageIdentifier(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 per_sequence_t WriteReplaceWarningResponse_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } +static const value_string f1ap_M2Configuration_vals[] = { + { 0, "true" }, + { 0, NULL } }; -static int -dissect_f1ap_WriteReplaceWarningResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1237 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningResponse"); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_WriteReplaceWarningResponse, WriteReplaceWarningResponse_sequence); +static int +dissect_f1ap_M2Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t Cells_Broadcast_Completed_List_sequence_of[1] = { - { &hf_f1ap_Cells_Broadcast_Completed_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_M5period_vals[] = { + { 0, "ms1024" }, + { 1, "ms2048" }, + { 2, "ms5120" }, + { 3, "ms10240" }, + { 4, "min1" }, + { 0, NULL } }; + static int -dissect_f1ap_Cells_Broadcast_Completed_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_f1ap_Cells_Broadcast_Completed_List, Cells_Broadcast_Completed_List_sequence_of, - 1, maxCellingNBDU, FALSE); +dissect_f1ap_M5period(tvbuff_t *tvb _U_, int offset _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 PWSCancelRequest_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } +static const value_string f1ap_M5_Links_to_log_vals[] = { + { 0, "uplink" }, + { 1, "downlink" }, + { 2, "both-uplink-and-downlink" }, + { 0, NULL } }; -static int -dissect_f1ap_PWSCancelRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1239 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSCancelRequest"); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_PWSCancelRequest, PWSCancelRequest_sequence); +static int +dissect_f1ap_M5_Links_to_log(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t Broadcast_To_Be_Cancelled_List_sequence_of[1] = { - { &hf_f1ap_Broadcast_To_Be_Cancelled_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t M5Configuration_sequence[] = { + { &hf_f1ap_m5period , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_M5period }, + { &hf_f1ap_m5_links_to_log, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_M5_Links_to_log }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_Broadcast_To_Be_Cancelled_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_f1ap_Broadcast_To_Be_Cancelled_List, Broadcast_To_Be_Cancelled_List_sequence_of, - 1, maxCellingNBDU, FALSE); +dissect_f1ap_M5Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_M5Configuration, M5Configuration_sequence); return offset; } -static const per_sequence_t PWSCancelResponse_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } +static const value_string f1ap_M6report_Interval_vals[] = { + { 0, "ms120" }, + { 1, "ms240" }, + { 2, "ms640" }, + { 3, "ms1024" }, + { 4, "ms2048" }, + { 5, "ms5120" }, + { 6, "ms10240" }, + { 7, "ms20480" }, + { 8, "ms40960" }, + { 9, "min1" }, + { 10, "min6" }, + { 11, "min12" }, + { 12, "min30" }, + { 0, NULL } }; -static int -dissect_f1ap_PWSCancelResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1241 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSCancelResponse"); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_PWSCancelResponse, PWSCancelResponse_sequence); +static int +dissect_f1ap_M6report_Interval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 13, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t Cells_Broadcast_Cancelled_List_sequence_of[1] = { - { &hf_f1ap_Cells_Broadcast_Cancelled_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_M6_Links_to_log_vals[] = { + { 0, "uplink" }, + { 1, "downlink" }, + { 2, "both-uplink-and-downlink" }, + { 0, NULL } }; + static int -dissect_f1ap_Cells_Broadcast_Cancelled_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_f1ap_Cells_Broadcast_Cancelled_List, Cells_Broadcast_Cancelled_List_sequence_of, - 1, maxCellingNBDU, FALSE); +dissect_f1ap_M6_Links_to_log(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t UEInactivityNotification_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, +static const per_sequence_t M6Configuration_sequence[] = { + { &hf_f1ap_m6report_Interval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_M6report_Interval }, + { &hf_f1ap_m6_links_to_log, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_M6_Links_to_log }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_UEInactivityNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1253 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEInactivityNotification"); - +dissect_f1ap_M6Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_UEInactivityNotification, UEInactivityNotification_sequence); + ett_f1ap_M6Configuration, M6Configuration_sequence); return offset; } -static const per_sequence_t DRB_Activity_List_sequence_of[1] = { - { &hf_f1ap_DRB_Activity_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, -}; static int -dissect_f1ap_DRB_Activity_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_f1ap_DRB_Activity_List, DRB_Activity_List_sequence_of, - 1, maxnoofDRBs, FALSE); +dissect_f1ap_M7period(tvbuff_t *tvb _U_, int offset _U_, 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, TRUE); return offset; } -static const per_sequence_t InitialULRRCMessageTransfer_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } +static const value_string f1ap_M7_Links_to_log_vals[] = { + { 0, "downlink" }, + { 0, NULL } }; -static int -dissect_f1ap_InitialULRRCMessageTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1247 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialULRRCMessageTransfer"); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_InitialULRRCMessageTransfer, InitialULRRCMessageTransfer_sequence); +static int +dissect_f1ap_M7_Links_to_log(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t DLRRCMessageTransfer_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, +static const per_sequence_t M7Configuration_sequence[] = { + { &hf_f1ap_m7period , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_M7period }, + { &hf_f1ap_m7_links_to_log, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_M7_Links_to_log }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_DLRRCMessageTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1249 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DLRRCMessageTransfer"); - +dissect_f1ap_M7Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_DLRRCMessageTransfer, DLRRCMessageTransfer_sequence); + ett_f1ap_M7Configuration, M7Configuration_sequence); return offset; } +static const value_string f1ap_MDT_Activation_vals[] = { + { 0, "immediate-MDT-only" }, + { 1, "immediate-MDT-and-Trace" }, + { 0, NULL } +}; + static int -dissect_f1ap_RedirectedRRCmessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, NULL); +dissect_f1ap_MDT_Activation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t ULRRCMessageTransfer_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } -}; static int -dissect_f1ap_ULRRCMessageTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1251 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULRRCMessageTransfer"); - - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_ULRRCMessageTransfer, ULRRCMessageTransfer_sequence); - - return offset; -} - +dissect_f1ap_MeasurementsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1636 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 8, 8, FALSE, NULL, 0, ¶m_tvb, NULL); -static const per_sequence_t PrivateMessage_sequence[] = { - { &hf_f1ap_privateIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PrivateIE_Container }, - { NULL, 0, 0, NULL } -}; + if (param_tvb) { + static int * const fields[] = { + &hf_f1ap_MeasurementsToActivate_Reserved1, + &hf_f1ap_MeasurementsToActivate_M2, + &hf_f1ap_MeasurementsToActivate_Reserved2, + &hf_f1ap_MeasurementsToActivate_M5, + &hf_f1ap_MeasurementsToActivate_Reserved3, + &hf_f1ap_MeasurementsToActivate_M6, + &hf_f1ap_MeasurementsToActivate_M7, + NULL + }; + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MeasurementsToActivate); + proto_tree_add_bitmask_list(subtree, param_tvb, 0, 1, fields, ENC_BIG_ENDIAN); + } -static int -dissect_f1ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1259 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage"); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_PrivateMessage, PrivateMessage_sequence); return offset; } -static const per_sequence_t SystemInformationDeliveryCommand_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, +static const per_sequence_t MDTConfiguration_sequence[] = { + { &hf_f1ap_mdt_Activation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_MDT_Activation }, + { &hf_f1ap_measurementsToActivate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_MeasurementsToActivate }, + { &hf_f1ap_m2Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_M2Configuration }, + { &hf_f1ap_m5Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_M5Configuration }, + { &hf_f1ap_m6Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_M6Configuration }, + { &hf_f1ap_m7Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_M7Configuration }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_SystemInformationDeliveryCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1261 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformationDeliveryCommand"); - +dissect_f1ap_MDTConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SystemInformationDeliveryCommand, SystemInformationDeliveryCommand_sequence); + ett_f1ap_MDTConfiguration, MDTConfiguration_sequence); return offset; } -static const per_sequence_t Paging_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } +static const per_sequence_t MDTPLMNList_sequence_of[1] = { + { &hf_f1ap_MDTPLMNList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity }, }; static int -dissect_f1ap_Paging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1263 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging"); - - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Paging, Paging_sequence); +dissect_f1ap_MDTPLMNList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_MDTPLMNList, MDTPLMNList_sequence_of, + 1, maxnoofMDTPLMNs, FALSE); return offset; } -static const per_sequence_t PagingCell_list_sequence_of[1] = { - { &hf_f1ap_PagingCell_list_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_NeedforGap_vals[] = { + { 0, "true" }, + { 0, NULL } }; + static int -dissect_f1ap_PagingCell_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_f1ap_PagingCell_list, PagingCell_list_sequence_of, - 1, maxnoofPagingCells, FALSE); +dissect_f1ap_NeedforGap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t Notify_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, +static const per_sequence_t Neighbour_Cell_Information_Item_sequence[] = { + { &hf_f1ap_nRCGI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_intendedTDD_DL_ULConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_IntendedTDD_DL_ULConfig }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_Notify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1265 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Notify"); - +dissect_f1ap_Neighbour_Cell_Information_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_Notify, Notify_sequence); + ett_f1ap_Neighbour_Cell_Information_Item, Neighbour_Cell_Information_Item_sequence); return offset; } -static const per_sequence_t DRB_Notify_List_sequence_of[1] = { - { &hf_f1ap_DRB_Notify_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_sequence_t NR_CGI_List_For_Restart_Item_sequence[] = { + { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_DRB_Notify_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_f1ap_DRB_Notify_List, DRB_Notify_List_sequence_of, - 1, maxnoofDRBs, FALSE); +dissect_f1ap_NR_CGI_List_For_Restart_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_NR_CGI_List_For_Restart_Item, NR_CGI_List_For_Restart_Item_sequence); return offset; } -static const per_sequence_t NetworkAccessRateReduction_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, +static const per_sequence_t NonDynamicPQIDescriptor_sequence[] = { + { &hf_f1ap_fiveQI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_255_ }, + { &hf_f1ap_qoSPriorityLevel_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_INTEGER_1_8_ }, + { &hf_f1ap_averagingWindow, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_AveragingWindow }, + { &hf_f1ap_maxDataBurstVolume, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_MaxDataBurstVolume }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_NetworkAccessRateReduction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1267 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NetworkAccessRateReduction"); - +dissect_f1ap_NonDynamicPQIDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_NetworkAccessRateReduction, NetworkAccessRateReduction_sequence); + ett_f1ap_NonDynamicPQIDescriptor, NonDynamicPQIDescriptor_sequence); return offset; } -static const per_sequence_t PWSRestartIndication_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } +static const value_string f1ap_NonUPTrafficType_vals[] = { + { 0, "ue-associated" }, + { 1, "non-ue-associated" }, + { 2, "non-f1" }, + { 3, "bap-control-pdu" }, + { 0, NULL } }; -static int -dissect_f1ap_PWSRestartIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1269 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSRestartIndication"); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_PWSRestartIndication, PWSRestartIndication_sequence); +static int +dissect_f1ap_NonUPTrafficType(tvbuff_t *tvb _U_, int offset _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 NR_CGI_List_For_Restart_List_sequence_of[1] = { - { &hf_f1ap_NR_CGI_List_For_Restart_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, + +static int +dissect_f1ap_SerialNumber(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 per_sequence_t NotificationInformation_sequence[] = { + { &hf_f1ap_message_Identifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_MessageIdentifier }, + { &hf_f1ap_serialNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SerialNumber }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } }; static int -dissect_f1ap_NR_CGI_List_For_Restart_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_f1ap_NR_CGI_List_For_Restart_List, NR_CGI_List_For_Restart_List_sequence_of, - 1, maxCellingNBDU, FALSE); +dissect_f1ap_NotificationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_NotificationInformation, NotificationInformation_sequence); return offset; } -static const per_sequence_t PWSFailureIndication_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, +static const per_sequence_t NPN_Broadcast_Information_SNPN_sequence[] = { + { &hf_f1ap_broadcastSNPNID_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_BroadcastSNPN_ID_List }, + { &hf_f1ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_PWSFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1271 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSFailureIndication"); +dissect_f1ap_NPN_Broadcast_Information_SNPN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_NPN_Broadcast_Information_SNPN, NPN_Broadcast_Information_SNPN_sequence); + + return offset; +} + + +static const per_sequence_t NPN_Broadcast_Information_PNI_NPN_sequence[] = { + { &hf_f1ap_broadcastPNI_NPN_ID_Information, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_BroadcastPNI_NPN_ID_List }, + { &hf_f1ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; +static int +dissect_f1ap_NPN_Broadcast_Information_PNI_NPN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_PWSFailureIndication, PWSFailureIndication_sequence); + ett_f1ap_NPN_Broadcast_Information_PNI_NPN, NPN_Broadcast_Information_PNI_NPN_sequence); return offset; } -static const per_sequence_t PWS_Failed_NR_CGI_List_sequence_of[1] = { - { &hf_f1ap_PWS_Failed_NR_CGI_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +static const value_string f1ap_NPNBroadcastInformation_vals[] = { + { 0, "sNPN-Broadcast-Information" }, + { 1, "pNI-NPN-Broadcast-Information" }, + { 2, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t NPNBroadcastInformation_choice[] = { + { 0, &hf_f1ap_sNPN_Broadcast_Information, ASN1_NO_EXTENSIONS , dissect_f1ap_NPN_Broadcast_Information_SNPN }, + { 1, &hf_f1ap_pNI_NPN_Broadcast_Information, ASN1_NO_EXTENSIONS , dissect_f1ap_NPN_Broadcast_Information_PNI_NPN }, + { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } }; static int -dissect_f1ap_PWS_Failed_NR_CGI_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_f1ap_PWS_Failed_NR_CGI_List, PWS_Failed_NR_CGI_List_sequence_of, - 1, maxCellingNBDU, FALSE); +dissect_f1ap_NPNBroadcastInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_NPNBroadcastInformation, NPNBroadcastInformation_choice, + NULL); return offset; } -static const per_sequence_t GNBDUStatusIndication_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } +static const value_string f1ap_NPNSupportInfo_vals[] = { + { 0, "sNPN-Information" }, + { 1, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t NPNSupportInfo_choice[] = { + { 0, &hf_f1ap_sNPN_Information, ASN1_NO_EXTENSIONS , dissect_f1ap_NID }, + { 1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } }; static int -dissect_f1ap_GNBDUStatusIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1273 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUStatusIndication"); +dissect_f1ap_NPNSupportInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_NPNSupportInfo, NPNSupportInfo_choice, + NULL); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_GNBDUStatusIndication, GNBDUStatusIndication_sequence); + return offset; +} + + + +static int +dissect_f1ap_INTEGER_0_2199_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 2199U, NULL, TRUE); return offset; } -static const per_sequence_t RRCDeliveryReport_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + +static int +dissect_f1ap_INTEGER_0_maxnoofPhysicalResourceBlocks_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxnoofPhysicalResourceBlocks, NULL, TRUE); + + return offset; +} + + +static const per_sequence_t NRCarrierItem_sequence[] = { + { &hf_f1ap_carrierSCS , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRSCS }, + { &hf_f1ap_offsetToCarrier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_2199_ }, + { &hf_f1ap_carrierBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_maxnoofPhysicalResourceBlocks_ }, + { &hf_f1ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_RRCDeliveryReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1275 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCDeliveryReport"); - +dissect_f1ap_NRCarrierItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_RRCDeliveryReport, RRCDeliveryReport_sequence); + ett_f1ap_NRCarrierItem, NRCarrierItem_sequence); return offset; } -static const per_sequence_t F1RemovalRequest_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } +static const per_sequence_t NRCarrierList_sequence_of[1] = { + { &hf_f1ap_NRCarrierList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCarrierItem }, }; static int -dissect_f1ap_F1RemovalRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1278 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1RemovalRequest"); +dissect_f1ap_NRCarrierList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_NRCarrierList, NRCarrierList_sequence_of, + 1, maxnoofNRSCSs, FALSE); + + return offset; +} + - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_F1RemovalRequest, F1RemovalRequest_sequence); + +static int +dissect_f1ap_INTEGER_0_maxnoofPhysicalResourceBlocks_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, maxnoofPhysicalResourceBlocks_1, NULL, TRUE); return offset; } -static const per_sequence_t F1RemovalResponse_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, - { NULL, 0, 0, NULL } +static const value_string f1ap_T_msg1FDM_vals[] = { + { 0, "one" }, + { 1, "two" }, + { 2, "four" }, + { 3, "eight" }, + { 0, NULL } }; + static int -dissect_f1ap_F1RemovalResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1281 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1RemovalResponse"); +dissect_f1ap_T_msg1FDM(tvbuff_t *tvb _U_, int offset _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); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_F1RemovalResponse, F1RemovalResponse_sequence); + return offset; +} + + +static const value_string f1ap_T_ssb_perRACH_Occasion_vals[] = { + { 0, "oneEighth" }, + { 1, "oneFourth" }, + { 2, "oneHalf" }, + { 3, "one" }, + { 4, "two" }, + { 5, "four" }, + { 6, "eight" }, + { 7, "sixteen" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_T_ssb_perRACH_Occasion(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 8, NULL, TRUE, 0, NULL); return offset; } -static const per_sequence_t F1RemovalFailure_sequence[] = { - { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, +static const per_sequence_t NRPRACHConfigItem_sequence[] = { + { &hf_f1ap_nRSCS_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRSCS }, + { &hf_f1ap_prachFreqStartfromCarrier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_maxnoofPhysicalResourceBlocks_1_ }, + { &hf_f1ap_msg1FDM , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_T_msg1FDM }, + { &hf_f1ap_parchConfigIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_255_ }, + { &hf_f1ap_ssb_perRACH_Occasion, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_T_ssb_perRACH_Occasion }, + { &hf_f1ap_freqDomainLength, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_FreqDomainLength }, + { &hf_f1ap_zeroCorrelZoneConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_15 }, + { &hf_f1ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_F1RemovalFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1284 "./asn1/f1ap/f1ap.cnf" - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1RemovalFailure"); +dissect_f1ap_NRPRACHConfigItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_NRPRACHConfigItem, NRPRACHConfigItem_sequence); + + return offset; +} + + +static const per_sequence_t NRPRACHConfigList_sequence_of[1] = { + { &hf_f1ap_NRPRACHConfigList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NRPRACHConfigItem }, +}; + +static int +dissect_f1ap_NRPRACHConfigList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_NRPRACHConfigList, NRPRACHConfigList_sequence_of, + 0, maxnoofPRACHconfigs, FALSE); + + return offset; +} + +static const per_sequence_t NRPRACHConfig_sequence[] = { + { &hf_f1ap_ulPRACHConfigList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_NRPRACHConfigList }, + { &hf_f1ap_sulPRACHConfigList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_NRPRACHConfigList }, + { &hf_f1ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_NRPRACHConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_F1RemovalFailure, F1RemovalFailure_sequence); + ett_f1ap_NRPRACHConfig, NRPRACHConfig_sequence); return offset; } @@ -8748,2235 +10386,8655 @@ dissect_f1ap_F1RemovalFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act static int -dissect_f1ap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 79 "./asn1/f1ap/f1ap.cnf" - f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); - f1ap_data->message_type = INITIATING_MESSAGE; +dissect_f1ap_NRUERLFReportContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1654 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_NRUERLFReportContainer); + dissect_nr_rrc_nr_RLF_Report_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + - offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_InitiatingMessageValue); return offset; } -static const per_sequence_t InitiatingMessage_sequence[] = { - { &hf_f1ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProcedureCode }, - { &hf_f1ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Criticality }, - { &hf_f1ap_initiatingMessagevalue, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_InitiatingMessage_value }, + +static int +dissect_f1ap_NumberofBroadcastRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_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 NRV2XServicesAuthorized_sequence[] = { + { &hf_f1ap_vehicleUE , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_VehicleUE }, + { &hf_f1ap_pedestrianUE , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_PedestrianUE }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_InitiatingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_NRV2XServicesAuthorized(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_InitiatingMessage, InitiatingMessage_sequence); + ett_f1ap_NRV2XServicesAuthorized, NRV2XServicesAuthorized_sequence); return offset; } +static const per_sequence_t NRUESidelinkAggregateMaximumBitrate_sequence[] = { + { &hf_f1ap_uENRSidelinkAggregateMaximumBitrate, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_f1ap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 83 "./asn1/f1ap/f1ap.cnf" - f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); - f1ap_data->message_type = SUCCESSFUL_OUTCOME; - - offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_SuccessfulOutcomeValue); +dissect_f1ap_NRUESidelinkAggregateMaximumBitrate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_NRUESidelinkAggregateMaximumBitrate, NRUESidelinkAggregateMaximumBitrate_sequence); return offset; } -static const per_sequence_t SuccessfulOutcome_sequence[] = { - { &hf_f1ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProcedureCode }, - { &hf_f1ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Criticality }, - { &hf_f1ap_successfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SuccessfulOutcome_value }, +static const per_sequence_t PagingCell_Item_sequence[] = { + { &hf_f1ap_nRCGI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_SuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_PagingCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_SuccessfulOutcome, SuccessfulOutcome_sequence); + ett_f1ap_PagingCell_Item, PagingCell_Item_sequence); return offset; } +static const value_string f1ap_PagingDRX_vals[] = { + { 0, "v32" }, + { 1, "v64" }, + { 2, "v128" }, + { 3, "v256" }, + { 0, NULL } +}; + static int -dissect_f1ap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 87 "./asn1/f1ap/f1ap.cnf" - f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); - f1ap_data->message_type = UNSUCCESSFUL_OUTCOME; +dissect_f1ap_PagingDRX(tvbuff_t *tvb _U_, int offset _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; +} + - offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_UnsuccessfulOutcomeValue); + +static int +dissect_f1ap_BIT_STRING_SIZE_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 40, 40, FALSE, NULL, 0, NULL, NULL); return offset; } -static const per_sequence_t UnsuccessfulOutcome_sequence[] = { - { &hf_f1ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProcedureCode }, - { &hf_f1ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Criticality }, - { &hf_f1ap_unsuccessfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_UnsuccessfulOutcome_value }, +static const per_sequence_t RANUEPagingIdentity_sequence[] = { + { &hf_f1ap_iRNTI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BIT_STRING_SIZE_40 }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int -dissect_f1ap_UnsuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_RANUEPagingIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_f1ap_UnsuccessfulOutcome, UnsuccessfulOutcome_sequence); + ett_f1ap_RANUEPagingIdentity, RANUEPagingIdentity_sequence); return offset; } -static const value_string f1ap_F1AP_PDU_vals[] = { - { 0, "initiatingMessage" }, - { 1, "successfulOutcome" }, - { 2, "unsuccessfulOutcome" }, - { 3, "choice-extension" }, +static const value_string f1ap_PagingIdentity_vals[] = { + { 0, "rANUEPagingIdentity" }, + { 1, "cNUEPagingIdentity" }, + { 2, "choice-extension" }, { 0, NULL } }; -static const per_choice_t F1AP_PDU_choice[] = { - { 0, &hf_f1ap_initiatingMessage, ASN1_NO_EXTENSIONS , dissect_f1ap_InitiatingMessage }, - { 1, &hf_f1ap_successfulOutcome, ASN1_NO_EXTENSIONS , dissect_f1ap_SuccessfulOutcome }, - { 2, &hf_f1ap_unsuccessfulOutcome, ASN1_NO_EXTENSIONS , dissect_f1ap_UnsuccessfulOutcome }, - { 3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, +static const per_choice_t PagingIdentity_choice[] = { + { 0, &hf_f1ap_rANUEPagingIdentity, ASN1_NO_EXTENSIONS , dissect_f1ap_RANUEPagingIdentity }, + { 1, &hf_f1ap_cNUEPagingIdentity, ASN1_NO_EXTENSIONS , dissect_f1ap_CNUEPagingIdentity }, + { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, { 0, NULL, 0, NULL } }; static int -dissect_f1ap_F1AP_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_f1ap_PagingIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_f1ap_F1AP_PDU, F1AP_PDU_choice, + ett_f1ap_PagingIdentity, PagingIdentity_choice, NULL); return offset; } -/*--- PDUs ---*/ -static int dissect_AdditionalSIBMessageList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static const value_string f1ap_PagingOrigin_vals[] = { + { 0, "non-3gpp" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_PagingOrigin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const value_string f1ap_PagingPriority_vals[] = { + { 0, "priolevel1" }, + { 1, "priolevel2" }, + { 2, "priolevel3" }, + { 3, "priolevel4" }, + { 4, "priolevel5" }, + { 5, "priolevel6" }, + { 6, "priolevel7" }, + { 7, "priolevel8" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_PagingPriority(tvbuff_t *tvb _U_, int offset _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 f1ap_PC5_QoS_Characteristics_vals[] = { + { 0, "non-Dynamic-PQI" }, + { 1, "dynamic-PQI" }, + { 2, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t PC5_QoS_Characteristics_choice[] = { + { 0, &hf_f1ap_non_Dynamic_PQI, ASN1_NO_EXTENSIONS , dissect_f1ap_NonDynamicPQIDescriptor }, + { 1, &hf_f1ap_dynamic_PQI , ASN1_NO_EXTENSIONS , dissect_f1ap_DynamicPQIDescriptor }, + { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_f1ap_PC5_QoS_Characteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_PC5_QoS_Characteristics, PC5_QoS_Characteristics_choice, + NULL); + + return offset; +} + + +static const per_sequence_t PC5FlowBitRates_sequence[] = { + { &hf_f1ap_guaranteedFlowBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate }, + { &hf_f1ap_maximumFlowBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_PC5FlowBitRates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_PC5FlowBitRates, PC5FlowBitRates_sequence); + + return offset; +} + + +static const per_sequence_t PC5QoSParameters_sequence[] = { + { &hf_f1ap_pC5_QoS_Characteristics, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5_QoS_Characteristics }, + { &hf_f1ap_pC5_QoS_Flow_Bit_Rates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_PC5FlowBitRates }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_PC5QoSParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_PC5QoSParameters, PC5QoSParameters_sequence); + + return offset; +} + + + +static int +dissect_f1ap_PDCCH_BlindDetectionSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1481 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *parameter_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, + NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); + + if (parameter_tvb) { + actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 1, ENC_BIG_ENDIAN); + } + + + + return offset; +} + + + +static int +dissect_f1ap_PDCP_SN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 4095U, NULL, FALSE); + + return offset; +} + + +static const value_string f1ap_PDCPSNLength_vals[] = { + { 0, "twelve-bits" }, + { 1, "eighteen-bits" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_PDCPSNLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + + +static int +dissect_f1ap_PDUSessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 255U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_f1ap_ReportingPeriodicityValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 512U, NULL, TRUE); + + return offset; +} + + + +static int +dissect_f1ap_Periodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 640000U, NULL, TRUE); + + return offset; +} + + + +static int +dissect_f1ap_Ph_InfoMCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1501 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_Ph_InfoMCG); + dissect_nr_rrc_PH_TypeListMCG_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_f1ap_Ph_InfoSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1509 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_Ph_InfoSCG); + dissect_nr_rrc_PH_TypeListSCG_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_f1ap_PortNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1207 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *parameter_tvb = NULL; + offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, + 16, 16, FALSE, NULL, 0, ¶meter_tvb, NULL); + + if (parameter_tvb) { + actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN); + } + + + + return offset; +} + + +static const value_string f1ap_PrimaryPathIndication_vals[] = { + { 0, "true" }, + { 1, "false" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_PrimaryPathIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + + +static int +dissect_f1ap_SpectrumSharingGroupID(tvbuff_t *tvb _U_, int offset _U_, 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, maxCellineNB, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t Protected_EUTRA_Resources_Item_sequence[] = { + { &hf_f1ap_spectrumSharingGroupID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SpectrumSharingGroupID }, + { &hf_f1ap_eUTRACells_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRACells_List }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_Protected_EUTRA_Resources_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Protected_EUTRA_Resources_Item, Protected_EUTRA_Resources_Item_sequence); + + return offset; +} + + +static const per_sequence_t Potential_SpCell_Item_sequence[] = { + { &hf_f1ap_potential_SpCell_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_Potential_SpCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Potential_SpCell_Item, Potential_SpCell_Item_sequence); + + return offset; +} + + +static const per_sequence_t PWS_Failed_NR_CGI_Item_sequence[] = { + { &hf_f1ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_numberOfBroadcasts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NumberOfBroadcasts }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_PWS_Failed_NR_CGI_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_PWS_Failed_NR_CGI_Item, PWS_Failed_NR_CGI_Item_sequence); + + return offset; +} + + + +static int +dissect_f1ap_SIBType_PWS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1386 "./asn1/f1ap/f1ap.cnf" + f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 6U, 8U, &f1ap_data->sib_type, TRUE); + + + + + return offset; +} + + + +static int +dissect_f1ap_T_sIBmessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1390 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sIBmessage); + switch (f1ap_data->sib_type) { + case 6: + dissect_nr_rrc_SIB6_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 7: + dissect_nr_rrc_SIB7_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case 8: + dissect_nr_rrc_SIB8_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + default: + break; + } + } + + + + return offset; +} + + +static const per_sequence_t PWSSystemInformation_sequence[] = { + { &hf_f1ap_sIBtype , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SIBType_PWS }, + { &hf_f1ap_sIBmessage , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_T_sIBmessage }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_PWSSystemInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_PWSSystemInformation, PWSSystemInformation_sequence); + + return offset; +} + + +static const value_string f1ap_PrivacyIndicator_vals[] = { + { 0, "immediate-MDT" }, + { 1, "logged-MDT" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_PrivacyIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const value_string f1ap_QoSFlowMappingIndication_vals[] = { + { 0, "ul" }, + { 1, "dl" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_QoSFlowMappingIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const value_string f1ap_QosMonitoringRequest_vals[] = { + { 0, "ul" }, + { 1, "dl" }, + { 2, "both" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_QosMonitoringRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, TRUE, 0, NULL); + + return offset; +} + + + +static int +dissect_f1ap_QoSParaSetNotifyIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 8U, NULL, TRUE); + + return offset; +} + + + +static int +dissect_f1ap_RACHReportContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1684 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RACHReportContainer); + dissect_nr_rrc_RA_ReportList_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + +static const per_sequence_t RACHReportInformationItem_sequence[] = { + { &hf_f1ap_rACHReportContainer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_RACHReportContainer }, + { &hf_f1ap_uEAssitantIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_GNB_DU_UE_F1AP_ID }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_RACHReportInformationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_RACHReportInformationItem, RACHReportInformationItem_sequence); + + return offset; +} + + +static const per_sequence_t RACHReportInformationList_sequence_of[1] = { + { &hf_f1ap_RACHReportInformationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_RACHReportInformationItem }, +}; + +static int +dissect_f1ap_RACHReportInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_RACHReportInformationList, RACHReportInformationList_sequence_of, + 1, maxnoofRACHReports, FALSE); + + return offset; +} + + + +static int +dissect_f1ap_RANUEID(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, + 8, 8, FALSE, NULL); + + return offset; +} + + + +static int +dissect_f1ap_SubscriberProfileIDforRFP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 256U, NULL, TRUE); + + return offset; +} + + + +static int +dissect_f1ap_RAT_FrequencySelectionPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 256U, NULL, TRUE); + + return offset; +} + + +static const value_string f1ap_RAT_FrequencyPriorityInformation_vals[] = { + { 0, "eNDC" }, + { 1, "nGRAN" }, + { 2, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t RAT_FrequencyPriorityInformation_choice[] = { + { 0, &hf_f1ap_eNDC , ASN1_NO_EXTENSIONS , dissect_f1ap_SubscriberProfileIDforRFP }, + { 1, &hf_f1ap_nGRAN , ASN1_NO_EXTENSIONS , dissect_f1ap_RAT_FrequencySelectionPriority }, + { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_f1ap_RAT_FrequencyPriorityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_RAT_FrequencyPriorityInformation, RAT_FrequencyPriorityInformation_choice, + NULL); + + return offset; +} + + +static const value_string f1ap_Reestablishment_Indication_vals[] = { + { 0, "reestablished" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_Reestablishment_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, TRUE, 0, NULL); + + return offset; +} + + + +static int +dissect_f1ap_ReferenceSFN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 1023U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_f1ap_ReferenceTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1692 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ReferenceTime); + dissect_nr_rrc_ReferenceTime_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + +static const value_string f1ap_RegistrationRequest_vals[] = { + { 0, "start" }, + { 1, "stop" }, + { 2, "add" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_RegistrationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, TRUE, 0, NULL); + + return offset; +} + + + +static int +dissect_f1ap_ReportCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1700 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *parameter_tvb = NULL; + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 32, 32, FALSE, NULL, 0, ¶meter_tvb, NULL); + + if(parameter_tvb){ + static int * const fields[] = { + &hf_f1ap_ReportCharacteristics_PRBPeriodic, + &hf_f1ap_ReportCharacteristics_TNLCapacityIndPeriodic, + &hf_f1ap_ReportCharacteristics_CompositeAvailableCapacityPeriodic, + &hf_f1ap_ReportCharacteristics_HWLoadIndPeriodic, + &hf_f1ap_ReportCharacteristics_NumberOfActiveUEs, + &hf_f1ap_ReportCharacteristics_Reserved, + NULL + }; + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ReportCharacteristics); + proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 4, fields, ENC_BIG_ENDIAN); + } + + + + return offset; +} + + +static const value_string f1ap_ReportingPeriodicity_vals[] = { + { 0, "ms500" }, + { 1, "ms1000" }, + { 2, "ms2000" }, + { 3, "ms5000" }, + { 4, "ms10000" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_ReportingPeriodicity(tvbuff_t *tvb _U_, int offset _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 int +dissect_f1ap_RequestedBandCombinationIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1517 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RequestedBandCombinationIndex); + dissect_nr_rrc_BandCombinationIndex_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_f1ap_RequestedFeatureSetEntryIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1525 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RequestedFeatureSetEntryIndex); + dissect_nr_rrc_FeatureSetEntryIndex_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_f1ap_RequestedP_MaxFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1533 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RequestedP_MaxFR2); + dissect_nr_rrc_P_Max_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_f1ap_Requested_PDCCH_BlindDetectionSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1491 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *parameter_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, + NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); + + if (parameter_tvb) { + actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 1, ENC_BIG_ENDIAN); + } + + + + return offset; +} + + +static const value_string f1ap_RequestType_vals[] = { + { 0, "offer" }, + { 1, "execution" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_RequestType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ResourceCoordinationEUTRACellInfo_sequence[] = { + { &hf_f1ap_eUTRA_Mode_Info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_Coex_Mode_Info }, + { &hf_f1ap_eUTRA_PRACH_Configuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_PRACH_Configuration }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_ResourceCoordinationEUTRACellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_ResourceCoordinationEUTRACellInfo, ResourceCoordinationEUTRACellInfo_sequence); + + return offset; +} + + +static const per_sequence_t ResourceCoordinationTransferInformation_sequence[] = { + { &hf_f1ap_meNB_Cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_Cell_ID }, + { &hf_f1ap_resourceCoordinationEUTRACellInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ResourceCoordinationEUTRACellInfo }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_ResourceCoordinationTransferInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_ResourceCoordinationTransferInformation, ResourceCoordinationTransferInformation_sequence); + + return offset; +} + + + +static int +dissect_f1ap_ResourceCoordinationTransferContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1066 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree; + f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); + + subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ResourceCoordinationTransferContainer); + switch (f1ap_data->message_type) { + case INITIATING_MESSAGE: + switch (f1ap_data->procedure_code) { + case id_UEContextSetup: + case id_UEContextModification: + dissect_x2ap_MeNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case id_UEContextModificationRequired: + dissect_x2ap_SgNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + default: + break; + } + break; + case SUCCESSFUL_OUTCOME: + switch (f1ap_data->procedure_code) { + case id_UEContextSetup: + case id_UEContextModification: + dissect_x2ap_SgNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + case id_UEContextModificationRequired: + dissect_x2ap_MeNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL); + break; + default: + break; + } + break; + default: + break; + } + } + + + + return offset; +} + + + +static int +dissect_f1ap_RepetitionPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 131071U, NULL, TRUE); + + return offset; +} + + +static const per_sequence_t ReportingRequestType_sequence[] = { + { &hf_f1ap_eventType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_EventType }, + { &hf_f1ap_reportingPeriodicityValue, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ReportingPeriodicityValue }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_ReportingRequestType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_ReportingRequestType, ReportingRequestType_sequence); + + return offset; +} + + +static const per_sequence_t RLCDuplicationState_Item_sequence[] = { + { &hf_f1ap_duplicationState, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_DuplicationState }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_RLCDuplicationState_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_RLCDuplicationState_Item, RLCDuplicationState_Item_sequence); + + return offset; +} + + +static const per_sequence_t RLCDuplicationStateList_sequence_of[1] = { + { &hf_f1ap_RLCDuplicationStateList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_RLCDuplicationState_Item }, +}; + +static int +dissect_f1ap_RLCDuplicationStateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_RLCDuplicationStateList, RLCDuplicationStateList_sequence_of, + 1, maxnoofRLCDuplicationState, FALSE); + + return offset; +} + + +static const per_sequence_t RLCDuplicationInformation_sequence[] = { + { &hf_f1ap_rLCDuplicationStateList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_RLCDuplicationStateList }, + { &hf_f1ap_primaryPathIndication, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_PrimaryPathIndication }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_RLCDuplicationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_RLCDuplicationInformation, RLCDuplicationInformation_sequence); + + return offset; +} + + +static const per_sequence_t RLCFailureIndication_sequence[] = { + { &hf_f1ap_assocatedLCID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_LCID }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_RLCFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_RLCFailureIndication, RLCFailureIndication_sequence); + + return offset; +} + + +static const per_sequence_t RLC_Status_sequence[] = { + { &hf_f1ap_reestablishment_Indication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Reestablishment_Indication }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_RLC_Status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_RLC_Status, RLC_Status_sequence); + + return offset; +} + + +static const per_sequence_t RLFReportInformationItem_sequence[] = { + { &hf_f1ap_nRUERLFReportContainer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRUERLFReportContainer }, + { &hf_f1ap_uEAssitantIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_GNB_DU_UE_F1AP_ID }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_RLFReportInformationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_RLFReportInformationItem, RLFReportInformationItem_sequence); + + return offset; +} + + +static const per_sequence_t RLFReportInformationList_sequence_of[1] = { + { &hf_f1ap_RLFReportInformationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_RLFReportInformationItem }, +}; + +static int +dissect_f1ap_RLFReportInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_RLFReportInformationList, RLFReportInformationList_sequence_of, + 1, maxnoofRLFReports, FALSE); + + return offset; +} + + + +static int +dissect_f1ap_RRCContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1106 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree; + f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); + + subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RRCContainer); + switch (f1ap_data->message_type) { + case INITIATING_MESSAGE: + switch (f1ap_data->procedure_code) { + case id_InitialULRRCMessageTransfer: + col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/"); + col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL); + call_dissector(nr_rrc_ul_ccch_handle, param_tvb, actx->pinfo, subtree); + break; + case id_ULRRCMessageTransfer: + switch (f1ap_data->srb_id) { + case 1: + case 2: + case 3: + col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/"); + col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL); + add_nr_pdcp_meta_data(actx->pinfo, PDCP_NR_DIRECTION_UPLINK, f1ap_data->srb_id); + call_dissector(nr_pdcp_handle, param_tvb, actx->pinfo, subtree); + break; + default: + break; + } + break; + case id_DLRRCMessageTransfer: + case id_UEContextRelease: + switch (f1ap_data->srb_id) { + case 0: + col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/"); + col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL); + call_dissector(nr_rrc_dl_ccch_handle, param_tvb, actx->pinfo, subtree); + break; + case 1: + case 2: + case 3: + col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/"); + col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL); + add_nr_pdcp_meta_data(actx->pinfo, PDCP_NR_DIRECTION_DOWNLINK, f1ap_data->srb_id); + call_dissector(nr_pdcp_handle, param_tvb, actx->pinfo, subtree); + break; + default: + break; + } + break; + default: + break; + } + break; + default: + break; + } + } + + + + return offset; +} + + + +static int +dissect_f1ap_RRCContainer_RRCSetupComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1169 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RRCContainer_RRCSetupComplete); + col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/"); + col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL); + call_dissector(nr_rrc_ul_dcch_handle, param_tvb, actx->pinfo, subtree); + } + + + + return offset; +} + + +static const per_sequence_t RRCDeliveryStatus_sequence[] = { + { &hf_f1ap_delivery_status, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_PDCP_SN }, + { &hf_f1ap_triggering_message, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_PDCP_SN }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_RRCDeliveryStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_RRCDeliveryStatus, RRCDeliveryStatus_sequence); + + return offset; +} + + +static const value_string f1ap_RRCDeliveryStatusRequest_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_RRCDeliveryStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const value_string f1ap_RRCReconfigurationCompleteIndicator_vals[] = { + { 0, "true" }, + { 1, "failure" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_RRCReconfigurationCompleteIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 1, NULL); + + return offset; +} + + + +static int +dissect_f1ap_BIT_STRING_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 3, 3, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const per_sequence_t RRC_Version_sequence[] = { + { &hf_f1ap_latest_RRC_Version, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BIT_STRING_SIZE_3 }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_RRC_Version(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_RRC_Version, RRC_Version_sequence); + + return offset; +} + + + +static int +dissect_f1ap_Latest_RRC_Version_Enhanced(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1439 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 3, 3, FALSE, ¶m_tvb); + + + +#line 1442 "./asn1/f1ap/f1ap.cnf" + if (param_tvb) { + proto_item_set_text(actx->created_item, "%u.%u.%u", tvb_get_guint8(param_tvb, 0), tvb_get_guint8(param_tvb, 1), tvb_get_guint8(param_tvb, 2)); + } + + + return offset; +} + + +static const per_sequence_t SCell_FailedtoSetup_Item_sequence[] = { + { &hf_f1ap_sCell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_cause , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_Cause }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SCell_FailedtoSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SCell_FailedtoSetup_Item, SCell_FailedtoSetup_Item_sequence); + + return offset; +} + + +static const per_sequence_t SCell_FailedtoSetupMod_Item_sequence[] = { + { &hf_f1ap_sCell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_cause , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_Cause }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SCell_FailedtoSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SCell_FailedtoSetupMod_Item, SCell_FailedtoSetupMod_Item_sequence); + + return offset; +} + + +static const per_sequence_t SCell_ToBeRemoved_Item_sequence[] = { + { &hf_f1ap_sCell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SCell_ToBeRemoved_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SCell_ToBeRemoved_Item, SCell_ToBeRemoved_Item_sequence); + + return offset; +} + + + +static int +dissect_f1ap_SCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 31U, NULL, TRUE); + + return offset; +} + + +static const per_sequence_t SCell_ToBeSetup_Item_sequence[] = { + { &hf_f1ap_sCell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_sCellIndex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SCellIndex }, + { &hf_f1ap_sCellULConfigured, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_CellULConfigured }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SCell_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SCell_ToBeSetup_Item, SCell_ToBeSetup_Item_sequence); + + return offset; +} + + +static const per_sequence_t SCell_ToBeSetupMod_Item_sequence[] = { + { &hf_f1ap_sCell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_sCellIndex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SCellIndex }, + { &hf_f1ap_sCellULConfigured, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_CellULConfigured }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SCell_ToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SCell_ToBeSetupMod_Item, SCell_ToBeSetupMod_Item_sequence); + + return offset; +} + + + +static int +dissect_f1ap_SelectedBandCombinationIndex(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 int +dissect_f1ap_SelectedFeatureSetEntryIndex(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 int +dissect_f1ap_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 31U, NULL, TRUE); + + return offset; +} + + + +static int +dissect_f1ap_ServingCellMO(tvbuff_t *tvb _U_, int offset _U_, 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, TRUE); + + return offset; +} + + +static const per_sequence_t Served_Cells_To_Add_Item_sequence[] = { + { &hf_f1ap_served_Cell_Information, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Served_Cell_Information }, + { &hf_f1ap_gNB_DU_System_Information, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_GNB_DU_System_Information }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_Served_Cells_To_Add_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Served_Cells_To_Add_Item, Served_Cells_To_Add_Item_sequence); + + return offset; +} + + +static const per_sequence_t Served_Cells_To_Delete_Item_sequence[] = { + { &hf_f1ap_oldNRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_Served_Cells_To_Delete_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Served_Cells_To_Delete_Item, Served_Cells_To_Delete_Item_sequence); + + return offset; +} + + +static const per_sequence_t Served_Cells_To_Modify_Item_sequence[] = { + { &hf_f1ap_oldNRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI }, + { &hf_f1ap_served_Cell_Information, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Served_Cell_Information }, + { &hf_f1ap_gNB_DU_System_Information, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_GNB_DU_System_Information }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_Served_Cells_To_Modify_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Served_Cells_To_Modify_Item, Served_Cells_To_Modify_Item_sequence); + + return offset; +} + + + +static int +dissect_f1ap_SIB10_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1717 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB10_message); + dissect_nr_rrc_SIB10_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_f1ap_SIB12_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1725 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB12_message); + dissect_nr_rrc_SIB12_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_f1ap_SIB13_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1733 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB13_message); + dissect_nr_rrc_SIB13_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_f1ap_SIB14_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1741 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB14_message); + dissect_nr_rrc_SIB14_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_f1ap_SItype(tvbuff_t *tvb _U_, int offset _U_, 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, TRUE); + + return offset; +} + + +static const per_sequence_t SItype_Item_sequence[] = { + { &hf_f1ap_sItype , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SItype }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SItype_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SItype_Item, SItype_Item_sequence); + + return offset; +} + + +static const per_sequence_t SItype_List_sequence_of[1] = { + { &hf_f1ap_SItype_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SItype_Item }, +}; + +static int +dissect_f1ap_SItype_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_f1ap_SItype_List, SItype_List_sequence_of, + 1, maxnoofSITypes, FALSE); + + return offset; +} + + + +static int +dissect_f1ap_SLDRBID(tvbuff_t *tvb _U_, int offset _U_, 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, 512U, NULL, TRUE); + + return offset; +} + + +static const per_sequence_t SLDRBInformation_sequence[] = { + { &hf_f1ap_sLDRB_QoS , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5QoSParameters }, + { &hf_f1ap_flowsMappedToSLDRB_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_FlowsMappedToSLDRB_List }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SLDRBInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SLDRBInformation, SLDRBInformation_sequence); + + return offset; +} + + +static const per_sequence_t SLDRBs_FailedToBeModified_Item_sequence[] = { + { &hf_f1ap_sLDRBID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID }, + { &hf_f1ap_cause , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_Cause }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SLDRBs_FailedToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SLDRBs_FailedToBeModified_Item, SLDRBs_FailedToBeModified_Item_sequence); + + return offset; +} + + +static const per_sequence_t SLDRBs_FailedToBeSetup_Item_sequence[] = { + { &hf_f1ap_sLDRBID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID }, + { &hf_f1ap_cause , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_Cause }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SLDRBs_FailedToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SLDRBs_FailedToBeSetup_Item, SLDRBs_FailedToBeSetup_Item_sequence); + + return offset; +} + + +static const per_sequence_t SLDRBs_FailedToBeSetupMod_Item_sequence[] = { + { &hf_f1ap_sLDRBID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID }, + { &hf_f1ap_cause , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_Cause }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SLDRBs_FailedToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SLDRBs_FailedToBeSetupMod_Item, SLDRBs_FailedToBeSetupMod_Item_sequence); + + return offset; +} + + +static const per_sequence_t SLDRBs_Modified_Item_sequence[] = { + { &hf_f1ap_sLDRBID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SLDRBs_Modified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SLDRBs_Modified_Item, SLDRBs_Modified_Item_sequence); + + return offset; +} + + +static const per_sequence_t SLDRBs_ModifiedConf_Item_sequence[] = { + { &hf_f1ap_sLDRBID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SLDRBs_ModifiedConf_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SLDRBs_ModifiedConf_Item, SLDRBs_ModifiedConf_Item_sequence); + + return offset; +} + + +static const per_sequence_t SLDRBs_Required_ToBeModified_Item_sequence[] = { + { &hf_f1ap_sLDRBID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SLDRBs_Required_ToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SLDRBs_Required_ToBeModified_Item, SLDRBs_Required_ToBeModified_Item_sequence); + + return offset; +} + + +static const per_sequence_t SLDRBs_Required_ToBeReleased_Item_sequence[] = { + { &hf_f1ap_sLDRBID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SLDRBs_Required_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SLDRBs_Required_ToBeReleased_Item, SLDRBs_Required_ToBeReleased_Item_sequence); + + return offset; +} + + +static const per_sequence_t SLDRBs_Setup_Item_sequence[] = { + { &hf_f1ap_sLDRBID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SLDRBs_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SLDRBs_Setup_Item, SLDRBs_Setup_Item_sequence); + + return offset; +} + + +static const per_sequence_t SLDRBs_SetupMod_Item_sequence[] = { + { &hf_f1ap_sLDRBID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SLDRBs_SetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SLDRBs_SetupMod_Item, SLDRBs_SetupMod_Item_sequence); + + return offset; +} + + +static const per_sequence_t SLDRBs_ToBeModified_Item_sequence[] = { + { &hf_f1ap_sLDRBID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID }, + { &hf_f1ap_sLDRBInformation, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_SLDRBInformation }, + { &hf_f1ap_rLCMode , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_RLCMode }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SLDRBs_ToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SLDRBs_ToBeModified_Item, SLDRBs_ToBeModified_Item_sequence); + + return offset; +} + + +static const per_sequence_t SLDRBs_ToBeReleased_Item_sequence[] = { + { &hf_f1ap_sLDRBID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SLDRBs_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SLDRBs_ToBeReleased_Item, SLDRBs_ToBeReleased_Item_sequence); + + return offset; +} + + +static const per_sequence_t SLDRBs_ToBeSetup_Item_sequence[] = { + { &hf_f1ap_sLDRBID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID }, + { &hf_f1ap_sLDRBInformation, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBInformation }, + { &hf_f1ap_rLCMode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_RLCMode }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SLDRBs_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SLDRBs_ToBeSetup_Item, SLDRBs_ToBeSetup_Item_sequence); + + return offset; +} + + +static const per_sequence_t SLDRBs_ToBeSetupMod_Item_sequence[] = { + { &hf_f1ap_sLDRBID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID }, + { &hf_f1ap_sLDRBInformation, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBInformation }, + { &hf_f1ap_rLCMode , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_RLCMode }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SLDRBs_ToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SLDRBs_ToBeSetupMod_Item, SLDRBs_ToBeSetupMod_Item_sequence); + + return offset; +} + + + +static int +dissect_f1ap_SL_PHY_MAC_RLC_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1749 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SL_PHY_MAC_RLC_Config); + dissect_nr_rrc_SL_PHY_MAC_RLC_Config_r16_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_f1ap_SL_ConfigDedicatedEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1757 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + proto_tree *subtree; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb && lte_rrc_conn_reconf_handle) { + subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SL_ConfigDedicatedEUTRA); + call_dissector(lte_rrc_conn_reconf_handle, param_tvb, actx->pinfo, subtree); + } + + + + return offset; +} + + + +static int +dissect_f1ap_SRBID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1165 "./asn1/f1ap/f1ap.cnf" + f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 3U, &f1ap_data->srb_id, TRUE); + + + + + return offset; +} + + +static const per_sequence_t SRBs_FailedToBeSetup_Item_sequence[] = { + { &hf_f1ap_sRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID }, + { &hf_f1ap_cause , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_Cause }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SRBs_FailedToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SRBs_FailedToBeSetup_Item, SRBs_FailedToBeSetup_Item_sequence); + + return offset; +} + + +static const per_sequence_t SRBs_FailedToBeSetupMod_Item_sequence[] = { + { &hf_f1ap_sRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID }, + { &hf_f1ap_cause , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_Cause }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SRBs_FailedToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SRBs_FailedToBeSetupMod_Item, SRBs_FailedToBeSetupMod_Item_sequence); + + return offset; +} + + +static const per_sequence_t SRBs_Modified_Item_sequence[] = { + { &hf_f1ap_sRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID }, + { &hf_f1ap_lCID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_LCID }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SRBs_Modified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SRBs_Modified_Item, SRBs_Modified_Item_sequence); + + return offset; +} + + +static const per_sequence_t SRBs_Required_ToBeReleased_Item_sequence[] = { + { &hf_f1ap_sRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SRBs_Required_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SRBs_Required_ToBeReleased_Item, SRBs_Required_ToBeReleased_Item_sequence); + + return offset; +} + + +static const per_sequence_t SRBs_Setup_Item_sequence[] = { + { &hf_f1ap_sRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID }, + { &hf_f1ap_lCID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_LCID }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SRBs_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SRBs_Setup_Item, SRBs_Setup_Item_sequence); + + return offset; +} + + +static const per_sequence_t SRBs_SetupMod_Item_sequence[] = { + { &hf_f1ap_sRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID }, + { &hf_f1ap_lCID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_LCID }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SRBs_SetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SRBs_SetupMod_Item, SRBs_SetupMod_Item_sequence); + + return offset; +} + + +static const per_sequence_t SRBs_ToBeReleased_Item_sequence[] = { + { &hf_f1ap_sRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SRBs_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SRBs_ToBeReleased_Item, SRBs_ToBeReleased_Item_sequence); + + return offset; +} + + +static const per_sequence_t SRBs_ToBeSetup_Item_sequence[] = { + { &hf_f1ap_sRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID }, + { &hf_f1ap_duplicationIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_DuplicationIndication }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SRBs_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SRBs_ToBeSetup_Item, SRBs_ToBeSetup_Item_sequence); + + return offset; +} + + +static const per_sequence_t SRBs_ToBeSetupMod_Item_sequence[] = { + { &hf_f1ap_sRBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID }, + { &hf_f1ap_duplicationIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_DuplicationIndication }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SRBs_ToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SRBs_ToBeSetupMod_Item, SRBs_ToBeSetupMod_Item_sequence); + + return offset; +} + + +static const value_string f1ap_SSB_PositionsInBurst_vals[] = { + { 0, "shortBitmap" }, + { 1, "mediumBitmap" }, + { 2, "longBitmap" }, + { 3, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t SSB_PositionsInBurst_choice[] = { + { 0, &hf_f1ap_shortBitmap , ASN1_NO_EXTENSIONS , dissect_f1ap_BIT_STRING_SIZE_4 }, + { 1, &hf_f1ap_mediumBitmap , ASN1_NO_EXTENSIONS , dissect_f1ap_BIT_STRING_SIZE_8 }, + { 2, &hf_f1ap_longBitmap , ASN1_NO_EXTENSIONS , dissect_f1ap_BIT_STRING_SIZE_64 }, + { 3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_f1ap_SSB_PositionsInBurst(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_SSB_PositionsInBurst, SSB_PositionsInBurst_choice, + NULL); + + return offset; +} + + +static const value_string f1ap_SULAccessIndication_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_SULAccessIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); + + return offset; +} + + + +static int +dissect_f1ap_SystemInformationAreaID(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 int +dissect_f1ap_TDD_UL_DLConfigCommonNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1766 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + proto_tree *subtree; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb && lte_rrc_conn_reconf_handle) { + subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_TDD_UL_DLConfigCommonNR); + dissect_nr_rrc_TDD_UL_DL_ConfigCommon_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_f1ap_Uncertainty(tvbuff_t *tvb _U_, int offset _U_, asn1_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, TRUE); + + return offset; +} + + +static const value_string f1ap_TimeInformationType_vals[] = { + { 0, "localClock" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_TimeInformationType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _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 TimeReferenceInformation_sequence[] = { + { &hf_f1ap_referenceTime , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ReferenceTime }, + { &hf_f1ap_referenceSFN , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ReferenceSFN }, + { &hf_f1ap_uncertainty , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Uncertainty }, + { &hf_f1ap_timeInformationType, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_TimeInformationType }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_TimeReferenceInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_TimeReferenceInformation, TimeReferenceInformation_sequence); + + return offset; +} + + +static const value_string f1ap_TimeToWait_vals[] = { + { 0, "v1s" }, + { 1, "v2s" }, + { 2, "v5s" }, + { 3, "v10s" }, + { 4, "v20s" }, + { 5, "v60s" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_TimeToWait(tvbuff_t *tvb _U_, int offset _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 int +dissect_f1ap_INTEGER_1_16777216_(tvbuff_t *tvb _U_, int offset _U_, 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, 16777216U, NULL, TRUE); + + return offset; +} + + +static const per_sequence_t TNLCapacityIndicator_sequence[] = { + { &hf_f1ap_dLTNLOfferedCapacity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_16777216_ }, + { &hf_f1ap_dLTNLAvailableCapacity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100_ }, + { &hf_f1ap_uLTNLOfferedCapacity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_16777216_ }, + { &hf_f1ap_uLTNLAvailableCapacity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100_ }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_TNLCapacityIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_TNLCapacityIndicator, TNLCapacityIndicator_sequence); + + return offset; +} + + + +static int +dissect_f1ap_TraceID(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, + 8, 8, FALSE, NULL); + + return offset; +} + + +static const value_string f1ap_TraceDepth_vals[] = { + { 0, "minimum" }, + { 1, "medium" }, + { 2, "maximum" }, + { 3, "minimumWithoutVendorSpecificExtension" }, + { 4, "mediumWithoutVendorSpecificExtension" }, + { 5, "maximumWithoutVendorSpecificExtension" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_TraceDepth(tvbuff_t *tvb _U_, int offset _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 TraceActivation_sequence[] = { + { &hf_f1ap_traceID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_TraceID }, + { &hf_f1ap_interfacesToTrace, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_InterfacesToTrace }, + { &hf_f1ap_traceDepth , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_TraceDepth }, + { &hf_f1ap_traceCollectionEntityIPAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_TraceActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_TraceActivation, TraceActivation_sequence); + + return offset; +} + + +static const per_sequence_t Transport_UP_Layer_Address_Info_To_Add_Item_sequence[] = { + { &hf_f1ap_iP_SecTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress }, + { &hf_f1ap_gTPTransportLayerAddressToAdd, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_GTPTLAs }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_Transport_UP_Layer_Address_Info_To_Add_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Transport_UP_Layer_Address_Info_To_Add_Item, Transport_UP_Layer_Address_Info_To_Add_Item_sequence); + + return offset; +} + + +static const per_sequence_t Transport_UP_Layer_Address_Info_To_Add_List_sequence_of[1] = { + { &hf_f1ap_Transport_UP_Layer_Address_Info_To_Add_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Transport_UP_Layer_Address_Info_To_Add_Item }, +}; + +static int +dissect_f1ap_Transport_UP_Layer_Address_Info_To_Add_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_f1ap_Transport_UP_Layer_Address_Info_To_Add_List, Transport_UP_Layer_Address_Info_To_Add_List_sequence_of, + 1, maxnoofTLAs, FALSE); + + return offset; +} + + +static const per_sequence_t Transport_UP_Layer_Address_Info_To_Remove_Item_sequence[] = { + { &hf_f1ap_iP_SecTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress }, + { &hf_f1ap_gTPTransportLayerAddressToRemove, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_GTPTLAs }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_Transport_UP_Layer_Address_Info_To_Remove_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Transport_UP_Layer_Address_Info_To_Remove_Item, Transport_UP_Layer_Address_Info_To_Remove_Item_sequence); + + return offset; +} + + +static const per_sequence_t Transport_UP_Layer_Address_Info_To_Remove_List_sequence_of[1] = { + { &hf_f1ap_Transport_UP_Layer_Address_Info_To_Remove_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Transport_UP_Layer_Address_Info_To_Remove_Item }, +}; + +static int +dissect_f1ap_Transport_UP_Layer_Address_Info_To_Remove_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_f1ap_Transport_UP_Layer_Address_Info_To_Remove_List, Transport_UP_Layer_Address_Info_To_Remove_List_sequence_of, + 1, maxnoofTLAs, FALSE); + + return offset; +} + + +static const value_string f1ap_TransmissionActionIndicator_vals[] = { + { 0, "stop" }, + { 1, "restart" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_TransmissionActionIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 1, NULL); + + return offset; +} + + +static const per_sequence_t Transport_Layer_Address_Info_sequence[] = { + { &hf_f1ap_transport_UP_Layer_Address_Info_To_Add_List, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_Transport_UP_Layer_Address_Info_To_Add_List }, + { &hf_f1ap_transport_UP_Layer_Address_Info_To_Remove_List, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_Transport_UP_Layer_Address_Info_To_Remove_List }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_Transport_Layer_Address_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Transport_Layer_Address_Info, Transport_Layer_Address_Info_sequence); + + return offset; +} + + +static const per_sequence_t TSCAssistanceInformation_sequence[] = { + { &hf_f1ap_periodicity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_Periodicity }, + { &hf_f1ap_burstArrivalTime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_BurstArrivalTime }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_TSCAssistanceInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_TSCAssistanceInformation, TSCAssistanceInformation_sequence); + + return offset; +} + + +static const per_sequence_t TSCTrafficCharacteristics_sequence[] = { + { &hf_f1ap_tSCAssistanceInformationDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_TSCAssistanceInformation }, + { &hf_f1ap_tSCAssistanceInformationUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_TSCAssistanceInformation }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_TSCTrafficCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_TSCTrafficCharacteristics, TSCTrafficCharacteristics_sequence); + + return offset; +} + + + +static int +dissect_f1ap_UACReductionIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_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 value_string f1ap_UACAction_vals[] = { + { 0, "reject-non-emergency-mo-dt" }, + { 1, "reject-rrc-cr-signalling" }, + { 2, "permit-emergency-sessions-and-mobile-terminated-services-only" }, + { 3, "permit-high-priority-sessions-and-mobile-terminated-services-only" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_UACAction(tvbuff_t *tvb _U_, int offset _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 int +dissect_f1ap_INTEGER_32_63_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 32U, 63U, NULL, TRUE); + + return offset; +} + + + +static int +dissect_f1ap_BIT_STRING_SIZE_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 7, 7, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const per_sequence_t UACOperatorDefined_sequence[] = { + { &hf_f1ap_accessCategory , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_32_63_ }, + { &hf_f1ap_accessIdentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BIT_STRING_SIZE_7 }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UACOperatorDefined(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UACOperatorDefined, UACOperatorDefined_sequence); + + return offset; +} + + +static const value_string f1ap_UACCategoryType_vals[] = { + { 0, "uACstandardized" }, + { 1, "uACOperatorDefined" }, + { 2, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t UACCategoryType_choice[] = { + { 0, &hf_f1ap_uACstandardized, ASN1_NO_EXTENSIONS , dissect_f1ap_UACAction }, + { 1, &hf_f1ap_uACOperatorDefined, ASN1_NO_EXTENSIONS , dissect_f1ap_UACOperatorDefined }, + { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_f1ap_UACCategoryType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_UACCategoryType, UACCategoryType_choice, + NULL); + + return offset; +} + + +static const per_sequence_t UACType_Item_sequence[] = { + { &hf_f1ap_uACReductionIndication, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_UACReductionIndication }, + { &hf_f1ap_uACCategoryType, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_UACCategoryType }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UACType_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UACType_Item, UACType_Item_sequence); + + return offset; +} + + +static const per_sequence_t UACType_List_sequence_of[1] = { + { &hf_f1ap_UACType_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_UACType_Item }, +}; + +static int +dissect_f1ap_UACType_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_f1ap_UACType_List, UACType_List_sequence_of, + 1, maxnoofUACperPLMN, FALSE); + + return offset; +} + + +static const per_sequence_t UACPLMN_Item_sequence[] = { + { &hf_f1ap_pLMNIdentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity }, + { &hf_f1ap_uACType_List , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_UACType_List }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UACPLMN_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UACPLMN_Item, UACPLMN_Item_sequence); + + return offset; +} + + +static const per_sequence_t UACPLMN_List_sequence_of[1] = { + { &hf_f1ap_UACPLMN_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_UACPLMN_Item }, +}; + +static int +dissect_f1ap_UACPLMN_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_f1ap_UACPLMN_List, UACPLMN_List_sequence_of, + 1, maxnoofUACPLMNs, FALSE); + + return offset; +} + + +static const per_sequence_t UAC_Assistance_Info_sequence[] = { + { &hf_f1ap_uACPLMN_List , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_UACPLMN_List }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UAC_Assistance_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UAC_Assistance_Info, UAC_Assistance_Info_sequence); + + return offset; +} + + +static const per_sequence_t UE_associatedLogicalF1_ConnectionItem_sequence[] = { + { &hf_f1ap_gNB_CU_UE_F1AP_ID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_GNB_CU_UE_F1AP_ID }, + { &hf_f1ap_gNB_DU_UE_F1AP_ID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_GNB_DU_UE_F1AP_ID }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UE_associatedLogicalF1_ConnectionItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UE_associatedLogicalF1_ConnectionItem, UE_associatedLogicalF1_ConnectionItem_sequence); + + return offset; +} + + + +static int +dissect_f1ap_UEAssistanceInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1541 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UEAssistanceInformation); + dissect_nr_rrc_UEAssistanceInformation_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_f1ap_UEAssistanceInformationEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1775 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UEAssistanceInformationEUTRA); + dissect_lte_rrc_UEAssistanceInformation_r11_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + +static const value_string f1ap_UEContextNotRetrievable_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_UEContextNotRetrievable(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); + + return offset; +} + + + +static int +dissect_f1ap_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 value_string f1ap_UEIdentityIndexValue_vals[] = { + { 0, "indexLength10" }, + { 1, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t UEIdentityIndexValue_choice[] = { + { 0, &hf_f1ap_indexLength10 , ASN1_NO_EXTENSIONS , dissect_f1ap_BIT_STRING_SIZE_10 }, + { 1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_f1ap_UEIdentityIndexValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_UEIdentityIndexValue, UEIdentityIndexValue_choice, + NULL); + + return offset; +} + + +static const per_sequence_t UL_BH_Non_UP_Traffic_Mapping_Item_sequence[] = { + { &hf_f1ap_nonUPTrafficType, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_NonUPTrafficType }, + { &hf_f1ap_bHInfo , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_BHInfo }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UL_BH_Non_UP_Traffic_Mapping_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UL_BH_Non_UP_Traffic_Mapping_Item, UL_BH_Non_UP_Traffic_Mapping_Item_sequence); + + return offset; +} + + +static const per_sequence_t UL_BH_Non_UP_Traffic_Mapping_List_sequence_of[1] = { + { &hf_f1ap_UL_BH_Non_UP_Traffic_Mapping_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_UL_BH_Non_UP_Traffic_Mapping_Item }, +}; + +static int +dissect_f1ap_UL_BH_Non_UP_Traffic_Mapping_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_f1ap_UL_BH_Non_UP_Traffic_Mapping_List, UL_BH_Non_UP_Traffic_Mapping_List_sequence_of, + 1, maxnoofNonUPTrafficMappings, FALSE); + + return offset; +} + + +static const per_sequence_t UL_BH_Non_UP_Traffic_Mapping_sequence[] = { + { &hf_f1ap_uL_BH_Non_UP_Traffic_Mapping_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_UL_BH_Non_UP_Traffic_Mapping_List }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UL_BH_Non_UP_Traffic_Mapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UL_BH_Non_UP_Traffic_Mapping, UL_BH_Non_UP_Traffic_Mapping_sequence); + + return offset; +} + + +static const per_sequence_t UL_UP_TNL_Information_to_Update_List_Item_sequence[] = { + { &hf_f1ap_uLUPTNLInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_UPTransportLayerInformation }, + { &hf_f1ap_newULUPTNLInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_UPTransportLayerInformation }, + { &hf_f1ap_bHInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_BHInfo }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UL_UP_TNL_Information_to_Update_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UL_UP_TNL_Information_to_Update_List_Item, UL_UP_TNL_Information_to_Update_List_Item_sequence); + + return offset; +} + + +static const per_sequence_t UL_UP_TNL_Address_to_Update_List_Item_sequence[] = { + { &hf_f1ap_oldIPAdress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress }, + { &hf_f1ap_newIPAdress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress }, + { &hf_f1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UL_UP_TNL_Address_to_Update_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UL_UP_TNL_Address_to_Update_List_Item, UL_UP_TNL_Address_to_Update_List_Item_sequence); + + return offset; +} + + + +static int +dissect_f1ap_UplinkTxDirectCurrentListInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1431 "./asn1/f1ap/f1ap.cnf" + tvbuff_t *param_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); + + if (param_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UplinkTxDirectCurrentListInformation); + dissect_nr_rrc_UplinkTxDirectCurrentList_PDU(param_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_f1ap_URI_address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE); + + return offset; +} + + +static const per_sequence_t VictimgNBSetID_sequence[] = { + { &hf_f1ap_victimgNBSetID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_GNBSetID }, + { &hf_f1ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_f1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_VictimgNBSetID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_VictimgNBSetID, VictimgNBSetID_sequence); + + return offset; +} + + +static const per_sequence_t Reset_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_Reset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1783 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Reset"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Reset, Reset_sequence); + + return offset; +} + + +static const value_string f1ap_ResetAll_vals[] = { + { 0, "reset-all" }, + { 0, NULL } +}; + + +static int +dissect_f1ap_ResetAll(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t UE_associatedLogicalF1_ConnectionListRes_sequence_of[1] = { + { &hf_f1ap_UE_associatedLogicalF1_ConnectionListRes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_UE_associatedLogicalF1_ConnectionListRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_UE_associatedLogicalF1_ConnectionListRes, UE_associatedLogicalF1_ConnectionListRes_sequence_of, + 1, maxnoofIndividualF1ConnectionsToReset, FALSE); + + return offset; +} + + +static const value_string f1ap_ResetType_vals[] = { + { 0, "f1-Interface" }, + { 1, "partOfF1-Interface" }, + { 2, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t ResetType_choice[] = { + { 0, &hf_f1ap_f1_Interface , ASN1_NO_EXTENSIONS , dissect_f1ap_ResetAll }, + { 1, &hf_f1ap_partOfF1_Interface, ASN1_NO_EXTENSIONS , dissect_f1ap_UE_associatedLogicalF1_ConnectionListRes }, + { 2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_f1ap_ResetType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_ResetType, ResetType_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ResetAcknowledge_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_ResetAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1785 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetAcknowledge"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_ResetAcknowledge, ResetAcknowledge_sequence); + + return offset; +} + + +static const per_sequence_t UE_associatedLogicalF1_ConnectionListResAck_sequence_of[1] = { + { &hf_f1ap_UE_associatedLogicalF1_ConnectionListResAck_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_UE_associatedLogicalF1_ConnectionListResAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_f1ap_UE_associatedLogicalF1_ConnectionListResAck, UE_associatedLogicalF1_ConnectionListResAck_sequence_of, + 1, maxnoofIndividualF1ConnectionsToReset, FALSE); + + return offset; +} + + +static const per_sequence_t ErrorIndication_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1835 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_ErrorIndication, ErrorIndication_sequence); + + return offset; +} + + +static const per_sequence_t F1SetupRequest_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_F1SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1787 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1SetupRequest"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_F1SetupRequest, F1SetupRequest_sequence); + + return offset; +} + + +static const per_sequence_t GNB_DU_Served_Cells_List_sequence_of[1] = { + { &hf_f1ap_GNB_DU_Served_Cells_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_GNB_DU_Served_Cells_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_f1ap_GNB_DU_Served_Cells_List, GNB_DU_Served_Cells_List_sequence_of, + 1, maxCellingNBDU, FALSE); + + return offset; +} + + +static const per_sequence_t F1SetupResponse_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_F1SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1789 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1SetupResponse"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_F1SetupResponse, F1SetupResponse_sequence); + + return offset; +} + + +static const per_sequence_t Cells_to_be_Activated_List_sequence_of[1] = { + { &hf_f1ap_Cells_to_be_Activated_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_Cells_to_be_Activated_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_f1ap_Cells_to_be_Activated_List, Cells_to_be_Activated_List_sequence_of, + 1, maxCellingNBDU, FALSE); + + return offset; +} + + +static const per_sequence_t F1SetupFailure_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_F1SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1791 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1SetupFailure"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_F1SetupFailure, F1SetupFailure_sequence); + + return offset; +} + + +static const per_sequence_t GNBDUConfigurationUpdate_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_GNBDUConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1793 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUConfigurationUpdate"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GNBDUConfigurationUpdate, GNBDUConfigurationUpdate_sequence); + + return offset; +} + + +static const per_sequence_t Served_Cells_To_Add_List_sequence_of[1] = { + { &hf_f1ap_Served_Cells_To_Add_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_Served_Cells_To_Add_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_f1ap_Served_Cells_To_Add_List, Served_Cells_To_Add_List_sequence_of, + 1, maxCellingNBDU, FALSE); + + return offset; +} + + +static const per_sequence_t Served_Cells_To_Modify_List_sequence_of[1] = { + { &hf_f1ap_Served_Cells_To_Modify_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_Served_Cells_To_Modify_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_f1ap_Served_Cells_To_Modify_List, Served_Cells_To_Modify_List_sequence_of, + 1, maxCellingNBDU, FALSE); + + return offset; +} + + +static const per_sequence_t Served_Cells_To_Delete_List_sequence_of[1] = { + { &hf_f1ap_Served_Cells_To_Delete_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_Served_Cells_To_Delete_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_f1ap_Served_Cells_To_Delete_List, Served_Cells_To_Delete_List_sequence_of, + 1, maxCellingNBDU, FALSE); + + return offset; +} + + +static const per_sequence_t Cells_Status_List_sequence_of[1] = { + { &hf_f1ap_Cells_Status_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_Cells_Status_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_f1ap_Cells_Status_List, Cells_Status_List_sequence_of, + 0, maxCellingNBDU, FALSE); + + return offset; +} + + +static const per_sequence_t Dedicated_SIDelivery_NeededUE_List_sequence_of[1] = { + { &hf_f1ap_Dedicated_SIDelivery_NeededUE_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_Dedicated_SIDelivery_NeededUE_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_f1ap_Dedicated_SIDelivery_NeededUE_List, Dedicated_SIDelivery_NeededUE_List_sequence_of, + 1, maxnoofUEIDs, FALSE); + + return offset; +} + + +static const per_sequence_t GNB_DU_TNL_Association_To_Remove_List_sequence_of[1] = { + { &hf_f1ap_GNB_DU_TNL_Association_To_Remove_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_GNB_DU_TNL_Association_To_Remove_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_f1ap_GNB_DU_TNL_Association_To_Remove_List, GNB_DU_TNL_Association_To_Remove_List_sequence_of, + 1, maxnoofTNLAssociations, FALSE); + + return offset; +} + + +static const per_sequence_t GNBDUConfigurationUpdateAcknowledge_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_GNBDUConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1795 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUConfigurationUpdateAcknowledge"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GNBDUConfigurationUpdateAcknowledge, GNBDUConfigurationUpdateAcknowledge_sequence); + + return offset; +} + + +static const per_sequence_t GNBDUConfigurationUpdateFailure_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_GNBDUConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1797 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUConfigurationUpdateFailure"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GNBDUConfigurationUpdateFailure, GNBDUConfigurationUpdateFailure_sequence); + + return offset; +} + + +static const per_sequence_t GNBCUConfigurationUpdate_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_GNBCUConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1799 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBCUConfigurationUpdate"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GNBCUConfigurationUpdate, GNBCUConfigurationUpdate_sequence); + + return offset; +} + + +static const per_sequence_t Cells_to_be_Deactivated_List_sequence_of[1] = { + { &hf_f1ap_Cells_to_be_Deactivated_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_Cells_to_be_Deactivated_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_f1ap_Cells_to_be_Deactivated_List, Cells_to_be_Deactivated_List_sequence_of, + 1, maxCellingNBDU, FALSE); + + return offset; +} + + +static const per_sequence_t GNB_CU_TNL_Association_To_Add_List_sequence_of[1] = { + { &hf_f1ap_GNB_CU_TNL_Association_To_Add_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_GNB_CU_TNL_Association_To_Add_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_f1ap_GNB_CU_TNL_Association_To_Add_List, GNB_CU_TNL_Association_To_Add_List_sequence_of, + 1, maxnoofTNLAssociations, FALSE); + + return offset; +} + + +static const per_sequence_t GNB_CU_TNL_Association_To_Remove_List_sequence_of[1] = { + { &hf_f1ap_GNB_CU_TNL_Association_To_Remove_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_GNB_CU_TNL_Association_To_Remove_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_f1ap_GNB_CU_TNL_Association_To_Remove_List, GNB_CU_TNL_Association_To_Remove_List_sequence_of, + 1, maxnoofTNLAssociations, FALSE); + + return offset; +} + + +static const per_sequence_t GNB_CU_TNL_Association_To_Update_List_sequence_of[1] = { + { &hf_f1ap_GNB_CU_TNL_Association_To_Update_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_GNB_CU_TNL_Association_To_Update_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_f1ap_GNB_CU_TNL_Association_To_Update_List, GNB_CU_TNL_Association_To_Update_List_sequence_of, + 1, maxnoofTNLAssociations, FALSE); + + return offset; +} + + +static const per_sequence_t Cells_to_be_Barred_List_sequence_of[1] = { + { &hf_f1ap_Cells_to_be_Barred_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_Cells_to_be_Barred_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_f1ap_Cells_to_be_Barred_List, Cells_to_be_Barred_List_sequence_of, + 1, maxCellingNBDU, FALSE); + + return offset; +} + + +static const per_sequence_t Protected_EUTRA_Resources_List_sequence_of[1] = { + { &hf_f1ap_Protected_EUTRA_Resources_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_Protected_EUTRA_Resources_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_f1ap_Protected_EUTRA_Resources_List, Protected_EUTRA_Resources_List_sequence_of, + 1, maxCellineNB, FALSE); + + return offset; +} + + +static const per_sequence_t Neighbour_Cell_Information_List_sequence_of[1] = { + { &hf_f1ap_Neighbour_Cell_Information_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_Neighbour_Cell_Information_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_f1ap_Neighbour_Cell_Information_List, Neighbour_Cell_Information_List_sequence_of, + 1, maxCellingNBDU, FALSE); + + return offset; +} + + +static const per_sequence_t GNBCUConfigurationUpdateAcknowledge_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_GNBCUConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1801 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBCUConfigurationUpdateAcknowledge"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GNBCUConfigurationUpdateAcknowledge, GNBCUConfigurationUpdateAcknowledge_sequence); + + return offset; +} + + +static const per_sequence_t Cells_Failed_to_be_Activated_List_sequence_of[1] = { + { &hf_f1ap_Cells_Failed_to_be_Activated_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_Cells_Failed_to_be_Activated_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_f1ap_Cells_Failed_to_be_Activated_List, Cells_Failed_to_be_Activated_List_sequence_of, + 1, maxCellingNBDU, FALSE); + + return offset; +} + + +static const per_sequence_t GNB_CU_TNL_Association_Setup_List_sequence_of[1] = { + { &hf_f1ap_GNB_CU_TNL_Association_Setup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_GNB_CU_TNL_Association_Setup_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_f1ap_GNB_CU_TNL_Association_Setup_List, GNB_CU_TNL_Association_Setup_List_sequence_of, + 1, maxnoofTNLAssociations, FALSE); + + return offset; +} + + +static const per_sequence_t GNB_CU_TNL_Association_Failed_To_Setup_List_sequence_of[1] = { + { &hf_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_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_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List, GNB_CU_TNL_Association_Failed_To_Setup_List_sequence_of, + 1, maxnoofTNLAssociations, FALSE); + + return offset; +} + + +static const per_sequence_t GNBCUConfigurationUpdateFailure_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_GNBCUConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1803 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBCUConfigurationUpdateFailure"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GNBCUConfigurationUpdateFailure, GNBCUConfigurationUpdateFailure_sequence); + + return offset; +} + + +static const per_sequence_t GNBDUResourceCoordinationRequest_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_GNBDUResourceCoordinationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1847 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUResourceCoordinationRequest"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GNBDUResourceCoordinationRequest, GNBDUResourceCoordinationRequest_sequence); + + return offset; +} + + +static const per_sequence_t GNBDUResourceCoordinationResponse_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_GNBDUResourceCoordinationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1849 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUResourceCoordinationResponse"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GNBDUResourceCoordinationResponse, GNBDUResourceCoordinationResponse_sequence); + + return offset; +} + + +static const per_sequence_t UEContextSetupRequest_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UEContextSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1805 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSetupRequest"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UEContextSetupRequest, UEContextSetupRequest_sequence); + + return offset; +} + + +static const per_sequence_t Candidate_SpCell_List_sequence_of[1] = { + { &hf_f1ap_Candidate_SpCell_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_Candidate_SpCell_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_f1ap_Candidate_SpCell_List, Candidate_SpCell_List_sequence_of, + 1, maxnoofCandidateSpCells, FALSE); + + return offset; +} + + +static const per_sequence_t SCell_ToBeSetup_List_sequence_of[1] = { + { &hf_f1ap_SCell_ToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SCell_ToBeSetup_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_f1ap_SCell_ToBeSetup_List, SCell_ToBeSetup_List_sequence_of, + 1, maxnoofSCells, FALSE); + + return offset; +} + + +static const per_sequence_t SRBs_ToBeSetup_List_sequence_of[1] = { + { &hf_f1ap_SRBs_ToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SRBs_ToBeSetup_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_f1ap_SRBs_ToBeSetup_List, SRBs_ToBeSetup_List_sequence_of, + 1, maxnoofSRBs, FALSE); + + return offset; +} + + +static const per_sequence_t DRBs_ToBeSetup_List_sequence_of[1] = { + { &hf_f1ap_DRBs_ToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_DRBs_ToBeSetup_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_f1ap_DRBs_ToBeSetup_List, DRBs_ToBeSetup_List_sequence_of, + 1, maxnoofDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t BHChannels_ToBeSetup_List_sequence_of[1] = { + { &hf_f1ap_BHChannels_ToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_BHChannels_ToBeSetup_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_f1ap_BHChannels_ToBeSetup_List, BHChannels_ToBeSetup_List_sequence_of, + 1, maxnoofBHRLCChannels, FALSE); + + return offset; +} + + +static const per_sequence_t SLDRBs_ToBeSetup_List_sequence_of[1] = { + { &hf_f1ap_SLDRBs_ToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SLDRBs_ToBeSetup_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_f1ap_SLDRBs_ToBeSetup_List, SLDRBs_ToBeSetup_List_sequence_of, + 1, maxnoofSLDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t UEContextSetupResponse_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UEContextSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1807 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSetupResponse"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UEContextSetupResponse, UEContextSetupResponse_sequence); + + return offset; +} + + +static const per_sequence_t DRBs_Setup_List_sequence_of[1] = { + { &hf_f1ap_DRBs_Setup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_DRBs_Setup_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_f1ap_DRBs_Setup_List, DRBs_Setup_List_sequence_of, + 1, maxnoofDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t SRBs_FailedToBeSetup_List_sequence_of[1] = { + { &hf_f1ap_SRBs_FailedToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SRBs_FailedToBeSetup_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_f1ap_SRBs_FailedToBeSetup_List, SRBs_FailedToBeSetup_List_sequence_of, + 1, maxnoofSRBs, FALSE); + + return offset; +} + + +static const per_sequence_t DRBs_FailedToBeSetup_List_sequence_of[1] = { + { &hf_f1ap_DRBs_FailedToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_DRBs_FailedToBeSetup_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_f1ap_DRBs_FailedToBeSetup_List, DRBs_FailedToBeSetup_List_sequence_of, + 1, maxnoofDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t SCell_FailedtoSetup_List_sequence_of[1] = { + { &hf_f1ap_SCell_FailedtoSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SCell_FailedtoSetup_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_f1ap_SCell_FailedtoSetup_List, SCell_FailedtoSetup_List_sequence_of, + 1, maxnoofSCells, FALSE); + + return offset; +} + + +static const per_sequence_t SRBs_Setup_List_sequence_of[1] = { + { &hf_f1ap_SRBs_Setup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SRBs_Setup_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_f1ap_SRBs_Setup_List, SRBs_Setup_List_sequence_of, + 1, maxnoofSRBs, FALSE); + + return offset; +} + + +static const per_sequence_t BHChannels_Setup_List_sequence_of[1] = { + { &hf_f1ap_BHChannels_Setup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_BHChannels_Setup_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_f1ap_BHChannels_Setup_List, BHChannels_Setup_List_sequence_of, + 1, maxnoofBHRLCChannels, FALSE); + + return offset; +} + + +static const per_sequence_t BHChannels_FailedToBeSetup_List_sequence_of[1] = { + { &hf_f1ap_BHChannels_FailedToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_BHChannels_FailedToBeSetup_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_f1ap_BHChannels_FailedToBeSetup_List, BHChannels_FailedToBeSetup_List_sequence_of, + 1, maxnoofBHRLCChannels, FALSE); + + return offset; +} + + +static const per_sequence_t SLDRBs_Setup_List_sequence_of[1] = { + { &hf_f1ap_SLDRBs_Setup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SLDRBs_Setup_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_f1ap_SLDRBs_Setup_List, SLDRBs_Setup_List_sequence_of, + 1, maxnoofSLDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t SLDRBs_FailedToBeSetup_List_sequence_of[1] = { + { &hf_f1ap_SLDRBs_FailedToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SLDRBs_FailedToBeSetup_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_f1ap_SLDRBs_FailedToBeSetup_List, SLDRBs_FailedToBeSetup_List_sequence_of, + 1, maxnoofSLDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t UEContextSetupFailure_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UEContextSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1809 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSetupFailure"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UEContextSetupFailure, UEContextSetupFailure_sequence); + + return offset; +} + + +static const per_sequence_t Potential_SpCell_List_sequence_of[1] = { + { &hf_f1ap_Potential_SpCell_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_Potential_SpCell_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_f1ap_Potential_SpCell_List, Potential_SpCell_List_sequence_of, + 0, maxnoofPotentialSpCells, FALSE); + + return offset; +} + + +static const per_sequence_t UEContextReleaseRequest_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UEContextReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1837 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseRequest"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UEContextReleaseRequest, UEContextReleaseRequest_sequence); + + return offset; +} + + +static const per_sequence_t UEContextReleaseCommand_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UEContextReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1811 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseCommand"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UEContextReleaseCommand, UEContextReleaseCommand_sequence); + + return offset; +} + + +static const per_sequence_t UEContextReleaseComplete_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UEContextReleaseComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1813 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseComplete"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UEContextReleaseComplete, UEContextReleaseComplete_sequence); + + return offset; +} + + +static const per_sequence_t UEContextModificationRequest_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UEContextModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1815 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRequest"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UEContextModificationRequest, UEContextModificationRequest_sequence); + + return offset; +} + + +static const per_sequence_t SCell_ToBeSetupMod_List_sequence_of[1] = { + { &hf_f1ap_SCell_ToBeSetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SCell_ToBeSetupMod_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_f1ap_SCell_ToBeSetupMod_List, SCell_ToBeSetupMod_List_sequence_of, + 1, maxnoofSCells, FALSE); + + return offset; +} + + +static const per_sequence_t SCell_ToBeRemoved_List_sequence_of[1] = { + { &hf_f1ap_SCell_ToBeRemoved_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SCell_ToBeRemoved_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_f1ap_SCell_ToBeRemoved_List, SCell_ToBeRemoved_List_sequence_of, + 1, maxnoofSCells, FALSE); + + return offset; +} + + +static const per_sequence_t SRBs_ToBeSetupMod_List_sequence_of[1] = { + { &hf_f1ap_SRBs_ToBeSetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SRBs_ToBeSetupMod_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_f1ap_SRBs_ToBeSetupMod_List, SRBs_ToBeSetupMod_List_sequence_of, + 1, maxnoofSRBs, FALSE); + + return offset; +} + + +static const per_sequence_t DRBs_ToBeSetupMod_List_sequence_of[1] = { + { &hf_f1ap_DRBs_ToBeSetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_DRBs_ToBeSetupMod_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_f1ap_DRBs_ToBeSetupMod_List, DRBs_ToBeSetupMod_List_sequence_of, + 1, maxnoofDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t BHChannels_ToBeSetupMod_List_sequence_of[1] = { + { &hf_f1ap_BHChannels_ToBeSetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_BHChannels_ToBeSetupMod_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_f1ap_BHChannels_ToBeSetupMod_List, BHChannels_ToBeSetupMod_List_sequence_of, + 1, maxnoofBHRLCChannels, FALSE); + + return offset; +} + + +static const per_sequence_t DRBs_ToBeModified_List_sequence_of[1] = { + { &hf_f1ap_DRBs_ToBeModified_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_DRBs_ToBeModified_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_f1ap_DRBs_ToBeModified_List, DRBs_ToBeModified_List_sequence_of, + 1, maxnoofDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t BHChannels_ToBeModified_List_sequence_of[1] = { + { &hf_f1ap_BHChannels_ToBeModified_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_BHChannels_ToBeModified_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_f1ap_BHChannels_ToBeModified_List, BHChannels_ToBeModified_List_sequence_of, + 1, maxnoofBHRLCChannels, FALSE); + + return offset; +} + + +static const per_sequence_t SRBs_ToBeReleased_List_sequence_of[1] = { + { &hf_f1ap_SRBs_ToBeReleased_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SRBs_ToBeReleased_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_f1ap_SRBs_ToBeReleased_List, SRBs_ToBeReleased_List_sequence_of, + 1, maxnoofSRBs, FALSE); + + return offset; +} + + +static const per_sequence_t DRBs_ToBeReleased_List_sequence_of[1] = { + { &hf_f1ap_DRBs_ToBeReleased_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_DRBs_ToBeReleased_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_f1ap_DRBs_ToBeReleased_List, DRBs_ToBeReleased_List_sequence_of, + 1, maxnoofDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t BHChannels_ToBeReleased_List_sequence_of[1] = { + { &hf_f1ap_BHChannels_ToBeReleased_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_BHChannels_ToBeReleased_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_f1ap_BHChannels_ToBeReleased_List, BHChannels_ToBeReleased_List_sequence_of, + 1, maxnoofBHRLCChannels, FALSE); + + return offset; +} + + +static const per_sequence_t SLDRBs_ToBeSetupMod_List_sequence_of[1] = { + { &hf_f1ap_SLDRBs_ToBeSetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SLDRBs_ToBeSetupMod_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_f1ap_SLDRBs_ToBeSetupMod_List, SLDRBs_ToBeSetupMod_List_sequence_of, + 1, maxnoofSLDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t SLDRBs_ToBeModified_List_sequence_of[1] = { + { &hf_f1ap_SLDRBs_ToBeModified_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SLDRBs_ToBeModified_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_f1ap_SLDRBs_ToBeModified_List, SLDRBs_ToBeModified_List_sequence_of, + 1, maxnoofSLDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t SLDRBs_ToBeReleased_List_sequence_of[1] = { + { &hf_f1ap_SLDRBs_ToBeReleased_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SLDRBs_ToBeReleased_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_f1ap_SLDRBs_ToBeReleased_List, SLDRBs_ToBeReleased_List_sequence_of, + 1, maxnoofSLDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t UEContextModificationResponse_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UEContextModificationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1817 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationResponse"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UEContextModificationResponse, UEContextModificationResponse_sequence); + + return offset; +} + + +static const per_sequence_t DRBs_SetupMod_List_sequence_of[1] = { + { &hf_f1ap_DRBs_SetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_DRBs_SetupMod_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_f1ap_DRBs_SetupMod_List, DRBs_SetupMod_List_sequence_of, + 1, maxnoofDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t DRBs_Modified_List_sequence_of[1] = { + { &hf_f1ap_DRBs_Modified_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_DRBs_Modified_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_f1ap_DRBs_Modified_List, DRBs_Modified_List_sequence_of, + 1, maxnoofDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t SRBs_SetupMod_List_sequence_of[1] = { + { &hf_f1ap_SRBs_SetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SRBs_SetupMod_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_f1ap_SRBs_SetupMod_List, SRBs_SetupMod_List_sequence_of, + 1, maxnoofSRBs, FALSE); + + return offset; +} + + +static const per_sequence_t SRBs_Modified_List_sequence_of[1] = { + { &hf_f1ap_SRBs_Modified_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SRBs_Modified_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_f1ap_SRBs_Modified_List, SRBs_Modified_List_sequence_of, + 1, maxnoofSRBs, FALSE); + + return offset; +} + + +static const per_sequence_t DRBs_FailedToBeModified_List_sequence_of[1] = { + { &hf_f1ap_DRBs_FailedToBeModified_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_DRBs_FailedToBeModified_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_f1ap_DRBs_FailedToBeModified_List, DRBs_FailedToBeModified_List_sequence_of, + 1, maxnoofDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t SRBs_FailedToBeSetupMod_List_sequence_of[1] = { + { &hf_f1ap_SRBs_FailedToBeSetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SRBs_FailedToBeSetupMod_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_f1ap_SRBs_FailedToBeSetupMod_List, SRBs_FailedToBeSetupMod_List_sequence_of, + 1, maxnoofSRBs, FALSE); + + return offset; +} + + +static const per_sequence_t DRBs_FailedToBeSetupMod_List_sequence_of[1] = { + { &hf_f1ap_DRBs_FailedToBeSetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_DRBs_FailedToBeSetupMod_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_f1ap_DRBs_FailedToBeSetupMod_List, DRBs_FailedToBeSetupMod_List_sequence_of, + 1, maxnoofDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t SCell_FailedtoSetupMod_List_sequence_of[1] = { + { &hf_f1ap_SCell_FailedtoSetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SCell_FailedtoSetupMod_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_f1ap_SCell_FailedtoSetupMod_List, SCell_FailedtoSetupMod_List_sequence_of, + 1, maxnoofSCells, FALSE); + + return offset; +} + + +static const per_sequence_t BHChannels_SetupMod_List_sequence_of[1] = { + { &hf_f1ap_BHChannels_SetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_BHChannels_SetupMod_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_f1ap_BHChannels_SetupMod_List, BHChannels_SetupMod_List_sequence_of, + 1, maxnoofBHRLCChannels, FALSE); + + return offset; +} + + +static const per_sequence_t BHChannels_Modified_List_sequence_of[1] = { + { &hf_f1ap_BHChannels_Modified_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_BHChannels_Modified_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_f1ap_BHChannels_Modified_List, BHChannels_Modified_List_sequence_of, + 1, maxnoofBHRLCChannels, FALSE); + + return offset; +} + + +static const per_sequence_t BHChannels_FailedToBeModified_List_sequence_of[1] = { + { &hf_f1ap_BHChannels_FailedToBeModified_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_BHChannels_FailedToBeModified_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_f1ap_BHChannels_FailedToBeModified_List, BHChannels_FailedToBeModified_List_sequence_of, + 1, maxnoofBHRLCChannels, FALSE); + + return offset; +} + + +static const per_sequence_t BHChannels_FailedToBeSetupMod_List_sequence_of[1] = { + { &hf_f1ap_BHChannels_FailedToBeSetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_BHChannels_FailedToBeSetupMod_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_f1ap_BHChannels_FailedToBeSetupMod_List, BHChannels_FailedToBeSetupMod_List_sequence_of, + 1, maxnoofBHRLCChannels, FALSE); + + return offset; +} + + +static const per_sequence_t Associated_SCell_List_sequence_of[1] = { + { &hf_f1ap_Associated_SCell_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_Associated_SCell_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_f1ap_Associated_SCell_List, Associated_SCell_List_sequence_of, + 1, maxnoofSCells, FALSE); + + return offset; +} + + +static const per_sequence_t SLDRBs_SetupMod_List_sequence_of[1] = { + { &hf_f1ap_SLDRBs_SetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SLDRBs_SetupMod_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_f1ap_SLDRBs_SetupMod_List, SLDRBs_SetupMod_List_sequence_of, + 1, maxnoofSLDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t SLDRBs_Modified_List_sequence_of[1] = { + { &hf_f1ap_SLDRBs_Modified_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SLDRBs_Modified_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_f1ap_SLDRBs_Modified_List, SLDRBs_Modified_List_sequence_of, + 1, maxnoofSLDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t SLDRBs_FailedToBeModified_List_sequence_of[1] = { + { &hf_f1ap_SLDRBs_FailedToBeModified_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SLDRBs_FailedToBeModified_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_f1ap_SLDRBs_FailedToBeModified_List, SLDRBs_FailedToBeModified_List_sequence_of, + 1, maxnoofSLDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t SLDRBs_FailedToBeSetupMod_List_sequence_of[1] = { + { &hf_f1ap_SLDRBs_FailedToBeSetupMod_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SLDRBs_FailedToBeSetupMod_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_f1ap_SLDRBs_FailedToBeSetupMod_List, SLDRBs_FailedToBeSetupMod_List_sequence_of, + 1, maxnoofSLDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t UEContextModificationFailure_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UEContextModificationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1819 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationFailure"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UEContextModificationFailure, UEContextModificationFailure_sequence); + + return offset; +} + + +static const per_sequence_t UEContextModificationRequired_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UEContextModificationRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1821 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRequired"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UEContextModificationRequired, UEContextModificationRequired_sequence); + + return offset; +} + + +static const per_sequence_t DRBs_Required_ToBeModified_List_sequence_of[1] = { + { &hf_f1ap_DRBs_Required_ToBeModified_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_DRBs_Required_ToBeModified_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_f1ap_DRBs_Required_ToBeModified_List, DRBs_Required_ToBeModified_List_sequence_of, + 1, maxnoofDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t DRBs_Required_ToBeReleased_List_sequence_of[1] = { + { &hf_f1ap_DRBs_Required_ToBeReleased_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_DRBs_Required_ToBeReleased_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_f1ap_DRBs_Required_ToBeReleased_List, DRBs_Required_ToBeReleased_List_sequence_of, + 1, maxnoofDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t SRBs_Required_ToBeReleased_List_sequence_of[1] = { + { &hf_f1ap_SRBs_Required_ToBeReleased_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SRBs_Required_ToBeReleased_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_f1ap_SRBs_Required_ToBeReleased_List, SRBs_Required_ToBeReleased_List_sequence_of, + 1, maxnoofSRBs, FALSE); + + return offset; +} + + +static const per_sequence_t BHChannels_Required_ToBeReleased_List_sequence_of[1] = { + { &hf_f1ap_BHChannels_Required_ToBeReleased_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_BHChannels_Required_ToBeReleased_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_f1ap_BHChannels_Required_ToBeReleased_List, BHChannels_Required_ToBeReleased_List_sequence_of, + 1, maxnoofBHRLCChannels, FALSE); + + return offset; +} + + +static const per_sequence_t SLDRBs_Required_ToBeModified_List_sequence_of[1] = { + { &hf_f1ap_SLDRBs_Required_ToBeModified_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SLDRBs_Required_ToBeModified_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_f1ap_SLDRBs_Required_ToBeModified_List, SLDRBs_Required_ToBeModified_List_sequence_of, + 1, maxnoofSLDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t SLDRBs_Required_ToBeReleased_List_sequence_of[1] = { + { &hf_f1ap_SLDRBs_Required_ToBeReleased_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SLDRBs_Required_ToBeReleased_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_f1ap_SLDRBs_Required_ToBeReleased_List, SLDRBs_Required_ToBeReleased_List_sequence_of, + 1, maxnoofSLDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t UEContextModificationConfirm_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UEContextModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1823 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationConfirm"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UEContextModificationConfirm, UEContextModificationConfirm_sequence); + + return offset; +} + + +static const per_sequence_t DRBs_ModifiedConf_List_sequence_of[1] = { + { &hf_f1ap_DRBs_ModifiedConf_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_DRBs_ModifiedConf_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_f1ap_DRBs_ModifiedConf_List, DRBs_ModifiedConf_List_sequence_of, + 1, maxnoofDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t SLDRBs_ModifiedConf_List_sequence_of[1] = { + { &hf_f1ap_SLDRBs_ModifiedConf_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_SLDRBs_ModifiedConf_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_f1ap_SLDRBs_ModifiedConf_List, SLDRBs_ModifiedConf_List_sequence_of, + 1, maxnoofSLDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t UEContextModificationRefuse_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UEContextModificationRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1825 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRefuse"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UEContextModificationRefuse, UEContextModificationRefuse_sequence); + + return offset; +} + + +static const per_sequence_t WriteReplaceWarningRequest_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_WriteReplaceWarningRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1827 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningRequest"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_WriteReplaceWarningRequest, WriteReplaceWarningRequest_sequence); + + return offset; +} + + +static const per_sequence_t Cells_To_Be_Broadcast_List_sequence_of[1] = { + { &hf_f1ap_Cells_To_Be_Broadcast_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_Cells_To_Be_Broadcast_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_f1ap_Cells_To_Be_Broadcast_List, Cells_To_Be_Broadcast_List_sequence_of, + 1, maxCellingNBDU, FALSE); + + return offset; +} + + +static const per_sequence_t WriteReplaceWarningResponse_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_WriteReplaceWarningResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1829 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningResponse"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_WriteReplaceWarningResponse, WriteReplaceWarningResponse_sequence); + + return offset; +} + + +static const per_sequence_t Cells_Broadcast_Completed_List_sequence_of[1] = { + { &hf_f1ap_Cells_Broadcast_Completed_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_Cells_Broadcast_Completed_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_f1ap_Cells_Broadcast_Completed_List, Cells_Broadcast_Completed_List_sequence_of, + 1, maxCellingNBDU, FALSE); + + return offset; +} + + +static const per_sequence_t PWSCancelRequest_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_PWSCancelRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1831 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSCancelRequest"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_PWSCancelRequest, PWSCancelRequest_sequence); + + return offset; +} + + +static const per_sequence_t Broadcast_To_Be_Cancelled_List_sequence_of[1] = { + { &hf_f1ap_Broadcast_To_Be_Cancelled_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_Broadcast_To_Be_Cancelled_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_f1ap_Broadcast_To_Be_Cancelled_List, Broadcast_To_Be_Cancelled_List_sequence_of, + 1, maxCellingNBDU, FALSE); + + return offset; +} + + +static const per_sequence_t PWSCancelResponse_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_PWSCancelResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1833 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSCancelResponse"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_PWSCancelResponse, PWSCancelResponse_sequence); + + return offset; +} + + +static const per_sequence_t Cells_Broadcast_Cancelled_List_sequence_of[1] = { + { &hf_f1ap_Cells_Broadcast_Cancelled_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_Cells_Broadcast_Cancelled_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_f1ap_Cells_Broadcast_Cancelled_List, Cells_Broadcast_Cancelled_List_sequence_of, + 1, maxCellingNBDU, FALSE); + + return offset; +} + + +static const per_sequence_t UEInactivityNotification_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UEInactivityNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1845 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEInactivityNotification"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UEInactivityNotification, UEInactivityNotification_sequence); + + return offset; +} + + +static const per_sequence_t DRB_Activity_List_sequence_of[1] = { + { &hf_f1ap_DRB_Activity_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_DRB_Activity_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_f1ap_DRB_Activity_List, DRB_Activity_List_sequence_of, + 1, maxnoofDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t InitialULRRCMessageTransfer_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_InitialULRRCMessageTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1839 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialULRRCMessageTransfer"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_InitialULRRCMessageTransfer, InitialULRRCMessageTransfer_sequence); + + return offset; +} + + +static const per_sequence_t DLRRCMessageTransfer_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_DLRRCMessageTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1841 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DLRRCMessageTransfer"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_DLRRCMessageTransfer, DLRRCMessageTransfer_sequence); + + return offset; +} + + + +static int +dissect_f1ap_RedirectedRRCmessage(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 ULRRCMessageTransfer_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_ULRRCMessageTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1843 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULRRCMessageTransfer"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_ULRRCMessageTransfer, ULRRCMessageTransfer_sequence); + + return offset; +} + + +static const per_sequence_t PrivateMessage_sequence[] = { + { &hf_f1ap_privateIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_PrivateIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1851 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_PrivateMessage, PrivateMessage_sequence); + + return offset; +} + + +static const per_sequence_t SystemInformationDeliveryCommand_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SystemInformationDeliveryCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1853 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformationDeliveryCommand"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SystemInformationDeliveryCommand, SystemInformationDeliveryCommand_sequence); + + return offset; +} + + +static const per_sequence_t Paging_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_Paging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1855 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Paging, Paging_sequence); + + return offset; +} + + +static const per_sequence_t PagingCell_list_sequence_of[1] = { + { &hf_f1ap_PagingCell_list_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_PagingCell_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_f1ap_PagingCell_list, PagingCell_list_sequence_of, + 1, maxnoofPagingCells, FALSE); + + return offset; +} + + +static const per_sequence_t Notify_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_Notify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1857 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Notify"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_Notify, Notify_sequence); + + return offset; +} + + +static const per_sequence_t DRB_Notify_List_sequence_of[1] = { + { &hf_f1ap_DRB_Notify_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_DRB_Notify_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_f1ap_DRB_Notify_List, DRB_Notify_List_sequence_of, + 1, maxnoofDRBs, FALSE); + + return offset; +} + + +static const per_sequence_t NetworkAccessRateReduction_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_NetworkAccessRateReduction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1859 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NetworkAccessRateReduction"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_NetworkAccessRateReduction, NetworkAccessRateReduction_sequence); + + return offset; +} + + +static const per_sequence_t PWSRestartIndication_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_PWSRestartIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1861 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSRestartIndication"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_PWSRestartIndication, PWSRestartIndication_sequence); + + return offset; +} + + +static const per_sequence_t NR_CGI_List_For_Restart_List_sequence_of[1] = { + { &hf_f1ap_NR_CGI_List_For_Restart_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_NR_CGI_List_For_Restart_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_f1ap_NR_CGI_List_For_Restart_List, NR_CGI_List_For_Restart_List_sequence_of, + 1, maxCellingNBDU, FALSE); + + return offset; +} + + +static const per_sequence_t PWSFailureIndication_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_PWSFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1863 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSFailureIndication"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_PWSFailureIndication, PWSFailureIndication_sequence); + + return offset; +} + + +static const per_sequence_t PWS_Failed_NR_CGI_List_sequence_of[1] = { + { &hf_f1ap_PWS_Failed_NR_CGI_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_PWS_Failed_NR_CGI_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_f1ap_PWS_Failed_NR_CGI_List, PWS_Failed_NR_CGI_List_sequence_of, + 1, maxCellingNBDU, FALSE); + + return offset; +} + + +static const per_sequence_t GNBDUStatusIndication_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_GNBDUStatusIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1865 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUStatusIndication"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GNBDUStatusIndication, GNBDUStatusIndication_sequence); + + return offset; +} + + +static const per_sequence_t RRCDeliveryReport_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_RRCDeliveryReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1867 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCDeliveryReport"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_RRCDeliveryReport, RRCDeliveryReport_sequence); + + return offset; +} + + +static const per_sequence_t F1RemovalRequest_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_F1RemovalRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1870 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1RemovalRequest"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_F1RemovalRequest, F1RemovalRequest_sequence); + + return offset; +} + + +static const per_sequence_t F1RemovalResponse_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_F1RemovalResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1873 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1RemovalResponse"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_F1RemovalResponse, F1RemovalResponse_sequence); + + return offset; +} + + +static const per_sequence_t F1RemovalFailure_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_F1RemovalFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1876 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1RemovalFailure"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_F1RemovalFailure, F1RemovalFailure_sequence); + + return offset; +} + + +static const per_sequence_t TraceStart_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_TraceStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1879 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_TraceStart, TraceStart_sequence); + + return offset; +} + + +static const per_sequence_t DeactivateTrace_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_DeactivateTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1882 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_DeactivateTrace, DeactivateTrace_sequence); + + return offset; +} + + +static const per_sequence_t CellTrafficTrace_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_CellTrafficTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1942 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_CellTrafficTrace, CellTrafficTrace_sequence); + + return offset; +} + + +static const per_sequence_t DUCURadioInformationTransfer_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_DUCURadioInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1885 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DUCURadioInformationTransfer"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_DUCURadioInformationTransfer, DUCURadioInformationTransfer_sequence); + + return offset; +} + + +static const per_sequence_t CUDURadioInformationTransfer_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_CUDURadioInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1888 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CUDURadioInformationTransfer"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_CUDURadioInformationTransfer, CUDURadioInformationTransfer_sequence); + + return offset; +} + + +static const per_sequence_t BAPMappingConfiguration_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_BAPMappingConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1891 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BAPMappingConfiguration"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_BAPMappingConfiguration, BAPMappingConfiguration_sequence); + + return offset; +} + + +static const per_sequence_t BH_Routing_Information_Added_List_sequence_of[1] = { + { &hf_f1ap_BH_Routing_Information_Added_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_BH_Routing_Information_Added_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_f1ap_BH_Routing_Information_Added_List, BH_Routing_Information_Added_List_sequence_of, + 1, maxnoofRoutingEntries, FALSE); + + return offset; +} + + +static const per_sequence_t BH_Routing_Information_Removed_List_sequence_of[1] = { + { &hf_f1ap_BH_Routing_Information_Removed_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_BH_Routing_Information_Removed_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_f1ap_BH_Routing_Information_Removed_List, BH_Routing_Information_Removed_List_sequence_of, + 1, maxnoofRoutingEntries, FALSE); + + return offset; +} + + +static const per_sequence_t BAPMappingConfigurationAcknowledge_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_BAPMappingConfigurationAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1894 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BAPMappingConfigurationAcknowledge"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_BAPMappingConfigurationAcknowledge, BAPMappingConfigurationAcknowledge_sequence); + + return offset; +} + + +static const per_sequence_t GNBDUResourceConfiguration_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_GNBDUResourceConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1897 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUResourceConfiguration"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GNBDUResourceConfiguration, GNBDUResourceConfiguration_sequence); + + return offset; +} + + +static const per_sequence_t GNBDUResourceConfigurationAcknowledge_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_GNBDUResourceConfigurationAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1900 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUResourceConfigurationAcknowledge"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_GNBDUResourceConfigurationAcknowledge, GNBDUResourceConfigurationAcknowledge_sequence); + + return offset; +} + + +static const per_sequence_t IABTNLAddressRequest_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_IABTNLAddressRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1903 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABTNLAddressRequest"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_IABTNLAddressRequest, IABTNLAddressRequest_sequence); + + return offset; +} + + +static const per_sequence_t IAB_TNL_Addresses_To_Remove_List_sequence_of[1] = { + { &hf_f1ap_IAB_TNL_Addresses_To_Remove_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_IAB_TNL_Addresses_To_Remove_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_f1ap_IAB_TNL_Addresses_To_Remove_List, IAB_TNL_Addresses_To_Remove_List_sequence_of, + 1, maxnoofTLAsIAB, FALSE); + + return offset; +} + + +static const per_sequence_t IABTNLAddressResponse_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_IABTNLAddressResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1906 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABTNLAddressResponse"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_IABTNLAddressResponse, IABTNLAddressResponse_sequence); + + return offset; +} + + +static const per_sequence_t IAB_Allocated_TNL_Address_List_sequence_of[1] = { + { &hf_f1ap_IAB_Allocated_TNL_Address_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_IAB_Allocated_TNL_Address_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_f1ap_IAB_Allocated_TNL_Address_List, IAB_Allocated_TNL_Address_List_sequence_of, + 1, maxnoofTLAsIAB, FALSE); + + return offset; +} + + +static const per_sequence_t IABUPConfigurationUpdateRequest_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_IABUPConfigurationUpdateRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1909 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABUPConfigurationUpdateRequest"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_IABUPConfigurationUpdateRequest, IABUPConfigurationUpdateRequest_sequence); + + return offset; +} + + +static const per_sequence_t UL_UP_TNL_Information_to_Update_List_sequence_of[1] = { + { &hf_f1ap_UL_UP_TNL_Information_to_Update_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_UL_UP_TNL_Information_to_Update_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_f1ap_UL_UP_TNL_Information_to_Update_List, UL_UP_TNL_Information_to_Update_List_sequence_of, + 1, maxnoofULUPTNLInformationforIAB, FALSE); + + return offset; +} + + +static const per_sequence_t UL_UP_TNL_Address_to_Update_List_sequence_of[1] = { + { &hf_f1ap_UL_UP_TNL_Address_to_Update_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_UL_UP_TNL_Address_to_Update_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_f1ap_UL_UP_TNL_Address_to_Update_List, UL_UP_TNL_Address_to_Update_List_sequence_of, + 1, maxnoofUPTNLAddresses, FALSE); + + return offset; +} + + +static const per_sequence_t IABUPConfigurationUpdateResponse_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_IABUPConfigurationUpdateResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1912 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABUPConfigurationUpdateResponse"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_IABUPConfigurationUpdateResponse, IABUPConfigurationUpdateResponse_sequence); + + return offset; +} + + +static const per_sequence_t DL_UP_TNL_Address_to_Update_List_sequence_of[1] = { + { &hf_f1ap_DL_UP_TNL_Address_to_Update_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_f1ap_DL_UP_TNL_Address_to_Update_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_f1ap_DL_UP_TNL_Address_to_Update_List, DL_UP_TNL_Address_to_Update_List_sequence_of, + 1, maxnoofUPTNLAddresses, FALSE); + + return offset; +} + + +static const per_sequence_t IABUPConfigurationUpdateFailure_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_IABUPConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1915 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABUPConfigurationUpdateFailure"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_IABUPConfigurationUpdateFailure, IABUPConfigurationUpdateFailure_sequence); + + return offset; +} + + +static const per_sequence_t ResourceStatusRequest_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_ResourceStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1918 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusRequest"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_ResourceStatusRequest, ResourceStatusRequest_sequence); + + return offset; +} + + +static const per_sequence_t ResourceStatusResponse_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_ResourceStatusResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1921 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusResponse"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_ResourceStatusResponse, ResourceStatusResponse_sequence); + + return offset; +} + + +static const per_sequence_t ResourceStatusFailure_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_ResourceStatusFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1924 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusFailure"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_ResourceStatusFailure, ResourceStatusFailure_sequence); + + return offset; +} + + +static const per_sequence_t ResourceStatusUpdate_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_ResourceStatusUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1927 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusUpdate"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_ResourceStatusUpdate, ResourceStatusUpdate_sequence); + + return offset; +} + + +static const per_sequence_t AccessAndMobilityIndication_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_AccessAndMobilityIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1930 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AccessAndMobilityIndication"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_AccessAndMobilityIndication, AccessAndMobilityIndication_sequence); + + return offset; +} + + +static const per_sequence_t ReferenceTimeInformationReportingControl_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_ReferenceTimeInformationReportingControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1933 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ReferenceTimeInformationReportingControl"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_ReferenceTimeInformationReportingControl, ReferenceTimeInformationReportingControl_sequence); + + return offset; +} + + +static const per_sequence_t ReferenceTimeInformationReport_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_ReferenceTimeInformationReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1936 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ReferenceTimeInformationReport"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_ReferenceTimeInformationReport, ReferenceTimeInformationReport_sequence); + + return offset; +} + + +static const per_sequence_t AccessSuccess_sequence[] = { + { &hf_f1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_AccessSuccess(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1939 "./asn1/f1ap/f1ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AccessSuccess"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_AccessSuccess, AccessSuccess_sequence); + + return offset; +} + + + +static int +dissect_f1ap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 81 "./asn1/f1ap/f1ap.cnf" + f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); + f1ap_data->message_type = INITIATING_MESSAGE; + + offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_InitiatingMessageValue); + + return offset; +} + + +static const per_sequence_t InitiatingMessage_sequence[] = { + { &hf_f1ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProcedureCode }, + { &hf_f1ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Criticality }, + { &hf_f1ap_initiatingMessagevalue, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_InitiatingMessage_value }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_InitiatingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_InitiatingMessage, InitiatingMessage_sequence); + + return offset; +} + + + +static int +dissect_f1ap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 85 "./asn1/f1ap/f1ap.cnf" + f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); + f1ap_data->message_type = SUCCESSFUL_OUTCOME; + + offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_SuccessfulOutcomeValue); + + return offset; +} + + +static const per_sequence_t SuccessfulOutcome_sequence[] = { + { &hf_f1ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProcedureCode }, + { &hf_f1ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Criticality }, + { &hf_f1ap_successfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_SuccessfulOutcome_value }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_SuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_SuccessfulOutcome, SuccessfulOutcome_sequence); + + return offset; +} + + + +static int +dissect_f1ap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 89 "./asn1/f1ap/f1ap.cnf" + f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo); + f1ap_data->message_type = UNSUCCESSFUL_OUTCOME; + + offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_UnsuccessfulOutcomeValue); + + return offset; +} + + +static const per_sequence_t UnsuccessfulOutcome_sequence[] = { + { &hf_f1ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_ProcedureCode }, + { &hf_f1ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_Criticality }, + { &hf_f1ap_unsuccessfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_f1ap_UnsuccessfulOutcome_value }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_f1ap_UnsuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_f1ap_UnsuccessfulOutcome, UnsuccessfulOutcome_sequence); + + return offset; +} + + +static const value_string f1ap_F1AP_PDU_vals[] = { + { 0, "initiatingMessage" }, + { 1, "successfulOutcome" }, + { 2, "unsuccessfulOutcome" }, + { 3, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t F1AP_PDU_choice[] = { + { 0, &hf_f1ap_initiatingMessage, ASN1_NO_EXTENSIONS , dissect_f1ap_InitiatingMessage }, + { 1, &hf_f1ap_successfulOutcome, ASN1_NO_EXTENSIONS , dissect_f1ap_SuccessfulOutcome }, + { 2, &hf_f1ap_unsuccessfulOutcome, ASN1_NO_EXTENSIONS , dissect_f1ap_UnsuccessfulOutcome }, + { 3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_f1ap_ProtocolIE_SingleContainer }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_f1ap_F1AP_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_f1ap_F1AP_PDU, F1AP_PDU_choice, + NULL); + + return offset; +} + +/*--- PDUs ---*/ + +static int dissect_Activated_Cells_to_be_Updated_List_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, TRUE, pinfo); + offset = dissect_f1ap_Activated_Cells_to_be_Updated_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Activated_Cells_to_be_Updated_List_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_AdditionalDuplicationIndication_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, TRUE, pinfo); + offset = dissect_f1ap_AdditionalDuplicationIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_AdditionalDuplicationIndication_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_AdditionalPDCPDuplicationTNL_List_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, TRUE, pinfo); + offset = dissect_f1ap_AdditionalPDCPDuplicationTNL_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_AdditionalPDCPDuplicationTNL_List_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_AdditionalSIBMessageList_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, TRUE, pinfo); + offset = dissect_f1ap_AdditionalSIBMessageList(tvb, offset, &asn1_ctx, tree, hf_f1ap_AdditionalSIBMessageList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_AdditionalRRMPriorityIndex_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, TRUE, pinfo); + offset = dissect_f1ap_AdditionalRRMPriorityIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_AdditionalRRMPriorityIndex_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_AggressorgNBSetID_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, TRUE, pinfo); + offset = dissect_f1ap_AggressorgNBSetID(tvb, offset, &asn1_ctx, tree, hf_f1ap_AggressorgNBSetID_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_AlternativeQoSParaSetList_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, TRUE, pinfo); + offset = dissect_f1ap_AlternativeQoSParaSetList(tvb, offset, &asn1_ctx, tree, hf_f1ap_AlternativeQoSParaSetList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Associated_SCell_Item_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, TRUE, pinfo); + offset = dissect_f1ap_Associated_SCell_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Associated_SCell_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_AvailablePLMNList_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, TRUE, pinfo); + offset = dissect_f1ap_AvailablePLMNList(tvb, offset, &asn1_ctx, tree, hf_f1ap_AvailablePLMNList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_AvailableSNPN_ID_List_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, TRUE, pinfo); + offset = dissect_f1ap_AvailableSNPN_ID_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_AvailableSNPN_ID_List_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_AreaScope_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, TRUE, pinfo); + offset = dissect_f1ap_AreaScope(tvb, offset, &asn1_ctx, tree, hf_f1ap_AreaScope_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_BAPAddress_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, TRUE, pinfo); + offset = dissect_f1ap_BAPAddress(tvb, offset, &asn1_ctx, tree, hf_f1ap_BAPAddress_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_BitRate_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, TRUE, pinfo); + offset = dissect_f1ap_BitRate(tvb, offset, &asn1_ctx, tree, hf_f1ap_BitRate_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_BearerTypeChange_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, TRUE, pinfo); + offset = dissect_f1ap_BearerTypeChange(tvb, offset, &asn1_ctx, tree, hf_f1ap_BearerTypeChange_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_BHChannels_FailedToBeModified_Item_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, TRUE, pinfo); + offset = dissect_f1ap_BHChannels_FailedToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_FailedToBeModified_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_BHChannels_FailedToBeSetup_Item_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, TRUE, pinfo); + offset = dissect_f1ap_BHChannels_FailedToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_FailedToBeSetup_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_BHChannels_FailedToBeSetupMod_Item_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, TRUE, pinfo); + offset = dissect_f1ap_BHChannels_FailedToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_FailedToBeSetupMod_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_BHChannels_Modified_Item_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, TRUE, pinfo); + offset = dissect_f1ap_BHChannels_Modified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_Modified_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_BHChannels_Required_ToBeReleased_Item_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, TRUE, pinfo); + offset = dissect_f1ap_BHChannels_Required_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_Required_ToBeReleased_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_BHChannels_Setup_Item_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, TRUE, pinfo); + offset = dissect_f1ap_BHChannels_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_Setup_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_BHChannels_SetupMod_Item_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, TRUE, pinfo); + offset = dissect_f1ap_BHChannels_SetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_SetupMod_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_BHChannels_ToBeModified_Item_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, TRUE, pinfo); + offset = dissect_f1ap_BHChannels_ToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_ToBeModified_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_BHChannels_ToBeReleased_Item_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, TRUE, pinfo); + offset = dissect_f1ap_BHChannels_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_ToBeReleased_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_BHChannels_ToBeSetup_Item_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, TRUE, pinfo); + offset = dissect_f1ap_BHChannels_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_ToBeSetup_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_BHChannels_ToBeSetupMod_Item_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, TRUE, pinfo); + offset = dissect_f1ap_BHChannels_ToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_ToBeSetupMod_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_BHInfo_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, TRUE, pinfo); + offset = dissect_f1ap_BHInfo(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHInfo_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_BH_Routing_Information_Added_List_Item_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, TRUE, pinfo); + offset = dissect_f1ap_BH_Routing_Information_Added_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BH_Routing_Information_Added_List_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_BH_Routing_Information_Removed_List_Item_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, TRUE, pinfo); + offset = dissect_f1ap_BH_Routing_Information_Removed_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BH_Routing_Information_Removed_List_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_BPLMN_ID_Info_List_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, TRUE, pinfo); + offset = dissect_f1ap_BPLMN_ID_Info_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BPLMN_ID_Info_List_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Cancel_all_Warning_Messages_Indicator_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, TRUE, pinfo); + offset = dissect_f1ap_Cancel_all_Warning_Messages_Indicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cancel_all_Warning_Messages_Indicator_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Candidate_SpCell_Item_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, TRUE, pinfo); + offset = dissect_f1ap_Candidate_SpCell_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Candidate_SpCell_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Cause_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, TRUE, pinfo); + offset = dissect_f1ap_Cause(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cause_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_CellGroupConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_f1ap_CellGroupConfig(tvb, offset, &asn1_ctx, tree, hf_f1ap_CellGroupConfig_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Cell_Direction_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, TRUE, pinfo); + offset = dissect_f1ap_Cell_Direction(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cell_Direction_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_CellMeasurementResultList_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, TRUE, pinfo); + offset = dissect_f1ap_CellMeasurementResultList(tvb, offset, &asn1_ctx, tree, hf_f1ap_CellMeasurementResultList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Cells_Failed_to_be_Activated_List_Item_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, TRUE, pinfo); + offset = dissect_f1ap_Cells_Failed_to_be_Activated_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Failed_to_be_Activated_List_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Cells_Status_Item_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, TRUE, pinfo); + offset = dissect_f1ap_Cells_Status_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Status_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Cells_To_Be_Broadcast_Item_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, TRUE, pinfo); + offset = dissect_f1ap_Cells_To_Be_Broadcast_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_To_Be_Broadcast_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Cells_Broadcast_Completed_Item_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, TRUE, pinfo); + offset = dissect_f1ap_Cells_Broadcast_Completed_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Broadcast_Completed_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Broadcast_To_Be_Cancelled_Item_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, TRUE, pinfo); + offset = dissect_f1ap_Broadcast_To_Be_Cancelled_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Broadcast_To_Be_Cancelled_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Cells_Broadcast_Cancelled_Item_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, TRUE, pinfo); + offset = dissect_f1ap_Cells_Broadcast_Cancelled_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Broadcast_Cancelled_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Cells_to_be_Activated_List_Item_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, TRUE, pinfo); + offset = dissect_f1ap_Cells_to_be_Activated_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_to_be_Activated_List_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Cells_to_be_Deactivated_List_Item_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, TRUE, pinfo); + offset = dissect_f1ap_Cells_to_be_Deactivated_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_to_be_Deactivated_List_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Cells_to_be_Barred_Item_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, TRUE, pinfo); + offset = dissect_f1ap_Cells_to_be_Barred_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_to_be_Barred_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_CellToReportList_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, TRUE, pinfo); + offset = dissect_f1ap_CellToReportList(tvb, offset, &asn1_ctx, tree, hf_f1ap_CellToReportList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_CellType_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, TRUE, pinfo); + offset = dissect_f1ap_CellType(tvb, offset, &asn1_ctx, tree, hf_f1ap_CellType_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_CellULConfigured_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, TRUE, pinfo); + offset = dissect_f1ap_CellULConfigured(tvb, offset, &asn1_ctx, tree, hf_f1ap_CellULConfigured_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Child_Nodes_List_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, TRUE, pinfo); + offset = dissect_f1ap_Child_Nodes_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Child_Nodes_List_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ConditionalInterDUMobilityInformation_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, TRUE, pinfo); + offset = dissect_f1ap_ConditionalInterDUMobilityInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_ConditionalInterDUMobilityInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ConditionalIntraDUMobilityInformation_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, TRUE, pinfo); + offset = dissect_f1ap_ConditionalIntraDUMobilityInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_ConditionalIntraDUMobilityInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_CP_TransportLayerAddress_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, TRUE, pinfo); + offset = dissect_f1ap_CP_TransportLayerAddress(tvb, offset, &asn1_ctx, tree, hf_f1ap_CP_TransportLayerAddress_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_CriticalityDiagnostics_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, TRUE, pinfo); + offset = dissect_f1ap_CriticalityDiagnostics(tvb, offset, &asn1_ctx, tree, hf_f1ap_CriticalityDiagnostics_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_C_RNTI_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, TRUE, pinfo); + offset = dissect_f1ap_C_RNTI(tvb, offset, &asn1_ctx, tree, hf_f1ap_C_RNTI_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_CUDURadioInformationType_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, TRUE, pinfo); + offset = dissect_f1ap_CUDURadioInformationType(tvb, offset, &asn1_ctx, tree, hf_f1ap_CUDURadioInformationType_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_CUtoDURRCInformation_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, TRUE, pinfo); + offset = dissect_f1ap_CUtoDURRCInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_CUtoDURRCInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DCBasedDuplicationConfigured_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, TRUE, pinfo); + offset = dissect_f1ap_DCBasedDuplicationConfigured(tvb, offset, &asn1_ctx, tree, hf_f1ap_DCBasedDuplicationConfigured_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Dedicated_SIDelivery_NeededUE_Item_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, TRUE, pinfo); + offset = dissect_f1ap_Dedicated_SIDelivery_NeededUE_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Dedicated_SIDelivery_NeededUE_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DL_UP_TNL_Address_to_Update_List_Item_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, TRUE, pinfo); + offset = dissect_f1ap_DL_UP_TNL_Address_to_Update_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DL_UP_TNL_Address_to_Update_List_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRB_Activity_Item_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, TRUE, pinfo); + offset = dissect_f1ap_DRB_Activity_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRB_Activity_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRBs_FailedToBeModified_Item_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, TRUE, pinfo); + offset = dissect_f1ap_DRBs_FailedToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_FailedToBeModified_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRBs_FailedToBeSetup_Item_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, TRUE, pinfo); + offset = dissect_f1ap_DRBs_FailedToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_FailedToBeSetup_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRBs_FailedToBeSetupMod_Item_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, TRUE, pinfo); + offset = dissect_f1ap_DRBs_FailedToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_FailedToBeSetupMod_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRB_Information_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, TRUE, pinfo); + offset = dissect_f1ap_DRB_Information(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRB_Information_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRBs_Modified_Item_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, TRUE, pinfo); + offset = dissect_f1ap_DRBs_Modified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Modified_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRBs_ModifiedConf_Item_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, TRUE, pinfo); + offset = dissect_f1ap_DRBs_ModifiedConf_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ModifiedConf_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRB_Notify_Item_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, TRUE, pinfo); + offset = dissect_f1ap_DRB_Notify_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRB_Notify_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRBs_Required_ToBeModified_Item_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, TRUE, pinfo); + offset = dissect_f1ap_DRBs_Required_ToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Required_ToBeModified_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRBs_Required_ToBeReleased_Item_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, TRUE, pinfo); + offset = dissect_f1ap_DRBs_Required_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Required_ToBeReleased_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRBs_Setup_Item_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, TRUE, pinfo); + offset = dissect_f1ap_DRBs_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Setup_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRBs_SetupMod_Item_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, TRUE, pinfo); + offset = dissect_f1ap_DRBs_SetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_SetupMod_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRBs_ToBeModified_Item_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, TRUE, pinfo); + offset = dissect_f1ap_DRBs_ToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeModified_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRBs_ToBeReleased_Item_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, TRUE, pinfo); + offset = dissect_f1ap_DRBs_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeReleased_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRBs_ToBeSetup_Item_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, TRUE, pinfo); + offset = dissect_f1ap_DRBs_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeSetup_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRBs_ToBeSetupMod_Item_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, TRUE, pinfo); + offset = dissect_f1ap_DRBs_ToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeSetupMod_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRXCycle_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, TRUE, pinfo); + offset = dissect_f1ap_DRXCycle(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRXCycle_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRX_Config_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_f1ap_DRX_Config(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRX_Config_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRXConfigurationIndicator_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, TRUE, pinfo); + offset = dissect_f1ap_DRXConfigurationIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRXConfigurationIndicator_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DRX_LongCycleStartOffset_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, TRUE, pinfo); + offset = dissect_f1ap_DRX_LongCycleStartOffset(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRX_LongCycleStartOffset_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DUtoCURRCContainer_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, TRUE, pinfo); + offset = dissect_f1ap_DUtoCURRCContainer(tvb, offset, &asn1_ctx, tree, hf_f1ap_DUtoCURRCContainer_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DUCURadioInformationType_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, TRUE, pinfo); + offset = dissect_f1ap_DUCURadioInformationType(tvb, offset, &asn1_ctx, tree, hf_f1ap_DUCURadioInformationType_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DUtoCURRCInformation_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, TRUE, pinfo); + offset = dissect_f1ap_DUtoCURRCInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_DUtoCURRCInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DuplicationActivation_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, TRUE, pinfo); + offset = dissect_f1ap_DuplicationActivation(tvb, offset, &asn1_ctx, tree, hf_f1ap_DuplicationActivation_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ExtendedAvailablePLMN_List_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, TRUE, pinfo); + offset = dissect_f1ap_ExtendedAvailablePLMN_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_ExtendedAvailablePLMN_List_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ExtendedServedPLMNs_List_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, TRUE, pinfo); + offset = dissect_f1ap_ExtendedServedPLMNs_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_ExtendedServedPLMNs_List_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ExtendedSliceSupportList_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, TRUE, pinfo); + offset = dissect_f1ap_ExtendedSliceSupportList(tvb, offset, &asn1_ctx, tree, hf_f1ap_ExtendedSliceSupportList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ExecuteDuplication_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, TRUE, pinfo); + offset = dissect_f1ap_ExecuteDuplication(tvb, offset, &asn1_ctx, tree, hf_f1ap_ExecuteDuplication_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_EUTRA_NR_CellResourceCoordinationReq_Container_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, TRUE, pinfo); + offset = dissect_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container(tvb, offset, &asn1_ctx, tree, hf_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_EUTRA_NR_CellResourceCoordinationReqAck_Container_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, TRUE, pinfo); + offset = dissect_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container(tvb, offset, &asn1_ctx, tree, hf_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ExtendedPacketDelayBudget_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, TRUE, pinfo); + offset = dissect_f1ap_ExtendedPacketDelayBudget(tvb, offset, &asn1_ctx, tree, hf_f1ap_ExtendedPacketDelayBudget_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_FrequencyShift7p5khz_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, TRUE, pinfo); + offset = dissect_f1ap_FrequencyShift7p5khz(tvb, offset, &asn1_ctx, tree, hf_f1ap_FrequencyShift7p5khz_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_FullConfiguration_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, TRUE, pinfo); + offset = dissect_f1ap_FullConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_FullConfiguration_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_CG_Config_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_f1ap_CG_Config(tvb, offset, &asn1_ctx, tree, hf_f1ap_CG_Config_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_GNBCUMeasurementID_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, TRUE, pinfo); + offset = dissect_f1ap_GNBCUMeasurementID(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBCUMeasurementID_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_GNBDUMeasurementID_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, TRUE, pinfo); + offset = dissect_f1ap_GNBDUMeasurementID(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUMeasurementID_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_GNB_CUSystemInformation_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, TRUE, pinfo); + offset = dissect_f1ap_GNB_CUSystemInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CUSystemInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_GNB_CU_TNL_Association_Setup_Item_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, TRUE, pinfo); + offset = dissect_f1ap_GNB_CU_TNL_Association_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_Setup_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_GNB_CU_TNL_Association_Failed_To_Setup_Item_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, TRUE, pinfo); + offset = dissect_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_GNB_CU_TNL_Association_To_Add_Item_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, TRUE, pinfo); + offset = dissect_f1ap_GNB_CU_TNL_Association_To_Add_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_To_Add_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_GNB_CU_TNL_Association_To_Remove_Item_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, TRUE, pinfo); + offset = dissect_f1ap_GNB_CU_TNL_Association_To_Remove_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_To_Remove_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_GNB_CU_TNL_Association_To_Update_Item_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, TRUE, pinfo); + offset = dissect_f1ap_GNB_CU_TNL_Association_To_Update_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_To_Update_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_GNB_CU_UE_F1AP_ID_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, TRUE, pinfo); + offset = dissect_f1ap_GNB_CU_UE_F1AP_ID(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_UE_F1AP_ID_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_GNB_DU_UE_F1AP_ID_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, TRUE, pinfo); + offset = dissect_f1ap_GNB_DU_UE_F1AP_ID(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_UE_F1AP_ID_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_GNB_DU_ID_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, TRUE, pinfo); + offset = dissect_f1ap_GNB_DU_ID(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_ID_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_GNB_CU_Name_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, TRUE, pinfo); + offset = dissect_f1ap_GNB_CU_Name(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_Name_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_GNB_DU_Name_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, TRUE, pinfo); + offset = dissect_f1ap_GNB_DU_Name(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_Name_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_GNB_DU_Served_Cells_Item_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, TRUE, pinfo); + offset = dissect_f1ap_GNB_DU_Served_Cells_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_Served_Cells_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_GNB_DUConfigurationQuery_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, TRUE, pinfo); + offset = dissect_f1ap_GNB_DUConfigurationQuery(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DUConfigurationQuery_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_GNBDUOverloadInformation_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, TRUE, pinfo); + offset = dissect_f1ap_GNBDUOverloadInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUOverloadInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_GNB_DU_TNL_Association_To_Remove_Item_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, TRUE, pinfo); + offset = dissect_f1ap_GNB_DU_TNL_Association_To_Remove_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_TNL_Association_To_Remove_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_HandoverPreparationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_f1ap_HandoverPreparationInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_HandoverPreparationInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_HardwareLoadIndicator_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, TRUE, pinfo); + offset = dissect_f1ap_HardwareLoadIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_HardwareLoadIndicator_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_IAB_Barred_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, TRUE, pinfo); + offset = dissect_f1ap_IAB_Barred(tvb, offset, &asn1_ctx, tree, hf_f1ap_IAB_Barred_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_IAB_Info_IAB_donor_CU_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, TRUE, pinfo); + offset = dissect_f1ap_IAB_Info_IAB_donor_CU(tvb, offset, &asn1_ctx, tree, hf_f1ap_IAB_Info_IAB_donor_CU_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_IAB_Info_IAB_DU_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, TRUE, pinfo); + offset = dissect_f1ap_IAB_Info_IAB_DU(tvb, offset, &asn1_ctx, tree, hf_f1ap_IAB_Info_IAB_DU_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_IAB_Allocated_TNL_Address_Item_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, TRUE, pinfo); + offset = dissect_f1ap_IAB_Allocated_TNL_Address_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_IAB_Allocated_TNL_Address_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_IABIPv6RequestType_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, TRUE, pinfo); + offset = dissect_f1ap_IABIPv6RequestType(tvb, offset, &asn1_ctx, tree, hf_f1ap_IABIPv6RequestType_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_IAB_TNL_Addresses_To_Remove_Item_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, TRUE, pinfo); + offset = dissect_f1ap_IAB_TNL_Addresses_To_Remove_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_IAB_TNL_Addresses_To_Remove_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_IABv4AddressesRequested_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, TRUE, pinfo); + offset = dissect_f1ap_IABv4AddressesRequested(tvb, offset, &asn1_ctx, tree, hf_f1ap_IABv4AddressesRequested_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_IgnorePRACHConfiguration_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, TRUE, pinfo); + offset = dissect_f1ap_IgnorePRACHConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_IgnorePRACHConfiguration_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_IgnoreResourceCoordinationContainer_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, TRUE, pinfo); + offset = dissect_f1ap_IgnoreResourceCoordinationContainer(tvb, offset, &asn1_ctx, tree, hf_f1ap_IgnoreResourceCoordinationContainer_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_InactivityMonitoringRequest_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, TRUE, pinfo); + offset = dissect_f1ap_InactivityMonitoringRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_InactivityMonitoringRequest_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_InactivityMonitoringResponse_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, TRUE, pinfo); + offset = dissect_f1ap_InactivityMonitoringResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_InactivityMonitoringResponse_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_IntendedTDD_DL_ULConfig_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, TRUE, pinfo); + offset = dissect_f1ap_IntendedTDD_DL_ULConfig(tvb, offset, &asn1_ctx, tree, hf_f1ap_IntendedTDD_DL_ULConfig_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_LowerLayerPresenceStatusChange_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, TRUE, pinfo); + offset = dissect_f1ap_LowerLayerPresenceStatusChange(tvb, offset, &asn1_ctx, tree, hf_f1ap_LowerLayerPresenceStatusChange_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_LTEUESidelinkAggregateMaximumBitrate_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, TRUE, pinfo); + offset = dissect_f1ap_LTEUESidelinkAggregateMaximumBitrate(tvb, offset, &asn1_ctx, tree, hf_f1ap_LTEUESidelinkAggregateMaximumBitrate_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_LTEV2XServicesAuthorized_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, TRUE, pinfo); + offset = dissect_f1ap_LTEV2XServicesAuthorized(tvb, offset, &asn1_ctx, tree, hf_f1ap_LTEV2XServicesAuthorized_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_MaskedIMEISV_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, TRUE, pinfo); + offset = dissect_f1ap_MaskedIMEISV(tvb, offset, &asn1_ctx, tree, hf_f1ap_MaskedIMEISV_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_MeasGapSharingConfig_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, TRUE, pinfo); - offset = dissect_f1ap_AdditionalSIBMessageList(tvb, offset, &asn1_ctx, tree, hf_f1ap_AdditionalSIBMessageList_PDU); + offset = dissect_f1ap_MeasGapSharingConfig(tvb, offset, &asn1_ctx, tree, hf_f1ap_MeasGapSharingConfig_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Associated_SCell_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_MeasurementTimingConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); - offset = dissect_f1ap_Associated_SCell_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Associated_SCell_Item_PDU); + offset = dissect_f1ap_MeasurementTimingConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_MeasurementTimingConfiguration_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_AvailablePLMNList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_MDTConfiguration_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, TRUE, pinfo); - offset = dissect_f1ap_AvailablePLMNList(tvb, offset, &asn1_ctx, tree, hf_f1ap_AvailablePLMNList_PDU); + offset = dissect_f1ap_MDTConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_MDTConfiguration_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_AreaScope_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_MDTPLMNList_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, TRUE, pinfo); - offset = dissect_f1ap_AreaScope(tvb, offset, &asn1_ctx, tree, hf_f1ap_AreaScope_PDU); + offset = dissect_f1ap_MDTPLMNList(tvb, offset, &asn1_ctx, tree, hf_f1ap_MDTPLMNList_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_BitRate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_NeedforGap_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, TRUE, pinfo); - offset = dissect_f1ap_BitRate(tvb, offset, &asn1_ctx, tree, hf_f1ap_BitRate_PDU); + offset = dissect_f1ap_NeedforGap(tvb, offset, &asn1_ctx, tree, hf_f1ap_NeedforGap_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_BearerTypeChange_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Neighbour_Cell_Information_Item_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, TRUE, pinfo); - offset = dissect_f1ap_BearerTypeChange(tvb, offset, &asn1_ctx, tree, hf_f1ap_BearerTypeChange_PDU); + offset = dissect_f1ap_Neighbour_Cell_Information_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Neighbour_Cell_Information_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_BPLMN_ID_Info_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_NID_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, TRUE, pinfo); - offset = dissect_f1ap_BPLMN_ID_Info_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BPLMN_ID_Info_List_PDU); + offset = dissect_f1ap_NID(tvb, offset, &asn1_ctx, tree, hf_f1ap_NID_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Cancel_all_Warning_Messages_Indicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_NR_CGI_List_For_Restart_Item_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, TRUE, pinfo); - offset = dissect_f1ap_Cancel_all_Warning_Messages_Indicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cancel_all_Warning_Messages_Indicator_PDU); + offset = dissect_f1ap_NR_CGI_List_For_Restart_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_NR_CGI_List_For_Restart_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Candidate_SpCell_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_NotificationInformation_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, TRUE, pinfo); - offset = dissect_f1ap_Candidate_SpCell_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Candidate_SpCell_Item_PDU); + offset = dissect_f1ap_NotificationInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_NotificationInformation_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Cause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_NPNBroadcastInformation_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, TRUE, pinfo); - offset = dissect_f1ap_Cause(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cause_PDU); + offset = dissect_f1ap_NPNBroadcastInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_NPNBroadcastInformation_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_CellGroupConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_NPNSupportInfo_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, TRUE, pinfo); + offset = dissect_f1ap_NPNSupportInfo(tvb, offset, &asn1_ctx, tree, hf_f1ap_NPNSupportInfo_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_NRCarrierList_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, TRUE, pinfo); + offset = dissect_f1ap_NRCarrierList(tvb, offset, &asn1_ctx, tree, hf_f1ap_NRCarrierList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_NRCGI_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, TRUE, pinfo); + offset = dissect_f1ap_NRCGI(tvb, offset, &asn1_ctx, tree, hf_f1ap_NRCGI_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_f1ap_NRPRACHConfig_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, TRUE, pinfo); + offset = dissect_f1ap_NRPRACHConfig(tvb, offset, &asn1_ctx, tree, hf_f1ap_f1ap_NRPRACHConfig_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_NumberofBroadcastRequest_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, TRUE, pinfo); + offset = dissect_f1ap_NumberofBroadcastRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_NumberofBroadcastRequest_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_NRV2XServicesAuthorized_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, TRUE, pinfo); + offset = dissect_f1ap_NRV2XServicesAuthorized(tvb, offset, &asn1_ctx, tree, hf_f1ap_NRV2XServicesAuthorized_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_NRUESidelinkAggregateMaximumBitrate_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, TRUE, pinfo); + offset = dissect_f1ap_NRUESidelinkAggregateMaximumBitrate(tvb, offset, &asn1_ctx, tree, hf_f1ap_NRUESidelinkAggregateMaximumBitrate_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_PagingCell_Item_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, TRUE, pinfo); + offset = dissect_f1ap_PagingCell_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_PagingCell_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_PagingDRX_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, TRUE, pinfo); + offset = dissect_f1ap_PagingDRX(tvb, offset, &asn1_ctx, tree, hf_f1ap_PagingDRX_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_PagingIdentity_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, TRUE, pinfo); + offset = dissect_f1ap_PagingIdentity(tvb, offset, &asn1_ctx, tree, hf_f1ap_PagingIdentity_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_PagingOrigin_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, TRUE, pinfo); + offset = dissect_f1ap_PagingOrigin(tvb, offset, &asn1_ctx, tree, hf_f1ap_PagingOrigin_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_PagingPriority_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, TRUE, pinfo); + offset = dissect_f1ap_PagingPriority(tvb, offset, &asn1_ctx, tree, hf_f1ap_PagingPriority_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_PDCCH_BlindDetectionSCG_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, TRUE, pinfo); + offset = dissect_f1ap_PDCCH_BlindDetectionSCG(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDCCH_BlindDetectionSCG_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_PDCPSNLength_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, TRUE, pinfo); + offset = dissect_f1ap_PDCPSNLength(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDCPSNLength_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_PDUSessionID_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, TRUE, pinfo); + offset = dissect_f1ap_PDUSessionID(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDUSessionID_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Ph_InfoMCG_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, TRUE, pinfo); + offset = dissect_f1ap_Ph_InfoMCG(tvb, offset, &asn1_ctx, tree, hf_f1ap_Ph_InfoMCG_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Ph_InfoSCG_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, TRUE, pinfo); + offset = dissect_f1ap_Ph_InfoSCG(tvb, offset, &asn1_ctx, tree, hf_f1ap_Ph_InfoSCG_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_PLMN_Identity_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, TRUE, pinfo); + offset = dissect_f1ap_PLMN_Identity(tvb, offset, &asn1_ctx, tree, hf_f1ap_PLMN_Identity_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_PortNumber_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, TRUE, pinfo); + offset = dissect_f1ap_PortNumber(tvb, offset, &asn1_ctx, tree, hf_f1ap_PortNumber_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Protected_EUTRA_Resources_Item_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, TRUE, pinfo); + offset = dissect_f1ap_Protected_EUTRA_Resources_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Protected_EUTRA_Resources_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_Potential_SpCell_Item_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, TRUE, pinfo); + offset = dissect_f1ap_Potential_SpCell_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Potential_SpCell_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_PWS_Failed_NR_CGI_Item_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, TRUE, pinfo); + offset = dissect_f1ap_PWS_Failed_NR_CGI_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWS_Failed_NR_CGI_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_PWSSystemInformation_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, TRUE, pinfo); + offset = dissect_f1ap_PWSSystemInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWSSystemInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_PrivacyIndicator_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, TRUE, pinfo); + offset = dissect_f1ap_PrivacyIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_PrivacyIndicator_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_QoSFlowMappingIndication_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, TRUE, pinfo); + offset = dissect_f1ap_QoSFlowMappingIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_QoSFlowMappingIndication_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_QosMonitoringRequest_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, TRUE, pinfo); + offset = dissect_f1ap_QosMonitoringRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_QosMonitoringRequest_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_QoSParaSetNotifyIndex_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, TRUE, pinfo); + offset = dissect_f1ap_QoSParaSetNotifyIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_QoSParaSetNotifyIndex_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_RACHReportInformationList_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, TRUE, pinfo); + offset = dissect_f1ap_RACHReportInformationList(tvb, offset, &asn1_ctx, tree, hf_f1ap_RACHReportInformationList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_RANAC_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, TRUE, pinfo); + offset = dissect_f1ap_RANAC(tvb, offset, &asn1_ctx, tree, hf_f1ap_RANAC_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_RANUEID_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, TRUE, pinfo); + offset = dissect_f1ap_RANUEID(tvb, offset, &asn1_ctx, tree, hf_f1ap_RANUEID_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_RAT_FrequencyPriorityInformation_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, TRUE, pinfo); - offset = dissect_f1ap_CellGroupConfig(tvb, offset, &asn1_ctx, tree, hf_f1ap_CellGroupConfig_PDU); + offset = dissect_f1ap_RAT_FrequencyPriorityInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_RAT_FrequencyPriorityInformation_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Cell_Direction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_RegistrationRequest_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, TRUE, pinfo); - offset = dissect_f1ap_Cell_Direction(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cell_Direction_PDU); + offset = dissect_f1ap_RegistrationRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_RegistrationRequest_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Cells_Failed_to_be_Activated_List_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_ReportCharacteristics_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, TRUE, pinfo); - offset = dissect_f1ap_Cells_Failed_to_be_Activated_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Failed_to_be_Activated_List_Item_PDU); + offset = dissect_f1ap_ReportCharacteristics(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReportCharacteristics_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Cells_Status_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_ReportingPeriodicity_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, TRUE, pinfo); - offset = dissect_f1ap_Cells_Status_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Status_Item_PDU); + offset = dissect_f1ap_ReportingPeriodicity(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReportingPeriodicity_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Cells_To_Be_Broadcast_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_RequestedBandCombinationIndex_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, TRUE, pinfo); - offset = dissect_f1ap_Cells_To_Be_Broadcast_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_To_Be_Broadcast_Item_PDU); + offset = dissect_f1ap_RequestedBandCombinationIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_RequestedBandCombinationIndex_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Cells_Broadcast_Completed_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_RequestedFeatureSetEntryIndex_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, TRUE, pinfo); - offset = dissect_f1ap_Cells_Broadcast_Completed_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Broadcast_Completed_Item_PDU); + offset = dissect_f1ap_RequestedFeatureSetEntryIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_RequestedFeatureSetEntryIndex_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Broadcast_To_Be_Cancelled_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_RequestedP_MaxFR2_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, TRUE, pinfo); - offset = dissect_f1ap_Broadcast_To_Be_Cancelled_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Broadcast_To_Be_Cancelled_Item_PDU); + offset = dissect_f1ap_RequestedP_MaxFR2(tvb, offset, &asn1_ctx, tree, hf_f1ap_RequestedP_MaxFR2_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Cells_Broadcast_Cancelled_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Requested_PDCCH_BlindDetectionSCG_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, TRUE, pinfo); - offset = dissect_f1ap_Cells_Broadcast_Cancelled_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Broadcast_Cancelled_Item_PDU); + offset = dissect_f1ap_Requested_PDCCH_BlindDetectionSCG(tvb, offset, &asn1_ctx, tree, hf_f1ap_Requested_PDCCH_BlindDetectionSCG_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Cells_to_be_Activated_List_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_RequestType_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, TRUE, pinfo); - offset = dissect_f1ap_Cells_to_be_Activated_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_to_be_Activated_List_Item_PDU); + offset = dissect_f1ap_RequestType(tvb, offset, &asn1_ctx, tree, hf_f1ap_RequestType_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Cells_to_be_Deactivated_List_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_ResourceCoordinationTransferInformation_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, TRUE, pinfo); - offset = dissect_f1ap_Cells_to_be_Deactivated_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_to_be_Deactivated_List_Item_PDU); + offset = dissect_f1ap_ResourceCoordinationTransferInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResourceCoordinationTransferInformation_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Cells_to_be_Barred_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_ResourceCoordinationTransferContainer_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, TRUE, pinfo); - offset = dissect_f1ap_Cells_to_be_Barred_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_to_be_Barred_Item_PDU); + offset = dissect_f1ap_ResourceCoordinationTransferContainer(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResourceCoordinationTransferContainer_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_CellType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_RepetitionPeriod_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, TRUE, pinfo); - offset = dissect_f1ap_CellType(tvb, offset, &asn1_ctx, tree, hf_f1ap_CellType_PDU); + offset = dissect_f1ap_RepetitionPeriod(tvb, offset, &asn1_ctx, tree, hf_f1ap_RepetitionPeriod_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_CellULConfigured_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_ReportingRequestType_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, TRUE, pinfo); - offset = dissect_f1ap_CellULConfigured(tvb, offset, &asn1_ctx, tree, hf_f1ap_CellULConfigured_PDU); + offset = dissect_f1ap_ReportingRequestType(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReportingRequestType_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_CP_TransportLayerAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_RLCDuplicationInformation_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, TRUE, pinfo); - offset = dissect_f1ap_CP_TransportLayerAddress(tvb, offset, &asn1_ctx, tree, hf_f1ap_CP_TransportLayerAddress_PDU); + offset = dissect_f1ap_RLCDuplicationInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_RLCDuplicationInformation_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_CriticalityDiagnostics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_RLCFailureIndication_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, TRUE, pinfo); - offset = dissect_f1ap_CriticalityDiagnostics(tvb, offset, &asn1_ctx, tree, hf_f1ap_CriticalityDiagnostics_PDU); + offset = dissect_f1ap_RLCFailureIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_RLCFailureIndication_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_C_RNTI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_RLCMode_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, TRUE, pinfo); - offset = dissect_f1ap_C_RNTI(tvb, offset, &asn1_ctx, tree, hf_f1ap_C_RNTI_PDU); + offset = dissect_f1ap_RLCMode(tvb, offset, &asn1_ctx, tree, hf_f1ap_RLCMode_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_CUtoDURRCInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_RLC_Status_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, TRUE, pinfo); - offset = dissect_f1ap_CUtoDURRCInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_CUtoDURRCInformation_PDU); + offset = dissect_f1ap_RLC_Status(tvb, offset, &asn1_ctx, tree, hf_f1ap_RLC_Status_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DCBasedDuplicationConfigured_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_RLFReportInformationList_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, TRUE, pinfo); - offset = dissect_f1ap_DCBasedDuplicationConfigured(tvb, offset, &asn1_ctx, tree, hf_f1ap_DCBasedDuplicationConfigured_PDU); + offset = dissect_f1ap_RLFReportInformationList(tvb, offset, &asn1_ctx, tree, hf_f1ap_RLFReportInformationList_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Dedicated_SIDelivery_NeededUE_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_RRCContainer_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, TRUE, pinfo); - offset = dissect_f1ap_Dedicated_SIDelivery_NeededUE_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Dedicated_SIDelivery_NeededUE_Item_PDU); + offset = dissect_f1ap_RRCContainer(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRCContainer_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRB_Activity_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_RRCContainer_RRCSetupComplete_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, TRUE, pinfo); - offset = dissect_f1ap_DRB_Activity_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRB_Activity_Item_PDU); + offset = dissect_f1ap_RRCContainer_RRCSetupComplete(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRCContainer_RRCSetupComplete_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_FailedToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_RRCDeliveryStatus_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_FailedToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_FailedToBeModified_Item_PDU); + offset = dissect_f1ap_RRCDeliveryStatus(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRCDeliveryStatus_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_FailedToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_RRCDeliveryStatusRequest_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_FailedToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_FailedToBeSetup_Item_PDU); + offset = dissect_f1ap_RRCDeliveryStatusRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRCDeliveryStatusRequest_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_FailedToBeSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_RRCReconfigurationCompleteIndicator_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_FailedToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_FailedToBeSetupMod_Item_PDU); + offset = dissect_f1ap_RRCReconfigurationCompleteIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRCReconfigurationCompleteIndicator_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRB_Information_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_RRC_Version_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, TRUE, pinfo); - offset = dissect_f1ap_DRB_Information(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRB_Information_PDU); + offset = dissect_f1ap_RRC_Version(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRC_Version_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_Modified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Latest_RRC_Version_Enhanced_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_Modified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Modified_Item_PDU); + offset = dissect_f1ap_Latest_RRC_Version_Enhanced(tvb, offset, &asn1_ctx, tree, hf_f1ap_Latest_RRC_Version_Enhanced_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_ModifiedConf_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SCell_FailedtoSetup_Item_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_ModifiedConf_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ModifiedConf_Item_PDU); + offset = dissect_f1ap_SCell_FailedtoSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_FailedtoSetup_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRB_Notify_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SCell_FailedtoSetupMod_Item_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, TRUE, pinfo); - offset = dissect_f1ap_DRB_Notify_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRB_Notify_Item_PDU); + offset = dissect_f1ap_SCell_FailedtoSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_FailedtoSetupMod_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_Required_ToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SCell_ToBeRemoved_Item_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_Required_ToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Required_ToBeModified_Item_PDU); + offset = dissect_f1ap_SCell_ToBeRemoved_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_ToBeRemoved_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_Required_ToBeReleased_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SCell_ToBeSetup_Item_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_Required_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Required_ToBeReleased_Item_PDU); + offset = dissect_f1ap_SCell_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_ToBeSetup_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_Setup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SCell_ToBeSetupMod_Item_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Setup_Item_PDU); + offset = dissect_f1ap_SCell_ToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_ToBeSetupMod_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_SetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SelectedBandCombinationIndex_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_SetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_SetupMod_Item_PDU); + offset = dissect_f1ap_SelectedBandCombinationIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_SelectedBandCombinationIndex_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_ToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SelectedFeatureSetEntryIndex_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_ToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeModified_Item_PDU); + offset = dissect_f1ap_SelectedFeatureSetEntryIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_SelectedFeatureSetEntryIndex_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_ToBeReleased_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_ServCellIndex_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeReleased_Item_PDU); + offset = dissect_f1ap_ServCellIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_ServCellIndex_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_ToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_ServingCellMO_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeSetup_Item_PDU); + offset = dissect_f1ap_ServingCellMO(tvb, offset, &asn1_ctx, tree, hf_f1ap_ServingCellMO_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_ToBeSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Served_Cells_To_Add_Item_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_ToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeSetupMod_Item_PDU); + offset = dissect_f1ap_Served_Cells_To_Add_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Served_Cells_To_Add_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRXCycle_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Served_Cells_To_Delete_Item_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, TRUE, pinfo); - offset = dissect_f1ap_DRXCycle(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRXCycle_PDU); + offset = dissect_f1ap_Served_Cells_To_Delete_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Served_Cells_To_Delete_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRX_Config_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Served_Cells_To_Modify_Item_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, TRUE, pinfo); - offset = dissect_f1ap_DRX_Config(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRX_Config_PDU); + offset = dissect_f1ap_Served_Cells_To_Modify_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Served_Cells_To_Modify_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRXConfigurationIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SIB10_message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); - offset = dissect_f1ap_DRXConfigurationIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRXConfigurationIndicator_PDU); + offset = dissect_f1ap_SIB10_message(tvb, offset, &asn1_ctx, tree, hf_f1ap_SIB10_message_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRX_LongCycleStartOffset_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SIB12_message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); - offset = dissect_f1ap_DRX_LongCycleStartOffset(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRX_LongCycleStartOffset_PDU); + offset = dissect_f1ap_SIB12_message(tvb, offset, &asn1_ctx, tree, hf_f1ap_SIB12_message_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DUtoCURRCContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SIB13_message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); - offset = dissect_f1ap_DUtoCURRCContainer(tvb, offset, &asn1_ctx, tree, hf_f1ap_DUtoCURRCContainer_PDU); + offset = dissect_f1ap_SIB13_message(tvb, offset, &asn1_ctx, tree, hf_f1ap_SIB13_message_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DUtoCURRCInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SIB14_message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); - offset = dissect_f1ap_DUtoCURRCInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_DUtoCURRCInformation_PDU); + offset = dissect_f1ap_SIB14_message(tvb, offset, &asn1_ctx, tree, hf_f1ap_SIB14_message_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DuplicationActivation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SItype_List_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, TRUE, pinfo); - offset = dissect_f1ap_DuplicationActivation(tvb, offset, &asn1_ctx, tree, hf_f1ap_DuplicationActivation_PDU); + offset = dissect_f1ap_SItype_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SItype_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_ExtendedAvailablePLMN_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_FailedToBeModified_Item_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, TRUE, pinfo); - offset = dissect_f1ap_ExtendedAvailablePLMN_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_ExtendedAvailablePLMN_List_PDU); + offset = dissect_f1ap_SLDRBs_FailedToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_FailedToBeModified_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_ExtendedServedPLMNs_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_FailedToBeSetup_Item_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, TRUE, pinfo); - offset = dissect_f1ap_ExtendedServedPLMNs_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_ExtendedServedPLMNs_List_PDU); + offset = dissect_f1ap_SLDRBs_FailedToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_FailedToBeSetup_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_ExecuteDuplication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_FailedToBeSetupMod_Item_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, TRUE, pinfo); - offset = dissect_f1ap_ExecuteDuplication(tvb, offset, &asn1_ctx, tree, hf_f1ap_ExecuteDuplication_PDU); + offset = dissect_f1ap_SLDRBs_FailedToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_FailedToBeSetupMod_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_EUTRA_NR_CellResourceCoordinationReq_Container_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_Modified_Item_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, TRUE, pinfo); - offset = dissect_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container(tvb, offset, &asn1_ctx, tree, hf_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container_PDU); + offset = dissect_f1ap_SLDRBs_Modified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_Modified_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_EUTRA_NR_CellResourceCoordinationReqAck_Container_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_ModifiedConf_Item_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, TRUE, pinfo); - offset = dissect_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container(tvb, offset, &asn1_ctx, tree, hf_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container_PDU); + offset = dissect_f1ap_SLDRBs_ModifiedConf_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ModifiedConf_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_FullConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_Required_ToBeModified_Item_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, TRUE, pinfo); - offset = dissect_f1ap_FullConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_FullConfiguration_PDU); + offset = dissect_f1ap_SLDRBs_Required_ToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_Required_ToBeModified_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_CG_Config_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_Required_ToBeReleased_Item_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, TRUE, pinfo); - offset = dissect_f1ap_CG_Config(tvb, offset, &asn1_ctx, tree, hf_f1ap_CG_Config_PDU); + offset = dissect_f1ap_SLDRBs_Required_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_Required_ToBeReleased_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_CUSystemInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_Setup_Item_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_CUSystemInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CUSystemInformation_PDU); + offset = dissect_f1ap_SLDRBs_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_Setup_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_CU_TNL_Association_Setup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_SetupMod_Item_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_CU_TNL_Association_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_Setup_Item_PDU); + offset = dissect_f1ap_SLDRBs_SetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_SetupMod_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_CU_TNL_Association_Failed_To_Setup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_ToBeModified_Item_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_Item_PDU); + offset = dissect_f1ap_SLDRBs_ToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ToBeModified_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_CU_TNL_Association_To_Add_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_ToBeReleased_Item_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_CU_TNL_Association_To_Add_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_To_Add_Item_PDU); + offset = dissect_f1ap_SLDRBs_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ToBeReleased_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_CU_TNL_Association_To_Remove_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_ToBeSetup_Item_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_CU_TNL_Association_To_Remove_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_To_Remove_Item_PDU); + offset = dissect_f1ap_SLDRBs_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ToBeSetup_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_CU_TNL_Association_To_Update_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_ToBeSetupMod_Item_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_CU_TNL_Association_To_Update_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_To_Update_Item_PDU); + offset = dissect_f1ap_SLDRBs_ToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ToBeSetupMod_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_CU_UE_F1AP_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SL_PHY_MAC_RLC_Config_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); - offset = dissect_f1ap_GNB_CU_UE_F1AP_ID(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_UE_F1AP_ID_PDU); + offset = dissect_f1ap_SL_PHY_MAC_RLC_Config(tvb, offset, &asn1_ctx, tree, hf_f1ap_SL_PHY_MAC_RLC_Config_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_DU_UE_F1AP_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SL_ConfigDedicatedEUTRA_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_DU_UE_F1AP_ID(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_UE_F1AP_ID_PDU); + offset = dissect_f1ap_SL_ConfigDedicatedEUTRA(tvb, offset, &asn1_ctx, tree, hf_f1ap_SL_ConfigDedicatedEUTRA_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_DU_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SliceSupportList_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_DU_ID(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_ID_PDU); + offset = dissect_f1ap_SliceSupportList(tvb, offset, &asn1_ctx, tree, hf_f1ap_SliceSupportList_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_CU_Name_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SRBID_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_CU_Name(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_Name_PDU); + offset = dissect_f1ap_SRBID(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBID_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_DU_Name_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SRBs_FailedToBeSetup_Item_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_DU_Name(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_Name_PDU); + offset = dissect_f1ap_SRBs_FailedToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_FailedToBeSetup_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_DU_Served_Cells_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SRBs_FailedToBeSetupMod_Item_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_DU_Served_Cells_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_Served_Cells_Item_PDU); + offset = dissect_f1ap_SRBs_FailedToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_FailedToBeSetupMod_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_DUConfigurationQuery_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SRBs_Modified_Item_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_DUConfigurationQuery(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DUConfigurationQuery_PDU); + offset = dissect_f1ap_SRBs_Modified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_Modified_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNBDUOverloadInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SRBs_Required_ToBeReleased_Item_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, TRUE, pinfo); - offset = dissect_f1ap_GNBDUOverloadInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUOverloadInformation_PDU); + offset = dissect_f1ap_SRBs_Required_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_Required_ToBeReleased_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_DU_TNL_Association_To_Remove_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SRBs_Setup_Item_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_DU_TNL_Association_To_Remove_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_TNL_Association_To_Remove_Item_PDU); + offset = dissect_f1ap_SRBs_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_Setup_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_HandoverPreparationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SRBs_SetupMod_Item_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, TRUE, pinfo); - offset = dissect_f1ap_HandoverPreparationInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_HandoverPreparationInformation_PDU); + offset = dissect_f1ap_SRBs_SetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_SetupMod_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_IgnorePRACHConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SRBs_ToBeReleased_Item_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, TRUE, pinfo); - offset = dissect_f1ap_IgnorePRACHConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_IgnorePRACHConfiguration_PDU); + offset = dissect_f1ap_SRBs_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_ToBeReleased_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_IgnoreResourceCoordinationContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SRBs_ToBeSetup_Item_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, TRUE, pinfo); - offset = dissect_f1ap_IgnoreResourceCoordinationContainer(tvb, offset, &asn1_ctx, tree, hf_f1ap_IgnoreResourceCoordinationContainer_PDU); + offset = dissect_f1ap_SRBs_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_ToBeSetup_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_InactivityMonitoringRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SRBs_ToBeSetupMod_Item_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, TRUE, pinfo); - offset = dissect_f1ap_InactivityMonitoringRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_InactivityMonitoringRequest_PDU); + offset = dissect_f1ap_SRBs_ToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_ToBeSetupMod_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_InactivityMonitoringResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SSB_PositionsInBurst_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, TRUE, pinfo); - offset = dissect_f1ap_InactivityMonitoringResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_InactivityMonitoringResponse_PDU); + offset = dissect_f1ap_SSB_PositionsInBurst(tvb, offset, &asn1_ctx, tree, hf_f1ap_SSB_PositionsInBurst_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_MaskedIMEISV_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SULAccessIndication_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, TRUE, pinfo); - offset = dissect_f1ap_MaskedIMEISV(tvb, offset, &asn1_ctx, tree, hf_f1ap_MaskedIMEISV_PDU); + offset = dissect_f1ap_SULAccessIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_SULAccessIndication_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_MeasGapSharingConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SystemInformationAreaID_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, TRUE, pinfo); - offset = dissect_f1ap_MeasGapSharingConfig(tvb, offset, &asn1_ctx, tree, hf_f1ap_MeasGapSharingConfig_PDU); + offset = dissect_f1ap_SystemInformationAreaID(tvb, offset, &asn1_ctx, tree, hf_f1ap_SystemInformationAreaID_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_MeasurementTimingConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_TargetCellList_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, TRUE, pinfo); - offset = dissect_f1ap_MeasurementTimingConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_MeasurementTimingConfiguration_PDU); + offset = dissect_f1ap_TargetCellList(tvb, offset, &asn1_ctx, tree, hf_f1ap_TargetCellList_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_NeedforGap_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_TDD_UL_DLConfigCommonNR_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, TRUE, pinfo); - offset = dissect_f1ap_NeedforGap(tvb, offset, &asn1_ctx, tree, hf_f1ap_NeedforGap_PDU); + offset = dissect_f1ap_TDD_UL_DLConfigCommonNR(tvb, offset, &asn1_ctx, tree, hf_f1ap_TDD_UL_DLConfigCommonNR_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_NR_CGI_List_For_Restart_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_TimeReferenceInformation_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, TRUE, pinfo); - offset = dissect_f1ap_NR_CGI_List_For_Restart_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_NR_CGI_List_For_Restart_Item_PDU); + offset = dissect_f1ap_TimeReferenceInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_TimeReferenceInformation_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_NotificationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_TimeToWait_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, TRUE, pinfo); - offset = dissect_f1ap_NotificationInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_NotificationInformation_PDU); + offset = dissect_f1ap_TimeToWait(tvb, offset, &asn1_ctx, tree, hf_f1ap_TimeToWait_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_NRCGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_TNLCapacityIndicator_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, TRUE, pinfo); - offset = dissect_f1ap_NRCGI(tvb, offset, &asn1_ctx, tree, hf_f1ap_NRCGI_PDU); + offset = dissect_f1ap_TNLCapacityIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_TNLCapacityIndicator_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_NumberofBroadcastRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_TraceActivation_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, TRUE, pinfo); - offset = dissect_f1ap_NumberofBroadcastRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_NumberofBroadcastRequest_PDU); + offset = dissect_f1ap_TraceActivation(tvb, offset, &asn1_ctx, tree, hf_f1ap_TraceActivation_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_PagingCell_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_TraceID_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, TRUE, pinfo); - offset = dissect_f1ap_PagingCell_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_PagingCell_Item_PDU); + offset = dissect_f1ap_TraceID(tvb, offset, &asn1_ctx, tree, hf_f1ap_TraceID_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_PagingDRX_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_TrafficMappingInfo_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, TRUE, pinfo); - offset = dissect_f1ap_PagingDRX(tvb, offset, &asn1_ctx, tree, hf_f1ap_PagingDRX_PDU); + offset = dissect_f1ap_TrafficMappingInfo(tvb, offset, &asn1_ctx, tree, hf_f1ap_TrafficMappingInfo_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_PagingIdentity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_TransportLayerAddress_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, TRUE, pinfo); - offset = dissect_f1ap_PagingIdentity(tvb, offset, &asn1_ctx, tree, hf_f1ap_PagingIdentity_PDU); + offset = dissect_f1ap_TransportLayerAddress(tvb, offset, &asn1_ctx, tree, hf_f1ap_TransportLayerAddress_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_PagingOrigin_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_TransactionID_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, TRUE, pinfo); - offset = dissect_f1ap_PagingOrigin(tvb, offset, &asn1_ctx, tree, hf_f1ap_PagingOrigin_PDU); + offset = dissect_f1ap_TransactionID(tvb, offset, &asn1_ctx, tree, hf_f1ap_TransactionID_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_PagingPriority_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_TransmissionActionIndicator_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, TRUE, pinfo); - offset = dissect_f1ap_PagingPriority(tvb, offset, &asn1_ctx, tree, hf_f1ap_PagingPriority_PDU); + offset = dissect_f1ap_TransmissionActionIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_TransmissionActionIndicator_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_PDCCH_BlindDetectionSCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Transport_Layer_Address_Info_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, TRUE, pinfo); - offset = dissect_f1ap_PDCCH_BlindDetectionSCG(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDCCH_BlindDetectionSCG_PDU); + offset = dissect_f1ap_Transport_Layer_Address_Info(tvb, offset, &asn1_ctx, tree, hf_f1ap_Transport_Layer_Address_Info_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_PDCPSNLength_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_TSCTrafficCharacteristics_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, TRUE, pinfo); - offset = dissect_f1ap_PDCPSNLength(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDCPSNLength_PDU); + offset = dissect_f1ap_TSCTrafficCharacteristics(tvb, offset, &asn1_ctx, tree, hf_f1ap_TSCTrafficCharacteristics_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_PDUSessionID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UAC_Assistance_Info_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, TRUE, pinfo); - offset = dissect_f1ap_PDUSessionID(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDUSessionID_PDU); + offset = dissect_f1ap_UAC_Assistance_Info(tvb, offset, &asn1_ctx, tree, hf_f1ap_UAC_Assistance_Info_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Ph_InfoMCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UE_associatedLogicalF1_ConnectionItem_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, TRUE, pinfo); - offset = dissect_f1ap_Ph_InfoMCG(tvb, offset, &asn1_ctx, tree, hf_f1ap_Ph_InfoMCG_PDU); + offset = dissect_f1ap_UE_associatedLogicalF1_ConnectionItem(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_associatedLogicalF1_ConnectionItem_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Ph_InfoSCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UEAssistanceInformation_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, TRUE, pinfo); - offset = dissect_f1ap_Ph_InfoSCG(tvb, offset, &asn1_ctx, tree, hf_f1ap_Ph_InfoSCG_PDU); + offset = dissect_f1ap_UEAssistanceInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEAssistanceInformation_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_PLMN_Identity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UEAssistanceInformationEUTRA_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, TRUE, pinfo); - offset = dissect_f1ap_PLMN_Identity(tvb, offset, &asn1_ctx, tree, hf_f1ap_PLMN_Identity_PDU); + offset = dissect_f1ap_UEAssistanceInformationEUTRA(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEAssistanceInformationEUTRA_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_PortNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UEContextNotRetrievable_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, TRUE, pinfo); - offset = dissect_f1ap_PortNumber(tvb, offset, &asn1_ctx, tree, hf_f1ap_PortNumber_PDU); + offset = dissect_f1ap_UEContextNotRetrievable(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextNotRetrievable_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Protected_EUTRA_Resources_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UEIdentityIndexValue_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, TRUE, pinfo); - offset = dissect_f1ap_Protected_EUTRA_Resources_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Protected_EUTRA_Resources_Item_PDU); + offset = dissect_f1ap_UEIdentityIndexValue(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEIdentityIndexValue_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Potential_SpCell_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UL_BH_Non_UP_Traffic_Mapping_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, TRUE, pinfo); - offset = dissect_f1ap_Potential_SpCell_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Potential_SpCell_Item_PDU); + offset = dissect_f1ap_UL_BH_Non_UP_Traffic_Mapping(tvb, offset, &asn1_ctx, tree, hf_f1ap_UL_BH_Non_UP_Traffic_Mapping_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_PWS_Failed_NR_CGI_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UL_UP_TNL_Information_to_Update_List_Item_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, TRUE, pinfo); - offset = dissect_f1ap_PWS_Failed_NR_CGI_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWS_Failed_NR_CGI_Item_PDU); + offset = dissect_f1ap_UL_UP_TNL_Information_to_Update_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_UL_UP_TNL_Information_to_Update_List_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_PWSSystemInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UL_UP_TNL_Address_to_Update_List_Item_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, TRUE, pinfo); - offset = dissect_f1ap_PWSSystemInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWSSystemInformation_PDU); + offset = dissect_f1ap_UL_UP_TNL_Address_to_Update_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_UL_UP_TNL_Address_to_Update_List_Item_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_QoSFlowMappingIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UplinkTxDirectCurrentListInformation_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, TRUE, pinfo); - offset = dissect_f1ap_QoSFlowMappingIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_QoSFlowMappingIndication_PDU); + offset = dissect_f1ap_UplinkTxDirectCurrentListInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_UplinkTxDirectCurrentListInformation_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_RANAC_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_URI_address_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, TRUE, pinfo); - offset = dissect_f1ap_RANAC(tvb, offset, &asn1_ctx, tree, hf_f1ap_RANAC_PDU); + offset = dissect_f1ap_URI_address(tvb, offset, &asn1_ctx, tree, hf_f1ap_URI_address_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_RANUEID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_VictimgNBSetID_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, TRUE, pinfo); - offset = dissect_f1ap_RANUEID(tvb, offset, &asn1_ctx, tree, hf_f1ap_RANUEID_PDU); + offset = dissect_f1ap_VictimgNBSetID(tvb, offset, &asn1_ctx, tree, hf_f1ap_VictimgNBSetID_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_RAT_FrequencyPriorityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Reset_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, TRUE, pinfo); - offset = dissect_f1ap_RAT_FrequencyPriorityInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_RAT_FrequencyPriorityInformation_PDU); + offset = dissect_f1ap_Reset(tvb, offset, &asn1_ctx, tree, hf_f1ap_Reset_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_RequestedBandCombinationIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_ResetType_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, TRUE, pinfo); - offset = dissect_f1ap_RequestedBandCombinationIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_RequestedBandCombinationIndex_PDU); + offset = dissect_f1ap_ResetType(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResetType_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_RequestedFeatureSetEntryIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_ResetAcknowledge_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, TRUE, pinfo); - offset = dissect_f1ap_RequestedFeatureSetEntryIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_RequestedFeatureSetEntryIndex_PDU); + offset = dissect_f1ap_ResetAcknowledge(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResetAcknowledge_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Requested_PDCCH_BlindDetectionSCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UE_associatedLogicalF1_ConnectionListResAck_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, TRUE, pinfo); - offset = dissect_f1ap_Requested_PDCCH_BlindDetectionSCG(tvb, offset, &asn1_ctx, tree, hf_f1ap_Requested_PDCCH_BlindDetectionSCG_PDU); + offset = dissect_f1ap_UE_associatedLogicalF1_ConnectionListResAck(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_associatedLogicalF1_ConnectionListResAck_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_RequestedP_MaxFR2_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_ErrorIndication_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, TRUE, pinfo); - offset = dissect_f1ap_RequestedP_MaxFR2(tvb, offset, &asn1_ctx, tree, hf_f1ap_RequestedP_MaxFR2_PDU); + offset = dissect_f1ap_ErrorIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_ErrorIndication_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_RequestType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_F1SetupRequest_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, TRUE, pinfo); - offset = dissect_f1ap_RequestType(tvb, offset, &asn1_ctx, tree, hf_f1ap_RequestType_PDU); + offset = dissect_f1ap_F1SetupRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1SetupRequest_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_ResourceCoordinationTransferInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_GNB_DU_Served_Cells_List_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, TRUE, pinfo); - offset = dissect_f1ap_ResourceCoordinationTransferInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResourceCoordinationTransferInformation_PDU); + offset = dissect_f1ap_GNB_DU_Served_Cells_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_Served_Cells_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_ResourceCoordinationTransferContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_F1SetupResponse_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, TRUE, pinfo); - offset = dissect_f1ap_ResourceCoordinationTransferContainer(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResourceCoordinationTransferContainer_PDU); + offset = dissect_f1ap_F1SetupResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1SetupResponse_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_RepetitionPeriod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Cells_to_be_Activated_List_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, TRUE, pinfo); - offset = dissect_f1ap_RepetitionPeriod(tvb, offset, &asn1_ctx, tree, hf_f1ap_RepetitionPeriod_PDU); + offset = dissect_f1ap_Cells_to_be_Activated_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_to_be_Activated_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_RLCFailureIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_F1SetupFailure_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, TRUE, pinfo); - offset = dissect_f1ap_RLCFailureIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_RLCFailureIndication_PDU); + offset = dissect_f1ap_F1SetupFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1SetupFailure_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_RLCMode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_GNBDUConfigurationUpdate_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, TRUE, pinfo); - offset = dissect_f1ap_RLCMode(tvb, offset, &asn1_ctx, tree, hf_f1ap_RLCMode_PDU); + offset = dissect_f1ap_GNBDUConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUConfigurationUpdate_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_RLC_Status_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Served_Cells_To_Add_List_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, TRUE, pinfo); - offset = dissect_f1ap_RLC_Status(tvb, offset, &asn1_ctx, tree, hf_f1ap_RLC_Status_PDU); + offset = dissect_f1ap_Served_Cells_To_Add_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Served_Cells_To_Add_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_RRCContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Served_Cells_To_Modify_List_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, TRUE, pinfo); - offset = dissect_f1ap_RRCContainer(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRCContainer_PDU); + offset = dissect_f1ap_Served_Cells_To_Modify_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Served_Cells_To_Modify_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_RRCContainer_RRCSetupComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Served_Cells_To_Delete_List_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, TRUE, pinfo); - offset = dissect_f1ap_RRCContainer_RRCSetupComplete(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRCContainer_RRCSetupComplete_PDU); + offset = dissect_f1ap_Served_Cells_To_Delete_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Served_Cells_To_Delete_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_RRCDeliveryStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Cells_Status_List_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, TRUE, pinfo); - offset = dissect_f1ap_RRCDeliveryStatus(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRCDeliveryStatus_PDU); + offset = dissect_f1ap_Cells_Status_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Status_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_RRCDeliveryStatusRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Dedicated_SIDelivery_NeededUE_List_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, TRUE, pinfo); - offset = dissect_f1ap_RRCDeliveryStatusRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRCDeliveryStatusRequest_PDU); + offset = dissect_f1ap_Dedicated_SIDelivery_NeededUE_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Dedicated_SIDelivery_NeededUE_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_RRCReconfigurationCompleteIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_GNB_DU_TNL_Association_To_Remove_List_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, TRUE, pinfo); - offset = dissect_f1ap_RRCReconfigurationCompleteIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRCReconfigurationCompleteIndicator_PDU); + offset = dissect_f1ap_GNB_DU_TNL_Association_To_Remove_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_TNL_Association_To_Remove_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_RRC_Version_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_GNBDUConfigurationUpdateAcknowledge_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, TRUE, pinfo); - offset = dissect_f1ap_RRC_Version(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRC_Version_PDU); + offset = dissect_f1ap_GNBDUConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUConfigurationUpdateAcknowledge_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Latest_RRC_Version_Enhanced_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_GNBDUConfigurationUpdateFailure_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, TRUE, pinfo); - offset = dissect_f1ap_Latest_RRC_Version_Enhanced(tvb, offset, &asn1_ctx, tree, hf_f1ap_Latest_RRC_Version_Enhanced_PDU); + offset = dissect_f1ap_GNBDUConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUConfigurationUpdateFailure_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SCell_FailedtoSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_GNBCUConfigurationUpdate_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, TRUE, pinfo); - offset = dissect_f1ap_SCell_FailedtoSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_FailedtoSetup_Item_PDU); + offset = dissect_f1ap_GNBCUConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBCUConfigurationUpdate_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SCell_FailedtoSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Cells_to_be_Deactivated_List_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, TRUE, pinfo); - offset = dissect_f1ap_SCell_FailedtoSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_FailedtoSetupMod_Item_PDU); + offset = dissect_f1ap_Cells_to_be_Deactivated_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_to_be_Deactivated_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SCell_ToBeRemoved_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_GNB_CU_TNL_Association_To_Add_List_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, TRUE, pinfo); - offset = dissect_f1ap_SCell_ToBeRemoved_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_ToBeRemoved_Item_PDU); + offset = dissect_f1ap_GNB_CU_TNL_Association_To_Add_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_To_Add_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SCell_ToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_GNB_CU_TNL_Association_To_Remove_List_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, TRUE, pinfo); - offset = dissect_f1ap_SCell_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_ToBeSetup_Item_PDU); + offset = dissect_f1ap_GNB_CU_TNL_Association_To_Remove_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_To_Remove_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SCell_ToBeSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_GNB_CU_TNL_Association_To_Update_List_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, TRUE, pinfo); - offset = dissect_f1ap_SCell_ToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_ToBeSetupMod_Item_PDU); + offset = dissect_f1ap_GNB_CU_TNL_Association_To_Update_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_To_Update_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SelectedBandCombinationIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Cells_to_be_Barred_List_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, TRUE, pinfo); - offset = dissect_f1ap_SelectedBandCombinationIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_SelectedBandCombinationIndex_PDU); + offset = dissect_f1ap_Cells_to_be_Barred_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_to_be_Barred_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SelectedFeatureSetEntryIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Protected_EUTRA_Resources_List_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, TRUE, pinfo); - offset = dissect_f1ap_SelectedFeatureSetEntryIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_SelectedFeatureSetEntryIndex_PDU); + offset = dissect_f1ap_Protected_EUTRA_Resources_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Protected_EUTRA_Resources_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_ServCellIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Neighbour_Cell_Information_List_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, TRUE, pinfo); - offset = dissect_f1ap_ServCellIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_ServCellIndex_PDU); + offset = dissect_f1ap_Neighbour_Cell_Information_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Neighbour_Cell_Information_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_ServingCellMO_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_GNBCUConfigurationUpdateAcknowledge_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, TRUE, pinfo); - offset = dissect_f1ap_ServingCellMO(tvb, offset, &asn1_ctx, tree, hf_f1ap_ServingCellMO_PDU); + offset = dissect_f1ap_GNBCUConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBCUConfigurationUpdateAcknowledge_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Served_Cells_To_Add_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Cells_Failed_to_be_Activated_List_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, TRUE, pinfo); - offset = dissect_f1ap_Served_Cells_To_Add_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Served_Cells_To_Add_Item_PDU); + offset = dissect_f1ap_Cells_Failed_to_be_Activated_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Failed_to_be_Activated_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Served_Cells_To_Delete_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_GNB_CU_TNL_Association_Setup_List_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, TRUE, pinfo); - offset = dissect_f1ap_Served_Cells_To_Delete_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Served_Cells_To_Delete_Item_PDU); + offset = dissect_f1ap_GNB_CU_TNL_Association_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_Setup_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Served_Cells_To_Modify_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_GNB_CU_TNL_Association_Failed_To_Setup_List_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, TRUE, pinfo); - offset = dissect_f1ap_Served_Cells_To_Modify_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Served_Cells_To_Modify_Item_PDU); + offset = dissect_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SItype_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_GNBCUConfigurationUpdateFailure_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, TRUE, pinfo); - offset = dissect_f1ap_SItype_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SItype_List_PDU); + offset = dissect_f1ap_GNBCUConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBCUConfigurationUpdateFailure_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SliceSupportList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_GNBDUResourceCoordinationRequest_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, TRUE, pinfo); - offset = dissect_f1ap_SliceSupportList(tvb, offset, &asn1_ctx, tree, hf_f1ap_SliceSupportList_PDU); + offset = dissect_f1ap_GNBDUResourceCoordinationRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUResourceCoordinationRequest_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SRBID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_GNBDUResourceCoordinationResponse_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, TRUE, pinfo); - offset = dissect_f1ap_SRBID(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBID_PDU); + offset = dissect_f1ap_GNBDUResourceCoordinationResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUResourceCoordinationResponse_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SRBs_FailedToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UEContextSetupRequest_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, TRUE, pinfo); - offset = dissect_f1ap_SRBs_FailedToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_FailedToBeSetup_Item_PDU); + offset = dissect_f1ap_UEContextSetupRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextSetupRequest_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SRBs_FailedToBeSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Candidate_SpCell_List_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, TRUE, pinfo); - offset = dissect_f1ap_SRBs_FailedToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_FailedToBeSetupMod_Item_PDU); + offset = dissect_f1ap_Candidate_SpCell_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Candidate_SpCell_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SRBs_Modified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SCell_ToBeSetup_List_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, TRUE, pinfo); - offset = dissect_f1ap_SRBs_Modified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_Modified_Item_PDU); + offset = dissect_f1ap_SCell_ToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_ToBeSetup_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SRBs_Required_ToBeReleased_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SRBs_ToBeSetup_List_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, TRUE, pinfo); - offset = dissect_f1ap_SRBs_Required_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_Required_ToBeReleased_Item_PDU); + offset = dissect_f1ap_SRBs_ToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_ToBeSetup_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SRBs_Setup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_DRBs_ToBeSetup_List_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, TRUE, pinfo); - offset = dissect_f1ap_SRBs_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_Setup_Item_PDU); + offset = dissect_f1ap_DRBs_ToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeSetup_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SRBs_SetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_BHChannels_ToBeSetup_List_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, TRUE, pinfo); - offset = dissect_f1ap_SRBs_SetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_SetupMod_Item_PDU); + offset = dissect_f1ap_BHChannels_ToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_ToBeSetup_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SRBs_ToBeReleased_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_ToBeSetup_List_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, TRUE, pinfo); - offset = dissect_f1ap_SRBs_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_ToBeReleased_Item_PDU); + offset = dissect_f1ap_SLDRBs_ToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ToBeSetup_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SRBs_ToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UEContextSetupResponse_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, TRUE, pinfo); - offset = dissect_f1ap_SRBs_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_ToBeSetup_Item_PDU); + offset = dissect_f1ap_UEContextSetupResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextSetupResponse_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SRBs_ToBeSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_DRBs_Setup_List_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, TRUE, pinfo); - offset = dissect_f1ap_SRBs_ToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_ToBeSetupMod_Item_PDU); + offset = dissect_f1ap_DRBs_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Setup_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SULAccessIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SRBs_FailedToBeSetup_List_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, TRUE, pinfo); - offset = dissect_f1ap_SULAccessIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_SULAccessIndication_PDU); + offset = dissect_f1ap_SRBs_FailedToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_FailedToBeSetup_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SystemInformationAreaID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_DRBs_FailedToBeSetup_List_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, TRUE, pinfo); - offset = dissect_f1ap_SystemInformationAreaID(tvb, offset, &asn1_ctx, tree, hf_f1ap_SystemInformationAreaID_PDU); + offset = dissect_f1ap_DRBs_FailedToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_FailedToBeSetup_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_TimeToWait_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SCell_FailedtoSetup_List_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, TRUE, pinfo); - offset = dissect_f1ap_TimeToWait(tvb, offset, &asn1_ctx, tree, hf_f1ap_TimeToWait_PDU); + offset = dissect_f1ap_SCell_FailedtoSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_FailedtoSetup_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_TransactionID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SRBs_Setup_List_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, TRUE, pinfo); - offset = dissect_f1ap_TransactionID(tvb, offset, &asn1_ctx, tree, hf_f1ap_TransactionID_PDU); + offset = dissect_f1ap_SRBs_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_Setup_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_TransmissionActionIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_BHChannels_Setup_List_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, TRUE, pinfo); - offset = dissect_f1ap_TransmissionActionIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_TransmissionActionIndicator_PDU); + offset = dissect_f1ap_BHChannels_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_Setup_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UAC_Assistance_Info_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_BHChannels_FailedToBeSetup_List_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, TRUE, pinfo); - offset = dissect_f1ap_UAC_Assistance_Info(tvb, offset, &asn1_ctx, tree, hf_f1ap_UAC_Assistance_Info_PDU); + offset = dissect_f1ap_BHChannels_FailedToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_FailedToBeSetup_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UE_associatedLogicalF1_ConnectionItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_Setup_List_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, TRUE, pinfo); - offset = dissect_f1ap_UE_associatedLogicalF1_ConnectionItem(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_associatedLogicalF1_ConnectionItem_PDU); + offset = dissect_f1ap_SLDRBs_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_Setup_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UEAssistanceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_FailedToBeSetup_List_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, TRUE, pinfo); - offset = dissect_f1ap_UEAssistanceInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEAssistanceInformation_PDU); + offset = dissect_f1ap_SLDRBs_FailedToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_FailedToBeSetup_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UEContextNotRetrievable_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UEContextSetupFailure_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, TRUE, pinfo); - offset = dissect_f1ap_UEContextNotRetrievable(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextNotRetrievable_PDU); + offset = dissect_f1ap_UEContextSetupFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextSetupFailure_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UEIdentityIndexValue_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Potential_SpCell_List_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, TRUE, pinfo); - offset = dissect_f1ap_UEIdentityIndexValue(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEIdentityIndexValue_PDU); + offset = dissect_f1ap_Potential_SpCell_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Potential_SpCell_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UplinkTxDirectCurrentListInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UEContextReleaseRequest_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, TRUE, pinfo); - offset = dissect_f1ap_UplinkTxDirectCurrentListInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_UplinkTxDirectCurrentListInformation_PDU); + offset = dissect_f1ap_UEContextReleaseRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextReleaseRequest_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Reset_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UEContextReleaseCommand_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, TRUE, pinfo); - offset = dissect_f1ap_Reset(tvb, offset, &asn1_ctx, tree, hf_f1ap_Reset_PDU); + offset = dissect_f1ap_UEContextReleaseCommand(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextReleaseCommand_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_ResetType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UEContextReleaseComplete_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, TRUE, pinfo); - offset = dissect_f1ap_ResetType(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResetType_PDU); + offset = dissect_f1ap_UEContextReleaseComplete(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextReleaseComplete_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_ResetAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UEContextModificationRequest_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, TRUE, pinfo); - offset = dissect_f1ap_ResetAcknowledge(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResetAcknowledge_PDU); + offset = dissect_f1ap_UEContextModificationRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextModificationRequest_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UE_associatedLogicalF1_ConnectionListResAck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SCell_ToBeSetupMod_List_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, TRUE, pinfo); - offset = dissect_f1ap_UE_associatedLogicalF1_ConnectionListResAck(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_associatedLogicalF1_ConnectionListResAck_PDU); + offset = dissect_f1ap_SCell_ToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_ToBeSetupMod_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_ErrorIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SCell_ToBeRemoved_List_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, TRUE, pinfo); - offset = dissect_f1ap_ErrorIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_ErrorIndication_PDU); + offset = dissect_f1ap_SCell_ToBeRemoved_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_ToBeRemoved_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_F1SetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SRBs_ToBeSetupMod_List_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, TRUE, pinfo); - offset = dissect_f1ap_F1SetupRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1SetupRequest_PDU); + offset = dissect_f1ap_SRBs_ToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_ToBeSetupMod_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_DU_Served_Cells_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_DRBs_ToBeSetupMod_List_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_DU_Served_Cells_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_Served_Cells_List_PDU); + offset = dissect_f1ap_DRBs_ToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeSetupMod_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_F1SetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_BHChannels_ToBeSetupMod_List_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, TRUE, pinfo); - offset = dissect_f1ap_F1SetupResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1SetupResponse_PDU); + offset = dissect_f1ap_BHChannels_ToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_ToBeSetupMod_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Cells_to_be_Activated_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_DRBs_ToBeModified_List_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, TRUE, pinfo); - offset = dissect_f1ap_Cells_to_be_Activated_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_to_be_Activated_List_PDU); + offset = dissect_f1ap_DRBs_ToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeModified_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_F1SetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_BHChannels_ToBeModified_List_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, TRUE, pinfo); - offset = dissect_f1ap_F1SetupFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1SetupFailure_PDU); + offset = dissect_f1ap_BHChannels_ToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_ToBeModified_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNBDUConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SRBs_ToBeReleased_List_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, TRUE, pinfo); - offset = dissect_f1ap_GNBDUConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUConfigurationUpdate_PDU); + offset = dissect_f1ap_SRBs_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_ToBeReleased_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Served_Cells_To_Add_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_DRBs_ToBeReleased_List_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, TRUE, pinfo); - offset = dissect_f1ap_Served_Cells_To_Add_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Served_Cells_To_Add_List_PDU); + offset = dissect_f1ap_DRBs_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeReleased_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Served_Cells_To_Modify_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_BHChannels_ToBeReleased_List_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, TRUE, pinfo); - offset = dissect_f1ap_Served_Cells_To_Modify_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Served_Cells_To_Modify_List_PDU); + offset = dissect_f1ap_BHChannels_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_ToBeReleased_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Served_Cells_To_Delete_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_ToBeSetupMod_List_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, TRUE, pinfo); - offset = dissect_f1ap_Served_Cells_To_Delete_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Served_Cells_To_Delete_List_PDU); + offset = dissect_f1ap_SLDRBs_ToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ToBeSetupMod_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Cells_Status_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_ToBeModified_List_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, TRUE, pinfo); - offset = dissect_f1ap_Cells_Status_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Status_List_PDU); + offset = dissect_f1ap_SLDRBs_ToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ToBeModified_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Dedicated_SIDelivery_NeededUE_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_ToBeReleased_List_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, TRUE, pinfo); - offset = dissect_f1ap_Dedicated_SIDelivery_NeededUE_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Dedicated_SIDelivery_NeededUE_List_PDU); + offset = dissect_f1ap_SLDRBs_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ToBeReleased_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_DU_TNL_Association_To_Remove_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UEContextModificationResponse_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_DU_TNL_Association_To_Remove_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_TNL_Association_To_Remove_List_PDU); + offset = dissect_f1ap_UEContextModificationResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextModificationResponse_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNBDUConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_DRBs_SetupMod_List_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, TRUE, pinfo); - offset = dissect_f1ap_GNBDUConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUConfigurationUpdateAcknowledge_PDU); + offset = dissect_f1ap_DRBs_SetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_SetupMod_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNBDUConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_DRBs_Modified_List_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, TRUE, pinfo); - offset = dissect_f1ap_GNBDUConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUConfigurationUpdateFailure_PDU); + offset = dissect_f1ap_DRBs_Modified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Modified_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNBCUConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SRBs_SetupMod_List_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, TRUE, pinfo); - offset = dissect_f1ap_GNBCUConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBCUConfigurationUpdate_PDU); + offset = dissect_f1ap_SRBs_SetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_SetupMod_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Cells_to_be_Deactivated_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SRBs_Modified_List_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, TRUE, pinfo); - offset = dissect_f1ap_Cells_to_be_Deactivated_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_to_be_Deactivated_List_PDU); + offset = dissect_f1ap_SRBs_Modified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_Modified_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_CU_TNL_Association_To_Add_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_DRBs_FailedToBeModified_List_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_CU_TNL_Association_To_Add_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_To_Add_List_PDU); + offset = dissect_f1ap_DRBs_FailedToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_FailedToBeModified_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_CU_TNL_Association_To_Remove_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SRBs_FailedToBeSetupMod_List_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_CU_TNL_Association_To_Remove_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_To_Remove_List_PDU); + offset = dissect_f1ap_SRBs_FailedToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_FailedToBeSetupMod_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_CU_TNL_Association_To_Update_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_DRBs_FailedToBeSetupMod_List_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_CU_TNL_Association_To_Update_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_To_Update_List_PDU); + offset = dissect_f1ap_DRBs_FailedToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_FailedToBeSetupMod_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Cells_to_be_Barred_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SCell_FailedtoSetupMod_List_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, TRUE, pinfo); - offset = dissect_f1ap_Cells_to_be_Barred_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_to_be_Barred_List_PDU); + offset = dissect_f1ap_SCell_FailedtoSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_FailedtoSetupMod_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Protected_EUTRA_Resources_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_BHChannels_SetupMod_List_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, TRUE, pinfo); - offset = dissect_f1ap_Protected_EUTRA_Resources_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Protected_EUTRA_Resources_List_PDU); + offset = dissect_f1ap_BHChannels_SetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_SetupMod_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNBCUConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_BHChannels_Modified_List_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, TRUE, pinfo); - offset = dissect_f1ap_GNBCUConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBCUConfigurationUpdateAcknowledge_PDU); + offset = dissect_f1ap_BHChannels_Modified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_Modified_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Cells_Failed_to_be_Activated_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_BHChannels_FailedToBeModified_List_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, TRUE, pinfo); - offset = dissect_f1ap_Cells_Failed_to_be_Activated_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Failed_to_be_Activated_List_PDU); + offset = dissect_f1ap_BHChannels_FailedToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_FailedToBeModified_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_CU_TNL_Association_Setup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_BHChannels_FailedToBeSetupMod_List_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_CU_TNL_Association_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_Setup_List_PDU); + offset = dissect_f1ap_BHChannels_FailedToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_FailedToBeSetupMod_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNB_CU_TNL_Association_Failed_To_Setup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Associated_SCell_List_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, TRUE, pinfo); - offset = dissect_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List_PDU); + offset = dissect_f1ap_Associated_SCell_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Associated_SCell_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNBCUConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_SetupMod_List_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, TRUE, pinfo); - offset = dissect_f1ap_GNBCUConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBCUConfigurationUpdateFailure_PDU); + offset = dissect_f1ap_SLDRBs_SetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_SetupMod_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNBDUResourceCoordinationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_Modified_List_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, TRUE, pinfo); - offset = dissect_f1ap_GNBDUResourceCoordinationRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUResourceCoordinationRequest_PDU); + offset = dissect_f1ap_SLDRBs_Modified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_Modified_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNBDUResourceCoordinationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_FailedToBeModified_List_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, TRUE, pinfo); - offset = dissect_f1ap_GNBDUResourceCoordinationResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUResourceCoordinationResponse_PDU); + offset = dissect_f1ap_SLDRBs_FailedToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_FailedToBeModified_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UEContextSetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_FailedToBeSetupMod_List_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, TRUE, pinfo); - offset = dissect_f1ap_UEContextSetupRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextSetupRequest_PDU); + offset = dissect_f1ap_SLDRBs_FailedToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_FailedToBeSetupMod_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Candidate_SpCell_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UEContextModificationFailure_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, TRUE, pinfo); - offset = dissect_f1ap_Candidate_SpCell_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Candidate_SpCell_List_PDU); + offset = dissect_f1ap_UEContextModificationFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextModificationFailure_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SCell_ToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UEContextModificationRequired_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, TRUE, pinfo); - offset = dissect_f1ap_SCell_ToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_ToBeSetup_List_PDU); + offset = dissect_f1ap_UEContextModificationRequired(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextModificationRequired_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SRBs_ToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_DRBs_Required_ToBeModified_List_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, TRUE, pinfo); - offset = dissect_f1ap_SRBs_ToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_ToBeSetup_List_PDU); + offset = dissect_f1ap_DRBs_Required_ToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Required_ToBeModified_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_ToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_DRBs_Required_ToBeReleased_List_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_ToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeSetup_List_PDU); + offset = dissect_f1ap_DRBs_Required_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Required_ToBeReleased_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UEContextSetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SRBs_Required_ToBeReleased_List_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, TRUE, pinfo); - offset = dissect_f1ap_UEContextSetupResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextSetupResponse_PDU); + offset = dissect_f1ap_SRBs_Required_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_Required_ToBeReleased_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_Setup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_BHChannels_Required_ToBeReleased_List_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Setup_List_PDU); + offset = dissect_f1ap_BHChannels_Required_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_Required_ToBeReleased_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SRBs_FailedToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_Required_ToBeModified_List_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, TRUE, pinfo); - offset = dissect_f1ap_SRBs_FailedToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_FailedToBeSetup_List_PDU); + offset = dissect_f1ap_SLDRBs_Required_ToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_Required_ToBeModified_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_FailedToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_Required_ToBeReleased_List_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_FailedToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_FailedToBeSetup_List_PDU); + offset = dissect_f1ap_SLDRBs_Required_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_Required_ToBeReleased_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SCell_FailedtoSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UEContextModificationConfirm_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, TRUE, pinfo); - offset = dissect_f1ap_SCell_FailedtoSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_FailedtoSetup_List_PDU); + offset = dissect_f1ap_UEContextModificationConfirm(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextModificationConfirm_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SRBs_Setup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_DRBs_ModifiedConf_List_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, TRUE, pinfo); - offset = dissect_f1ap_SRBs_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_Setup_List_PDU); + offset = dissect_f1ap_DRBs_ModifiedConf_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ModifiedConf_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UEContextSetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SLDRBs_ModifiedConf_List_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, TRUE, pinfo); - offset = dissect_f1ap_UEContextSetupFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextSetupFailure_PDU); + offset = dissect_f1ap_SLDRBs_ModifiedConf_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ModifiedConf_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Potential_SpCell_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UEContextModificationRefuse_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, TRUE, pinfo); - offset = dissect_f1ap_Potential_SpCell_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Potential_SpCell_List_PDU); + offset = dissect_f1ap_UEContextModificationRefuse(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextModificationRefuse_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UEContextReleaseRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_WriteReplaceWarningRequest_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, TRUE, pinfo); - offset = dissect_f1ap_UEContextReleaseRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextReleaseRequest_PDU); + offset = dissect_f1ap_WriteReplaceWarningRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_WriteReplaceWarningRequest_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UEContextReleaseCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Cells_To_Be_Broadcast_List_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, TRUE, pinfo); - offset = dissect_f1ap_UEContextReleaseCommand(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextReleaseCommand_PDU); + offset = dissect_f1ap_Cells_To_Be_Broadcast_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_To_Be_Broadcast_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UEContextReleaseComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_WriteReplaceWarningResponse_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, TRUE, pinfo); - offset = dissect_f1ap_UEContextReleaseComplete(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextReleaseComplete_PDU); + offset = dissect_f1ap_WriteReplaceWarningResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_WriteReplaceWarningResponse_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UEContextModificationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Cells_Broadcast_Completed_List_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, TRUE, pinfo); - offset = dissect_f1ap_UEContextModificationRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextModificationRequest_PDU); + offset = dissect_f1ap_Cells_Broadcast_Completed_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Broadcast_Completed_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SCell_ToBeSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_PWSCancelRequest_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, TRUE, pinfo); - offset = dissect_f1ap_SCell_ToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_ToBeSetupMod_List_PDU); + offset = dissect_f1ap_PWSCancelRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWSCancelRequest_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SCell_ToBeRemoved_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Broadcast_To_Be_Cancelled_List_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, TRUE, pinfo); - offset = dissect_f1ap_SCell_ToBeRemoved_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_ToBeRemoved_List_PDU); + offset = dissect_f1ap_Broadcast_To_Be_Cancelled_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Broadcast_To_Be_Cancelled_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SRBs_ToBeSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_PWSCancelResponse_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, TRUE, pinfo); - offset = dissect_f1ap_SRBs_ToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_ToBeSetupMod_List_PDU); + offset = dissect_f1ap_PWSCancelResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWSCancelResponse_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_ToBeSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Cells_Broadcast_Cancelled_List_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_ToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeSetupMod_List_PDU); + offset = dissect_f1ap_Cells_Broadcast_Cancelled_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Broadcast_Cancelled_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_ToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UEInactivityNotification_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_ToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeModified_List_PDU); + offset = dissect_f1ap_UEInactivityNotification(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEInactivityNotification_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SRBs_ToBeReleased_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_DRB_Activity_List_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, TRUE, pinfo); - offset = dissect_f1ap_SRBs_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_ToBeReleased_List_PDU); + offset = dissect_f1ap_DRB_Activity_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRB_Activity_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_ToBeReleased_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_InitialULRRCMessageTransfer_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeReleased_List_PDU); + offset = dissect_f1ap_InitialULRRCMessageTransfer(tvb, offset, &asn1_ctx, tree, hf_f1ap_InitialULRRCMessageTransfer_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UEContextModificationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_DLRRCMessageTransfer_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, TRUE, pinfo); - offset = dissect_f1ap_UEContextModificationResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextModificationResponse_PDU); + offset = dissect_f1ap_DLRRCMessageTransfer(tvb, offset, &asn1_ctx, tree, hf_f1ap_DLRRCMessageTransfer_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_SetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_RedirectedRRCmessage_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_SetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_SetupMod_List_PDU); + offset = dissect_f1ap_RedirectedRRCmessage(tvb, offset, &asn1_ctx, tree, hf_f1ap_RedirectedRRCmessage_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_Modified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_ULRRCMessageTransfer_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_Modified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Modified_List_PDU); + offset = dissect_f1ap_ULRRCMessageTransfer(tvb, offset, &asn1_ctx, tree, hf_f1ap_ULRRCMessageTransfer_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SRBs_SetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_PrivateMessage_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, TRUE, pinfo); - offset = dissect_f1ap_SRBs_SetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_SetupMod_List_PDU); + offset = dissect_f1ap_PrivateMessage(tvb, offset, &asn1_ctx, tree, hf_f1ap_PrivateMessage_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SRBs_Modified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SystemInformationDeliveryCommand_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, TRUE, pinfo); - offset = dissect_f1ap_SRBs_Modified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_Modified_List_PDU); + offset = dissect_f1ap_SystemInformationDeliveryCommand(tvb, offset, &asn1_ctx, tree, hf_f1ap_SystemInformationDeliveryCommand_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_FailedToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Paging_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_FailedToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_FailedToBeModified_List_PDU); + offset = dissect_f1ap_Paging(tvb, offset, &asn1_ctx, tree, hf_f1ap_Paging_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SRBs_FailedToBeSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_PagingCell_list_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, TRUE, pinfo); - offset = dissect_f1ap_SRBs_FailedToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_FailedToBeSetupMod_List_PDU); + offset = dissect_f1ap_PagingCell_list(tvb, offset, &asn1_ctx, tree, hf_f1ap_PagingCell_list_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_FailedToBeSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_Notify_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_FailedToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_FailedToBeSetupMod_List_PDU); + offset = dissect_f1ap_Notify(tvb, offset, &asn1_ctx, tree, hf_f1ap_Notify_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SCell_FailedtoSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_DRB_Notify_List_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, TRUE, pinfo); - offset = dissect_f1ap_SCell_FailedtoSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_FailedtoSetupMod_List_PDU); + offset = dissect_f1ap_DRB_Notify_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRB_Notify_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Associated_SCell_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_NetworkAccessRateReduction_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, TRUE, pinfo); - offset = dissect_f1ap_Associated_SCell_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Associated_SCell_List_PDU); + offset = dissect_f1ap_NetworkAccessRateReduction(tvb, offset, &asn1_ctx, tree, hf_f1ap_NetworkAccessRateReduction_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UEContextModificationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_PWSRestartIndication_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, TRUE, pinfo); - offset = dissect_f1ap_UEContextModificationFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextModificationFailure_PDU); + offset = dissect_f1ap_PWSRestartIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWSRestartIndication_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UEContextModificationRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_NR_CGI_List_For_Restart_List_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, TRUE, pinfo); - offset = dissect_f1ap_UEContextModificationRequired(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextModificationRequired_PDU); + offset = dissect_f1ap_NR_CGI_List_For_Restart_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_NR_CGI_List_For_Restart_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_Required_ToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_PWSFailureIndication_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_Required_ToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Required_ToBeModified_List_PDU); + offset = dissect_f1ap_PWSFailureIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWSFailureIndication_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_Required_ToBeReleased_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_PWS_Failed_NR_CGI_List_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_Required_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Required_ToBeReleased_List_PDU); + offset = dissect_f1ap_PWS_Failed_NR_CGI_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWS_Failed_NR_CGI_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SRBs_Required_ToBeReleased_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_GNBDUStatusIndication_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, TRUE, pinfo); - offset = dissect_f1ap_SRBs_Required_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_Required_ToBeReleased_List_PDU); + offset = dissect_f1ap_GNBDUStatusIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUStatusIndication_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UEContextModificationConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_RRCDeliveryReport_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, TRUE, pinfo); - offset = dissect_f1ap_UEContextModificationConfirm(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextModificationConfirm_PDU); + offset = dissect_f1ap_RRCDeliveryReport(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRCDeliveryReport_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRBs_ModifiedConf_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_F1RemovalRequest_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, TRUE, pinfo); - offset = dissect_f1ap_DRBs_ModifiedConf_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ModifiedConf_List_PDU); + offset = dissect_f1ap_F1RemovalRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1RemovalRequest_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UEContextModificationRefuse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_F1RemovalResponse_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, TRUE, pinfo); - offset = dissect_f1ap_UEContextModificationRefuse(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextModificationRefuse_PDU); + offset = dissect_f1ap_F1RemovalResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1RemovalResponse_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_WriteReplaceWarningRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_F1RemovalFailure_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, TRUE, pinfo); - offset = dissect_f1ap_WriteReplaceWarningRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_WriteReplaceWarningRequest_PDU); + offset = dissect_f1ap_F1RemovalFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1RemovalFailure_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Cells_To_Be_Broadcast_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_TraceStart_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, TRUE, pinfo); - offset = dissect_f1ap_Cells_To_Be_Broadcast_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_To_Be_Broadcast_List_PDU); + offset = dissect_f1ap_TraceStart(tvb, offset, &asn1_ctx, tree, hf_f1ap_TraceStart_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_WriteReplaceWarningResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_DeactivateTrace_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, TRUE, pinfo); - offset = dissect_f1ap_WriteReplaceWarningResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_WriteReplaceWarningResponse_PDU); + offset = dissect_f1ap_DeactivateTrace(tvb, offset, &asn1_ctx, tree, hf_f1ap_DeactivateTrace_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Cells_Broadcast_Completed_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_CellTrafficTrace_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, TRUE, pinfo); - offset = dissect_f1ap_Cells_Broadcast_Completed_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Broadcast_Completed_List_PDU); + offset = dissect_f1ap_CellTrafficTrace(tvb, offset, &asn1_ctx, tree, hf_f1ap_CellTrafficTrace_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_PWSCancelRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_DUCURadioInformationTransfer_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, TRUE, pinfo); - offset = dissect_f1ap_PWSCancelRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWSCancelRequest_PDU); + offset = dissect_f1ap_DUCURadioInformationTransfer(tvb, offset, &asn1_ctx, tree, hf_f1ap_DUCURadioInformationTransfer_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Broadcast_To_Be_Cancelled_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_CUDURadioInformationTransfer_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, TRUE, pinfo); - offset = dissect_f1ap_Broadcast_To_Be_Cancelled_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Broadcast_To_Be_Cancelled_List_PDU); + offset = dissect_f1ap_CUDURadioInformationTransfer(tvb, offset, &asn1_ctx, tree, hf_f1ap_CUDURadioInformationTransfer_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_PWSCancelResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_BAPMappingConfiguration_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, TRUE, pinfo); - offset = dissect_f1ap_PWSCancelResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWSCancelResponse_PDU); + offset = dissect_f1ap_BAPMappingConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_BAPMappingConfiguration_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Cells_Broadcast_Cancelled_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_BH_Routing_Information_Added_List_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, TRUE, pinfo); - offset = dissect_f1ap_Cells_Broadcast_Cancelled_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Broadcast_Cancelled_List_PDU); + offset = dissect_f1ap_BH_Routing_Information_Added_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BH_Routing_Information_Added_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_UEInactivityNotification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_BH_Routing_Information_Removed_List_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, TRUE, pinfo); - offset = dissect_f1ap_UEInactivityNotification(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEInactivityNotification_PDU); + offset = dissect_f1ap_BH_Routing_Information_Removed_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BH_Routing_Information_Removed_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRB_Activity_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_BAPMappingConfigurationAcknowledge_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, TRUE, pinfo); - offset = dissect_f1ap_DRB_Activity_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRB_Activity_List_PDU); + offset = dissect_f1ap_BAPMappingConfigurationAcknowledge(tvb, offset, &asn1_ctx, tree, hf_f1ap_BAPMappingConfigurationAcknowledge_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_InitialULRRCMessageTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_GNBDUResourceConfiguration_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, TRUE, pinfo); - offset = dissect_f1ap_InitialULRRCMessageTransfer(tvb, offset, &asn1_ctx, tree, hf_f1ap_InitialULRRCMessageTransfer_PDU); + offset = dissect_f1ap_GNBDUResourceConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUResourceConfiguration_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DLRRCMessageTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_GNBDUResourceConfigurationAcknowledge_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, TRUE, pinfo); - offset = dissect_f1ap_DLRRCMessageTransfer(tvb, offset, &asn1_ctx, tree, hf_f1ap_DLRRCMessageTransfer_PDU); + offset = dissect_f1ap_GNBDUResourceConfigurationAcknowledge(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUResourceConfigurationAcknowledge_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_RedirectedRRCmessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_IABTNLAddressRequest_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, TRUE, pinfo); - offset = dissect_f1ap_RedirectedRRCmessage(tvb, offset, &asn1_ctx, tree, hf_f1ap_RedirectedRRCmessage_PDU); + offset = dissect_f1ap_IABTNLAddressRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_IABTNLAddressRequest_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_ULRRCMessageTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_IAB_TNL_Addresses_To_Remove_List_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, TRUE, pinfo); - offset = dissect_f1ap_ULRRCMessageTransfer(tvb, offset, &asn1_ctx, tree, hf_f1ap_ULRRCMessageTransfer_PDU); + offset = dissect_f1ap_IAB_TNL_Addresses_To_Remove_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_IAB_TNL_Addresses_To_Remove_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_PrivateMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_IABTNLAddressResponse_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, TRUE, pinfo); - offset = dissect_f1ap_PrivateMessage(tvb, offset, &asn1_ctx, tree, hf_f1ap_PrivateMessage_PDU); + offset = dissect_f1ap_IABTNLAddressResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_IABTNLAddressResponse_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_SystemInformationDeliveryCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_IAB_Allocated_TNL_Address_List_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, TRUE, pinfo); - offset = dissect_f1ap_SystemInformationDeliveryCommand(tvb, offset, &asn1_ctx, tree, hf_f1ap_SystemInformationDeliveryCommand_PDU); + offset = dissect_f1ap_IAB_Allocated_TNL_Address_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_IAB_Allocated_TNL_Address_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Paging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_IABUPConfigurationUpdateRequest_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, TRUE, pinfo); - offset = dissect_f1ap_Paging(tvb, offset, &asn1_ctx, tree, hf_f1ap_Paging_PDU); + offset = dissect_f1ap_IABUPConfigurationUpdateRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_IABUPConfigurationUpdateRequest_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_PagingCell_list_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UL_UP_TNL_Information_to_Update_List_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, TRUE, pinfo); - offset = dissect_f1ap_PagingCell_list(tvb, offset, &asn1_ctx, tree, hf_f1ap_PagingCell_list_PDU); + offset = dissect_f1ap_UL_UP_TNL_Information_to_Update_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_UL_UP_TNL_Information_to_Update_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_Notify_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_UL_UP_TNL_Address_to_Update_List_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, TRUE, pinfo); - offset = dissect_f1ap_Notify(tvb, offset, &asn1_ctx, tree, hf_f1ap_Notify_PDU); + offset = dissect_f1ap_UL_UP_TNL_Address_to_Update_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_UL_UP_TNL_Address_to_Update_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_DRB_Notify_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_IABUPConfigurationUpdateResponse_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, TRUE, pinfo); - offset = dissect_f1ap_DRB_Notify_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRB_Notify_List_PDU); + offset = dissect_f1ap_IABUPConfigurationUpdateResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_IABUPConfigurationUpdateResponse_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_NetworkAccessRateReduction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_DL_UP_TNL_Address_to_Update_List_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, TRUE, pinfo); - offset = dissect_f1ap_NetworkAccessRateReduction(tvb, offset, &asn1_ctx, tree, hf_f1ap_NetworkAccessRateReduction_PDU); + offset = dissect_f1ap_DL_UP_TNL_Address_to_Update_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DL_UP_TNL_Address_to_Update_List_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_PWSRestartIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_IABUPConfigurationUpdateFailure_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, TRUE, pinfo); - offset = dissect_f1ap_PWSRestartIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWSRestartIndication_PDU); + offset = dissect_f1ap_IABUPConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_IABUPConfigurationUpdateFailure_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_NR_CGI_List_For_Restart_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_ResourceStatusRequest_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, TRUE, pinfo); - offset = dissect_f1ap_NR_CGI_List_For_Restart_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_NR_CGI_List_For_Restart_List_PDU); + offset = dissect_f1ap_ResourceStatusRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResourceStatusRequest_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_PWSFailureIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_ResourceStatusResponse_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, TRUE, pinfo); - offset = dissect_f1ap_PWSFailureIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWSFailureIndication_PDU); + offset = dissect_f1ap_ResourceStatusResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResourceStatusResponse_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_PWS_Failed_NR_CGI_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_ResourceStatusFailure_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, TRUE, pinfo); - offset = dissect_f1ap_PWS_Failed_NR_CGI_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWS_Failed_NR_CGI_List_PDU); + offset = dissect_f1ap_ResourceStatusFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResourceStatusFailure_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_GNBDUStatusIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_ResourceStatusUpdate_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, TRUE, pinfo); - offset = dissect_f1ap_GNBDUStatusIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUStatusIndication_PDU); + offset = dissect_f1ap_ResourceStatusUpdate(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResourceStatusUpdate_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_RRCDeliveryReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_AccessAndMobilityIndication_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, TRUE, pinfo); - offset = dissect_f1ap_RRCDeliveryReport(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRCDeliveryReport_PDU); + offset = dissect_f1ap_AccessAndMobilityIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_AccessAndMobilityIndication_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_F1RemovalRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_ReferenceTimeInformationReportingControl_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, TRUE, pinfo); - offset = dissect_f1ap_F1RemovalRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1RemovalRequest_PDU); + offset = dissect_f1ap_ReferenceTimeInformationReportingControl(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReferenceTimeInformationReportingControl_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_F1RemovalResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_ReferenceTimeInformationReport_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, TRUE, pinfo); - offset = dissect_f1ap_F1RemovalResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1RemovalResponse_PDU); + offset = dissect_f1ap_ReferenceTimeInformationReport(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReferenceTimeInformationReport_PDU); offset += 7; offset >>= 3; return offset; } -static int dissect_F1RemovalFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_AccessSuccess_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, TRUE, pinfo); - offset = dissect_f1ap_F1RemovalFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1RemovalFailure_PDU); + offset = dissect_f1ap_AccessSuccess(tvb, offset, &asn1_ctx, tree, hf_f1ap_AccessSuccess_PDU); offset += 7; offset >>= 3; return offset; } @@ -10991,7 +19049,7 @@ static int dissect_F1AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto /*--- End of included file: packet-f1ap-fn.c ---*/ -#line 168 "./asn1/f1ap/packet-f1ap-template.c" +#line 227 "./asn1/f1ap/packet-f1ap-template.c" static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { @@ -11072,13 +19130,125 @@ void proto_register_f1ap(void) { { "IPv6 transportLayerAddress", "f1ap.transportLayerAddressIPv6", FT_IPv6, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_IABTNLAddressIPv4, + { "IPv4 IABTNLAddress", "f1ap.IABTNLAddressIPv4", + FT_IPv4, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_IABTNLAddressIPv6, + { "IPv6 IABTNLAddress", "f1ap.IABTNLAddressIPv6", + FT_IPv6, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_IABTNLAddressIPv6Prefix, + { "IPv6 Prefix IABTNLAddress", "f1ap.IABTNLAddressIPv6Prefix", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_interfacesToTrace_NG_C, + { "NG-C", "f1ap.interfacesToTrace.NG_C", + FT_BOOLEAN, 8, TFS(&f1ap_tfs_interfacesToTrace), 0x80, + NULL, HFILL }}, + { &hf_f1ap_interfacesToTrace_Xn_C, + { "Xn-C", "f1ap.interfacesToTrace.Xn_C", + FT_BOOLEAN, 8, TFS(&f1ap_tfs_interfacesToTrace), 0x40, + NULL, HFILL }}, + { &hf_f1ap_interfacesToTrace_Uu, + { "Uu", "f1ap.interfacesToTrace.Uu", + FT_BOOLEAN, 8, TFS(&f1ap_tfs_interfacesToTrace), 0x20, + NULL, HFILL }}, + { &hf_f1ap_interfacesToTrace_F1_C, + { "F1-C", "f1ap.interfacesToTrace.F1_C", + FT_BOOLEAN, 8, TFS(&f1ap_tfs_interfacesToTrace), 0x10, + NULL, HFILL }}, + { &hf_f1ap_interfacesToTrace_E1, + { "E1", "f1ap.interfacesToTrace.E1", + FT_BOOLEAN, 8, TFS(&f1ap_tfs_interfacesToTrace), 0x08, + NULL, HFILL }}, + { &hf_f1ap_interfacesToTrace_Reserved, + { "Reserved", "f1ap.interfacesToTrace.Reserved", + FT_UINT8, BASE_HEX, NULL, 0x07, + NULL, HFILL }}, + { &hf_f1ap_MeasurementsToActivate_Reserved1, + { "Reserved", "f1ap.MeasurementsToActivate.Reserved", + FT_UINT8, BASE_HEX, NULL, 0x80, + NULL, HFILL }}, + { &hf_f1ap_MeasurementsToActivate_M2, + { "M2", "f1ap.MeasurementsToActivate.M2", + FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x40, + NULL, HFILL }}, + { &hf_f1ap_MeasurementsToActivate_Reserved2, + { "Reserved", "f1ap.MeasurementsToActivate.Reserved", + FT_UINT8, BASE_HEX, NULL, 0x30, + NULL, HFILL }}, + { &hf_f1ap_MeasurementsToActivate_M5, + { "M5", "f1ap.MeasurementsToActivate.M5", + FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x08, + NULL, HFILL }}, + { &hf_f1ap_MeasurementsToActivate_Reserved3, + { "Reserved", "f1ap.MeasurementsToActivate.Reserved", + FT_UINT8, BASE_HEX, NULL, 0x04, + NULL, HFILL }}, + { &hf_f1ap_MeasurementsToActivate_M6, + { "M6", "f1ap.MeasurementsToActivate.M6", + FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x02, + NULL, HFILL }}, + { &hf_f1ap_MeasurementsToActivate_M7, + { "M7", "f1ap.MeasurementsToActivate.M7", + FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x01, + NULL, HFILL }}, + { &hf_f1ap_ReportCharacteristics_PRBPeriodic, + { "PRBPeriodic", "f1ap.ReportCharacteristics.PRBPeriodic", + FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x80000000, + NULL, HFILL }}, + { &hf_f1ap_ReportCharacteristics_TNLCapacityIndPeriodic, + { "TNLCapacityIndPeriodic", "f1ap.ReportCharacteristics.TNLCapacityIndPeriodic", + FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x40000000, + NULL, HFILL }}, + { &hf_f1ap_ReportCharacteristics_CompositeAvailableCapacityPeriodic, + { "CompositeAvailableCapacityPeriodic", "f1ap.ReportCharacteristics.CompositeAvailableCapacityPeriodic", + FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x20000000, + NULL, HFILL }}, + { &hf_f1ap_ReportCharacteristics_HWLoadIndPeriodic, + { "HWLoadIndPeriodic", "f1ap.ReportCharacteristics.HWLoadIndPeriodic", + FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x10000000, + NULL, HFILL }}, + { &hf_f1ap_ReportCharacteristics_NumberOfActiveUEs, + { "NumberOfActiveUEs", "f1ap.ReportCharacteristics.NumberOfActiveUEs", + FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x08000000, + NULL, HFILL }}, + { &hf_f1ap_ReportCharacteristics_Reserved, + { "Reserved", "f1ap.ReportCharacteristics.Reserved", + FT_UINT32, BASE_HEX, NULL, 0x07ffffff, + NULL, HFILL }}, /*--- Included file: packet-f1ap-hfarr.c ---*/ #line 1 "./asn1/f1ap/packet-f1ap-hfarr.c" + { &hf_f1ap_Activated_Cells_to_be_Updated_List_PDU, + { "Activated-Cells-to-be-Updated-List", "f1ap.Activated_Cells_to_be_Updated_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_AdditionalDuplicationIndication_PDU, + { "AdditionalDuplicationIndication", "f1ap.AdditionalDuplicationIndication", + FT_UINT32, BASE_DEC, VALS(f1ap_AdditionalDuplicationIndication_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_AdditionalPDCPDuplicationTNL_List_PDU, + { "AdditionalPDCPDuplicationTNL-List", "f1ap.AdditionalPDCPDuplicationTNL_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_AdditionalSIBMessageList_PDU, { "AdditionalSIBMessageList", "f1ap.AdditionalSIBMessageList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_AdditionalRRMPriorityIndex_PDU, + { "AdditionalRRMPriorityIndex", "f1ap.AdditionalRRMPriorityIndex", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_AggressorgNBSetID_PDU, + { "AggressorgNBSetID", "f1ap.AggressorgNBSetID_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_AlternativeQoSParaSetList_PDU, + { "AlternativeQoSParaSetList", "f1ap.AlternativeQoSParaSetList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_Associated_SCell_Item_PDU, { "Associated-SCell-Item", "f1ap.Associated_SCell_Item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11087,10 +19257,18 @@ void proto_register_f1ap(void) { { "AvailablePLMNList", "f1ap.AvailablePLMNList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_AvailableSNPN_ID_List_PDU, + { "AvailableSNPN-ID-List", "f1ap.AvailableSNPN_ID_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_AreaScope_PDU, { "AreaScope", "f1ap.AreaScope", FT_UINT32, BASE_DEC, VALS(f1ap_AreaScope_vals), 0, NULL, HFILL }}, + { &hf_f1ap_BAPAddress_PDU, + { "BAPAddress", "f1ap.BAPAddress", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_BitRate_PDU, { "BitRate", "f1ap.BitRate", FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, @@ -11099,6 +19277,62 @@ void proto_register_f1ap(void) { { "BearerTypeChange", "f1ap.BearerTypeChange", FT_UINT32, BASE_DEC, VALS(f1ap_BearerTypeChange_vals), 0, NULL, HFILL }}, + { &hf_f1ap_BHChannels_FailedToBeModified_Item_PDU, + { "BHChannels-FailedToBeModified-Item", "f1ap.BHChannels_FailedToBeModified_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BHChannels_FailedToBeSetup_Item_PDU, + { "BHChannels-FailedToBeSetup-Item", "f1ap.BHChannels_FailedToBeSetup_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BHChannels_FailedToBeSetupMod_Item_PDU, + { "BHChannels-FailedToBeSetupMod-Item", "f1ap.BHChannels_FailedToBeSetupMod_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BHChannels_Modified_Item_PDU, + { "BHChannels-Modified-Item", "f1ap.BHChannels_Modified_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BHChannels_Required_ToBeReleased_Item_PDU, + { "BHChannels-Required-ToBeReleased-Item", "f1ap.BHChannels_Required_ToBeReleased_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BHChannels_Setup_Item_PDU, + { "BHChannels-Setup-Item", "f1ap.BHChannels_Setup_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BHChannels_SetupMod_Item_PDU, + { "BHChannels-SetupMod-Item", "f1ap.BHChannels_SetupMod_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BHChannels_ToBeModified_Item_PDU, + { "BHChannels-ToBeModified-Item", "f1ap.BHChannels_ToBeModified_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BHChannels_ToBeReleased_Item_PDU, + { "BHChannels-ToBeReleased-Item", "f1ap.BHChannels_ToBeReleased_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BHChannels_ToBeSetup_Item_PDU, + { "BHChannels-ToBeSetup-Item", "f1ap.BHChannels_ToBeSetup_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BHChannels_ToBeSetupMod_Item_PDU, + { "BHChannels-ToBeSetupMod-Item", "f1ap.BHChannels_ToBeSetupMod_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BHInfo_PDU, + { "BHInfo", "f1ap.BHInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BH_Routing_Information_Added_List_Item_PDU, + { "BH-Routing-Information-Added-List-Item", "f1ap.BH_Routing_Information_Added_List_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BH_Routing_Information_Removed_List_Item_PDU, + { "BH-Routing-Information-Removed-List-Item", "f1ap.BH_Routing_Information_Removed_List_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_BPLMN_ID_Info_List_PDU, { "BPLMN-ID-Info-List", "f1ap.BPLMN_ID_Info_List", FT_UINT32, BASE_DEC, NULL, 0, @@ -11123,6 +19357,10 @@ void proto_register_f1ap(void) { { "Cell-Direction", "f1ap.Cell_Direction", FT_UINT32, BASE_DEC, VALS(f1ap_Cell_Direction_vals), 0, NULL, HFILL }}, + { &hf_f1ap_CellMeasurementResultList_PDU, + { "CellMeasurementResultList", "f1ap.CellMeasurementResultList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_Cells_Failed_to_be_Activated_List_Item_PDU, { "Cells-Failed-to-be-Activated-List-Item", "f1ap.Cells_Failed_to_be_Activated_List_Item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11159,6 +19397,10 @@ void proto_register_f1ap(void) { { "Cells-to-be-Barred-Item", "f1ap.Cells_to_be_Barred_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_CellToReportList_PDU, + { "CellToReportList", "f1ap.CellToReportList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_CellType_PDU, { "CellType", "f1ap.CellType_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11167,6 +19409,18 @@ void proto_register_f1ap(void) { { "CellULConfigured", "f1ap.CellULConfigured", FT_UINT32, BASE_DEC, VALS(f1ap_CellULConfigured_vals), 0, NULL, HFILL }}, + { &hf_f1ap_Child_Nodes_List_PDU, + { "Child-Nodes-List", "f1ap.Child_Nodes_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_ConditionalInterDUMobilityInformation_PDU, + { "ConditionalInterDUMobilityInformation", "f1ap.ConditionalInterDUMobilityInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_ConditionalIntraDUMobilityInformation_PDU, + { "ConditionalIntraDUMobilityInformation", "f1ap.ConditionalIntraDUMobilityInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_CP_TransportLayerAddress_PDU, { "CP-TransportLayerAddress", "f1ap.CP_TransportLayerAddress", FT_UINT32, BASE_DEC, VALS(f1ap_CP_TransportLayerAddress_vals), 0, @@ -11179,6 +19433,10 @@ void proto_register_f1ap(void) { { "C-RNTI", "f1ap.C_RNTI", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_CUDURadioInformationType_PDU, + { "CUDURadioInformationType", "f1ap.CUDURadioInformationType", + FT_UINT32, BASE_DEC, VALS(f1ap_CUDURadioInformationType_vals), 0, + NULL, HFILL }}, { &hf_f1ap_CUtoDURRCInformation_PDU, { "CUtoDURRCInformation", "f1ap.CUtoDURRCInformation_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11191,6 +19449,10 @@ void proto_register_f1ap(void) { { "Dedicated-SIDelivery-NeededUE-Item", "f1ap.Dedicated_SIDelivery_NeededUE_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_DL_UP_TNL_Address_to_Update_List_Item_PDU, + { "DL-UP-TNL-Address-to-Update-List-Item", "f1ap.DL_UP_TNL_Address_to_Update_List_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_DRB_Activity_Item_PDU, { "DRB-Activity-Item", "f1ap.DRB_Activity_Item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11275,6 +19537,10 @@ void proto_register_f1ap(void) { { "DUtoCURRCContainer", "f1ap.DUtoCURRCContainer", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_DUCURadioInformationType_PDU, + { "DUCURadioInformationType", "f1ap.DUCURadioInformationType", + FT_UINT32, BASE_DEC, VALS(f1ap_DUCURadioInformationType_vals), 0, + NULL, HFILL }}, { &hf_f1ap_DUtoCURRCInformation_PDU, { "DUtoCURRCInformation", "f1ap.DUtoCURRCInformation_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11291,6 +19557,10 @@ void proto_register_f1ap(void) { { "ExtendedServedPLMNs-List", "f1ap.ExtendedServedPLMNs_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_ExtendedSliceSupportList_PDU, + { "ExtendedSliceSupportList", "f1ap.ExtendedSliceSupportList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_ExecuteDuplication_PDU, { "ExecuteDuplication", "f1ap.ExecuteDuplication", FT_UINT32, BASE_DEC, VALS(f1ap_ExecuteDuplication_vals), 0, @@ -11303,6 +19573,14 @@ void proto_register_f1ap(void) { { "EUTRA-NR-CellResourceCoordinationReqAck-Container", "f1ap.EUTRA_NR_CellResourceCoordinationReqAck_Container", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_ExtendedPacketDelayBudget_PDU, + { "ExtendedPacketDelayBudget", "f1ap.ExtendedPacketDelayBudget", + FT_UINT32, BASE_CUSTOM, CF_FUNC(f1ap_ExtendedPacketDelayBudget_fmt), 0, + NULL, HFILL }}, + { &hf_f1ap_FrequencyShift7p5khz_PDU, + { "FrequencyShift7p5khz", "f1ap.FrequencyShift7p5khz", + FT_UINT32, BASE_DEC, VALS(f1ap_FrequencyShift7p5khz_vals), 0, + NULL, HFILL }}, { &hf_f1ap_FullConfiguration_PDU, { "FullConfiguration", "f1ap.FullConfiguration", FT_UINT32, BASE_DEC, VALS(f1ap_FullConfiguration_vals), 0, @@ -11311,6 +19589,14 @@ void proto_register_f1ap(void) { { "CG-Config", "f1ap.CG_Config", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_GNBCUMeasurementID_PDU, + { "GNBCUMeasurementID", "f1ap.GNBCUMeasurementID", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_GNBDUMeasurementID_PDU, + { "GNBDUMeasurementID", "f1ap.GNBDUMeasurementID", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_GNB_CUSystemInformation_PDU, { "GNB-CUSystemInformation", "f1ap.GNB_CUSystemInformation_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11375,6 +19661,38 @@ void proto_register_f1ap(void) { { "HandoverPreparationInformation", "f1ap.HandoverPreparationInformation", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_HardwareLoadIndicator_PDU, + { "HardwareLoadIndicator", "f1ap.HardwareLoadIndicator_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_IAB_Barred_PDU, + { "IAB-Barred", "f1ap.IAB_Barred", + FT_UINT32, BASE_DEC, VALS(f1ap_IAB_Barred_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_IAB_Info_IAB_donor_CU_PDU, + { "IAB-Info-IAB-donor-CU", "f1ap.IAB_Info_IAB_donor_CU_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_IAB_Info_IAB_DU_PDU, + { "IAB-Info-IAB-DU", "f1ap.IAB_Info_IAB_DU_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_IAB_Allocated_TNL_Address_Item_PDU, + { "IAB-Allocated-TNL-Address-Item", "f1ap.IAB_Allocated_TNL_Address_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_IABIPv6RequestType_PDU, + { "IABIPv6RequestType", "f1ap.IABIPv6RequestType", + FT_UINT32, BASE_DEC, VALS(f1ap_IABIPv6RequestType_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_IAB_TNL_Addresses_To_Remove_Item_PDU, + { "IAB-TNL-Addresses-To-Remove-Item", "f1ap.IAB_TNL_Addresses_To_Remove_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_IABv4AddressesRequested_PDU, + { "IABv4AddressesRequested", "f1ap.IABv4AddressesRequested_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_IgnorePRACHConfiguration_PDU, { "IgnorePRACHConfiguration", "f1ap.IgnorePRACHConfiguration", FT_UINT32, BASE_DEC, VALS(f1ap_IgnorePRACHConfiguration_vals), 0, @@ -11391,6 +19709,22 @@ void proto_register_f1ap(void) { { "InactivityMonitoringResponse", "f1ap.InactivityMonitoringResponse", FT_UINT32, BASE_DEC, VALS(f1ap_InactivityMonitoringResponse_vals), 0, NULL, HFILL }}, + { &hf_f1ap_IntendedTDD_DL_ULConfig_PDU, + { "IntendedTDD-DL-ULConfig", "f1ap.IntendedTDD_DL_ULConfig_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_LowerLayerPresenceStatusChange_PDU, + { "LowerLayerPresenceStatusChange", "f1ap.LowerLayerPresenceStatusChange", + FT_UINT32, BASE_DEC, VALS(f1ap_LowerLayerPresenceStatusChange_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_LTEUESidelinkAggregateMaximumBitrate_PDU, + { "LTEUESidelinkAggregateMaximumBitrate", "f1ap.LTEUESidelinkAggregateMaximumBitrate_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_LTEV2XServicesAuthorized_PDU, + { "LTEV2XServicesAuthorized", "f1ap.LTEV2XServicesAuthorized_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_MaskedIMEISV_PDU, { "MaskedIMEISV", "f1ap.MaskedIMEISV", FT_BYTES, BASE_NONE, NULL, 0, @@ -11403,10 +19737,26 @@ void proto_register_f1ap(void) { { "MeasurementTimingConfiguration", "f1ap.MeasurementTimingConfiguration", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_MDTConfiguration_PDU, + { "MDTConfiguration", "f1ap.MDTConfiguration_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_MDTPLMNList_PDU, + { "MDTPLMNList", "f1ap.MDTPLMNList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_NeedforGap_PDU, { "NeedforGap", "f1ap.NeedforGap", FT_UINT32, BASE_DEC, VALS(f1ap_NeedforGap_vals), 0, NULL, HFILL }}, + { &hf_f1ap_Neighbour_Cell_Information_Item_PDU, + { "Neighbour-Cell-Information-Item", "f1ap.Neighbour_Cell_Information_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_NID_PDU, + { "NID", "f1ap.NID", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_NR_CGI_List_For_Restart_Item_PDU, { "NR-CGI-List-For-Restart-Item", "f1ap.NR_CGI_List_For_Restart_Item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11415,14 +19765,38 @@ void proto_register_f1ap(void) { { "NotificationInformation", "f1ap.NotificationInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_NPNBroadcastInformation_PDU, + { "NPNBroadcastInformation", "f1ap.NPNBroadcastInformation", + FT_UINT32, BASE_DEC, VALS(f1ap_NPNBroadcastInformation_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_NPNSupportInfo_PDU, + { "NPNSupportInfo", "f1ap.NPNSupportInfo", + FT_UINT32, BASE_DEC, VALS(f1ap_NPNSupportInfo_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_NRCarrierList_PDU, + { "NRCarrierList", "f1ap.NRCarrierList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_NRCGI_PDU, { "NRCGI", "f1ap.NRCGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_f1ap_NRPRACHConfig_PDU, + { "NRPRACHConfig", "f1ap.NRPRACHConfig_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_NumberofBroadcastRequest_PDU, { "NumberofBroadcastRequest", "f1ap.NumberofBroadcastRequest", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_NRV2XServicesAuthorized_PDU, + { "NRV2XServicesAuthorized", "f1ap.NRV2XServicesAuthorized_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_NRUESidelinkAggregateMaximumBitrate_PDU, + { "NRUESidelinkAggregateMaximumBitrate", "f1ap.NRUESidelinkAggregateMaximumBitrate_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_PagingCell_Item_PDU, { "PagingCell-Item", "f1ap.PagingCell_Item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11487,10 +19861,26 @@ void proto_register_f1ap(void) { { "PWSSystemInformation", "f1ap.PWSSystemInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_PrivacyIndicator_PDU, + { "PrivacyIndicator", "f1ap.PrivacyIndicator", + FT_UINT32, BASE_DEC, VALS(f1ap_PrivacyIndicator_vals), 0, + NULL, HFILL }}, { &hf_f1ap_QoSFlowMappingIndication_PDU, { "QoSFlowMappingIndication", "f1ap.QoSFlowMappingIndication", FT_UINT32, BASE_DEC, VALS(f1ap_QoSFlowMappingIndication_vals), 0, NULL, HFILL }}, + { &hf_f1ap_QosMonitoringRequest_PDU, + { "QosMonitoringRequest", "f1ap.QosMonitoringRequest", + FT_UINT32, BASE_DEC, VALS(f1ap_QosMonitoringRequest_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_QoSParaSetNotifyIndex_PDU, + { "QoSParaSetNotifyIndex", "f1ap.QoSParaSetNotifyIndex", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_RACHReportInformationList_PDU, + { "RACHReportInformationList", "f1ap.RACHReportInformationList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_RANAC_PDU, { "RANAC", "f1ap.RANAC", FT_UINT32, BASE_DEC, NULL, 0, @@ -11503,6 +19893,18 @@ void proto_register_f1ap(void) { { "RAT-FrequencyPriorityInformation", "f1ap.RAT_FrequencyPriorityInformation", FT_UINT32, BASE_DEC, VALS(f1ap_RAT_FrequencyPriorityInformation_vals), 0, NULL, HFILL }}, + { &hf_f1ap_RegistrationRequest_PDU, + { "RegistrationRequest", "f1ap.RegistrationRequest", + FT_UINT32, BASE_DEC, VALS(f1ap_RegistrationRequest_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_ReportCharacteristics_PDU, + { "ReportCharacteristics", "f1ap.ReportCharacteristics", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_ReportingPeriodicity_PDU, + { "ReportingPeriodicity", "f1ap.ReportingPeriodicity", + FT_UINT32, BASE_DEC, VALS(f1ap_ReportingPeriodicity_vals), 0, + NULL, HFILL }}, { &hf_f1ap_RequestedBandCombinationIndex_PDU, { "RequestedBandCombinationIndex", "f1ap.RequestedBandCombinationIndex", FT_BYTES, BASE_NONE, NULL, 0, @@ -11511,14 +19913,14 @@ void proto_register_f1ap(void) { { "RequestedFeatureSetEntryIndex", "f1ap.RequestedFeatureSetEntryIndex", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_f1ap_Requested_PDCCH_BlindDetectionSCG_PDU, - { "Requested-PDCCH-BlindDetectionSCG", "f1ap.Requested_PDCCH_BlindDetectionSCG", - FT_UINT8, BASE_DEC, NULL, 0, - NULL, HFILL }}, { &hf_f1ap_RequestedP_MaxFR2_PDU, { "RequestedP-MaxFR2", "f1ap.RequestedP_MaxFR2", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_Requested_PDCCH_BlindDetectionSCG_PDU, + { "Requested-PDCCH-BlindDetectionSCG", "f1ap.Requested_PDCCH_BlindDetectionSCG", + FT_UINT8, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_RequestType_PDU, { "RequestType", "f1ap.RequestType", FT_UINT32, BASE_DEC, VALS(f1ap_RequestType_vals), 0, @@ -11533,7 +19935,15 @@ void proto_register_f1ap(void) { NULL, HFILL }}, { &hf_f1ap_RepetitionPeriod_PDU, { "RepetitionPeriod", "f1ap.RepetitionPeriod", - FT_UINT32, BASE_DEC, NULL, 0, + FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, + NULL, HFILL }}, + { &hf_f1ap_ReportingRequestType_PDU, + { "ReportingRequestType", "f1ap.ReportingRequestType_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_RLCDuplicationInformation_PDU, + { "RLCDuplicationInformation", "f1ap.RLCDuplicationInformation_element", + FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_f1ap_RLCFailureIndication_PDU, { "RLCFailureIndication", "f1ap.RLCFailureIndication_element", @@ -11547,6 +19957,10 @@ void proto_register_f1ap(void) { { "RLC-Status", "f1ap.RLC_Status_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_RLFReportInformationList_PDU, + { "RLFReportInformationList", "f1ap.RLFReportInformationList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_RRCContainer_PDU, { "RRCContainer", "f1ap.RRCContainer", FT_BYTES, BASE_NONE, NULL, 0, @@ -11607,25 +20021,101 @@ void proto_register_f1ap(void) { { "ServCellIndex", "f1ap.ServCellIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_f1ap_ServingCellMO_PDU, - { "ServingCellMO", "f1ap.ServingCellMO", - FT_UINT32, BASE_DEC, NULL, 0, + { &hf_f1ap_ServingCellMO_PDU, + { "ServingCellMO", "f1ap.ServingCellMO", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_Served_Cells_To_Add_Item_PDU, + { "Served-Cells-To-Add-Item", "f1ap.Served_Cells_To_Add_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_Served_Cells_To_Delete_Item_PDU, + { "Served-Cells-To-Delete-Item", "f1ap.Served_Cells_To_Delete_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_Served_Cells_To_Modify_Item_PDU, + { "Served-Cells-To-Modify-Item", "f1ap.Served_Cells_To_Modify_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SIB10_message_PDU, + { "SIB10-message", "f1ap.SIB10_message", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SIB12_message_PDU, + { "SIB12-message", "f1ap.SIB12_message", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SIB13_message_PDU, + { "SIB13-message", "f1ap.SIB13_message", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SIB14_message_PDU, + { "SIB14-message", "f1ap.SIB14_message", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SItype_List_PDU, + { "SItype-List", "f1ap.SItype_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_FailedToBeModified_Item_PDU, + { "SLDRBs-FailedToBeModified-Item", "f1ap.SLDRBs_FailedToBeModified_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_FailedToBeSetup_Item_PDU, + { "SLDRBs-FailedToBeSetup-Item", "f1ap.SLDRBs_FailedToBeSetup_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_FailedToBeSetupMod_Item_PDU, + { "SLDRBs-FailedToBeSetupMod-Item", "f1ap.SLDRBs_FailedToBeSetupMod_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_Modified_Item_PDU, + { "SLDRBs-Modified-Item", "f1ap.SLDRBs_Modified_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_ModifiedConf_Item_PDU, + { "SLDRBs-ModifiedConf-Item", "f1ap.SLDRBs_ModifiedConf_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_Required_ToBeModified_Item_PDU, + { "SLDRBs-Required-ToBeModified-Item", "f1ap.SLDRBs_Required_ToBeModified_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_Required_ToBeReleased_Item_PDU, + { "SLDRBs-Required-ToBeReleased-Item", "f1ap.SLDRBs_Required_ToBeReleased_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_Setup_Item_PDU, + { "SLDRBs-Setup-Item", "f1ap.SLDRBs_Setup_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_SetupMod_Item_PDU, + { "SLDRBs-SetupMod-Item", "f1ap.SLDRBs_SetupMod_Item_element", + FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_f1ap_Served_Cells_To_Add_Item_PDU, - { "Served-Cells-To-Add-Item", "f1ap.Served_Cells_To_Add_Item_element", + { &hf_f1ap_SLDRBs_ToBeModified_Item_PDU, + { "SLDRBs-ToBeModified-Item", "f1ap.SLDRBs_ToBeModified_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_f1ap_Served_Cells_To_Delete_Item_PDU, - { "Served-Cells-To-Delete-Item", "f1ap.Served_Cells_To_Delete_Item_element", + { &hf_f1ap_SLDRBs_ToBeReleased_Item_PDU, + { "SLDRBs-ToBeReleased-Item", "f1ap.SLDRBs_ToBeReleased_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_f1ap_Served_Cells_To_Modify_Item_PDU, - { "Served-Cells-To-Modify-Item", "f1ap.Served_Cells_To_Modify_Item_element", + { &hf_f1ap_SLDRBs_ToBeSetup_Item_PDU, + { "SLDRBs-ToBeSetup-Item", "f1ap.SLDRBs_ToBeSetup_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_f1ap_SItype_List_PDU, - { "SItype-List", "f1ap.SItype_List", - FT_UINT32, BASE_DEC, NULL, 0, + { &hf_f1ap_SLDRBs_ToBeSetupMod_Item_PDU, + { "SLDRBs-ToBeSetupMod-Item", "f1ap.SLDRBs_ToBeSetupMod_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SL_PHY_MAC_RLC_Config_PDU, + { "SL-PHY-MAC-RLC-Config", "f1ap.SL_PHY_MAC_RLC_Config", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SL_ConfigDedicatedEUTRA_PDU, + { "SL-ConfigDedicatedEUTRA", "f1ap.SL_ConfigDedicatedEUTRA", + FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_f1ap_SliceSupportList_PDU, { "SliceSupportList", "f1ap.SliceSupportList", @@ -11671,6 +20161,10 @@ void proto_register_f1ap(void) { { "SRBs-ToBeSetupMod-Item", "f1ap.SRBs_ToBeSetupMod_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_SSB_PositionsInBurst_PDU, + { "SSB-PositionsInBurst", "f1ap.SSB_PositionsInBurst", + FT_UINT32, BASE_DEC, VALS(f1ap_SSB_PositionsInBurst_vals), 0, + NULL, HFILL }}, { &hf_f1ap_SULAccessIndication_PDU, { "SULAccessIndication", "f1ap.SULAccessIndication", FT_UINT32, BASE_DEC, VALS(f1ap_SULAccessIndication_vals), 0, @@ -11679,10 +20173,42 @@ void proto_register_f1ap(void) { { "SystemInformationAreaID", "f1ap.SystemInformationAreaID", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_TargetCellList_PDU, + { "TargetCellList", "f1ap.TargetCellList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_TDD_UL_DLConfigCommonNR_PDU, + { "TDD-UL-DLConfigCommonNR", "f1ap.TDD_UL_DLConfigCommonNR", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_TimeReferenceInformation_PDU, + { "TimeReferenceInformation", "f1ap.TimeReferenceInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_TimeToWait_PDU, { "TimeToWait", "f1ap.TimeToWait", FT_UINT32, BASE_DEC, VALS(f1ap_TimeToWait_vals), 0, NULL, HFILL }}, + { &hf_f1ap_TNLCapacityIndicator_PDU, + { "TNLCapacityIndicator", "f1ap.TNLCapacityIndicator_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_TraceActivation_PDU, + { "TraceActivation", "f1ap.TraceActivation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_TraceID_PDU, + { "TraceID", "f1ap.TraceID", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_TrafficMappingInfo_PDU, + { "TrafficMappingInfo", "f1ap.TrafficMappingInfo", + FT_UINT32, BASE_DEC, VALS(f1ap_TrafficMappingInfo_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_TransportLayerAddress_PDU, + { "TransportLayerAddress", "f1ap.TransportLayerAddress", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_TransactionID_PDU, { "TransactionID", "f1ap.TransactionID", FT_UINT32, BASE_DEC, NULL, 0, @@ -11691,6 +20217,14 @@ void proto_register_f1ap(void) { { "TransmissionActionIndicator", "f1ap.TransmissionActionIndicator", FT_UINT32, BASE_DEC, VALS(f1ap_TransmissionActionIndicator_vals), 0, NULL, HFILL }}, + { &hf_f1ap_Transport_Layer_Address_Info_PDU, + { "Transport-Layer-Address-Info", "f1ap.Transport_Layer_Address_Info_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_TSCTrafficCharacteristics_PDU, + { "TSCTrafficCharacteristics", "f1ap.TSCTrafficCharacteristics_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_UAC_Assistance_Info_PDU, { "UAC-Assistance-Info", "f1ap.UAC_Assistance_Info_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11703,6 +20237,10 @@ void proto_register_f1ap(void) { { "UEAssistanceInformation", "f1ap.UEAssistanceInformation", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_UEAssistanceInformationEUTRA_PDU, + { "UEAssistanceInformationEUTRA", "f1ap.UEAssistanceInformationEUTRA", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_UEContextNotRetrievable_PDU, { "UEContextNotRetrievable", "f1ap.UEContextNotRetrievable", FT_UINT32, BASE_DEC, VALS(f1ap_UEContextNotRetrievable_vals), 0, @@ -11711,10 +20249,30 @@ void proto_register_f1ap(void) { { "UEIdentityIndexValue", "f1ap.UEIdentityIndexValue", FT_UINT32, BASE_DEC, VALS(f1ap_UEIdentityIndexValue_vals), 0, NULL, HFILL }}, + { &hf_f1ap_UL_BH_Non_UP_Traffic_Mapping_PDU, + { "UL-BH-Non-UP-Traffic-Mapping", "f1ap.UL_BH_Non_UP_Traffic_Mapping_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_UL_UP_TNL_Information_to_Update_List_Item_PDU, + { "UL-UP-TNL-Information-to-Update-List-Item", "f1ap.UL_UP_TNL_Information_to_Update_List_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_UL_UP_TNL_Address_to_Update_List_Item_PDU, + { "UL-UP-TNL-Address-to-Update-List-Item", "f1ap.UL_UP_TNL_Address_to_Update_List_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_UplinkTxDirectCurrentListInformation_PDU, { "UplinkTxDirectCurrentListInformation", "f1ap.UplinkTxDirectCurrentListInformation", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_URI_address_PDU, + { "URI-address", "f1ap.URI_address", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_VictimgNBSetID_PDU, + { "VictimgNBSetID", "f1ap.VictimgNBSetID_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_Reset_PDU, { "Reset", "f1ap.Reset_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11819,6 +20377,10 @@ void proto_register_f1ap(void) { { "Protected-EUTRA-Resources-List", "f1ap.Protected_EUTRA_Resources_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_Neighbour_Cell_Information_List_PDU, + { "Neighbour-Cell-Information-List", "f1ap.Neighbour_Cell_Information_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_GNBCUConfigurationUpdateAcknowledge_PDU, { "GNBCUConfigurationUpdateAcknowledge", "f1ap.GNBCUConfigurationUpdateAcknowledge_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11867,6 +20429,14 @@ void proto_register_f1ap(void) { { "DRBs-ToBeSetup-List", "f1ap.DRBs_ToBeSetup_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_BHChannels_ToBeSetup_List_PDU, + { "BHChannels-ToBeSetup-List", "f1ap.BHChannels_ToBeSetup_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_ToBeSetup_List_PDU, + { "SLDRBs-ToBeSetup-List", "f1ap.SLDRBs_ToBeSetup_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_UEContextSetupResponse_PDU, { "UEContextSetupResponse", "f1ap.UEContextSetupResponse_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11891,6 +20461,22 @@ void proto_register_f1ap(void) { { "SRBs-Setup-List", "f1ap.SRBs_Setup_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_BHChannels_Setup_List_PDU, + { "BHChannels-Setup-List", "f1ap.BHChannels_Setup_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BHChannels_FailedToBeSetup_List_PDU, + { "BHChannels-FailedToBeSetup-List", "f1ap.BHChannels_FailedToBeSetup_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_Setup_List_PDU, + { "SLDRBs-Setup-List", "f1ap.SLDRBs_Setup_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_FailedToBeSetup_List_PDU, + { "SLDRBs-FailedToBeSetup-List", "f1ap.SLDRBs_FailedToBeSetup_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_UEContextSetupFailure_PDU, { "UEContextSetupFailure", "f1ap.UEContextSetupFailure_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11931,10 +20517,18 @@ void proto_register_f1ap(void) { { "DRBs-ToBeSetupMod-List", "f1ap.DRBs_ToBeSetupMod_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_BHChannels_ToBeSetupMod_List_PDU, + { "BHChannels-ToBeSetupMod-List", "f1ap.BHChannels_ToBeSetupMod_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_DRBs_ToBeModified_List_PDU, { "DRBs-ToBeModified-List", "f1ap.DRBs_ToBeModified_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_BHChannels_ToBeModified_List_PDU, + { "BHChannels-ToBeModified-List", "f1ap.BHChannels_ToBeModified_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_SRBs_ToBeReleased_List_PDU, { "SRBs-ToBeReleased-List", "f1ap.SRBs_ToBeReleased_List", FT_UINT32, BASE_DEC, NULL, 0, @@ -11943,6 +20537,22 @@ void proto_register_f1ap(void) { { "DRBs-ToBeReleased-List", "f1ap.DRBs_ToBeReleased_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_BHChannels_ToBeReleased_List_PDU, + { "BHChannels-ToBeReleased-List", "f1ap.BHChannels_ToBeReleased_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_ToBeSetupMod_List_PDU, + { "SLDRBs-ToBeSetupMod-List", "f1ap.SLDRBs_ToBeSetupMod_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_ToBeModified_List_PDU, + { "SLDRBs-ToBeModified-List", "f1ap.SLDRBs_ToBeModified_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_ToBeReleased_List_PDU, + { "SLDRBs-ToBeReleased-List", "f1ap.SLDRBs_ToBeReleased_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_UEContextModificationResponse_PDU, { "UEContextModificationResponse", "f1ap.UEContextModificationResponse_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11979,10 +20589,42 @@ void proto_register_f1ap(void) { { "SCell-FailedtoSetupMod-List", "f1ap.SCell_FailedtoSetupMod_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_BHChannels_SetupMod_List_PDU, + { "BHChannels-SetupMod-List", "f1ap.BHChannels_SetupMod_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BHChannels_Modified_List_PDU, + { "BHChannels-Modified-List", "f1ap.BHChannels_Modified_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BHChannels_FailedToBeModified_List_PDU, + { "BHChannels-FailedToBeModified-List", "f1ap.BHChannels_FailedToBeModified_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BHChannels_FailedToBeSetupMod_List_PDU, + { "BHChannels-FailedToBeSetupMod-List", "f1ap.BHChannels_FailedToBeSetupMod_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_Associated_SCell_List_PDU, { "Associated-SCell-List", "f1ap.Associated_SCell_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_SLDRBs_SetupMod_List_PDU, + { "SLDRBs-SetupMod-List", "f1ap.SLDRBs_SetupMod_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_Modified_List_PDU, + { "SLDRBs-Modified-List", "f1ap.SLDRBs_Modified_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_FailedToBeModified_List_PDU, + { "SLDRBs-FailedToBeModified-List", "f1ap.SLDRBs_FailedToBeModified_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_FailedToBeSetupMod_List_PDU, + { "SLDRBs-FailedToBeSetupMod-List", "f1ap.SLDRBs_FailedToBeSetupMod_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_UEContextModificationFailure_PDU, { "UEContextModificationFailure", "f1ap.UEContextModificationFailure_element", FT_NONE, BASE_NONE, NULL, 0, @@ -12003,6 +20645,18 @@ void proto_register_f1ap(void) { { "SRBs-Required-ToBeReleased-List", "f1ap.SRBs_Required_ToBeReleased_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_BHChannels_Required_ToBeReleased_List_PDU, + { "BHChannels-Required-ToBeReleased-List", "f1ap.BHChannels_Required_ToBeReleased_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_Required_ToBeModified_List_PDU, + { "SLDRBs-Required-ToBeModified-List", "f1ap.SLDRBs_Required_ToBeModified_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_Required_ToBeReleased_List_PDU, + { "SLDRBs-Required-ToBeReleased-List", "f1ap.SLDRBs_Required_ToBeReleased_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_UEContextModificationConfirm_PDU, { "UEContextModificationConfirm", "f1ap.UEContextModificationConfirm_element", FT_NONE, BASE_NONE, NULL, 0, @@ -12011,6 +20665,10 @@ void proto_register_f1ap(void) { { "DRBs-ModifiedConf-List", "f1ap.DRBs_ModifiedConf_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_SLDRBs_ModifiedConf_List_PDU, + { "SLDRBs-ModifiedConf-List", "f1ap.SLDRBs_ModifiedConf_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_UEContextModificationRefuse_PDU, { "UEContextModificationRefuse", "f1ap.UEContextModificationRefuse_element", FT_NONE, BASE_NONE, NULL, 0, @@ -12135,6 +20793,122 @@ void proto_register_f1ap(void) { { "F1RemovalFailure", "f1ap.F1RemovalFailure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_TraceStart_PDU, + { "TraceStart", "f1ap.TraceStart_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_DeactivateTrace_PDU, + { "DeactivateTrace", "f1ap.DeactivateTrace_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_CellTrafficTrace_PDU, + { "CellTrafficTrace", "f1ap.CellTrafficTrace_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_DUCURadioInformationTransfer_PDU, + { "DUCURadioInformationTransfer", "f1ap.DUCURadioInformationTransfer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_CUDURadioInformationTransfer_PDU, + { "CUDURadioInformationTransfer", "f1ap.CUDURadioInformationTransfer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BAPMappingConfiguration_PDU, + { "BAPMappingConfiguration", "f1ap.BAPMappingConfiguration_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BH_Routing_Information_Added_List_PDU, + { "BH-Routing-Information-Added-List", "f1ap.BH_Routing_Information_Added_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BH_Routing_Information_Removed_List_PDU, + { "BH-Routing-Information-Removed-List", "f1ap.BH_Routing_Information_Removed_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BAPMappingConfigurationAcknowledge_PDU, + { "BAPMappingConfigurationAcknowledge", "f1ap.BAPMappingConfigurationAcknowledge_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_GNBDUResourceConfiguration_PDU, + { "GNBDUResourceConfiguration", "f1ap.GNBDUResourceConfiguration_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_GNBDUResourceConfigurationAcknowledge_PDU, + { "GNBDUResourceConfigurationAcknowledge", "f1ap.GNBDUResourceConfigurationAcknowledge_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_IABTNLAddressRequest_PDU, + { "IABTNLAddressRequest", "f1ap.IABTNLAddressRequest_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_IAB_TNL_Addresses_To_Remove_List_PDU, + { "IAB-TNL-Addresses-To-Remove-List", "f1ap.IAB_TNL_Addresses_To_Remove_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_IABTNLAddressResponse_PDU, + { "IABTNLAddressResponse", "f1ap.IABTNLAddressResponse_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_IAB_Allocated_TNL_Address_List_PDU, + { "IAB-Allocated-TNL-Address-List", "f1ap.IAB_Allocated_TNL_Address_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_IABUPConfigurationUpdateRequest_PDU, + { "IABUPConfigurationUpdateRequest", "f1ap.IABUPConfigurationUpdateRequest_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_UL_UP_TNL_Information_to_Update_List_PDU, + { "UL-UP-TNL-Information-to-Update-List", "f1ap.UL_UP_TNL_Information_to_Update_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_UL_UP_TNL_Address_to_Update_List_PDU, + { "UL-UP-TNL-Address-to-Update-List", "f1ap.UL_UP_TNL_Address_to_Update_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_IABUPConfigurationUpdateResponse_PDU, + { "IABUPConfigurationUpdateResponse", "f1ap.IABUPConfigurationUpdateResponse_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_DL_UP_TNL_Address_to_Update_List_PDU, + { "DL-UP-TNL-Address-to-Update-List", "f1ap.DL_UP_TNL_Address_to_Update_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_IABUPConfigurationUpdateFailure_PDU, + { "IABUPConfigurationUpdateFailure", "f1ap.IABUPConfigurationUpdateFailure_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_ResourceStatusRequest_PDU, + { "ResourceStatusRequest", "f1ap.ResourceStatusRequest_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_ResourceStatusResponse_PDU, + { "ResourceStatusResponse", "f1ap.ResourceStatusResponse_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_ResourceStatusFailure_PDU, + { "ResourceStatusFailure", "f1ap.ResourceStatusFailure_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_ResourceStatusUpdate_PDU, + { "ResourceStatusUpdate", "f1ap.ResourceStatusUpdate_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_AccessAndMobilityIndication_PDU, + { "AccessAndMobilityIndication", "f1ap.AccessAndMobilityIndication_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_ReferenceTimeInformationReportingControl_PDU, + { "ReferenceTimeInformationReportingControl", "f1ap.ReferenceTimeInformationReportingControl_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_ReferenceTimeInformationReport_PDU, + { "ReferenceTimeInformationReport", "f1ap.ReferenceTimeInformationReport_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_AccessSuccess_PDU, + { "AccessSuccess", "f1ap.AccessSuccess_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_F1AP_PDU_PDU, { "F1AP-PDU", "f1ap.F1AP_PDU", FT_UINT32, BASE_DEC, VALS(f1ap_F1AP_PDU_vals), 0, @@ -12187,6 +20961,30 @@ void proto_register_f1ap(void) { { "value", "f1ap.value_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_Activated_Cells_to_be_Updated_List_item, + { "Activated-Cells-to-be-Updated-List-Item", "f1ap.Activated_Cells_to_be_Updated_List_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_nRCGI, + { "nRCGI", "f1ap.nRCGI_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_iAB_DU_Cell_Resource_Configuration_Mode_Info, + { "iAB-DU-Cell-Resource-Configuration-Mode-Info", "f1ap.iAB_DU_Cell_Resource_Configuration_Mode_Info", + FT_UINT32, BASE_DEC, VALS(f1ap_IAB_DU_Cell_Resource_Configuration_Mode_Info_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_iE_Extensions, + { "iE-Extensions", "f1ap.iE_Extensions", + FT_UINT32, BASE_DEC, NULL, 0, + "ProtocolExtensionContainer", HFILL }}, + { &hf_f1ap_AdditionalPDCPDuplicationTNL_List_item, + { "AdditionalPDCPDuplicationTNL-Item", "f1ap.AdditionalPDCPDuplicationTNL_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_additionalPDCPDuplicationUPTNLInformation, + { "additionalPDCPDuplicationUPTNLInformation", "f1ap.additionalPDCPDuplicationUPTNLInformation", + FT_UINT32, BASE_DEC, VALS(f1ap_UPTransportLayerInformation_vals), 0, + "UPTransportLayerInformation", HFILL }}, { &hf_f1ap_AdditionalSIBMessageList_item, { "AdditionalSIBMessageList-Item", "f1ap.AdditionalSIBMessageList_Item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -12195,10 +20993,18 @@ void proto_register_f1ap(void) { { "additionalSIB", "f1ap.additionalSIB", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_f1ap_iE_Extensions, - { "iE-Extensions", "f1ap.iE_Extensions", - FT_UINT32, BASE_DEC, NULL, 0, - "ProtocolExtensionContainer", HFILL }}, + { &hf_f1ap_AggressorCellList_item, + { "AggressorCellList-Item", "f1ap.AggressorCellList_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_aggressorCell_ID, + { "aggressorCell-ID", "f1ap.aggressorCell_ID_element", + FT_NONE, BASE_NONE, NULL, 0, + "NRCGI", HFILL }}, + { &hf_f1ap_aggressorgNBSetID, + { "aggressorgNBSetID", "f1ap.aggressorgNBSetID", + FT_BYTES, BASE_NONE, NULL, 0, + "GNBSetID", HFILL }}, { &hf_f1ap_priorityLevel, { "priorityLevel", "f1ap.priorityLevel", FT_UINT32, BASE_DEC, VALS(f1ap_PriorityLevel_vals), 0, @@ -12211,6 +21017,30 @@ void proto_register_f1ap(void) { { "pre-emptionVulnerability", "f1ap.pre_emptionVulnerability", FT_UINT32, BASE_DEC, VALS(f1ap_Pre_emptionVulnerability_vals), 0, NULL, HFILL }}, + { &hf_f1ap_AlternativeQoSParaSetList_item, + { "AlternativeQoSParaSetItem", "f1ap.AlternativeQoSParaSetItem_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_alternativeQoSParaSetIndex, + { "alternativeQoSParaSetIndex", "f1ap.alternativeQoSParaSetIndex", + FT_UINT32, BASE_DEC, NULL, 0, + "QoSParaSetIndex", HFILL }}, + { &hf_f1ap_guaranteedFlowBitRateDL, + { "guaranteedFlowBitRateDL", "f1ap.guaranteedFlowBitRateDL", + FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, + "BitRate", HFILL }}, + { &hf_f1ap_guaranteedFlowBitRateUL, + { "guaranteedFlowBitRateUL", "f1ap.guaranteedFlowBitRateUL", + FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, + "BitRate", HFILL }}, + { &hf_f1ap_packetDelayBudget, + { "packetDelayBudget", "f1ap.packetDelayBudget", + FT_UINT32, BASE_CUSTOM, CF_FUNC(f1ap_PacketDelayBudget_fmt), 0, + NULL, HFILL }}, + { &hf_f1ap_packetErrorRate, + { "packetErrorRate", "f1ap.packetErrorRate_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_sCell_ID, { "sCell-ID", "f1ap.sCell_ID_element", FT_NONE, BASE_NONE, NULL, 0, @@ -12223,6 +21053,110 @@ void proto_register_f1ap(void) { { "pLMNIdentity", "f1ap.pLMNIdentity", FT_BYTES, BASE_NONE, NULL, 0, "PLMN_Identity", HFILL }}, + { &hf_f1ap_AvailableSNPN_ID_List_item, + { "AvailableSNPN-ID-List-Item", "f1ap.AvailableSNPN_ID_List_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_pLMN_Identity, + { "pLMN-Identity", "f1ap.pLMN_Identity", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_availableNIDList, + { "availableNIDList", "f1ap.availableNIDList", + FT_UINT32, BASE_DEC, NULL, 0, + "BroadcastNIDList", HFILL }}, + { &hf_f1ap_bAPlayerBHRLCchannelMappingInfoToAdd, + { "bAPlayerBHRLCchannelMappingInfoToAdd", "f1ap.bAPlayerBHRLCchannelMappingInfoToAdd", + FT_UINT32, BASE_DEC, NULL, 0, + "BAPlayerBHRLCchannelMappingInfoList", HFILL }}, + { &hf_f1ap_bAPlayerBHRLCchannelMappingInfoToRemove, + { "bAPlayerBHRLCchannelMappingInfoToRemove", "f1ap.bAPlayerBHRLCchannelMappingInfoToRemove", + FT_UINT32, BASE_DEC, NULL, 0, + "MappingInformationtoRemove", HFILL }}, + { &hf_f1ap_BAPlayerBHRLCchannelMappingInfoList_item, + { "BAPlayerBHRLCchannelMappingInfo-Item", "f1ap.BAPlayerBHRLCchannelMappingInfo_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_mappingInformationIndex, + { "mappingInformationIndex", "f1ap.mappingInformationIndex", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_priorHopBAPAddress, + { "priorHopBAPAddress", "f1ap.priorHopBAPAddress", + FT_BYTES, BASE_NONE, NULL, 0, + "BAPAddress", HFILL }}, + { &hf_f1ap_ingressbHRLCChannelID, + { "ingressbHRLCChannelID", "f1ap.ingressbHRLCChannelID", + FT_BYTES, BASE_NONE, NULL, 0, + "BHRLCChannelID", HFILL }}, + { &hf_f1ap_nextHopBAPAddress, + { "nextHopBAPAddress", "f1ap.nextHopBAPAddress", + FT_BYTES, BASE_NONE, NULL, 0, + "BAPAddress", HFILL }}, + { &hf_f1ap_egressbHRLCChannelID, + { "egressbHRLCChannelID", "f1ap.egressbHRLCChannelID", + FT_BYTES, BASE_NONE, NULL, 0, + "BHRLCChannelID", HFILL }}, + { &hf_f1ap_bAPAddress, + { "bAPAddress", "f1ap.bAPAddress", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_bAPPathID, + { "bAPPathID", "f1ap.bAPPathID", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_bHRLCChannelID, + { "bHRLCChannelID", "f1ap.bHRLCChannelID", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_cause, + { "cause", "f1ap.cause", + FT_UINT32, BASE_DEC, VALS(f1ap_Cause_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_bHQoSInformation, + { "bHQoSInformation", "f1ap.bHQoSInformation", + FT_UINT32, BASE_DEC, VALS(f1ap_BHQoSInformation_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_rLCmode, + { "rLCmode", "f1ap.rLCmode", + FT_UINT32, BASE_DEC, VALS(f1ap_RLCMode_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_bAPCtrlPDUChannel, + { "bAPCtrlPDUChannel", "f1ap.bAPCtrlPDUChannel", + FT_UINT32, BASE_DEC, VALS(f1ap_BAPCtrlPDUChannel_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_trafficMappingInfo, + { "trafficMappingInfo", "f1ap.trafficMappingInfo", + FT_UINT32, BASE_DEC, VALS(f1ap_TrafficMappingInfo_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_bAProutingID, + { "bAProutingID", "f1ap.bAProutingID_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_egressBHRLCCHList, + { "egressBHRLCCHList", "f1ap.egressBHRLCCHList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_bHRLCCHQoS, + { "bHRLCCHQoS", "f1ap.bHRLCCHQoS_element", + FT_NONE, BASE_NONE, NULL, 0, + "QoSFlowLevelQoSParameters", HFILL }}, + { &hf_f1ap_eUTRANBHRLCCHQoS, + { "eUTRANBHRLCCHQoS", "f1ap.eUTRANBHRLCCHQoS_element", + FT_NONE, BASE_NONE, NULL, 0, + "EUTRANQoS", HFILL }}, + { &hf_f1ap_cPTrafficType, + { "cPTrafficType", "f1ap.cPTrafficType", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_choice_extension, + { "choice-extension", "f1ap.choice_extension_element", + FT_NONE, BASE_NONE, NULL, 0, + "ProtocolIE_SingleContainer", HFILL }}, + { &hf_f1ap_bAPRoutingID, + { "bAPRoutingID", "f1ap.bAPRoutingID_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_BPLMN_ID_Info_List_item, { "BPLMN-ID-Info-Item", "f1ap.BPLMN_ID_Info_Item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -12251,14 +21185,42 @@ void proto_register_f1ap(void) { { "ServedPLMNs-Item", "f1ap.ServedPLMNs_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_f1ap_pLMN_Identity, - { "pLMN-Identity", "f1ap.pLMN_Identity", + { &hf_f1ap_BroadcastCAGList_item, + { "CAGID", "f1ap.CAGID", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BroadcastNIDList_item, + { "NID", "f1ap.NID", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_BroadcastSNPN_ID_List_item, + { "BroadcastSNPN-ID-List-Item", "f1ap.BroadcastSNPN_ID_List_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_broadcastNIDList, + { "broadcastNIDList", "f1ap.broadcastNIDList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BroadcastPNI_NPN_ID_List_item, + { "BroadcastPNI-NPN-ID-List-Item", "f1ap.BroadcastPNI_NPN_ID_List_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_broadcastCAGList, + { "broadcastCAGList", "f1ap.broadcastCAGList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_candidate_SpCell_ID, { "candidate-SpCell-ID", "f1ap.candidate_SpCell_ID_element", FT_NONE, BASE_NONE, NULL, 0, "NRCGI", HFILL }}, + { &hf_f1ap_capacityValue, + { "capacityValue", "f1ap.capacityValue", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_f1ap_sSBAreaCapacityValueList, + { "sSBAreaCapacityValueList", "f1ap.sSBAreaCapacityValueList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_radioNetwork, { "radioNetwork", "f1ap.radioNetwork", FT_UINT32, BASE_DEC, VALS(f1ap_CauseRadioNetwork_vals), 0, @@ -12275,17 +21237,29 @@ void proto_register_f1ap(void) { { "misc", "f1ap.misc", FT_UINT32, BASE_DEC, VALS(f1ap_CauseMisc_vals), 0, "CauseMisc", HFILL }}, - { &hf_f1ap_choice_extension, - { "choice-extension", "f1ap.choice_extension_element", + { &hf_f1ap_CellMeasurementResultList_item, + { "CellMeasurementResultItem", "f1ap.CellMeasurementResultItem_element", FT_NONE, BASE_NONE, NULL, 0, - "ProtocolIE_SingleContainer", HFILL }}, - { &hf_f1ap_nRCGI, - { "nRCGI", "f1ap.nRCGI_element", + NULL, HFILL }}, + { &hf_f1ap_cellID, + { "cellID", "f1ap.cellID_element", + FT_NONE, BASE_NONE, NULL, 0, + "NRCGI", HFILL }}, + { &hf_f1ap_radioResourceStatus, + { "radioResourceStatus", "f1ap.radioResourceStatus_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_f1ap_cause, - { "cause", "f1ap.cause", - FT_UINT32, BASE_DEC, VALS(f1ap_Cause_vals), 0, + { &hf_f1ap_compositeAvailableCapacityGroup, + { "compositeAvailableCapacityGroup", "f1ap.compositeAvailableCapacityGroup_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_sliceAvailableCapacity, + { "sliceAvailableCapacity", "f1ap.sliceAvailableCapacity_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_numberofActiveUEs, + { "numberofActiveUEs", "f1ap.numberofActiveUEs", + FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_f1ap_service_status, { "service-status", "f1ap.service_status_element", @@ -12303,14 +21277,110 @@ void proto_register_f1ap(void) { { "cellBarred", "f1ap.cellBarred", FT_UINT32, BASE_DEC, VALS(f1ap_CellBarred_vals), 0, NULL, HFILL }}, + { &hf_f1ap_CellToReportList_item, + { "CellToReportItem", "f1ap.CellToReportItem_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_sSBToReportList, + { "sSBToReportList", "f1ap.sSBToReportList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_sliceToReportList, + { "sliceToReportList", "f1ap.sliceToReportList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_cellSize, { "cellSize", "f1ap.cellSize", FT_UINT32, BASE_DEC, VALS(f1ap_CellSize_vals), 0, NULL, HFILL }}, + { &hf_f1ap_Child_Node_Cells_List_item, + { "Child-Node-Cells-List-Item", "f1ap.Child_Node_Cells_List_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_iAB_STC_Info, + { "iAB-STC-Info", "f1ap.iAB_STC_Info_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_rACH_Config_Common, + { "rACH-Config-Common", "f1ap.rACH_Config_Common", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_rACH_Config_Common_IAB, + { "rACH-Config-Common-IAB", "f1ap.rACH_Config_Common_IAB", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_cSI_RS_Configuration, + { "cSI-RS-Configuration", "f1ap.cSI_RS_Configuration", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_sR_Configuration, + { "sR-Configuration", "f1ap.sR_Configuration", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_pDCCH_ConfigSIB1, + { "pDCCH-ConfigSIB1", "f1ap.pDCCH_ConfigSIB1", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_sCS_Common, + { "sCS-Common", "f1ap.sCS_Common", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_multiplexingInfo, + { "multiplexingInfo", "f1ap.multiplexingInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_Child_Nodes_List_item, + { "Child-Nodes-List-Item", "f1ap.Child_Nodes_List_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_gNB_CU_UE_F1AP_ID, + { "gNB-CU-UE-F1AP-ID", "f1ap.gNB_CU_UE_F1AP_ID", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_gNB_DU_UE_F1AP_ID, + { "gNB-DU-UE-F1AP-ID", "f1ap.gNB_DU_UE_F1AP_ID", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_child_Node_Cells_List, + { "child-Node-Cells-List", "f1ap.child_Node_Cells_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_fiveG_S_TMSI, { "fiveG-S-TMSI", "f1ap.fiveG_S_TMSI", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_48", HFILL }}, + { &hf_f1ap_compositeAvailableCapacityDownlink, + { "compositeAvailableCapacityDownlink", "f1ap.compositeAvailableCapacityDownlink_element", + FT_NONE, BASE_NONE, NULL, 0, + "CompositeAvailableCapacity", HFILL }}, + { &hf_f1ap_compositeAvailableCapacityUplink, + { "compositeAvailableCapacityUplink", "f1ap.compositeAvailableCapacityUplink_element", + FT_NONE, BASE_NONE, NULL, 0, + "CompositeAvailableCapacity", HFILL }}, + { &hf_f1ap_cellCapacityClassValue, + { "cellCapacityClassValue", "f1ap.cellCapacityClassValue", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_capacityValue_01, + { "capacityValue", "f1ap.capacityValue_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_cho_trigger, + { "cho-trigger", "f1ap.cho_trigger", + FT_UINT32, BASE_DEC, VALS(f1ap_CHOtrigger_InterDU_vals), 0, + "CHOtrigger_InterDU", HFILL }}, + { &hf_f1ap_targetgNB_DUUEF1APID, + { "targetgNB-DUUEF1APID", "f1ap.targetgNB_DUUEF1APID", + FT_UINT32, BASE_DEC, NULL, 0, + "GNB_DU_UE_F1AP_ID", HFILL }}, + { &hf_f1ap_cho_trigger_01, + { "cho-trigger", "f1ap.cho_trigger", + FT_UINT32, BASE_DEC, VALS(f1ap_CHOtrigger_IntraDU_vals), 0, + "CHOtrigger_IntraDU", HFILL }}, + { &hf_f1ap_targetCellsTocancel, + { "targetCellsTocancel", "f1ap.targetCellsTocancel", + FT_UINT32, BASE_DEC, NULL, 0, + "TargetCellList", HFILL }}, { &hf_f1ap_endpoint_IP_address, { "endpoint-IP-address", "f1ap.endpoint_IP_address", FT_BYTES, BASE_NONE, NULL, 0, @@ -12355,6 +21425,18 @@ void proto_register_f1ap(void) { { "typeOfError", "f1ap.typeOfError", FT_UINT32, BASE_DEC, VALS(f1ap_TypeOfError_vals), 0, NULL, HFILL }}, + { &hf_f1ap_rIM, + { "rIM", "f1ap.rIM_element", + FT_NONE, BASE_NONE, NULL, 0, + "CUDURIMInformation", HFILL }}, + { &hf_f1ap_victimgNBSetID, + { "victimgNBSetID", "f1ap.victimgNBSetID", + FT_BYTES, BASE_NONE, NULL, 0, + "GNBSetID", HFILL }}, + { &hf_f1ap_rIMRSDetectionStatus, + { "rIMRSDetectionStatus", "f1ap.rIMRSDetectionStatus", + FT_UINT32, BASE_DEC, VALS(f1ap_RIMRSDetectionStatus_vals), 0, + NULL, HFILL }}, { &hf_f1ap_cG_ConfigInfo, { "cG-ConfigInfo", "f1ap.cG_ConfigInfo", FT_BYTES, BASE_NONE, NULL, 0, @@ -12367,10 +21449,14 @@ void proto_register_f1ap(void) { { "measConfig", "f1ap.measConfig", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_f1ap_gNB_CU_UE_F1AP_ID, - { "gNB-CU-UE-F1AP-ID", "f1ap.gNB_CU_UE_F1AP_ID", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, + { &hf_f1ap_oldIPAdress, + { "oldIPAdress", "f1ap.oldIPAdress", + FT_BYTES, BASE_NONE, NULL, 0, + "TransportLayerAddress", HFILL }}, + { &hf_f1ap_newIPAdress, + { "newIPAdress", "f1ap.newIPAdress", + FT_BYTES, BASE_NONE, NULL, 0, + "TransportLayerAddress", HFILL }}, { &hf_f1ap_DLUPTNLInformation_ToBeSetup_List_item, { "DLUPTNLInformation-ToBeSetup-Item", "f1ap.DLUPTNLInformation_ToBeSetup_Item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -12447,6 +21533,30 @@ void proto_register_f1ap(void) { { "shortDRXCycleTimer", "f1ap.shortDRXCycleTimer", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_DSInformationList_item, + { "DSCP", "f1ap.DSCP", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_rIM_01, + { "rIM", "f1ap.rIM_element", + FT_NONE, BASE_NONE, NULL, 0, + "DUCURIMInformation", HFILL }}, + { &hf_f1ap_aggressorCellList, + { "aggressorCellList", "f1ap.aggressorCellList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_explicitFormat, + { "explicitFormat", "f1ap.explicitFormat_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_implicitFormat, + { "implicitFormat", "f1ap.implicitFormat_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_DUF_Slot_Config_List_item, + { "DUF-Slot-Config-Item", "f1ap.DUF_Slot_Config_Item", + FT_UINT32, BASE_DEC, VALS(f1ap_DUF_Slot_Config_Item_vals), 0, + NULL, HFILL }}, { &hf_f1ap_cellGroupConfig, { "cellGroupConfig", "f1ap.cellGroupConfig", FT_BYTES, BASE_NONE, NULL, 0, @@ -12463,14 +21573,6 @@ void proto_register_f1ap(void) { { "qoSPriorityLevel", "f1ap.qoSPriorityLevel", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_127", HFILL }}, - { &hf_f1ap_packetDelayBudget, - { "packetDelayBudget", "f1ap.packetDelayBudget", - FT_UINT32, BASE_CUSTOM, CF_FUNC(f1ap_PacketDelayBudget_fmt), 0, - NULL, HFILL }}, - { &hf_f1ap_packetErrorRate, - { "packetErrorRate", "f1ap.packetErrorRate_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, { &hf_f1ap_fiveQI, { "fiveQI", "f1ap.fiveQI", FT_UINT32, BASE_DEC, NULL, 0, @@ -12487,6 +21589,18 @@ void proto_register_f1ap(void) { { "maxDataBurstVolume", "f1ap.maxDataBurstVolume", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_resourceType, + { "resourceType", "f1ap.resourceType", + FT_UINT32, BASE_DEC, VALS(f1ap_T_resourceType_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_qoSPriorityLevel_01, + { "qoSPriorityLevel", "f1ap.qoSPriorityLevel", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_8_", HFILL }}, + { &hf_f1ap_EgressBHRLCCHList_item, + { "EgressBHRLCCHItem", "f1ap.EgressBHRLCCHItem_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_endpointIPAddress, { "endpointIPAddress", "f1ap.endpointIPAddress", FT_BYTES, BASE_NONE, NULL, 0, @@ -12495,6 +21609,18 @@ void proto_register_f1ap(void) { { "ExtendedAvailablePLMN-Item", "f1ap.ExtendedAvailablePLMN_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_permutation, + { "permutation", "f1ap.permutation", + FT_UINT32, BASE_DEC, VALS(f1ap_Permutation_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_noofDownlinkSymbols, + { "noofDownlinkSymbols", "f1ap.noofDownlinkSymbols", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_noofUplinkSymbols, + { "noofUplinkSymbols", "f1ap.noofUplinkSymbols", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_ExtendedServedPLMNs_List_item, { "ExtendedServedPLMNs-Item", "f1ap.ExtendedServedPLMNs_Item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -12503,6 +21629,10 @@ void proto_register_f1ap(void) { { "tAISliceSupportList", "f1ap.tAISliceSupportList", FT_UINT32, BASE_DEC, NULL, 0, "SliceSupportList", HFILL }}, + { &hf_f1ap_ExtendedSliceSupportList_item, + { "SliceSupportItem", "f1ap.SliceSupportItem_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_EUTRACells_List_item, { "EUTRACells-List-item", "f1ap.EUTRACells_List_item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -12659,6 +21789,22 @@ void proto_register_f1ap(void) { { "SupportedSULFreqBandItem", "f1ap.SupportedSULFreqBandItem_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_l839, + { "l839", "f1ap.l839_element", + FT_NONE, BASE_NONE, NULL, 0, + "L839Info", HFILL }}, + { &hf_f1ap_l139, + { "l139", "f1ap.l139_element", + FT_NONE, BASE_NONE, NULL, 0, + "L139Info", HFILL }}, + { &hf_f1ap_FlowsMappedToSLDRB_List_item, + { "FlowsMappedToSLDRB-Item", "f1ap.FlowsMappedToSLDRB_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_pc5QoSFlowIdentifier, + { "pc5QoSFlowIdentifier", "f1ap.pc5QoSFlowIdentifier", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_e_RAB_MaximumBitrateDL, { "e-RAB-MaximumBitrateDL", "f1ap.e_RAB_MaximumBitrateDL", FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, @@ -12715,6 +21861,26 @@ void proto_register_f1ap(void) { { "tNLAssociationUsage", "f1ap.tNLAssociationUsage", FT_UINT32, BASE_DEC, VALS(f1ap_TNLAssociationUsage_vals), 0, NULL, HFILL }}, + { &hf_f1ap_subcarrierSpacing, + { "subcarrierSpacing", "f1ap.subcarrierSpacing", + FT_UINT32, BASE_DEC, VALS(f1ap_SubcarrierSpacing_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_dUFTransmissionPeriodicity, + { "dUFTransmissionPeriodicity", "f1ap.dUFTransmissionPeriodicity", + FT_UINT32, BASE_DEC, VALS(f1ap_DUFTransmissionPeriodicity_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_dUF_Slot_Config_List, + { "dUF-Slot-Config-List", "f1ap.dUF_Slot_Config_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_hSNATransmissionPeriodicity, + { "hSNATransmissionPeriodicity", "f1ap.hSNATransmissionPeriodicity", + FT_UINT32, BASE_DEC, VALS(f1ap_HSNATransmissionPeriodicity_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_hNSASlotConfigList, + { "hNSASlotConfigList", "f1ap.hNSASlotConfigList", + FT_UINT32, BASE_DEC, NULL, 0, + "HSNASlotConfigList", HFILL }}, { &hf_f1ap_served_Cell_Information, { "served-Cell-Information", "f1ap.served_Cell_Information_element", FT_NONE, BASE_NONE, NULL, 0, @@ -12735,6 +21901,14 @@ void proto_register_f1ap(void) { { "tNLAssociationTransportLayerAddressgNBCU", "f1ap.tNLAssociationTransportLayerAddressgNBCU", FT_UINT32, BASE_DEC, VALS(f1ap_CP_TransportLayerAddress_vals), 0, "CP_TransportLayerAddress", HFILL }}, + { &hf_f1ap_GTPTLAs_item, + { "GTPTLA-Item", "f1ap.GTPTLA_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_gTPTransportLayerAddress, + { "gTPTransportLayerAddress", "f1ap.gTPTransportLayerAddress", + FT_BYTES, BASE_NONE, NULL, 0, + "TransportLayerAddress", HFILL }}, { &hf_f1ap_transportLayerAddress, { "transportLayerAddress", "f1ap.transportLayerAddress", FT_BYTES, BASE_NONE, NULL, 0, @@ -12743,6 +21917,294 @@ void proto_register_f1ap(void) { { "gTP-TEID", "f1ap.gTP_TEID", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_dLHardwareLoadIndicator, + { "dLHardwareLoadIndicator", "f1ap.dLHardwareLoadIndicator", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100_", HFILL }}, + { &hf_f1ap_uLHardwareLoadIndicator, + { "uLHardwareLoadIndicator", "f1ap.uLHardwareLoadIndicator", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100_", HFILL }}, + { &hf_f1ap_HSNASlotConfigList_item, + { "HSNASlotConfigItem", "f1ap.HSNASlotConfigItem_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_hSNADownlink, + { "hSNADownlink", "f1ap.hSNADownlink", + FT_UINT32, BASE_DEC, VALS(f1ap_HSNADownlink_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_hSNAUplink, + { "hSNAUplink", "f1ap.hSNAUplink", + FT_UINT32, BASE_DEC, VALS(f1ap_HSNAUplink_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_hSNAFlexible, + { "hSNAFlexible", "f1ap.hSNAFlexible", + FT_UINT32, BASE_DEC, VALS(f1ap_HSNAFlexible_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_IAB_MT_Cell_List_item, + { "IAB-MT-Cell-List-Item", "f1ap.IAB_MT_Cell_List_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_nRCellIdentity, + { "nRCellIdentity", "f1ap.nRCellIdentity", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_dU_RX_MT_RX, + { "dU-RX-MT-RX", "f1ap.dU_RX_MT_RX", + FT_UINT32, BASE_DEC, VALS(f1ap_DU_RX_MT_RX_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_dU_TX_MT_TX, + { "dU-TX-MT-TX", "f1ap.dU_TX_MT_TX", + FT_UINT32, BASE_DEC, VALS(f1ap_DU_TX_MT_TX_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_dU_RX_MT_TX, + { "dU-RX-MT-TX", "f1ap.dU_RX_MT_TX", + FT_UINT32, BASE_DEC, VALS(f1ap_DU_RX_MT_TX_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_dU_TX_MT_RX, + { "dU-TX-MT-RX", "f1ap.dU_TX_MT_RX", + FT_UINT32, BASE_DEC, VALS(f1ap_DU_TX_MT_RX_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_iAB_STC_Info_List, + { "iAB-STC-Info-List", "f1ap.iAB_STC_Info_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_IAB_STC_Info_List_item, + { "IAB-STC-Info-Item", "f1ap.IAB_STC_Info_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_sSB_freqInfo, + { "sSB-freqInfo", "f1ap.sSB_freqInfo", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_sSB_subcarrierSpacing, + { "sSB-subcarrierSpacing", "f1ap.sSB_subcarrierSpacing", + FT_UINT32, BASE_DEC, VALS(f1ap_SSB_subcarrierSpacing_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_sSB_transmissionPeriodicity, + { "sSB-transmissionPeriodicity", "f1ap.sSB_transmissionPeriodicity", + FT_UINT32, BASE_DEC, VALS(f1ap_SSB_transmissionPeriodicity_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_sSB_transmissionTimingOffset, + { "sSB-transmissionTimingOffset", "f1ap.sSB_transmissionTimingOffset", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_sSB_transmissionBitmap, + { "sSB-transmissionBitmap", "f1ap.sSB_transmissionBitmap", + FT_UINT32, BASE_DEC, VALS(f1ap_SSB_transmissionBitmap_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_iABTNLAddress, + { "iABTNLAddress", "f1ap.iABTNLAddress", + FT_UINT32, BASE_DEC, VALS(f1ap_IABTNLAddress_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_iABTNLAddressUsage, + { "iABTNLAddressUsage", "f1ap.iABTNLAddressUsage", + FT_UINT32, BASE_DEC, VALS(f1ap_IABTNLAddressUsage_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_fDD_01, + { "fDD", "f1ap.fDD_element", + FT_NONE, BASE_NONE, NULL, 0, + "IAB_DU_Cell_Resource_Configuration_FDD_Info", HFILL }}, + { &hf_f1ap_tDD_01, + { "tDD", "f1ap.tDD_element", + FT_NONE, BASE_NONE, NULL, 0, + "IAB_DU_Cell_Resource_Configuration_TDD_Info", HFILL }}, + { &hf_f1ap_gNB_DU_Cell_Resource_Configuration_FDD_UL, + { "gNB-DU-Cell-Resource-Configuration-FDD-UL", "f1ap.gNB_DU_Cell_Resource_Configuration_FDD_UL_element", + FT_NONE, BASE_NONE, NULL, 0, + "GNB_DU_Cell_Resource_Configuration", HFILL }}, + { &hf_f1ap_gNB_DU_Cell_Resource_Configuration_FDD_DL, + { "gNB-DU-Cell-Resource-Configuration-FDD-DL", "f1ap.gNB_DU_Cell_Resource_Configuration_FDD_DL_element", + FT_NONE, BASE_NONE, NULL, 0, + "GNB_DU_Cell_Resource_Configuration", HFILL }}, + { &hf_f1ap_gNB_DU_Cell_Resourc_Configuration_TDD, + { "gNB-DU-Cell-Resourc-Configuration-TDD", "f1ap.gNB_DU_Cell_Resourc_Configuration_TDD_element", + FT_NONE, BASE_NONE, NULL, 0, + "GNB_DU_Cell_Resource_Configuration", HFILL }}, + { &hf_f1ap_iPv6Address, + { "iPv6Address", "f1ap.iPv6Address_element", + FT_NONE, BASE_NONE, NULL, 0, + "IABTNLAddressesRequested", HFILL }}, + { &hf_f1ap_iPv6Prefix, + { "iPv6Prefix", "f1ap.iPv6Prefix_element", + FT_NONE, BASE_NONE, NULL, 0, + "IABTNLAddressesRequested", HFILL }}, + { &hf_f1ap_iPv4Address, + { "iPv4Address", "f1ap.iPv4Address", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_iPv6Address_01, + { "iPv6Address", "f1ap.iPv6Address", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_iPv6Prefix_01, + { "iPv6Prefix", "f1ap.iPv6Prefix", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_tNLAddressesOrPrefixesRequestedAllTraffic, + { "tNLAddressesOrPrefixesRequestedAllTraffic", "f1ap.tNLAddressesOrPrefixesRequestedAllTraffic", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_256", HFILL }}, + { &hf_f1ap_tNLAddressesOrPrefixesRequestedF1_C, + { "tNLAddressesOrPrefixesRequestedF1-C", "f1ap.tNLAddressesOrPrefixesRequestedF1_C", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_256", HFILL }}, + { &hf_f1ap_tNLAddressesOrPrefixesRequestedF1_U, + { "tNLAddressesOrPrefixesRequestedF1-U", "f1ap.tNLAddressesOrPrefixesRequestedF1_U", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_256", HFILL }}, + { &hf_f1ap_tNLAddressesOrPrefixesRequestedNoNF1, + { "tNLAddressesOrPrefixesRequestedNoNF1", "f1ap.tNLAddressesOrPrefixesRequestedNoNF1", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_256", HFILL }}, + { &hf_f1ap_iABv4AddressesRequested, + { "iABv4AddressesRequested", "f1ap.iABv4AddressesRequested_element", + FT_NONE, BASE_NONE, NULL, 0, + "IABTNLAddressesRequested", HFILL }}, + { &hf_f1ap_dUFSlotformatIndex, + { "dUFSlotformatIndex", "f1ap.dUFSlotformatIndex", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_nRSCS, + { "nRSCS", "f1ap.nRSCS", + FT_UINT32, BASE_DEC, VALS(f1ap_T_nRSCS_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_nRCP, + { "nRCP", "f1ap.nRCP", + FT_UINT32, BASE_DEC, VALS(f1ap_T_nRCP_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_nRDLULTxPeriodicity, + { "nRDLULTxPeriodicity", "f1ap.nRDLULTxPeriodicity", + FT_UINT32, BASE_DEC, VALS(f1ap_T_nRDLULTxPeriodicity_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_slot_Configuration_List, + { "slot-Configuration-List", "f1ap.slot_Configuration_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_destinationIABTNLAddress, + { "destinationIABTNLAddress", "f1ap.destinationIABTNLAddress", + FT_UINT32, BASE_DEC, VALS(f1ap_IABTNLAddress_vals), 0, + "IABTNLAddress", HFILL }}, + { &hf_f1ap_dsInformationList, + { "dsInformationList", "f1ap.dsInformationList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_iPv6FlowLabel, + { "iPv6FlowLabel", "f1ap.iPv6FlowLabel", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_20", HFILL }}, + { &hf_f1ap_iPtolayer2TrafficMappingInfoToAdd, + { "iPtolayer2TrafficMappingInfoToAdd", "f1ap.iPtolayer2TrafficMappingInfoToAdd", + FT_UINT32, BASE_DEC, NULL, 0, + "IPtolayer2TrafficMappingInfoList", HFILL }}, + { &hf_f1ap_iPtolayer2TrafficMappingInfoToRemove, + { "iPtolayer2TrafficMappingInfoToRemove", "f1ap.iPtolayer2TrafficMappingInfoToRemove", + FT_UINT32, BASE_DEC, NULL, 0, + "MappingInformationtoRemove", HFILL }}, + { &hf_f1ap_IPtolayer2TrafficMappingInfoList_item, + { "IPtolayer2TrafficMappingInfo-Item", "f1ap.IPtolayer2TrafficMappingInfo_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_iPHeaderInformation, + { "iPHeaderInformation", "f1ap.iPHeaderInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_bHInfo, + { "bHInfo", "f1ap.bHInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_msg1SCS, + { "msg1SCS", "f1ap.msg1SCS", + FT_UINT32, BASE_DEC, VALS(f1ap_T_msg1SCS_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_rootSequenceIndex_01, + { "rootSequenceIndex", "f1ap.rootSequenceIndex", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_137", HFILL }}, + { &hf_f1ap_iE_Extension, + { "iE-Extension", "f1ap.iE_Extension", + FT_UINT32, BASE_DEC, NULL, 0, + "ProtocolExtensionContainer", HFILL }}, + { &hf_f1ap_restrictedSetConfig, + { "restrictedSetConfig", "f1ap.restrictedSetConfig", + FT_UINT32, BASE_DEC, VALS(f1ap_T_restrictedSetConfig_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_uELTESidelinkAggregateMaximumBitrate, + { "uELTESidelinkAggregateMaximumBitrate", "f1ap.uELTESidelinkAggregateMaximumBitrate", + FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, + "BitRate", HFILL }}, + { &hf_f1ap_vehicleUE, + { "vehicleUE", "f1ap.vehicleUE", + FT_UINT32, BASE_DEC, VALS(f1ap_VehicleUE_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_pedestrianUE, + { "pedestrianUE", "f1ap.pedestrianUE", + FT_UINT32, BASE_DEC, VALS(f1ap_PedestrianUE_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_MappingInformationtoRemove_item, + { "MappingInformationIndex", "f1ap.MappingInformationIndex", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_iAB_MT_Cell_List, + { "iAB-MT-Cell-List", "f1ap.iAB_MT_Cell_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_m5period, + { "m5period", "f1ap.m5period", + FT_UINT32, BASE_DEC, VALS(f1ap_M5period_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_m5_links_to_log, + { "m5-links-to-log", "f1ap.m5_links_to_log", + FT_UINT32, BASE_DEC, VALS(f1ap_M5_Links_to_log_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_m6report_Interval, + { "m6report-Interval", "f1ap.m6report_Interval", + FT_UINT32, BASE_DEC, VALS(f1ap_M6report_Interval_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_m6_links_to_log, + { "m6-links-to-log", "f1ap.m6_links_to_log", + FT_UINT32, BASE_DEC, VALS(f1ap_M6_Links_to_log_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_m7period, + { "m7period", "f1ap.m7period", + FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_minutes, 0, + NULL, HFILL }}, + { &hf_f1ap_m7_links_to_log, + { "m7-links-to-log", "f1ap.m7_links_to_log", + FT_UINT32, BASE_DEC, VALS(f1ap_M7_Links_to_log_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_mdt_Activation, + { "mdt-Activation", "f1ap.mdt_Activation", + FT_UINT32, BASE_DEC, VALS(f1ap_MDT_Activation_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_measurementsToActivate, + { "measurementsToActivate", "f1ap.measurementsToActivate", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_m2Configuration, + { "m2Configuration", "f1ap.m2Configuration", + FT_UINT32, BASE_DEC, VALS(f1ap_M2Configuration_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_m5Configuration, + { "m5Configuration", "f1ap.m5Configuration_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_m6Configuration, + { "m6Configuration", "f1ap.m6Configuration_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_m7Configuration, + { "m7Configuration", "f1ap.m7Configuration_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_MDTPLMNList_item, + { "PLMN-Identity", "f1ap.PLMN_Identity", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_intendedTDD_DL_ULConfig, + { "intendedTDD-DL-ULConfig", "f1ap.intendedTDD_DL_ULConfig_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_message_Identifier, { "message-Identifier", "f1ap.message_Identifier", FT_BYTES, BASE_NONE, NULL, 0, @@ -12751,6 +22213,42 @@ void proto_register_f1ap(void) { { "serialNumber", "f1ap.serialNumber", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_sNPN_Broadcast_Information, + { "sNPN-Broadcast-Information", "f1ap.sNPN_Broadcast_Information_element", + FT_NONE, BASE_NONE, NULL, 0, + "NPN_Broadcast_Information_SNPN", HFILL }}, + { &hf_f1ap_pNI_NPN_Broadcast_Information, + { "pNI-NPN-Broadcast-Information", "f1ap.pNI_NPN_Broadcast_Information_element", + FT_NONE, BASE_NONE, NULL, 0, + "NPN_Broadcast_Information_PNI_NPN", HFILL }}, + { &hf_f1ap_broadcastSNPNID_List, + { "broadcastSNPNID-List", "f1ap.broadcastSNPNID_List", + FT_UINT32, BASE_DEC, NULL, 0, + "BroadcastSNPN_ID_List", HFILL }}, + { &hf_f1ap_broadcastPNI_NPN_ID_Information, + { "broadcastPNI-NPN-ID-Information", "f1ap.broadcastPNI_NPN_ID_Information", + FT_UINT32, BASE_DEC, NULL, 0, + "BroadcastPNI_NPN_ID_List", HFILL }}, + { &hf_f1ap_sNPN_Information, + { "sNPN-Information", "f1ap.sNPN_Information", + FT_BYTES, BASE_NONE, NULL, 0, + "NID", HFILL }}, + { &hf_f1ap_NRCarrierList_item, + { "NRCarrierItem", "f1ap.NRCarrierItem_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_carrierSCS, + { "carrierSCS", "f1ap.carrierSCS", + FT_UINT32, BASE_DEC, VALS(f1ap_NRSCS_vals), 0, + "NRSCS", HFILL }}, + { &hf_f1ap_offsetToCarrier, + { "offsetToCarrier", "f1ap.offsetToCarrier", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_2199_", HFILL }}, + { &hf_f1ap_carrierBandwidth, + { "carrierBandwidth", "f1ap.carrierBandwidth", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxnoofPhysicalResourceBlocks_", HFILL }}, { &hf_f1ap_nRARFCN, { "nRARFCN", "f1ap.nRARFCN", FT_UINT32, BASE_DEC, NULL, 0, @@ -12767,18 +22265,66 @@ void proto_register_f1ap(void) { { "FreqBandNrItem", "f1ap.FreqBandNrItem_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_f1ap_nRCellIdentity, - { "nRCellIdentity", "f1ap.nRCellIdentity", - FT_BYTES, BASE_NONE, NULL, 0, + { &hf_f1ap_fDD_02, + { "fDD", "f1ap.fDD_element", + FT_NONE, BASE_NONE, NULL, 0, + "FDD_Info", HFILL }}, + { &hf_f1ap_tDD_02, + { "tDD", "f1ap.tDD_element", + FT_NONE, BASE_NONE, NULL, 0, + "TDD_Info", HFILL }}, + { &hf_f1ap_ulPRACHConfigList, + { "ulPRACHConfigList", "f1ap.ulPRACHConfigList", + FT_UINT32, BASE_DEC, NULL, 0, + "NRPRACHConfigList", HFILL }}, + { &hf_f1ap_sulPRACHConfigList, + { "sulPRACHConfigList", "f1ap.sulPRACHConfigList", + FT_UINT32, BASE_DEC, NULL, 0, + "NRPRACHConfigList", HFILL }}, + { &hf_f1ap_NRPRACHConfigList_item, + { "NRPRACHConfigItem", "f1ap.NRPRACHConfigItem_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_nRSCS_01, + { "nRSCS", "f1ap.nRSCS", + FT_UINT32, BASE_DEC, VALS(f1ap_NRSCS_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_prachFreqStartfromCarrier, + { "prachFreqStartfromCarrier", "f1ap.prachFreqStartfromCarrier", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxnoofPhysicalResourceBlocks_1_", HFILL }}, + { &hf_f1ap_msg1FDM, + { "msg1FDM", "f1ap.msg1FDM", + FT_UINT32, BASE_DEC, VALS(f1ap_T_msg1FDM_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_parchConfigIndex, + { "parchConfigIndex", "f1ap.parchConfigIndex", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_255_", HFILL }}, + { &hf_f1ap_ssb_perRACH_Occasion, + { "ssb-perRACH-Occasion", "f1ap.ssb_perRACH_Occasion", + FT_UINT32, BASE_DEC, VALS(f1ap_T_ssb_perRACH_Occasion_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_freqDomainLength, + { "freqDomainLength", "f1ap.freqDomainLength", + FT_UINT32, BASE_DEC, VALS(f1ap_FreqDomainLength_vals), 0, NULL, HFILL }}, - { &hf_f1ap_fDD_01, - { "fDD", "f1ap.fDD_element", - FT_NONE, BASE_NONE, NULL, 0, - "FDD_Info", HFILL }}, - { &hf_f1ap_tDD_01, - { "tDD", "f1ap.tDD_element", - FT_NONE, BASE_NONE, NULL, 0, - "TDD_Info", HFILL }}, + { &hf_f1ap_zeroCorrelZoneConfig, + { "zeroCorrelZoneConfig", "f1ap.zeroCorrelZoneConfig", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_15", HFILL }}, + { &hf_f1ap_numDLSymbols, + { "numDLSymbols", "f1ap.numDLSymbols", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_13_", HFILL }}, + { &hf_f1ap_numULSymbols, + { "numULSymbols", "f1ap.numULSymbols", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_13_", HFILL }}, + { &hf_f1ap_uENRSidelinkAggregateMaximumBitrate, + { "uENRSidelinkAggregateMaximumBitrate", "f1ap.uENRSidelinkAggregateMaximumBitrate", + FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, + "BitRate", HFILL }}, { &hf_f1ap_pER_Scalar, { "pER-Scalar", "f1ap.pER_Scalar", FT_UINT32, BASE_DEC, NULL, 0, @@ -12795,6 +22341,30 @@ void proto_register_f1ap(void) { { "cNUEPagingIdentity", "f1ap.cNUEPagingIdentity", FT_UINT32, BASE_DEC, VALS(f1ap_CNUEPagingIdentity_vals), 0, NULL, HFILL }}, + { &hf_f1ap_non_Dynamic_PQI, + { "non-Dynamic-PQI", "f1ap.non_Dynamic_PQI_element", + FT_NONE, BASE_NONE, NULL, 0, + "NonDynamicPQIDescriptor", HFILL }}, + { &hf_f1ap_dynamic_PQI, + { "dynamic-PQI", "f1ap.dynamic_PQI_element", + FT_NONE, BASE_NONE, NULL, 0, + "DynamicPQIDescriptor", HFILL }}, + { &hf_f1ap_pC5_QoS_Characteristics, + { "pC5-QoS-Characteristics", "f1ap.pC5_QoS_Characteristics", + FT_UINT32, BASE_DEC, VALS(f1ap_PC5_QoS_Characteristics_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_pC5_QoS_Flow_Bit_Rates, + { "pC5-QoS-Flow-Bit-Rates", "f1ap.pC5_QoS_Flow_Bit_Rates_element", + FT_NONE, BASE_NONE, NULL, 0, + "PC5FlowBitRates", HFILL }}, + { &hf_f1ap_guaranteedFlowBitRate, + { "guaranteedFlowBitRate", "f1ap.guaranteedFlowBitRate", + FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, + "BitRate", HFILL }}, + { &hf_f1ap_maximumFlowBitRate, + { "maximumFlowBitRate", "f1ap.maximumFlowBitRate", + FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, + "BitRate", HFILL }}, { &hf_f1ap_spectrumSharingGroupID, { "spectrumSharingGroupID", "f1ap.spectrumSharingGroupID", FT_UINT32, BASE_DEC, NULL, 0, @@ -12843,6 +22413,22 @@ void proto_register_f1ap(void) { { "eUTRANQoS", "f1ap.eUTRANQoS_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_RACHReportInformationList_item, + { "RACHReportInformationItem", "f1ap.RACHReportInformationItem_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_rACHReportContainer, + { "rACHReportContainer", "f1ap.rACHReportContainer", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_uEAssitantIdentifier, + { "uEAssitantIdentifier", "f1ap.uEAssitantIdentifier", + FT_UINT32, BASE_DEC, NULL, 0, + "GNB_DU_UE_F1AP_ID", HFILL }}, + { &hf_f1ap_sSBAreaRadioResourceStatusList, + { "sSBAreaRadioResourceStatusList", "f1ap.sSBAreaRadioResourceStatusList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_iRNTI, { "iRNTI", "f1ap.iRNTI", FT_BYTES, BASE_NONE, NULL, 0, @@ -12871,6 +22457,30 @@ void proto_register_f1ap(void) { { "resourceCoordinationEUTRACellInfo", "f1ap.resourceCoordinationEUTRACellInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_eventType, + { "eventType", "f1ap.eventType", + FT_UINT32, BASE_DEC, VALS(f1ap_EventType_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_reportingPeriodicityValue, + { "reportingPeriodicityValue", "f1ap.reportingPeriodicityValue", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_rLCDuplicationStateList, + { "rLCDuplicationStateList", "f1ap.rLCDuplicationStateList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_primaryPathIndication, + { "primaryPathIndication", "f1ap.primaryPathIndication", + FT_UINT32, BASE_DEC, VALS(f1ap_PrimaryPathIndication_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_RLCDuplicationStateList_item, + { "RLCDuplicationState-Item", "f1ap.RLCDuplicationState_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_duplicationState, + { "duplicationState", "f1ap.duplicationState", + FT_UINT32, BASE_DEC, VALS(f1ap_DuplicationState_vals), 0, + NULL, HFILL }}, { &hf_f1ap_assocatedLCID, { "assocatedLCID", "f1ap.assocatedLCID", FT_UINT32, BASE_DEC, NULL, 0, @@ -12879,6 +22489,14 @@ void proto_register_f1ap(void) { { "reestablishment-Indication", "f1ap.reestablishment_Indication", FT_UINT32, BASE_DEC, VALS(f1ap_Reestablishment_Indication_vals), 0, NULL, HFILL }}, + { &hf_f1ap_RLFReportInformationList_item, + { "RLFReportInformationItem", "f1ap.RLFReportInformationItem_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_nRUERLFReportContainer, + { "nRUERLFReportContainer", "f1ap.nRUERLFReportContainer", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_delivery_status, { "delivery-status", "f1ap.delivery_status", FT_UINT32, BASE_DEC, NULL, 0, @@ -12955,10 +22573,74 @@ void proto_register_f1ap(void) { { "valueTag", "f1ap.valueTag", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31_", HFILL }}, + { &hf_f1ap_sLDRB_QoS, + { "sLDRB-QoS", "f1ap.sLDRB_QoS_element", + FT_NONE, BASE_NONE, NULL, 0, + "PC5QoSParameters", HFILL }}, + { &hf_f1ap_flowsMappedToSLDRB_List, + { "flowsMappedToSLDRB-List", "f1ap.flowsMappedToSLDRB_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_sLDRBID, + { "sLDRBID", "f1ap.sLDRBID", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_sLDRBInformation, + { "sLDRBInformation", "f1ap.sLDRBInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_sliceAvailableCapacityList, + { "sliceAvailableCapacityList", "f1ap.sliceAvailableCapacityList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SliceAvailableCapacityList_item, + { "SliceAvailableCapacityItem", "f1ap.SliceAvailableCapacityItem_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_sNSSAIAvailableCapacity_List, + { "sNSSAIAvailableCapacity-List", "f1ap.sNSSAIAvailableCapacity_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SNSSAIAvailableCapacity_List_item, + { "SNSSAIAvailableCapacity-Item", "f1ap.SNSSAIAvailableCapacity_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_sliceAvailableCapacityValueDownlink, + { "sliceAvailableCapacityValueDownlink", "f1ap.sliceAvailableCapacityValueDownlink", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_f1ap_sliceAvailableCapacityValueUplink, + { "sliceAvailableCapacityValueUplink", "f1ap.sliceAvailableCapacityValueUplink", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, { &hf_f1ap_SliceSupportList_item, { "SliceSupportItem", "f1ap.SliceSupportItem_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_SliceToReportList_item, + { "SliceToReportItem", "f1ap.SliceToReportItem_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_sNSSAIlist, + { "sNSSAIlist", "f1ap.sNSSAIlist", + FT_UINT32, BASE_DEC, NULL, 0, + "SNSSAI_list", HFILL }}, + { &hf_f1ap_SNSSAI_list_item, + { "SNSSAI-Item", "f1ap.SNSSAI_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_Slot_Configuration_List_item, + { "Slot-Configuration-Item", "f1ap.Slot_Configuration_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_slotIndex, + { "slotIndex", "f1ap.slotIndex", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_319_", HFILL }}, + { &hf_f1ap_symbolAllocInSlot, + { "symbolAllocInSlot", "f1ap.symbolAllocInSlot", + FT_UINT32, BASE_DEC, VALS(f1ap_SymbolAllocInSlot_vals), 0, + NULL, HFILL }}, { &hf_f1ap_sST, { "sST", "f1ap.sST", FT_BYTES, BASE_NONE, NULL, 0, @@ -12975,6 +22657,70 @@ void proto_register_f1ap(void) { { "duplicationIndication", "f1ap.duplicationIndication", FT_UINT32, BASE_DEC, VALS(f1ap_DuplicationIndication_vals), 0, NULL, HFILL }}, + { &hf_f1ap_shortBitmap, + { "shortBitmap", "f1ap.shortBitmap", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_4", HFILL }}, + { &hf_f1ap_mediumBitmap, + { "mediumBitmap", "f1ap.mediumBitmap", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_8", HFILL }}, + { &hf_f1ap_longBitmap, + { "longBitmap", "f1ap.longBitmap", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_64", HFILL }}, + { &hf_f1ap_SSBAreaCapacityValueList_item, + { "SSBAreaCapacityValueItem", "f1ap.SSBAreaCapacityValueItem_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_sSBIndex, + { "sSBIndex", "f1ap.sSBIndex", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_63", HFILL }}, + { &hf_f1ap_sSBAreaCapacityValue, + { "sSBAreaCapacityValue", "f1ap.sSBAreaCapacityValue", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_f1ap_SSBAreaRadioResourceStatusList_item, + { "SSBAreaRadioResourceStatusItem", "f1ap.SSBAreaRadioResourceStatusItem_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_sSBAreaDLGBRPRBusage, + { "sSBAreaDLGBRPRBusage", "f1ap.sSBAreaDLGBRPRBusage", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_f1ap_sSBAreaULGBRPRBusage, + { "sSBAreaULGBRPRBusage", "f1ap.sSBAreaULGBRPRBusage", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_f1ap_sSBAreaDLnon_GBRPRBusage, + { "sSBAreaDLnon-GBRPRBusage", "f1ap.sSBAreaDLnon_GBRPRBusage", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_f1ap_sSBAreaULnon_GBRPRBusage, + { "sSBAreaULnon-GBRPRBusage", "f1ap.sSBAreaULnon_GBRPRBusage", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_f1ap_sSBAreaDLTotalPRBusage, + { "sSBAreaDLTotalPRBusage", "f1ap.sSBAreaDLTotalPRBusage", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_f1ap_sSBAreaULTotalPRBusage, + { "sSBAreaULTotalPRBusage", "f1ap.sSBAreaULTotalPRBusage", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_f1ap_dLschedulingPDCCHCCEusage, + { "dLschedulingPDCCHCCEusage", "f1ap.dLschedulingPDCCHCCEusage", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_f1ap_uLschedulingPDCCHCCEusage, + { "uLschedulingPDCCHCCEusage", "f1ap.uLschedulingPDCCHCCEusage", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_f1ap_SSBToReportList_item, + { "SSBToReportItem", "f1ap.SSBToReportItem_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_sUL_NRARFCN, { "sUL-NRARFCN", "f1ap.sUL_NRARFCN", FT_UINT32, BASE_DEC, NULL, 0, @@ -12983,6 +22729,26 @@ void proto_register_f1ap(void) { { "sUL-transmission-Bandwidth", "f1ap.sUL_transmission_Bandwidth_element", FT_NONE, BASE_NONE, NULL, 0, "Transmission_Bandwidth", HFILL }}, + { &hf_f1ap_all_DL, + { "all-DL", "f1ap.all_DL_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_all_UL, + { "all-UL", "f1ap.all_UL_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_both_DL_and_UL, + { "both-DL-and-UL", "f1ap.both_DL_and_UL_element", + FT_NONE, BASE_NONE, NULL, 0, + "NumDLULSymbols", HFILL }}, + { &hf_f1ap_TargetCellList_item, + { "TargetCellList-Item", "f1ap.TargetCellList_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_target_cell, + { "target-cell", "f1ap.target_cell_element", + FT_NONE, BASE_NONE, NULL, 0, + "NRCGI", HFILL }}, { &hf_f1ap_nRFreqInfo, { "nRFreqInfo", "f1ap.nRFreqInfo_element", FT_NONE, BASE_NONE, NULL, 0, @@ -12991,14 +22757,110 @@ void proto_register_f1ap(void) { { "transmission-Bandwidth", "f1ap.transmission_Bandwidth_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_f1ap_nRSCS, - { "nRSCS", "f1ap.nRSCS", - FT_UINT32, BASE_DEC, VALS(f1ap_NRSCS_vals), 0, + { &hf_f1ap_referenceTime, + { "referenceTime", "f1ap.referenceTime", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_referenceSFN, + { "referenceSFN", "f1ap.referenceSFN", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_uncertainty, + { "uncertainty", "f1ap.uncertainty", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_timeInformationType, + { "timeInformationType", "f1ap.timeInformationType", + FT_UINT32, BASE_DEC, VALS(f1ap_TimeInformationType_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_dLTNLOfferedCapacity, + { "dLTNLOfferedCapacity", "f1ap.dLTNLOfferedCapacity", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_16777216_", HFILL }}, + { &hf_f1ap_dLTNLAvailableCapacity, + { "dLTNLAvailableCapacity", "f1ap.dLTNLAvailableCapacity", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100_", HFILL }}, + { &hf_f1ap_uLTNLOfferedCapacity, + { "uLTNLOfferedCapacity", "f1ap.uLTNLOfferedCapacity", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_16777216_", HFILL }}, + { &hf_f1ap_uLTNLAvailableCapacity, + { "uLTNLAvailableCapacity", "f1ap.uLTNLAvailableCapacity", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100_", HFILL }}, + { &hf_f1ap_traceID, + { "traceID", "f1ap.traceID", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_interfacesToTrace, + { "interfacesToTrace", "f1ap.interfacesToTrace", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_traceDepth, + { "traceDepth", "f1ap.traceDepth", + FT_UINT32, BASE_DEC, VALS(f1ap_TraceDepth_vals), 0, + NULL, HFILL }}, + { &hf_f1ap_traceCollectionEntityIPAddress, + { "traceCollectionEntityIPAddress", "f1ap.traceCollectionEntityIPAddress", + FT_BYTES, BASE_NONE, NULL, 0, + "TransportLayerAddress", HFILL }}, + { &hf_f1ap_iPtolayer2TrafficMappingInfo, + { "iPtolayer2TrafficMappingInfo", "f1ap.iPtolayer2TrafficMappingInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_bAPlayerBHRLCchannelMappingInfo, + { "bAPlayerBHRLCchannelMappingInfo", "f1ap.bAPlayerBHRLCchannelMappingInfo_element", + FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_f1ap_nRNRB, { "nRNRB", "f1ap.nRNRB", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &f1ap_NRNRB_vals_ext, 0, NULL, HFILL }}, + { &hf_f1ap_Transport_UP_Layer_Address_Info_To_Add_List_item, + { "Transport-UP-Layer-Address-Info-To-Add-Item", "f1ap.Transport_UP_Layer_Address_Info_To_Add_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_iP_SecTransportLayerAddress, + { "iP-SecTransportLayerAddress", "f1ap.iP_SecTransportLayerAddress", + FT_BYTES, BASE_NONE, NULL, 0, + "TransportLayerAddress", HFILL }}, + { &hf_f1ap_gTPTransportLayerAddressToAdd, + { "gTPTransportLayerAddressToAdd", "f1ap.gTPTransportLayerAddressToAdd", + FT_UINT32, BASE_DEC, NULL, 0, + "GTPTLAs", HFILL }}, + { &hf_f1ap_Transport_UP_Layer_Address_Info_To_Remove_List_item, + { "Transport-UP-Layer-Address-Info-To-Remove-Item", "f1ap.Transport_UP_Layer_Address_Info_To_Remove_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_gTPTransportLayerAddressToRemove, + { "gTPTransportLayerAddressToRemove", "f1ap.gTPTransportLayerAddressToRemove", + FT_UINT32, BASE_DEC, NULL, 0, + "GTPTLAs", HFILL }}, + { &hf_f1ap_transport_UP_Layer_Address_Info_To_Add_List, + { "transport-UP-Layer-Address-Info-To-Add-List", "f1ap.transport_UP_Layer_Address_Info_To_Add_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_transport_UP_Layer_Address_Info_To_Remove_List, + { "transport-UP-Layer-Address-Info-To-Remove-List", "f1ap.transport_UP_Layer_Address_Info_To_Remove_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_periodicity, + { "periodicity", "f1ap.periodicity", + FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_microseconds, 0, + NULL, HFILL }}, + { &hf_f1ap_burstArrivalTime, + { "burstArrivalTime", "f1ap.burstArrivalTime", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_tSCAssistanceInformationDL, + { "tSCAssistanceInformationDL", "f1ap.tSCAssistanceInformationDL_element", + FT_NONE, BASE_NONE, NULL, 0, + "TSCAssistanceInformation", HFILL }}, + { &hf_f1ap_tSCAssistanceInformationUL, + { "tSCAssistanceInformationUL", "f1ap.tSCAssistanceInformationUL_element", + FT_NONE, BASE_NONE, NULL, 0, + "TSCAssistanceInformation", HFILL }}, { &hf_f1ap_uACPLMN_List, { "uACPLMN-List", "f1ap.uACPLMN_List", FT_UINT32, BASE_DEC, NULL, 0, @@ -13039,26 +22901,38 @@ void proto_register_f1ap(void) { { "accessIdentity", "f1ap.accessIdentity", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_7", HFILL }}, - { &hf_f1ap_gNB_DU_UE_F1AP_ID, - { "gNB-DU-UE-F1AP-ID", "f1ap.gNB_DU_UE_F1AP_ID", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, { &hf_f1ap_indexLength10, { "indexLength10", "f1ap.indexLength10", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_10", HFILL }}, + { &hf_f1ap_uL_BH_Non_UP_Traffic_Mapping_List, + { "uL-BH-Non-UP-Traffic-Mapping-List", "f1ap.uL_BH_Non_UP_Traffic_Mapping_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_UL_BH_Non_UP_Traffic_Mapping_List_item, + { "UL-BH-Non-UP-Traffic-Mapping-Item", "f1ap.UL_BH_Non_UP_Traffic_Mapping_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_nonUPTrafficType, + { "nonUPTrafficType", "f1ap.nonUPTrafficType", + FT_UINT32, BASE_DEC, VALS(f1ap_NonUPTrafficType_vals), 0, + NULL, HFILL }}, { &hf_f1ap_uLUEConfiguration, { "uLUEConfiguration", "f1ap.uLUEConfiguration", FT_UINT32, BASE_DEC, VALS(f1ap_ULUEConfiguration_vals), 0, NULL, HFILL }}, - { &hf_f1ap_ULUPTNLInformation_ToBeSetup_List_item, - { "ULUPTNLInformation-ToBeSetup-Item", "f1ap.ULUPTNLInformation_ToBeSetup_Item_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, { &hf_f1ap_uLUPTNLInformation, { "uLUPTNLInformation", "f1ap.uLUPTNLInformation", FT_UINT32, BASE_DEC, VALS(f1ap_UPTransportLayerInformation_vals), 0, "UPTransportLayerInformation", HFILL }}, + { &hf_f1ap_newULUPTNLInformation, + { "newULUPTNLInformation", "f1ap.newULUPTNLInformation", + FT_UINT32, BASE_DEC, VALS(f1ap_UPTransportLayerInformation_vals), 0, + "UPTransportLayerInformation", HFILL }}, + { &hf_f1ap_ULUPTNLInformation_ToBeSetup_List_item, + { "ULUPTNLInformation-ToBeSetup-Item", "f1ap.ULUPTNLInformation_ToBeSetup_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_gTPTunnel, { "gTPTunnel", "f1ap.gTPTunnel_element", FT_NONE, BASE_NONE, NULL, 0, @@ -13139,6 +23013,10 @@ void proto_register_f1ap(void) { { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_Neighbour_Cell_Information_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_Cells_Failed_to_be_Activated_List_item, { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", FT_NONE, BASE_NONE, NULL, 0, @@ -13167,6 +23045,14 @@ void proto_register_f1ap(void) { { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_BHChannels_ToBeSetup_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_ToBeSetup_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_DRBs_Setup_List_item, { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", FT_NONE, BASE_NONE, NULL, 0, @@ -13187,6 +23073,22 @@ void proto_register_f1ap(void) { { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_BHChannels_Setup_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BHChannels_FailedToBeSetup_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_Setup_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_FailedToBeSetup_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_Potential_SpCell_List_item, { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", FT_NONE, BASE_NONE, NULL, 0, @@ -13207,10 +23109,18 @@ void proto_register_f1ap(void) { { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_BHChannels_ToBeSetupMod_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_DRBs_ToBeModified_List_item, { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_BHChannels_ToBeModified_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_SRBs_ToBeReleased_List_item, { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", FT_NONE, BASE_NONE, NULL, 0, @@ -13219,6 +23129,22 @@ void proto_register_f1ap(void) { { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_BHChannels_ToBeReleased_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_ToBeSetupMod_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_ToBeModified_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_ToBeReleased_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_DRBs_SetupMod_List_item, { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", FT_NONE, BASE_NONE, NULL, 0, @@ -13251,10 +23177,42 @@ void proto_register_f1ap(void) { { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_BHChannels_SetupMod_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BHChannels_Modified_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BHChannels_FailedToBeModified_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BHChannels_FailedToBeSetupMod_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_Associated_SCell_List_item, { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_SLDRBs_SetupMod_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_Modified_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_FailedToBeModified_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_FailedToBeSetupMod_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_DRBs_Required_ToBeModified_List_item, { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", FT_NONE, BASE_NONE, NULL, 0, @@ -13267,10 +23225,26 @@ void proto_register_f1ap(void) { { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_BHChannels_Required_ToBeReleased_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_Required_ToBeModified_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_SLDRBs_Required_ToBeReleased_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_DRBs_ModifiedConf_List_item, { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_SLDRBs_ModifiedConf_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_Cells_To_Be_Broadcast_List_item, { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", FT_NONE, BASE_NONE, NULL, 0, @@ -13311,6 +23285,34 @@ void proto_register_f1ap(void) { { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_f1ap_BH_Routing_Information_Added_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_BH_Routing_Information_Removed_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_IAB_TNL_Addresses_To_Remove_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_IAB_Allocated_TNL_Address_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_UL_UP_TNL_Information_to_Update_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_UL_UP_TNL_Address_to_Update_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_f1ap_DL_UP_TNL_Address_to_Update_List_item, + { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_f1ap_initiatingMessage, { "initiatingMessage", "f1ap.initiatingMessage_element", FT_NONE, BASE_NONE, NULL, 0, @@ -13337,7 +23339,7 @@ void proto_register_f1ap(void) { "UnsuccessfulOutcome_value", HFILL }}, /*--- End of included file: packet-f1ap-hfarr.c ---*/ -#line 249 "./asn1/f1ap/packet-f1ap-template.c" +#line 396 "./asn1/f1ap/packet-f1ap-template.c" }; /* List of subtrees */ @@ -13373,6 +23375,30 @@ void proto_register_f1ap(void) { &ett_f1ap_UEAssistanceInformation, &ett_f1ap_CG_Config, &ett_f1ap_Ph_InfoMCG, + &ett_f1ap_BurstArrivalTime, + &ett_f1ap_cSI_RS_Configuration, + &ett_f1ap_sR_Configuration, + &ett_f1ap_pDCCH_ConfigSIB1, + &ett_f1ap_sCS_Common, + &ett_f1ap_IABTNLAddressIPv4Address, + &ett_f1ap_IABTNLAddressIPv6Address, + &ett_f1ap_IABTNLAddressIPv6Prefix, + &ett_f1ap_InterfacesToTrace, + &ett_f1ap_MeasurementsToActivate, + &ett_f1ap_NRUERLFReportContainer, + &ett_f1ap_RACH_Config_Common, + &ett_f1ap_RACH_Config_Common_IAB, + &ett_f1ap_RACHReportContainer, + &ett_f1ap_ReferenceTime, + &ett_f1ap_ReportCharacteristics, + &ett_f1ap_SIB10_message, + &ett_f1ap_SIB12_message, + &ett_f1ap_SIB13_message, + &ett_f1ap_SIB14_message, + &ett_f1ap_SL_PHY_MAC_RLC_Config, + &ett_f1ap_SL_ConfigDedicatedEUTRA, + &ett_f1ap_TDD_UL_DLConfigCommonNR, + &ett_f1ap_UEAssistanceInformationEUTRA, /*--- Included file: packet-f1ap-ettarr.c ---*/ #line 1 "./asn1/f1ap/packet-f1ap-ettarr.c" @@ -13383,18 +23409,57 @@ void proto_register_f1ap(void) { &ett_f1ap_ProtocolExtensionField, &ett_f1ap_PrivateIE_Container, &ett_f1ap_PrivateIE_Field, + &ett_f1ap_Activated_Cells_to_be_Updated_List, + &ett_f1ap_Activated_Cells_to_be_Updated_List_Item, + &ett_f1ap_AdditionalPDCPDuplicationTNL_List, + &ett_f1ap_AdditionalPDCPDuplicationTNL_Item, &ett_f1ap_AdditionalSIBMessageList, &ett_f1ap_AdditionalSIBMessageList_Item, + &ett_f1ap_AggressorCellList, + &ett_f1ap_AggressorCellList_Item, + &ett_f1ap_AggressorgNBSetID, &ett_f1ap_AllocationAndRetentionPriority, + &ett_f1ap_AlternativeQoSParaSetList, + &ett_f1ap_AlternativeQoSParaSetItem, &ett_f1ap_Associated_SCell_Item, &ett_f1ap_AvailablePLMNList, &ett_f1ap_AvailablePLMNList_Item, + &ett_f1ap_AvailableSNPN_ID_List, + &ett_f1ap_AvailableSNPN_ID_List_Item, + &ett_f1ap_BAPlayerBHRLCchannelMappingInfo, + &ett_f1ap_BAPlayerBHRLCchannelMappingInfoList, + &ett_f1ap_BAPlayerBHRLCchannelMappingInfo_Item, + &ett_f1ap_BAPRoutingID, + &ett_f1ap_BHChannels_FailedToBeModified_Item, + &ett_f1ap_BHChannels_FailedToBeSetup_Item, + &ett_f1ap_BHChannels_FailedToBeSetupMod_Item, + &ett_f1ap_BHChannels_Modified_Item, + &ett_f1ap_BHChannels_Required_ToBeReleased_Item, + &ett_f1ap_BHChannels_Setup_Item, + &ett_f1ap_BHChannels_SetupMod_Item, + &ett_f1ap_BHChannels_ToBeModified_Item, + &ett_f1ap_BHChannels_ToBeReleased_Item, + &ett_f1ap_BHChannels_ToBeSetup_Item, + &ett_f1ap_BHChannels_ToBeSetupMod_Item, + &ett_f1ap_BHInfo, + &ett_f1ap_BHQoSInformation, + &ett_f1ap_BH_Routing_Information_Added_List_Item, + &ett_f1ap_BH_Routing_Information_Removed_List_Item, &ett_f1ap_BPLMN_ID_Info_List, &ett_f1ap_BPLMN_ID_Info_Item, &ett_f1ap_ServedPLMNs_List, &ett_f1ap_ServedPLMNs_Item, + &ett_f1ap_BroadcastCAGList, + &ett_f1ap_BroadcastNIDList, + &ett_f1ap_BroadcastSNPN_ID_List, + &ett_f1ap_BroadcastSNPN_ID_List_Item, + &ett_f1ap_BroadcastPNI_NPN_ID_List, + &ett_f1ap_BroadcastPNI_NPN_ID_List_Item, &ett_f1ap_Candidate_SpCell_Item, + &ett_f1ap_CapacityValue, &ett_f1ap_Cause, + &ett_f1ap_CellMeasurementResultList, + &ett_f1ap_CellMeasurementResultItem, &ett_f1ap_Cells_Failed_to_be_Activated_List_Item, &ett_f1ap_Cells_Status_Item, &ett_f1ap_Cells_To_Be_Broadcast_Item, @@ -13404,14 +23469,27 @@ void proto_register_f1ap(void) { &ett_f1ap_Cells_to_be_Activated_List_Item, &ett_f1ap_Cells_to_be_Deactivated_List_Item, &ett_f1ap_Cells_to_be_Barred_Item, + &ett_f1ap_CellToReportList, + &ett_f1ap_CellToReportItem, &ett_f1ap_CellType, + &ett_f1ap_Child_Node_Cells_List, + &ett_f1ap_Child_Node_Cells_List_Item, + &ett_f1ap_Child_Nodes_List, + &ett_f1ap_Child_Nodes_List_Item, &ett_f1ap_CNUEPagingIdentity, + &ett_f1ap_CompositeAvailableCapacityGroup, + &ett_f1ap_CompositeAvailableCapacity, + &ett_f1ap_ConditionalInterDUMobilityInformation, + &ett_f1ap_ConditionalIntraDUMobilityInformation, &ett_f1ap_CP_TransportLayerAddress, &ett_f1ap_CriticalityDiagnostics, &ett_f1ap_CriticalityDiagnostics_IE_List, &ett_f1ap_CriticalityDiagnostics_IE_Item, + &ett_f1ap_CUDURadioInformationType, + &ett_f1ap_CUDURIMInformation, &ett_f1ap_CUtoDURRCInformation, &ett_f1ap_Dedicated_SIDelivery_NeededUE_Item, + &ett_f1ap_DL_UP_TNL_Address_to_Update_List_Item, &ett_f1ap_DLUPTNLInformation_ToBeSetup_List, &ett_f1ap_DLUPTNLInformation_ToBeSetup_Item, &ett_f1ap_DRB_Activity_Item, @@ -13431,13 +23509,23 @@ void proto_register_f1ap(void) { &ett_f1ap_DRBs_ToBeSetup_Item, &ett_f1ap_DRBs_ToBeSetupMod_Item, &ett_f1ap_DRXCycle, + &ett_f1ap_DSInformationList, + &ett_f1ap_DUCURadioInformationType, + &ett_f1ap_DUCURIMInformation, + &ett_f1ap_DUF_Slot_Config_Item, + &ett_f1ap_DUF_Slot_Config_List, &ett_f1ap_DUtoCURRCInformation, &ett_f1ap_Dynamic5QIDescriptor, + &ett_f1ap_DynamicPQIDescriptor, + &ett_f1ap_EgressBHRLCCHList, + &ett_f1ap_EgressBHRLCCHItem, &ett_f1ap_Endpoint_IP_address_and_port, &ett_f1ap_ExtendedAvailablePLMN_List, &ett_f1ap_ExtendedAvailablePLMN_Item, + &ett_f1ap_ExplicitFormat, &ett_f1ap_ExtendedServedPLMNs_List, &ett_f1ap_ExtendedServedPLMNs_Item, + &ett_f1ap_ExtendedSliceSupportList, &ett_f1ap_EUTRACells_List, &ett_f1ap_EUTRACells_List_item, &ett_f1ap_EUTRA_Coex_FDD_Info, @@ -13454,6 +23542,9 @@ void proto_register_f1ap(void) { &ett_f1ap_Flows_Mapped_To_DRB_Item, &ett_f1ap_FreqBandNrItem, &ett_f1ap_SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem, + &ett_f1ap_FreqDomainLength, + &ett_f1ap_FlowsMappedToSLDRB_List, + &ett_f1ap_FlowsMappedToSLDRB_Item, &ett_f1ap_GBR_QosInformation, &ett_f1ap_GBR_QoSFlowInformation, &ett_f1ap_GNB_CUSystemInformation, @@ -13463,21 +23554,77 @@ void proto_register_f1ap(void) { &ett_f1ap_GNB_CU_TNL_Association_To_Add_Item, &ett_f1ap_GNB_CU_TNL_Association_To_Remove_Item, &ett_f1ap_GNB_CU_TNL_Association_To_Update_Item, + &ett_f1ap_GNB_DU_Cell_Resource_Configuration, &ett_f1ap_GNB_DU_Served_Cells_Item, &ett_f1ap_GNB_DU_System_Information, &ett_f1ap_GNB_DU_TNL_Association_To_Remove_Item, + &ett_f1ap_GTPTLAs, + &ett_f1ap_GTPTLA_Item, &ett_f1ap_GTPTunnel, + &ett_f1ap_HardwareLoadIndicator, + &ett_f1ap_HSNASlotConfigList, + &ett_f1ap_HSNASlotConfigItem, + &ett_f1ap_IAB_Info_IAB_donor_CU, + &ett_f1ap_IAB_Info_IAB_DU, + &ett_f1ap_IAB_MT_Cell_List, + &ett_f1ap_IAB_MT_Cell_List_Item, + &ett_f1ap_IAB_STC_Info, + &ett_f1ap_IAB_STC_Info_List, + &ett_f1ap_IAB_STC_Info_Item, + &ett_f1ap_IAB_Allocated_TNL_Address_Item, + &ett_f1ap_IAB_DU_Cell_Resource_Configuration_Mode_Info, + &ett_f1ap_IAB_DU_Cell_Resource_Configuration_FDD_Info, + &ett_f1ap_IAB_DU_Cell_Resource_Configuration_TDD_Info, + &ett_f1ap_IABIPv6RequestType, + &ett_f1ap_IABTNLAddress, + &ett_f1ap_IABTNLAddressesRequested, + &ett_f1ap_IAB_TNL_Addresses_To_Remove_Item, + &ett_f1ap_IABv4AddressesRequested, + &ett_f1ap_ImplicitFormat, + &ett_f1ap_IntendedTDD_DL_ULConfig, + &ett_f1ap_IPHeaderInformation, + &ett_f1ap_IPtolayer2TrafficMappingInfo, + &ett_f1ap_IPtolayer2TrafficMappingInfoList, + &ett_f1ap_IPtolayer2TrafficMappingInfo_Item, + &ett_f1ap_L139Info, + &ett_f1ap_L839Info, + &ett_f1ap_LTEUESidelinkAggregateMaximumBitrate, + &ett_f1ap_LTEV2XServicesAuthorized, + &ett_f1ap_MappingInformationtoRemove, + &ett_f1ap_MultiplexingInfo, + &ett_f1ap_M5Configuration, + &ett_f1ap_M6Configuration, + &ett_f1ap_M7Configuration, + &ett_f1ap_MDTConfiguration, + &ett_f1ap_MDTPLMNList, + &ett_f1ap_Neighbour_Cell_Information_Item, &ett_f1ap_NGRANAllocationAndRetentionPriority, &ett_f1ap_NR_CGI_List_For_Restart_Item, &ett_f1ap_NonDynamic5QIDescriptor, + &ett_f1ap_NonDynamicPQIDescriptor, &ett_f1ap_NotificationInformation, + &ett_f1ap_NPNBroadcastInformation, + &ett_f1ap_NPN_Broadcast_Information_SNPN, + &ett_f1ap_NPN_Broadcast_Information_PNI_NPN, + &ett_f1ap_NPNSupportInfo, + &ett_f1ap_NRCarrierList, + &ett_f1ap_NRCarrierItem, &ett_f1ap_NRFreqInfo, &ett_f1ap_SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem, &ett_f1ap_NRCGI, &ett_f1ap_NR_Mode_Info, + &ett_f1ap_NRPRACHConfig, + &ett_f1ap_NRPRACHConfigList, + &ett_f1ap_NRPRACHConfigItem, + &ett_f1ap_NumDLULSymbols, + &ett_f1ap_NRV2XServicesAuthorized, + &ett_f1ap_NRUESidelinkAggregateMaximumBitrate, &ett_f1ap_PacketErrorRate, &ett_f1ap_PagingCell_Item, &ett_f1ap_PagingIdentity, + &ett_f1ap_PC5_QoS_Characteristics, + &ett_f1ap_PC5QoSParameters, + &ett_f1ap_PC5FlowBitRates, &ett_f1ap_Protected_EUTRA_Resources_Item, &ett_f1ap_Potential_SpCell_Item, &ett_f1ap_PWS_Failed_NR_CGI_Item, @@ -13485,12 +23632,21 @@ void proto_register_f1ap(void) { &ett_f1ap_QoS_Characteristics, &ett_f1ap_QoSFlowLevelQoSParameters, &ett_f1ap_QoSInformation, + &ett_f1ap_RACHReportInformationList, + &ett_f1ap_RACHReportInformationItem, + &ett_f1ap_RadioResourceStatus, &ett_f1ap_RANUEPagingIdentity, &ett_f1ap_RAT_FrequencyPriorityInformation, &ett_f1ap_ResourceCoordinationEUTRACellInfo, &ett_f1ap_ResourceCoordinationTransferInformation, + &ett_f1ap_ReportingRequestType, + &ett_f1ap_RLCDuplicationInformation, + &ett_f1ap_RLCDuplicationStateList, + &ett_f1ap_RLCDuplicationState_Item, &ett_f1ap_RLCFailureIndication, &ett_f1ap_RLC_Status, + &ett_f1ap_RLFReportInformationList, + &ett_f1ap_RLFReportInformationItem, &ett_f1ap_RRCDeliveryStatus, &ett_f1ap_RRC_Version, &ett_f1ap_SCell_FailedtoSetup_Item, @@ -13507,8 +23663,33 @@ void proto_register_f1ap(void) { &ett_f1ap_SItype_List, &ett_f1ap_SItype_Item, &ett_f1ap_SibtypetobeupdatedListItem, + &ett_f1ap_SLDRBInformation, + &ett_f1ap_SLDRBs_FailedToBeModified_Item, + &ett_f1ap_SLDRBs_FailedToBeSetup_Item, + &ett_f1ap_SLDRBs_FailedToBeSetupMod_Item, + &ett_f1ap_SLDRBs_Modified_Item, + &ett_f1ap_SLDRBs_ModifiedConf_Item, + &ett_f1ap_SLDRBs_Required_ToBeModified_Item, + &ett_f1ap_SLDRBs_Required_ToBeReleased_Item, + &ett_f1ap_SLDRBs_Setup_Item, + &ett_f1ap_SLDRBs_SetupMod_Item, + &ett_f1ap_SLDRBs_ToBeModified_Item, + &ett_f1ap_SLDRBs_ToBeReleased_Item, + &ett_f1ap_SLDRBs_ToBeSetup_Item, + &ett_f1ap_SLDRBs_ToBeSetupMod_Item, + &ett_f1ap_SliceAvailableCapacity, + &ett_f1ap_SliceAvailableCapacityList, + &ett_f1ap_SliceAvailableCapacityItem, + &ett_f1ap_SNSSAIAvailableCapacity_List, + &ett_f1ap_SNSSAIAvailableCapacity_Item, &ett_f1ap_SliceSupportList, &ett_f1ap_SliceSupportItem, + &ett_f1ap_SliceToReportList, + &ett_f1ap_SliceToReportItem, + &ett_f1ap_SNSSAI_list, + &ett_f1ap_SNSSAI_Item, + &ett_f1ap_Slot_Configuration_List, + &ett_f1ap_Slot_Configuration_Item, &ett_f1ap_SNSSAI, &ett_f1ap_SRBs_FailedToBeSetup_Item, &ett_f1ap_SRBs_FailedToBeSetupMod_Item, @@ -13519,10 +23700,32 @@ void proto_register_f1ap(void) { &ett_f1ap_SRBs_ToBeReleased_Item, &ett_f1ap_SRBs_ToBeSetup_Item, &ett_f1ap_SRBs_ToBeSetupMod_Item, + &ett_f1ap_SSB_transmissionBitmap, + &ett_f1ap_SSBAreaCapacityValueList, + &ett_f1ap_SSBAreaCapacityValueItem, + &ett_f1ap_SSBAreaRadioResourceStatusList, + &ett_f1ap_SSBAreaRadioResourceStatusItem, + &ett_f1ap_SSB_PositionsInBurst, + &ett_f1ap_SSBToReportList, + &ett_f1ap_SSBToReportItem, &ett_f1ap_SUL_Information, &ett_f1ap_SupportedSULFreqBandItem, + &ett_f1ap_SymbolAllocInSlot, + &ett_f1ap_TargetCellList, + &ett_f1ap_TargetCellList_Item, &ett_f1ap_TDD_Info, + &ett_f1ap_TimeReferenceInformation, + &ett_f1ap_TNLCapacityIndicator, + &ett_f1ap_TraceActivation, + &ett_f1ap_TrafficMappingInfo, &ett_f1ap_Transmission_Bandwidth, + &ett_f1ap_Transport_UP_Layer_Address_Info_To_Add_List, + &ett_f1ap_Transport_UP_Layer_Address_Info_To_Add_Item, + &ett_f1ap_Transport_UP_Layer_Address_Info_To_Remove_List, + &ett_f1ap_Transport_UP_Layer_Address_Info_To_Remove_Item, + &ett_f1ap_Transport_Layer_Address_Info, + &ett_f1ap_TSCAssistanceInformation, + &ett_f1ap_TSCTrafficCharacteristics, &ett_f1ap_UAC_Assistance_Info, &ett_f1ap_UACPLMN_List, &ett_f1ap_UACPLMN_Item, @@ -13532,10 +23735,16 @@ void proto_register_f1ap(void) { &ett_f1ap_UACOperatorDefined, &ett_f1ap_UE_associatedLogicalF1_ConnectionItem, &ett_f1ap_UEIdentityIndexValue, + &ett_f1ap_UL_BH_Non_UP_Traffic_Mapping, + &ett_f1ap_UL_BH_Non_UP_Traffic_Mapping_List, + &ett_f1ap_UL_BH_Non_UP_Traffic_Mapping_Item, &ett_f1ap_ULConfiguration, + &ett_f1ap_UL_UP_TNL_Information_to_Update_List_Item, + &ett_f1ap_UL_UP_TNL_Address_to_Update_List_Item, &ett_f1ap_ULUPTNLInformation_ToBeSetup_List, &ett_f1ap_ULUPTNLInformation_ToBeSetup_Item, &ett_f1ap_UPTransportLayerInformation, + &ett_f1ap_VictimgNBSetID, &ett_f1ap_Reset, &ett_f1ap_ResetType, &ett_f1ap_UE_associatedLogicalF1_ConnectionListRes, @@ -13563,6 +23772,7 @@ void proto_register_f1ap(void) { &ett_f1ap_GNB_CU_TNL_Association_To_Update_List, &ett_f1ap_Cells_to_be_Barred_List, &ett_f1ap_Protected_EUTRA_Resources_List, + &ett_f1ap_Neighbour_Cell_Information_List, &ett_f1ap_GNBCUConfigurationUpdateAcknowledge, &ett_f1ap_Cells_Failed_to_be_Activated_List, &ett_f1ap_GNB_CU_TNL_Association_Setup_List, @@ -13575,12 +23785,18 @@ void proto_register_f1ap(void) { &ett_f1ap_SCell_ToBeSetup_List, &ett_f1ap_SRBs_ToBeSetup_List, &ett_f1ap_DRBs_ToBeSetup_List, + &ett_f1ap_BHChannels_ToBeSetup_List, + &ett_f1ap_SLDRBs_ToBeSetup_List, &ett_f1ap_UEContextSetupResponse, &ett_f1ap_DRBs_Setup_List, &ett_f1ap_SRBs_FailedToBeSetup_List, &ett_f1ap_DRBs_FailedToBeSetup_List, &ett_f1ap_SCell_FailedtoSetup_List, &ett_f1ap_SRBs_Setup_List, + &ett_f1ap_BHChannels_Setup_List, + &ett_f1ap_BHChannels_FailedToBeSetup_List, + &ett_f1ap_SLDRBs_Setup_List, + &ett_f1ap_SLDRBs_FailedToBeSetup_List, &ett_f1ap_UEContextSetupFailure, &ett_f1ap_Potential_SpCell_List, &ett_f1ap_UEContextReleaseRequest, @@ -13591,9 +23807,15 @@ void proto_register_f1ap(void) { &ett_f1ap_SCell_ToBeRemoved_List, &ett_f1ap_SRBs_ToBeSetupMod_List, &ett_f1ap_DRBs_ToBeSetupMod_List, + &ett_f1ap_BHChannels_ToBeSetupMod_List, &ett_f1ap_DRBs_ToBeModified_List, + &ett_f1ap_BHChannels_ToBeModified_List, &ett_f1ap_SRBs_ToBeReleased_List, &ett_f1ap_DRBs_ToBeReleased_List, + &ett_f1ap_BHChannels_ToBeReleased_List, + &ett_f1ap_SLDRBs_ToBeSetupMod_List, + &ett_f1ap_SLDRBs_ToBeModified_List, + &ett_f1ap_SLDRBs_ToBeReleased_List, &ett_f1ap_UEContextModificationResponse, &ett_f1ap_DRBs_SetupMod_List, &ett_f1ap_DRBs_Modified_List, @@ -13603,14 +23825,26 @@ void proto_register_f1ap(void) { &ett_f1ap_SRBs_FailedToBeSetupMod_List, &ett_f1ap_DRBs_FailedToBeSetupMod_List, &ett_f1ap_SCell_FailedtoSetupMod_List, + &ett_f1ap_BHChannels_SetupMod_List, + &ett_f1ap_BHChannels_Modified_List, + &ett_f1ap_BHChannels_FailedToBeModified_List, + &ett_f1ap_BHChannels_FailedToBeSetupMod_List, &ett_f1ap_Associated_SCell_List, + &ett_f1ap_SLDRBs_SetupMod_List, + &ett_f1ap_SLDRBs_Modified_List, + &ett_f1ap_SLDRBs_FailedToBeModified_List, + &ett_f1ap_SLDRBs_FailedToBeSetupMod_List, &ett_f1ap_UEContextModificationFailure, &ett_f1ap_UEContextModificationRequired, &ett_f1ap_DRBs_Required_ToBeModified_List, &ett_f1ap_DRBs_Required_ToBeReleased_List, &ett_f1ap_SRBs_Required_ToBeReleased_List, + &ett_f1ap_BHChannels_Required_ToBeReleased_List, + &ett_f1ap_SLDRBs_Required_ToBeModified_List, + &ett_f1ap_SLDRBs_Required_ToBeReleased_List, &ett_f1ap_UEContextModificationConfirm, &ett_f1ap_DRBs_ModifiedConf_List, + &ett_f1ap_SLDRBs_ModifiedConf_List, &ett_f1ap_UEContextModificationRefuse, &ett_f1ap_WriteReplaceWarningRequest, &ett_f1ap_Cells_To_Be_Broadcast_List, @@ -13641,13 +23875,42 @@ void proto_register_f1ap(void) { &ett_f1ap_F1RemovalRequest, &ett_f1ap_F1RemovalResponse, &ett_f1ap_F1RemovalFailure, + &ett_f1ap_TraceStart, + &ett_f1ap_DeactivateTrace, + &ett_f1ap_CellTrafficTrace, + &ett_f1ap_DUCURadioInformationTransfer, + &ett_f1ap_CUDURadioInformationTransfer, + &ett_f1ap_BAPMappingConfiguration, + &ett_f1ap_BH_Routing_Information_Added_List, + &ett_f1ap_BH_Routing_Information_Removed_List, + &ett_f1ap_BAPMappingConfigurationAcknowledge, + &ett_f1ap_GNBDUResourceConfiguration, + &ett_f1ap_GNBDUResourceConfigurationAcknowledge, + &ett_f1ap_IABTNLAddressRequest, + &ett_f1ap_IAB_TNL_Addresses_To_Remove_List, + &ett_f1ap_IABTNLAddressResponse, + &ett_f1ap_IAB_Allocated_TNL_Address_List, + &ett_f1ap_IABUPConfigurationUpdateRequest, + &ett_f1ap_UL_UP_TNL_Information_to_Update_List, + &ett_f1ap_UL_UP_TNL_Address_to_Update_List, + &ett_f1ap_IABUPConfigurationUpdateResponse, + &ett_f1ap_DL_UP_TNL_Address_to_Update_List, + &ett_f1ap_IABUPConfigurationUpdateFailure, + &ett_f1ap_ResourceStatusRequest, + &ett_f1ap_ResourceStatusResponse, + &ett_f1ap_ResourceStatusFailure, + &ett_f1ap_ResourceStatusUpdate, + &ett_f1ap_AccessAndMobilityIndication, + &ett_f1ap_ReferenceTimeInformationReportingControl, + &ett_f1ap_ReferenceTimeInformationReport, + &ett_f1ap_AccessSuccess, &ett_f1ap_F1AP_PDU, &ett_f1ap_InitiatingMessage, &ett_f1ap_SuccessfulOutcome, &ett_f1ap_UnsuccessfulOutcome, /*--- End of included file: packet-f1ap-ettarr.c ---*/ -#line 285 "./asn1/f1ap/packet-f1ap-template.c" +#line 456 "./asn1/f1ap/packet-f1ap-template.c" }; /* Register protocol */ @@ -13676,6 +23939,7 @@ proto_reg_handoff_f1ap(void) nr_rrc_dl_ccch_handle = find_dissector_add_dependency("nr-rrc.dl.ccch", proto_f1ap); nr_rrc_ul_dcch_handle = find_dissector_add_dependency("nr-rrc.ul.dcch", proto_f1ap); nr_pdcp_handle = find_dissector_add_dependency("pdcp-nr", proto_f1ap); + lte_rrc_conn_reconf_handle = find_dissector_add_dependency("lte-rrc.rrc_conn_reconf", proto_f1ap); /*--- Included file: packet-f1ap-dis-tab.c ---*/ #line 1 "./asn1/f1ap/packet-f1ap-dis-tab.c" @@ -13863,6 +24127,112 @@ proto_reg_handoff_f1ap(void) dissector_add_uint("f1ap.ies", id_GNB_DU_TNL_Association_To_Remove_Item, create_dissector_handle(dissect_GNB_DU_TNL_Association_To_Remove_Item_PDU, proto_f1ap)); dissector_add_uint("f1ap.ies", id_GNB_DU_TNL_Association_To_Remove_List, create_dissector_handle(dissect_GNB_DU_TNL_Association_To_Remove_List_PDU, proto_f1ap)); dissector_add_uint("f1ap.ies", id_RRCContainer_RRCSetupComplete, create_dissector_handle(dissect_RRCContainer_RRCSetupComplete_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_TraceActivation, create_dissector_handle(dissect_TraceActivation_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_TraceID, create_dissector_handle(dissect_TraceID_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_Neighbour_Cell_Information_List, create_dissector_handle(dissect_Neighbour_Cell_Information_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_AdditionalRRMPriorityIndex, create_dissector_handle(dissect_AdditionalRRMPriorityIndex_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_DUCURadioInformationType, create_dissector_handle(dissect_DUCURadioInformationType_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_CUDURadioInformationType, create_dissector_handle(dissect_CUDURadioInformationType_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_LowerLayerPresenceStatusChange, create_dissector_handle(dissect_LowerLayerPresenceStatusChange_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_Transport_Layer_Address_Info, create_dissector_handle(dissect_Transport_Layer_Address_Info_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_Neighbour_Cell_Information_Item, create_dissector_handle(dissect_Neighbour_Cell_Information_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_ToBeSetup_List, create_dissector_handle(dissect_BHChannels_ToBeSetup_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_ToBeSetup_Item, create_dissector_handle(dissect_BHChannels_ToBeSetup_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_Setup_List, create_dissector_handle(dissect_BHChannels_Setup_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_Setup_Item, create_dissector_handle(dissect_BHChannels_Setup_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_ToBeModified_Item, create_dissector_handle(dissect_BHChannels_ToBeModified_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_ToBeModified_List, create_dissector_handle(dissect_BHChannels_ToBeModified_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_ToBeReleased_Item, create_dissector_handle(dissect_BHChannels_ToBeReleased_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_ToBeReleased_List, create_dissector_handle(dissect_BHChannels_ToBeReleased_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_ToBeSetupMod_Item, create_dissector_handle(dissect_BHChannels_ToBeSetupMod_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_ToBeSetupMod_List, create_dissector_handle(dissect_BHChannels_ToBeSetupMod_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_FailedToBeModified_Item, create_dissector_handle(dissect_BHChannels_FailedToBeModified_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_FailedToBeModified_List, create_dissector_handle(dissect_BHChannels_FailedToBeModified_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_FailedToBeSetupMod_Item, create_dissector_handle(dissect_BHChannels_FailedToBeSetupMod_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_FailedToBeSetupMod_List, create_dissector_handle(dissect_BHChannels_FailedToBeSetupMod_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_Modified_Item, create_dissector_handle(dissect_BHChannels_Modified_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_Modified_List, create_dissector_handle(dissect_BHChannels_Modified_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_SetupMod_Item, create_dissector_handle(dissect_BHChannels_SetupMod_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_SetupMod_List, create_dissector_handle(dissect_BHChannels_SetupMod_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_Required_ToBeReleased_Item, create_dissector_handle(dissect_BHChannels_Required_ToBeReleased_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_Required_ToBeReleased_List, create_dissector_handle(dissect_BHChannels_Required_ToBeReleased_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_FailedToBeSetup_Item, create_dissector_handle(dissect_BHChannels_FailedToBeSetup_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BHChannels_FailedToBeSetup_List, create_dissector_handle(dissect_BHChannels_FailedToBeSetup_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BAPAddress, create_dissector_handle(dissect_BAPAddress_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_ConfiguredBAPAddress, create_dissector_handle(dissect_BAPAddress_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BH_Routing_Information_Added_List, create_dissector_handle(dissect_BH_Routing_Information_Added_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BH_Routing_Information_Added_List_Item, create_dissector_handle(dissect_BH_Routing_Information_Added_List_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BH_Routing_Information_Removed_List, create_dissector_handle(dissect_BH_Routing_Information_Removed_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_BH_Routing_Information_Removed_List_Item, create_dissector_handle(dissect_BH_Routing_Information_Removed_List_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_UL_BH_Non_UP_Traffic_Mapping, create_dissector_handle(dissect_UL_BH_Non_UP_Traffic_Mapping_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_Activated_Cells_to_be_Updated_List, create_dissector_handle(dissect_Activated_Cells_to_be_Updated_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_Child_Nodes_List, create_dissector_handle(dissect_Child_Nodes_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_IAB_TNL_Addresses_To_Remove_List, create_dissector_handle(dissect_IAB_TNL_Addresses_To_Remove_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_IAB_TNL_Addresses_To_Remove_Item, create_dissector_handle(dissect_IAB_TNL_Addresses_To_Remove_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_IAB_Allocated_TNL_Address_List, create_dissector_handle(dissect_IAB_Allocated_TNL_Address_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_IAB_Allocated_TNL_Address_Item, create_dissector_handle(dissect_IAB_Allocated_TNL_Address_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_IABIPv6RequestType, create_dissector_handle(dissect_IABIPv6RequestType_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_IABv4AddressesRequested, create_dissector_handle(dissect_IABv4AddressesRequested_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_TrafficMappingInformation, create_dissector_handle(dissect_TrafficMappingInfo_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_UL_UP_TNL_Information_to_Update_List, create_dissector_handle(dissect_UL_UP_TNL_Information_to_Update_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_UL_UP_TNL_Information_to_Update_List_Item, create_dissector_handle(dissect_UL_UP_TNL_Information_to_Update_List_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_UL_UP_TNL_Address_to_Update_List, create_dissector_handle(dissect_UL_UP_TNL_Address_to_Update_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_UL_UP_TNL_Address_to_Update_List_Item, create_dissector_handle(dissect_UL_UP_TNL_Address_to_Update_List_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_DL_UP_TNL_Address_to_Update_List, create_dissector_handle(dissect_DL_UP_TNL_Address_to_Update_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_DL_UP_TNL_Address_to_Update_List_Item, create_dissector_handle(dissect_DL_UP_TNL_Address_to_Update_List_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_NRV2XServicesAuthorized, create_dissector_handle(dissect_NRV2XServicesAuthorized_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_LTEV2XServicesAuthorized, create_dissector_handle(dissect_LTEV2XServicesAuthorized_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_NRUESidelinkAggregateMaximumBitrate, create_dissector_handle(dissect_NRUESidelinkAggregateMaximumBitrate_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_LTEUESidelinkAggregateMaximumBitrate, create_dissector_handle(dissect_LTEUESidelinkAggregateMaximumBitrate_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_FailedToBeModified_Item, create_dissector_handle(dissect_SLDRBs_FailedToBeModified_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_FailedToBeModified_List, create_dissector_handle(dissect_SLDRBs_FailedToBeModified_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_FailedToBeSetup_Item, create_dissector_handle(dissect_SLDRBs_FailedToBeSetup_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_FailedToBeSetup_List, create_dissector_handle(dissect_SLDRBs_FailedToBeSetup_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_Modified_Item, create_dissector_handle(dissect_SLDRBs_Modified_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_Modified_List, create_dissector_handle(dissect_SLDRBs_Modified_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_Required_ToBeModified_Item, create_dissector_handle(dissect_SLDRBs_Required_ToBeModified_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_Required_ToBeModified_List, create_dissector_handle(dissect_SLDRBs_Required_ToBeModified_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_Required_ToBeReleased_Item, create_dissector_handle(dissect_SLDRBs_Required_ToBeReleased_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_Required_ToBeReleased_List, create_dissector_handle(dissect_SLDRBs_Required_ToBeReleased_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_Setup_Item, create_dissector_handle(dissect_SLDRBs_Setup_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_Setup_List, create_dissector_handle(dissect_SLDRBs_Setup_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_ToBeModified_Item, create_dissector_handle(dissect_SLDRBs_ToBeModified_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_ToBeModified_List, create_dissector_handle(dissect_SLDRBs_ToBeModified_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_ToBeReleased_Item, create_dissector_handle(dissect_SLDRBs_ToBeReleased_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_ToBeReleased_List, create_dissector_handle(dissect_SLDRBs_ToBeReleased_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_ToBeSetup_Item, create_dissector_handle(dissect_SLDRBs_ToBeSetup_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_ToBeSetup_List, create_dissector_handle(dissect_SLDRBs_ToBeSetup_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_ToBeSetupMod_Item, create_dissector_handle(dissect_SLDRBs_ToBeSetupMod_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_ToBeSetupMod_List, create_dissector_handle(dissect_SLDRBs_ToBeSetupMod_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_SetupMod_List, create_dissector_handle(dissect_SLDRBs_SetupMod_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_FailedToBeSetupMod_List, create_dissector_handle(dissect_SLDRBs_FailedToBeSetupMod_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_SetupMod_Item, create_dissector_handle(dissect_SLDRBs_SetupMod_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_FailedToBeSetupMod_Item, create_dissector_handle(dissect_SLDRBs_FailedToBeSetupMod_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_ModifiedConf_List, create_dissector_handle(dissect_SLDRBs_ModifiedConf_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_SLDRBs_ModifiedConf_Item, create_dissector_handle(dissect_SLDRBs_ModifiedConf_Item_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_PC5LinkAMBR, create_dissector_handle(dissect_BitRate_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_gNBCUMeasurementID, create_dissector_handle(dissect_GNBCUMeasurementID_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_gNBDUMeasurementID, create_dissector_handle(dissect_GNBDUMeasurementID_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_RegistrationRequest, create_dissector_handle(dissect_RegistrationRequest_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_ReportCharacteristics, create_dissector_handle(dissect_ReportCharacteristics_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_CellToReportList, create_dissector_handle(dissect_CellToReportList_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_CellMeasurementResultList, create_dissector_handle(dissect_CellMeasurementResultList_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_HardwareLoadIndicator, create_dissector_handle(dissect_HardwareLoadIndicator_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_ReportingPeriodicity, create_dissector_handle(dissect_ReportingPeriodicity_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_TNLCapacityIndicator, create_dissector_handle(dissect_TNLCapacityIndicator_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_RACHReportInformationList, create_dissector_handle(dissect_RACHReportInformationList_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_RLFReportInformationList, create_dissector_handle(dissect_RLFReportInformationList_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_ReportingRequestType, create_dissector_handle(dissect_ReportingRequestType_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_TimeReferenceInformation, create_dissector_handle(dissect_TimeReferenceInformation_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_ConditionalInterDUMobilityInformation, create_dissector_handle(dissect_ConditionalInterDUMobilityInformation_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_ConditionalIntraDUMobilityInformation, create_dissector_handle(dissect_ConditionalIntraDUMobilityInformation_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_targetCellsToCancel, create_dissector_handle(dissect_TargetCellList_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_requestedTargetCellGlobalID, create_dissector_handle(dissect_NRCGI_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_ManagementBasedMDTPLMNList, create_dissector_handle(dissect_MDTPLMNList_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_TraceCollectionEntityIPAddress, create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_PrivacyIndicator, create_dissector_handle(dissect_PrivacyIndicator_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_TraceCollectionEntityURI, create_dissector_handle(dissect_URI_address_PDU, proto_f1ap)); + dissector_add_uint("f1ap.ies", id_ServingNID, create_dissector_handle(dissect_NID_PDU, proto_f1ap)); dissector_add_uint("f1ap.extension", id_gNB_CUSystemInformation, create_dissector_handle(dissect_GNB_CUSystemInformation_PDU, proto_f1ap)); dissector_add_uint("f1ap.extension", id_HandoverPreparationInformation, create_dissector_handle(dissect_HandoverPreparationInformation_PDU, proto_f1ap)); dissector_add_uint("f1ap.extension", id_TAISliceSupportList, create_dissector_handle(dissect_SliceSupportList_PDU, proto_f1ap)); @@ -13910,6 +24280,44 @@ proto_reg_handoff_f1ap(void) dissector_add_uint("f1ap.extension", id_MeasGapSharingConfig, create_dissector_handle(dissect_MeasGapSharingConfig_PDU, proto_f1ap)); dissector_add_uint("f1ap.extension", id_systemInformationAreaID, create_dissector_handle(dissect_SystemInformationAreaID_PDU, proto_f1ap)); dissector_add_uint("f1ap.extension", id_areaScope, create_dissector_handle(dissect_AreaScope_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_AggressorgNBSetID, create_dissector_handle(dissect_AggressorgNBSetID_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_VictimgNBSetID, create_dissector_handle(dissect_VictimgNBSetID_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_IntendedTDD_DL_ULConfig, create_dissector_handle(dissect_IntendedTDD_DL_ULConfig_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_QosMonitoringRequest, create_dissector_handle(dissect_QosMonitoringRequest_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_BHInfo, create_dissector_handle(dissect_BHInfo_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_IAB_Info_IAB_DU, create_dissector_handle(dissect_IAB_Info_IAB_DU_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_IAB_Info_IAB_donor_CU, create_dissector_handle(dissect_IAB_Info_IAB_donor_CU_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_IAB_Barred, create_dissector_handle(dissect_IAB_Barred_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_SIB12_message, create_dissector_handle(dissect_SIB12_message_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_SIB13_message, create_dissector_handle(dissect_SIB13_message_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_SIB14_message, create_dissector_handle(dissect_SIB14_message_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_UEAssistanceInformationEUTRA, create_dissector_handle(dissect_UEAssistanceInformationEUTRA_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_SL_PHY_MAC_RLC_Config, create_dissector_handle(dissect_SL_PHY_MAC_RLC_Config_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_SL_ConfigDedicatedEUTRA, create_dissector_handle(dissect_SL_ConfigDedicatedEUTRA_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_AlternativeQoSParaSetList, create_dissector_handle(dissect_AlternativeQoSParaSetList_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_CurrentQoSParaSetIndex, create_dissector_handle(dissect_QoSParaSetNotifyIndex_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_CarrierList, create_dissector_handle(dissect_NRCarrierList_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_ULCarrierList, create_dissector_handle(dissect_NRCarrierList_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_FrequencyShift7p5khz, create_dissector_handle(dissect_FrequencyShift7p5khz_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_SSB_PositionsInBurst, create_dissector_handle(dissect_SSB_PositionsInBurst_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_NRPRACHConfig, create_dissector_handle(dissect_f1ap_NRPRACHConfig_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_TDD_UL_DLConfigCommonNR, create_dissector_handle(dissect_TDD_UL_DLConfigCommonNR_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_CNPacketDelayBudgetDownlink, create_dissector_handle(dissect_ExtendedPacketDelayBudget_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_ExtendedPacketDelayBudget, create_dissector_handle(dissect_ExtendedPacketDelayBudget_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_TSCTrafficCharacteristics, create_dissector_handle(dissect_TSCTrafficCharacteristics_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_CNPacketDelayBudgetUplink, create_dissector_handle(dissect_ExtendedPacketDelayBudget_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_AdditionalPDCPDuplicationTNL_List, create_dissector_handle(dissect_AdditionalPDCPDuplicationTNL_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_RLCDuplicationInformation, create_dissector_handle(dissect_RLCDuplicationInformation_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_AdditionalDuplicationIndication, create_dissector_handle(dissect_AdditionalDuplicationIndication_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_TraceCollectionEntityURI, create_dissector_handle(dissect_URI_address_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_mdtConfiguration, create_dissector_handle(dissect_MDTConfiguration_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_NPNBroadcastInformation, create_dissector_handle(dissect_NPNBroadcastInformation_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_NPNSupportInfo, create_dissector_handle(dissect_NPNSupportInfo_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_NID, create_dissector_handle(dissect_NID_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_AvailableSNPN_ID_List, create_dissector_handle(dissect_AvailableSNPN_ID_List_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_SIB10_message, create_dissector_handle(dissect_SIB10_message_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_DLCarrierList, create_dissector_handle(dissect_NRCarrierList_PDU, proto_f1ap)); + dissector_add_uint("f1ap.extension", id_ExtendedTAISliceSupportList, create_dissector_handle(dissect_ExtendedSliceSupportList_PDU, proto_f1ap)); dissector_add_uint("f1ap.proc.imsg", id_Reset, create_dissector_handle(dissect_Reset_PDU, proto_f1ap)); dissector_add_uint("f1ap.proc.sout", id_Reset, create_dissector_handle(dissect_ResetAcknowledge_PDU, proto_f1ap)); dissector_add_uint("f1ap.proc.imsg", id_F1Setup, create_dissector_handle(dissect_F1SetupRequest_PDU, proto_f1ap)); @@ -13956,10 +24364,32 @@ proto_reg_handoff_f1ap(void) dissector_add_uint("f1ap.proc.imsg", id_F1Removal, create_dissector_handle(dissect_F1RemovalRequest_PDU, proto_f1ap)); dissector_add_uint("f1ap.proc.sout", id_F1Removal, create_dissector_handle(dissect_F1RemovalResponse_PDU, proto_f1ap)); dissector_add_uint("f1ap.proc.uout", id_F1Removal, create_dissector_handle(dissect_F1RemovalFailure_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.imsg", id_TraceStart, create_dissector_handle(dissect_TraceStart_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.imsg", id_DeactivateTrace, create_dissector_handle(dissect_DeactivateTrace_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.imsg", id_DUCURadioInformationTransfer, create_dissector_handle(dissect_DUCURadioInformationTransfer_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.imsg", id_CUDURadioInformationTransfer, create_dissector_handle(dissect_CUDURadioInformationTransfer_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.imsg", id_BAPMappingConfiguration, create_dissector_handle(dissect_BAPMappingConfiguration_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.sout", id_BAPMappingConfiguration, create_dissector_handle(dissect_BAPMappingConfigurationAcknowledge_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.imsg", id_GNBDUResourceConfiguration, create_dissector_handle(dissect_GNBDUResourceConfiguration_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.sout", id_GNBDUResourceConfiguration, create_dissector_handle(dissect_GNBDUResourceConfigurationAcknowledge_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.imsg", id_IABTNLAddressAllocation, create_dissector_handle(dissect_IABTNLAddressRequest_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.sout", id_IABTNLAddressAllocation, create_dissector_handle(dissect_IABTNLAddressResponse_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.imsg", id_IABUPConfigurationUpdate, create_dissector_handle(dissect_IABUPConfigurationUpdateRequest_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.sout", id_IABUPConfigurationUpdate, create_dissector_handle(dissect_IABUPConfigurationUpdateResponse_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.uout", id_IABUPConfigurationUpdate, create_dissector_handle(dissect_IABUPConfigurationUpdateFailure_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.imsg", id_resourceStatusReportingInitiation, create_dissector_handle(dissect_ResourceStatusRequest_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.sout", id_resourceStatusReportingInitiation, create_dissector_handle(dissect_ResourceStatusResponse_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.uout", id_resourceStatusReportingInitiation, create_dissector_handle(dissect_ResourceStatusFailure_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.imsg", id_resourceStatusReporting, create_dissector_handle(dissect_ResourceStatusUpdate_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.imsg", id_accessAndMobilityIndication, create_dissector_handle(dissect_AccessAndMobilityIndication_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.imsg", id_ReferenceTimeInformationReportingControl, create_dissector_handle(dissect_ReferenceTimeInformationReportingControl_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.imsg", id_ReferenceTimeInformationReport, create_dissector_handle(dissect_ReferenceTimeInformationReport_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.imsg", id_accessSuccess, create_dissector_handle(dissect_AccessSuccess_PDU, proto_f1ap)); + dissector_add_uint("f1ap.proc.imsg", id_cellTrafficTrace, create_dissector_handle(dissect_CellTrafficTrace_PDU, proto_f1ap)); /*--- End of included file: packet-f1ap-dis-tab.c ---*/ -#line 314 "./asn1/f1ap/packet-f1ap-template.c" +#line 486 "./asn1/f1ap/packet-f1ap-template.c" } /* diff --git a/epan/dissectors/packet-f1ap.h b/epan/dissectors/packet-f1ap.h new file mode 100644 index 0000000000..1719ef454a --- /dev/null +++ b/epan/dissectors/packet-f1ap.h @@ -0,0 +1,43 @@ +/* Do not modify this file. Changes will be overwritten. */ +/* Generated automatically by the ASN.1 to Wireshark dissector compiler */ +/* packet-f1ap.h */ +/* asn2wrs.py -p f1ap -c ./f1ap.cnf -s ./packet-f1ap-template -D . -O ../.. F1AP-CommonDataTypes.asn F1AP-Constants.asn F1AP-Containers.asn F1AP-IEs.asn F1AP-PDU-Contents.asn F1AP-PDU-Descriptions.asn */ + +/* Input file: packet-f1ap-template.h */ + +#line 1 "./asn1/f1ap/packet-f1ap-template.h" +/* packet-f1ap.h + * Routines for E-UTRAN F1 Application Protocol (F1AP) packet dissection + * + * Wireshark - Network traffic analyzer + * By Gerald Combs + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef PACKET_F1AP_H +#define PACKET_F1AP_H + + +/*--- Included file: packet-f1ap-exp.h ---*/ +#line 1 "./asn1/f1ap/packet-f1ap-exp.h" +int dissect_f1ap_NRPRACHConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); + +/*--- End of included file: packet-f1ap-exp.h ---*/ +#line 15 "./asn1/f1ap/packet-f1ap-template.h" + +#endif /* PACKET_F1AP_H */ + +/* + * Editor modelines + * + * Local Variables: + * c-basic-offset: 2 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * ex: set shiftwidth=2 tabstop=8 expandtab: + * :indentSize=2:tabSize=8:noTabs=true: + */ diff --git a/epan/dissectors/packet-nr-rrc.c b/epan/dissectors/packet-nr-rrc.c index b2e4bd6c79..74cb414e0f 100644 --- a/epan/dissectors/packet-nr-rrc.c +++ b/epan/dissectors/packet-nr-rrc.c @@ -403,15 +403,24 @@ static int hf_nr_rrc_nr_rrc_SIB6_PDU = -1; /* SIB6 */ static int hf_nr_rrc_nr_rrc_SIB7_PDU = -1; /* SIB7 */ static int hf_nr_rrc_nr_rrc_SIB8_PDU = -1; /* SIB8 */ static int hf_nr_rrc_nr_rrc_SIB9_PDU = -1; /* SIB9 */ +static int hf_nr_rrc_nr_rrc_SIB10_r16_PDU = -1; /* SIB10_r16 */ +static int hf_nr_rrc_nr_rrc_SIB11_r16_PDU = -1; /* SIB11_r16 */ +static int hf_nr_rrc_nr_rrc_SIB12_r16_PDU = -1; /* SIB12_r16 */ +static int hf_nr_rrc_nr_rrc_SIB13_r16_PDU = -1; /* SIB13_r16 */ +static int hf_nr_rrc_nr_rrc_SIB14_r16_PDU = -1; /* SIB14_r16 */ static int hf_nr_rrc_nr_rrc_CellGroupConfig_PDU = -1; /* CellGroupConfig */ static int hf_nr_rrc_nr_rrc_DRX_Config_PDU = -1; /* DRX_Config */ static int hf_nr_rrc_nr_rrc_MeasConfig_PDU = -1; /* MeasConfig */ static int hf_nr_rrc_nr_rrc_MeasGapConfig_PDU = -1; /* MeasGapConfig */ static int hf_nr_rrc_nr_rrc_MeasGapSharingConfig_PDU = -1; /* MeasGapSharingConfig */ static int hf_nr_rrc_nr_rrc_MeasResultSCG_Failure_PDU = -1; /* MeasResultSCG_Failure */ +static int hf_nr_rrc_nr_rrc_NZP_CSI_RS_Resource_PDU = -1; /* NZP_CSI_RS_Resource */ static int hf_nr_rrc_nr_rrc_P_Max_PDU = -1; /* P_Max */ +static int hf_nr_rrc_nr_rrc_PDCCH_ConfigSIB1_PDU = -1; /* PDCCH_ConfigSIB1 */ +static int hf_nr_rrc_nr_rrc_RACH_ConfigCommon_PDU = -1; /* RACH_ConfigCommon */ static int hf_nr_rrc_nr_rrc_RadioBearerConfig_PDU = -1; /* RadioBearerConfig */ static int hf_nr_rrc_nr_rrc_ReferenceTime_r16_PDU = -1; /* ReferenceTime_r16 */ +static int hf_nr_rrc_nr_rrc_SchedulingRequestResourceConfig_PDU = -1; /* SchedulingRequestResourceConfig */ static int hf_nr_rrc_nr_rrc_TDD_UL_DL_ConfigCommon_PDU = -1; /* TDD_UL_DL_ConfigCommon */ static int hf_nr_rrc_nr_rrc_UplinkTxDirectCurrentList_PDU = -1; /* UplinkTxDirectCurrentList */ static int hf_nr_rrc_nr_rrc_SupportedBandCombinationListSidelink_r16_PDU = -1; /* SupportedBandCombinationListSidelink_r16 */ @@ -425,6 +434,7 @@ 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_VisitedCellInfoList_r16_PDU = -1; /* VisitedCellInfoList_r16 */ static int hf_nr_rrc_nr_rrc_SL_CBR_r16_PDU = -1; /* SL_CBR_r16 */ +static int hf_nr_rrc_nr_rrc_SL_PHY_MAC_RLC_Config_r16_PDU = -1; /* SL_PHY_MAC_RLC_Config_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 */ @@ -50004,6 +50014,8 @@ static const per_sequence_t SchedulingRequestResourceConfig_sequence[] = { static int dissect_nr_rrc_SchedulingRequestResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SchedulingRequestResourceConfig, SchedulingRequestResourceConfig_sequence); @@ -80971,6 +80983,56 @@ int dissect_nr_rrc_SIB9_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tre offset += 7; offset >>= 3; return offset; } +int dissect_nr_rrc_SIB10_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_SIB10_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB10_r16_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_nr_rrc_SIB11_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_SIB11_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB11_r16_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_nr_rrc_SIB12_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_SIB12_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB12_r16_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_nr_rrc_SIB13_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_SIB13_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB13_r16_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_nr_rrc_SIB14_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_SIB14_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB14_r16_PDU); + offset += 7; offset >>= 3; + return offset; +} int dissect_nr_rrc_CellGroupConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); @@ -81031,6 +81093,16 @@ int dissect_nr_rrc_MeasResultSCG_Failure_PDU(tvbuff_t *tvb _U_, packet_info *pin offset += 7; offset >>= 3; return offset; } +int dissect_nr_rrc_NZP_CSI_RS_Resource_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_NZP_CSI_RS_Resource(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_NZP_CSI_RS_Resource_PDU); + offset += 7; offset >>= 3; + return offset; +} int dissect_nr_rrc_P_Max_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); @@ -81041,6 +81113,26 @@ int dissect_nr_rrc_P_Max_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tr offset += 7; offset >>= 3; return offset; } +int dissect_nr_rrc_PDCCH_ConfigSIB1_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_PDCCH_ConfigSIB1(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_PDCCH_ConfigSIB1_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_nr_rrc_RACH_ConfigCommon_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_RACH_ConfigCommon(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_RACH_ConfigCommon_PDU); + offset += 7; offset >>= 3; + return offset; +} int dissect_nr_rrc_RadioBearerConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); @@ -81061,6 +81153,16 @@ int dissect_nr_rrc_ReferenceTime_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _ offset += 7; offset >>= 3; return offset; } +int dissect_nr_rrc_SchedulingRequestResourceConfig_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_SchedulingRequestResourceConfig(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SchedulingRequestResourceConfig_PDU); + offset += 7; offset >>= 3; + return offset; +} int dissect_nr_rrc_TDD_UL_DL_ConfigCommon_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); @@ -81191,6 +81293,16 @@ int dissect_nr_rrc_SL_CBR_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pro offset += 7; offset >>= 3; return offset; } +int dissect_nr_rrc_SL_PHY_MAC_RLC_Config_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_PHY_MAC_RLC_Config_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SL_PHY_MAC_RLC_Config_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); @@ -81288,6 +81400,18 @@ dissect_nr_rrc_nr_RLF_Report_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, return offset; } +int +dissect_nr_rrc_subCarrierSpacingCommon_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_T_subCarrierSpacingCommon(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_BCCH_DL_SCH_Message_PDU); + offset += 7; offset >>= 3; + return offset; +} + void proto_register_nr_rrc(void) { @@ -81441,6 +81565,26 @@ proto_register_nr_rrc(void) { { "SIB9", "nr-rrc.SIB9_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_nr_rrc_SIB10_r16_PDU, + { "SIB10-r16", "nr-rrc.SIB10_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nr_rrc_SIB11_r16_PDU, + { "SIB11-r16", "nr-rrc.SIB11_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nr_rrc_SIB12_r16_PDU, + { "SIB12-r16", "nr-rrc.SIB12_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nr_rrc_SIB13_r16_PDU, + { "SIB13-r16", "nr-rrc.SIB13_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nr_rrc_SIB14_r16_PDU, + { "SIB14-r16", "nr-rrc.SIB14_r16_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_CellGroupConfig_PDU, { "CellGroupConfig", "nr-rrc.CellGroupConfig_element", FT_NONE, BASE_NONE, NULL, 0, @@ -81465,10 +81609,22 @@ proto_register_nr_rrc(void) { { "MeasResultSCG-Failure", "nr-rrc.MeasResultSCG_Failure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_nr_rrc_NZP_CSI_RS_Resource_PDU, + { "NZP-CSI-RS-Resource", "nr-rrc.NZP_CSI_RS_Resource_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_P_Max_PDU, { "P-Max", "nr-rrc.P_Max", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, NULL, HFILL }}, + { &hf_nr_rrc_nr_rrc_PDCCH_ConfigSIB1_PDU, + { "PDCCH-ConfigSIB1", "nr-rrc.PDCCH_ConfigSIB1_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_nr_rrc_RACH_ConfigCommon_PDU, + { "RACH-ConfigCommon", "nr-rrc.RACH_ConfigCommon_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_RadioBearerConfig_PDU, { "RadioBearerConfig", "nr-rrc.RadioBearerConfig_element", FT_NONE, BASE_NONE, NULL, 0, @@ -81477,6 +81633,10 @@ proto_register_nr_rrc(void) { { "ReferenceTime-r16", "nr-rrc.ReferenceTime_r16_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_nr_rrc_SchedulingRequestResourceConfig_PDU, + { "SchedulingRequestResourceConfig", "nr-rrc.SchedulingRequestResourceConfig_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_TDD_UL_DL_ConfigCommon_PDU, { "TDD-UL-DL-ConfigCommon", "nr-rrc.TDD_UL_DL_ConfigCommon_element", FT_NONE, BASE_NONE, NULL, 0, @@ -81529,6 +81689,10 @@ proto_register_nr_rrc(void) { { "SL-CBR-r16", "nr-rrc.SL_CBR_r16", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_nr_rrc_SL_PHY_MAC_RLC_Config_r16_PDU, + { "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_SBCCH_SL_BCH_Message_PDU, { "SBCCH-SL-BCH-Message", "nr-rrc.SBCCH_SL_BCH_Message_element", FT_NONE, BASE_NONE, NULL, 0, @@ -103359,7 +103523,7 @@ proto_register_nr_rrc(void) { "T_nonCriticalExtension_58", HFILL }}, /*--- End of included file: packet-nr-rrc-hfarr.c ---*/ -#line 535 "./asn1/nr-rrc/packet-nr-rrc-template.c" +#line 547 "./asn1/nr-rrc/packet-nr-rrc-template.c" { &hf_nr_rrc_serialNumber_gs, { "Geographical Scope", "nr-rrc.serialNumber.gs", @@ -105737,7 +105901,7 @@ proto_register_nr_rrc(void) { &ett_nr_rrc_T_nonCriticalExtension_58, /*--- End of included file: packet-nr-rrc-ettarr.c ---*/ -#line 673 "./asn1/nr-rrc/packet-nr-rrc-template.c" +#line 685 "./asn1/nr-rrc/packet-nr-rrc-template.c" &ett_nr_rrc_DedicatedNAS_Message, &ett_nr_rrc_targetRAT_MessageContainer, &ett_nr_rrc_nas_Container, @@ -105825,7 +105989,7 @@ proto_register_nr_rrc(void) { /*--- End of included file: packet-nr-rrc-dis-reg.c ---*/ -#line 740 "./asn1/nr-rrc/packet-nr-rrc-template.c" +#line 752 "./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 6c79d99857..5e8ce18f59 100644 --- a/epan/dissectors/packet-nr-rrc.h +++ b/epan/dissectors/packet-nr-rrc.h @@ -50,15 +50,24 @@ int dissect_nr_rrc_SIB6_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tre int dissect_nr_rrc_SIB7_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_SIB8_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_SIB9_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_nr_rrc_SIB10_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_nr_rrc_SIB11_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_nr_rrc_SIB12_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_nr_rrc_SIB13_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_nr_rrc_SIB14_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_CellGroupConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_DRX_Config_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_MeasConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_MeasGapConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_MeasGapSharingConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_MeasResultSCG_Failure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_nr_rrc_NZP_CSI_RS_Resource_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); 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_PDCCH_ConfigSIB1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_nr_rrc_RACH_ConfigCommon_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_ReferenceTime_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_nr_rrc_SchedulingRequestResourceConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_TDD_UL_DL_ConfigCommon_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_); @@ -72,8 +81,10 @@ int dissect_nr_rrc_UE_MRDC_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo 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_VisitedCellInfoList_r16_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_); +int dissect_nr_rrc_SL_PHY_MAC_RLC_Config_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" int dissect_nr_rrc_nr_RLF_Report_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_nr_rrc_subCarrierSpacingCommon_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); #endif /* PACKET_NR_RRC_H */ diff --git a/epan/dissectors/packet-x2ap.c b/epan/dissectors/packet-x2ap.c index 2d86f79291..42f312fdc1 100644 --- a/epan/dissectors/packet-x2ap.c +++ b/epan/dissectors/packet-x2ap.c @@ -41,6 +41,7 @@ #include "packet-ranap.h" #include "packet-ntp.h" #include "packet-s1ap.h" +#include "packet-f1ap.h" #ifdef _MSC_VER /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */ @@ -580,7 +581,7 @@ typedef enum _ProtocolIE_ID_enum { } ProtocolIE_ID_enum; /*--- End of included file: packet-x2ap-val.h ---*/ -#line 52 "./asn1/x2ap/packet-x2ap-template.c" +#line 53 "./asn1/x2ap/packet-x2ap-template.c" /* Initialize the protocol and registered fields */ static int proto_x2ap = -1; @@ -1839,7 +1840,7 @@ static int hf_x2ap_successfulOutcome_value = -1; /* SuccessfulOutcome_value */ static int hf_x2ap_value = -1; /* UnsuccessfulOutcome_value */ /*--- End of included file: packet-x2ap-hf.c ---*/ -#line 127 "./asn1/x2ap/packet-x2ap-template.c" +#line 128 "./asn1/x2ap/packet-x2ap-template.c" /* Initialize the subtree pointers */ static int ett_x2ap = -1; @@ -1887,6 +1888,7 @@ static int ett_x2ap_ReportCharacteristics_ENDC = -1; static int ett_x2ap_TargetCellInNGRAN = -1; static int ett_x2ap_TDDULDLConfigurationCommonNR = -1; static int ett_x2ap_MDT_ConfigurationNR = -1; +static int ett_x2ap_NRCellPRACHConfig = -1; /*--- Included file: packet-x2ap-ett.c ---*/ #line 1 "./asn1/x2ap/packet-x2ap-ett.c" @@ -2470,7 +2472,7 @@ static gint ett_x2ap_SuccessfulOutcome = -1; static gint ett_x2ap_UnsuccessfulOutcome = -1; /*--- End of included file: packet-x2ap-ett.c ---*/ -#line 175 "./asn1/x2ap/packet-x2ap-template.c" +#line 177 "./asn1/x2ap/packet-x2ap-template.c" /* Forward declarations */ static int dissect_x2ap_Registration_Request_ENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); @@ -9312,8 +9314,18 @@ dissect_x2ap_NRCellCapacityClassValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ct static int dissect_x2ap_NRCellPRACHConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 856 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, NULL); + NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); + + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_NRCellPRACHConfig); + dissect_f1ap_NRPRACHConfig_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + + return offset; } @@ -12606,7 +12618,7 @@ static const per_sequence_t HandoverRequest_sequence[] = { static int dissect_x2ap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 858 "./asn1/x2ap/x2ap.cnf" +#line 867 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -12737,7 +12749,7 @@ static const per_sequence_t HandoverRequestAcknowledge_sequence[] = { static int dissect_x2ap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 860 "./asn1/x2ap/x2ap.cnf" +#line 869 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -12785,7 +12797,7 @@ static const per_sequence_t HandoverPreparationFailure_sequence[] = { static int dissect_x2ap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 862 "./asn1/x2ap/x2ap.cnf" +#line 871 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -12802,7 +12814,7 @@ static const per_sequence_t HandoverReport_sequence[] = { static int dissect_x2ap_HandoverReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 900 "./asn1/x2ap/x2ap.cnf" +#line 909 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverReport"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -12819,7 +12831,7 @@ static const per_sequence_t EarlyStatusTransfer_sequence[] = { static int dissect_x2ap_EarlyStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1048 "./asn1/x2ap/x2ap.cnf" +#line 1057 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "EarlyStatusTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -12890,7 +12902,7 @@ static const per_sequence_t SNStatusTransfer_sequence[] = { static int dissect_x2ap_SNStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 864 "./asn1/x2ap/x2ap.cnf" +#line 873 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNStatusTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -12939,7 +12951,7 @@ static const per_sequence_t UEContextRelease_sequence[] = { static int dissect_x2ap_UEContextRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 866 "./asn1/x2ap/x2ap.cnf" +#line 875 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextRelease"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -12956,7 +12968,7 @@ static const per_sequence_t HandoverCancel_sequence[] = { static int dissect_x2ap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 868 "./asn1/x2ap/x2ap.cnf" +#line 877 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -12973,7 +12985,7 @@ static const per_sequence_t HandoverSuccess_sequence[] = { static int dissect_x2ap_HandoverSuccess(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1046 "./asn1/x2ap/x2ap.cnf" +#line 1055 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverSuccess"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -12990,7 +13002,7 @@ static const per_sequence_t ConditionalHandoverCancel_sequence[] = { static int dissect_x2ap_ConditionalHandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1050 "./asn1/x2ap/x2ap.cnf" +#line 1059 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ConditionalHandoverCancel"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13007,7 +13019,7 @@ static const per_sequence_t ErrorIndication_sequence[] = { static int dissect_x2ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 870 "./asn1/x2ap/x2ap.cnf" +#line 879 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13024,7 +13036,7 @@ static const per_sequence_t ResetRequest_sequence[] = { static int dissect_x2ap_ResetRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 872 "./asn1/x2ap/x2ap.cnf" +#line 881 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13041,7 +13053,7 @@ static const per_sequence_t ResetResponse_sequence[] = { static int dissect_x2ap_ResetResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 874 "./asn1/x2ap/x2ap.cnf" +#line 883 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13058,7 +13070,7 @@ static const per_sequence_t X2SetupRequest_sequence[] = { static int dissect_x2ap_X2SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 876 "./asn1/x2ap/x2ap.cnf" +#line 885 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13075,7 +13087,7 @@ static const per_sequence_t X2SetupResponse_sequence[] = { static int dissect_x2ap_X2SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 878 "./asn1/x2ap/x2ap.cnf" +#line 887 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13092,7 +13104,7 @@ static const per_sequence_t X2SetupFailure_sequence[] = { static int dissect_x2ap_X2SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 880 "./asn1/x2ap/x2ap.cnf" +#line 889 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13109,7 +13121,7 @@ static const per_sequence_t LoadInformation_sequence[] = { static int dissect_x2ap_LoadInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 882 "./asn1/x2ap/x2ap.cnf" +#line 891 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LoadInformation"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13158,7 +13170,7 @@ static const per_sequence_t ENBConfigurationUpdate_sequence[] = { static int dissect_x2ap_ENBConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 884 "./asn1/x2ap/x2ap.cnf" +#line 893 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdate"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13220,7 +13232,7 @@ static const per_sequence_t ENBConfigurationUpdateAcknowledge_sequence[] = { static int dissect_x2ap_ENBConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 886 "./asn1/x2ap/x2ap.cnf" +#line 895 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13237,7 +13249,7 @@ static const per_sequence_t ENBConfigurationUpdateFailure_sequence[] = { static int dissect_x2ap_ENBConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 888 "./asn1/x2ap/x2ap.cnf" +#line 897 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13254,7 +13266,7 @@ static const per_sequence_t ResourceStatusRequest_sequence[] = { static int dissect_x2ap_ResourceStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 890 "./asn1/x2ap/x2ap.cnf" +#line 899 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13339,7 +13351,7 @@ static const per_sequence_t ResourceStatusResponse_sequence[] = { static int dissect_x2ap_ResourceStatusResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 892 "./asn1/x2ap/x2ap.cnf" +#line 901 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13447,7 +13459,7 @@ static const per_sequence_t ResourceStatusFailure_sequence[] = { static int dissect_x2ap_ResourceStatusFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 894 "./asn1/x2ap/x2ap.cnf" +#line 903 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13494,7 +13506,7 @@ static const per_sequence_t ResourceStatusUpdate_sequence[] = { static int dissect_x2ap_ResourceStatusUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 896 "./asn1/x2ap/x2ap.cnf" +#line 905 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusUpdate"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13543,7 +13555,7 @@ static const per_sequence_t PrivateMessage_sequence[] = { static int dissect_x2ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 898 "./asn1/x2ap/x2ap.cnf" +#line 907 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13560,7 +13572,7 @@ static const per_sequence_t MobilityChangeRequest_sequence[] = { static int dissect_x2ap_MobilityChangeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 904 "./asn1/x2ap/x2ap.cnf" +#line 913 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13577,7 +13589,7 @@ static const per_sequence_t MobilityChangeAcknowledge_sequence[] = { static int dissect_x2ap_MobilityChangeAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 906 "./asn1/x2ap/x2ap.cnf" +#line 915 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13594,7 +13606,7 @@ static const per_sequence_t MobilityChangeFailure_sequence[] = { static int dissect_x2ap_MobilityChangeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 908 "./asn1/x2ap/x2ap.cnf" +#line 917 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13611,7 +13623,7 @@ static const per_sequence_t RLFIndication_sequence[] = { static int dissect_x2ap_RLFIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 902 "./asn1/x2ap/x2ap.cnf" +#line 911 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RLFIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13628,7 +13640,7 @@ static const per_sequence_t CellActivationRequest_sequence[] = { static int dissect_x2ap_CellActivationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 910 "./asn1/x2ap/x2ap.cnf" +#line 919 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13674,7 +13686,7 @@ static const per_sequence_t CellActivationResponse_sequence[] = { static int dissect_x2ap_CellActivationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 912 "./asn1/x2ap/x2ap.cnf" +#line 921 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13720,7 +13732,7 @@ static const per_sequence_t CellActivationFailure_sequence[] = { static int dissect_x2ap_CellActivationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 914 "./asn1/x2ap/x2ap.cnf" +#line 923 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13737,7 +13749,7 @@ static const per_sequence_t X2Release_sequence[] = { static int dissect_x2ap_X2Release(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 916 "./asn1/x2ap/x2ap.cnf" +#line 925 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2Release"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13754,7 +13766,7 @@ static const per_sequence_t X2APMessageTransfer_sequence[] = { static int dissect_x2ap_X2APMessageTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 918 "./asn1/x2ap/x2ap.cnf" +#line 927 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2APMessageTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13806,7 +13818,7 @@ static const per_sequence_t SeNBAdditionRequest_sequence[] = { static int dissect_x2ap_SeNBAdditionRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 926 "./asn1/x2ap/x2ap.cnf" +#line 935 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13894,7 +13906,7 @@ static const per_sequence_t SeNBAdditionRequestAcknowledge_sequence[] = { static int dissect_x2ap_SeNBAdditionRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 928 "./asn1/x2ap/x2ap.cnf" +#line 937 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13981,7 +13993,7 @@ static const per_sequence_t SeNBAdditionRequestReject_sequence[] = { static int dissect_x2ap_SeNBAdditionRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 930 "./asn1/x2ap/x2ap.cnf" +#line 939 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequestReject"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -13998,7 +14010,7 @@ static const per_sequence_t SeNBReconfigurationComplete_sequence[] = { static int dissect_x2ap_SeNBReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 932 "./asn1/x2ap/x2ap.cnf" +#line 941 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReconfigurationComplete"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14068,7 +14080,7 @@ static const per_sequence_t SeNBModificationRequest_sequence[] = { static int dissect_x2ap_SeNBModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 934 "./asn1/x2ap/x2ap.cnf" +#line 943 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14315,7 +14327,7 @@ static const per_sequence_t SeNBModificationRequestAcknowledge_sequence[] = { static int dissect_x2ap_SeNBModificationRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 936 "./asn1/x2ap/x2ap.cnf" +#line 945 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14536,7 +14548,7 @@ static const per_sequence_t SeNBModificationRequestReject_sequence[] = { static int dissect_x2ap_SeNBModificationRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 938 "./asn1/x2ap/x2ap.cnf" +#line 947 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequestReject"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14553,7 +14565,7 @@ static const per_sequence_t SeNBModificationRequired_sequence[] = { static int dissect_x2ap_SeNBModificationRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 940 "./asn1/x2ap/x2ap.cnf" +#line 949 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequired"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14600,7 +14612,7 @@ static const per_sequence_t SeNBModificationConfirm_sequence[] = { static int dissect_x2ap_SeNBModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 942 "./asn1/x2ap/x2ap.cnf" +#line 951 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14617,7 +14629,7 @@ static const per_sequence_t SeNBModificationRefuse_sequence[] = { static int dissect_x2ap_SeNBModificationRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 944 "./asn1/x2ap/x2ap.cnf" +#line 953 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRefuse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14634,7 +14646,7 @@ static const per_sequence_t SeNBReleaseRequest_sequence[] = { static int dissect_x2ap_SeNBReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 946 "./asn1/x2ap/x2ap.cnf" +#line 955 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14720,7 +14732,7 @@ static const per_sequence_t SeNBReleaseRequired_sequence[] = { static int dissect_x2ap_SeNBReleaseRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 948 "./asn1/x2ap/x2ap.cnf" +#line 957 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseRequired"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14737,7 +14749,7 @@ static const per_sequence_t SeNBReleaseConfirm_sequence[] = { static int dissect_x2ap_SeNBReleaseConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 950 "./asn1/x2ap/x2ap.cnf" +#line 959 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14823,7 +14835,7 @@ static const per_sequence_t SeNBCounterCheckRequest_sequence[] = { static int dissect_x2ap_SeNBCounterCheckRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 952 "./asn1/x2ap/x2ap.cnf" +#line 961 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBCounterCheckRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14881,7 +14893,7 @@ static const per_sequence_t X2RemovalRequest_sequence[] = { static int dissect_x2ap_X2RemovalRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 920 "./asn1/x2ap/x2ap.cnf" +#line 929 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14898,7 +14910,7 @@ static const per_sequence_t X2RemovalResponse_sequence[] = { static int dissect_x2ap_X2RemovalResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 922 "./asn1/x2ap/x2ap.cnf" +#line 931 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14915,7 +14927,7 @@ static const per_sequence_t X2RemovalFailure_sequence[] = { static int dissect_x2ap_X2RemovalFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 924 "./asn1/x2ap/x2ap.cnf" +#line 933 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14932,7 +14944,7 @@ static const per_sequence_t RetrieveUEContextRequest_sequence[] = { static int dissect_x2ap_RetrieveUEContextRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 954 "./asn1/x2ap/x2ap.cnf" +#line 963 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14949,7 +14961,7 @@ static const per_sequence_t RetrieveUEContextResponse_sequence[] = { static int dissect_x2ap_RetrieveUEContextResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 956 "./asn1/x2ap/x2ap.cnf" +#line 965 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15022,7 +15034,7 @@ static const per_sequence_t RetrieveUEContextFailure_sequence[] = { static int dissect_x2ap_RetrieveUEContextFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 958 "./asn1/x2ap/x2ap.cnf" +#line 967 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15039,7 +15051,7 @@ static const per_sequence_t SgNBAdditionRequest_sequence[] = { static int dissect_x2ap_SgNBAdditionRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 960 "./asn1/x2ap/x2ap.cnf" +#line 969 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBAdditionRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15148,7 +15160,7 @@ static const per_sequence_t SgNBAdditionRequestAcknowledge_sequence[] = { static int dissect_x2ap_SgNBAdditionRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 962 "./asn1/x2ap/x2ap.cnf" +#line 971 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBAdditionRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15255,7 +15267,7 @@ static const per_sequence_t SgNBAdditionRequestReject_sequence[] = { static int dissect_x2ap_SgNBAdditionRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 964 "./asn1/x2ap/x2ap.cnf" +#line 973 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBAdditionRequestReject"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15272,7 +15284,7 @@ static const per_sequence_t SgNBReconfigurationComplete_sequence[] = { static int dissect_x2ap_SgNBReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 966 "./asn1/x2ap/x2ap.cnf" +#line 975 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReconfigurationComplete"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15341,7 +15353,7 @@ static const per_sequence_t SgNBModificationRequest_sequence[] = { static int dissect_x2ap_SgNBModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 968 "./asn1/x2ap/x2ap.cnf" +#line 977 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15641,7 +15653,7 @@ static const per_sequence_t SgNBModificationRequestAcknowledge_sequence[] = { static int dissect_x2ap_SgNBModificationRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 970 "./asn1/x2ap/x2ap.cnf" +#line 979 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15915,7 +15927,7 @@ static const per_sequence_t SgNBModificationRequestReject_sequence[] = { static int dissect_x2ap_SgNBModificationRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 972 "./asn1/x2ap/x2ap.cnf" +#line 981 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequestReject"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15932,7 +15944,7 @@ static const per_sequence_t SgNBModificationRequired_sequence[] = { static int dissect_x2ap_SgNBModificationRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 974 "./asn1/x2ap/x2ap.cnf" +#line 983 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequired"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16066,7 +16078,7 @@ static const per_sequence_t SgNBModificationConfirm_sequence[] = { static int dissect_x2ap_SgNBModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 976 "./asn1/x2ap/x2ap.cnf" +#line 985 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16165,7 +16177,7 @@ static const per_sequence_t SgNBModificationRefuse_sequence[] = { static int dissect_x2ap_SgNBModificationRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 978 "./asn1/x2ap/x2ap.cnf" +#line 987 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRefuse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16182,7 +16194,7 @@ static const per_sequence_t SgNBReleaseRequest_sequence[] = { static int dissect_x2ap_SgNBReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 980 "./asn1/x2ap/x2ap.cnf" +#line 989 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16282,7 +16294,7 @@ static const per_sequence_t SgNBReleaseRequestAcknowledge_sequence[] = { static int dissect_x2ap_SgNBReleaseRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 982 "./asn1/x2ap/x2ap.cnf" +#line 991 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16329,7 +16341,7 @@ static const per_sequence_t SgNBReleaseRequestReject_sequence[] = { static int dissect_x2ap_SgNBReleaseRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 984 "./asn1/x2ap/x2ap.cnf" +#line 993 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequestReject"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16346,7 +16358,7 @@ static const per_sequence_t SgNBReleaseRequired_sequence[] = { static int dissect_x2ap_SgNBReleaseRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 986 "./asn1/x2ap/x2ap.cnf" +#line 995 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequired"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16393,7 +16405,7 @@ static const per_sequence_t SgNBReleaseConfirm_sequence[] = { static int dissect_x2ap_SgNBReleaseConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 988 "./asn1/x2ap/x2ap.cnf" +#line 997 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16493,7 +16505,7 @@ static const per_sequence_t SgNBCounterCheckRequest_sequence[] = { static int dissect_x2ap_SgNBCounterCheckRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 990 "./asn1/x2ap/x2ap.cnf" +#line 999 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBCounterCheckRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16541,7 +16553,7 @@ static const per_sequence_t SgNBChangeRequired_sequence[] = { static int dissect_x2ap_SgNBChangeRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 992 "./asn1/x2ap/x2ap.cnf" +#line 1001 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBChangeRequired"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16558,7 +16570,7 @@ static const per_sequence_t SgNBChangeConfirm_sequence[] = { static int dissect_x2ap_SgNBChangeConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 994 "./asn1/x2ap/x2ap.cnf" +#line 1003 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBChangeConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16658,7 +16670,7 @@ static const per_sequence_t RRCTransfer_sequence[] = { static int dissect_x2ap_RRCTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 998 "./asn1/x2ap/x2ap.cnf" +#line 1007 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16675,7 +16687,7 @@ static const per_sequence_t SgNBChangeRefuse_sequence[] = { static int dissect_x2ap_SgNBChangeRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 996 "./asn1/x2ap/x2ap.cnf" +#line 1005 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBChangeRefuse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16692,7 +16704,7 @@ static const per_sequence_t ENDCX2SetupRequest_sequence[] = { static int dissect_x2ap_ENDCX2SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1000 "./asn1/x2ap/x2ap.cnf" +#line 1009 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2SetupRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16969,7 +16981,7 @@ static const per_sequence_t ENDCX2SetupResponse_sequence[] = { static int dissect_x2ap_ENDCX2SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1002 "./asn1/x2ap/x2ap.cnf" +#line 1011 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2SetupResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17008,7 +17020,7 @@ static const per_sequence_t ENDCX2SetupFailure_sequence[] = { static int dissect_x2ap_ENDCX2SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1004 "./asn1/x2ap/x2ap.cnf" +#line 1013 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2SetupFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17025,7 +17037,7 @@ static const per_sequence_t ENDCConfigurationUpdate_sequence[] = { static int dissect_x2ap_ENDCConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1006 "./asn1/x2ap/x2ap.cnf" +#line 1015 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCConfigurationUpdate"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17155,7 +17167,7 @@ static const per_sequence_t ENDCConfigurationUpdateAcknowledge_sequence[] = { static int dissect_x2ap_ENDCConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1008 "./asn1/x2ap/x2ap.cnf" +#line 1017 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCConfigurationUpdateAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17194,7 +17206,7 @@ static const per_sequence_t ENDCConfigurationUpdateFailure_sequence[] = { static int dissect_x2ap_ENDCConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1010 "./asn1/x2ap/x2ap.cnf" +#line 1019 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCConfigurationUpdateFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17211,7 +17223,7 @@ static const per_sequence_t ENDCCellActivationRequest_sequence[] = { static int dissect_x2ap_ENDCCellActivationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1014 "./asn1/x2ap/x2ap.cnf" +#line 1023 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCCellActivationRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17257,7 +17269,7 @@ static const per_sequence_t ENDCCellActivationResponse_sequence[] = { static int dissect_x2ap_ENDCCellActivationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1016 "./asn1/x2ap/x2ap.cnf" +#line 1025 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCCellActivationResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17303,7 +17315,7 @@ static const per_sequence_t ENDCCellActivationFailure_sequence[] = { static int dissect_x2ap_ENDCCellActivationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1018 "./asn1/x2ap/x2ap.cnf" +#line 1027 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCCellActivationFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17320,7 +17332,7 @@ static const per_sequence_t ENDCResourceStatusRequest_sequence[] = { static int dissect_x2ap_ENDCResourceStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1052 "./asn1/x2ap/x2ap.cnf" +#line 1061 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17415,7 +17427,7 @@ static const per_sequence_t ENDCResourceStatusResponse_sequence[] = { static int dissect_x2ap_ENDCResourceStatusResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1054 "./asn1/x2ap/x2ap.cnf" +#line 1063 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17432,7 +17444,7 @@ static const per_sequence_t ENDCResourceStatusFailure_sequence[] = { static int dissect_x2ap_ENDCResourceStatusFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1056 "./asn1/x2ap/x2ap.cnf" +#line 1065 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17449,7 +17461,7 @@ static const per_sequence_t ENDCResourceStatusUpdate_sequence[] = { static int dissect_x2ap_ENDCResourceStatusUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1058 "./asn1/x2ap/x2ap.cnf" +#line 1067 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusUpdate"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17509,7 +17521,7 @@ static const per_sequence_t SecondaryRATDataUsageReport_sequence[] = { static int dissect_x2ap_SecondaryRATDataUsageReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1012 "./asn1/x2ap/x2ap.cnf" +#line 1021 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecondaryRATDataUsageReport"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17526,7 +17538,7 @@ static const per_sequence_t SgNBActivityNotification_sequence[] = { static int dissect_x2ap_SgNBActivityNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1028 "./asn1/x2ap/x2ap.cnf" +#line 1037 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBActivityNotification"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17543,7 +17555,7 @@ static const per_sequence_t ENDCPartialResetRequired_sequence[] = { static int dissect_x2ap_ENDCPartialResetRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1020 "./asn1/x2ap/x2ap.cnf" +#line 1029 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCPartialResetRequired"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17560,7 +17572,7 @@ static const per_sequence_t ENDCPartialResetConfirm_sequence[] = { static int dissect_x2ap_ENDCPartialResetConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1022 "./asn1/x2ap/x2ap.cnf" +#line 1031 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCPartialResetConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17577,7 +17589,7 @@ static const per_sequence_t EUTRANRCellResourceCoordinationRequest_sequence[] = static int dissect_x2ap_EUTRANRCellResourceCoordinationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1024 "./asn1/x2ap/x2ap.cnf" +#line 1033 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "EUTRANRCellResourceCoordinationRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17658,7 +17670,7 @@ static const per_sequence_t EUTRANRCellResourceCoordinationResponse_sequence[] = static int dissect_x2ap_EUTRANRCellResourceCoordinationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1026 "./asn1/x2ap/x2ap.cnf" +#line 1035 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "EUTRANRCellResourceCoordinationResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17725,7 +17737,7 @@ static const per_sequence_t ENDCX2RemovalRequest_sequence[] = { static int dissect_x2ap_ENDCX2RemovalRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1030 "./asn1/x2ap/x2ap.cnf" +#line 1039 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2RemovalRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17764,7 +17776,7 @@ static const per_sequence_t ENDCX2RemovalResponse_sequence[] = { static int dissect_x2ap_ENDCX2RemovalResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1032 "./asn1/x2ap/x2ap.cnf" +#line 1041 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2RemovalResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17803,7 +17815,7 @@ static const per_sequence_t ENDCX2RemovalFailure_sequence[] = { static int dissect_x2ap_ENDCX2RemovalFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1034 "./asn1/x2ap/x2ap.cnf" +#line 1043 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2RemovalFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17820,7 +17832,7 @@ static const per_sequence_t DataForwardingAddressIndication_sequence[] = { static int dissect_x2ap_DataForwardingAddressIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1036 "./asn1/x2ap/x2ap.cnf" +#line 1045 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DataForwardingAddressIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17867,7 +17879,7 @@ static const per_sequence_t GNBStatusIndication_sequence[] = { static int dissect_x2ap_GNBStatusIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1038 "./asn1/x2ap/x2ap.cnf" +#line 1047 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBStatusIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17884,7 +17896,7 @@ static const per_sequence_t ENDCConfigurationTransfer_sequence[] = { static int dissect_x2ap_ENDCConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1040 "./asn1/x2ap/x2ap.cnf" +#line 1049 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCConfigurationTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17901,7 +17913,7 @@ static const per_sequence_t TraceStart_sequence[] = { static int dissect_x2ap_TraceStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1044 "./asn1/x2ap/x2ap.cnf" +#line 1053 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17918,7 +17930,7 @@ static const per_sequence_t DeactivateTrace_sequence[] = { static int dissect_x2ap_DeactivateTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1042 "./asn1/x2ap/x2ap.cnf" +#line 1051 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17935,7 +17947,7 @@ static const per_sequence_t CellTrafficTrace_sequence[] = { static int dissect_x2ap_CellTrafficTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1060 "./asn1/x2ap/x2ap.cnf" +#line 1069 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17952,7 +17964,7 @@ static const per_sequence_t F1CTrafficTransfer_sequence[] = { static int dissect_x2ap_F1CTrafficTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1062 "./asn1/x2ap/x2ap.cnf" +#line 1071 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1CTrafficTransfer"); @@ -21530,7 +21542,7 @@ static int dissect_X2AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto /*--- End of included file: packet-x2ap-fn.c ---*/ -#line 292 "./asn1/x2ap/packet-x2ap-template.c" +#line 294 "./asn1/x2ap/packet-x2ap-template.c" static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { @@ -26599,7 +26611,7 @@ void proto_register_x2ap(void) { "UnsuccessfulOutcome_value", HFILL }}, /*--- End of included file: packet-x2ap-hfarr.c ---*/ -#line 640 "./asn1/x2ap/packet-x2ap-template.c" +#line 642 "./asn1/x2ap/packet-x2ap-template.c" }; /* List of subtrees */ @@ -26649,6 +26661,7 @@ void proto_register_x2ap(void) { &ett_x2ap_TargetCellInNGRAN, &ett_x2ap_TDDULDLConfigurationCommonNR, &ett_x2ap_MDT_ConfigurationNR, + &ett_x2ap_NRCellPRACHConfig, /*--- Included file: packet-x2ap-ettarr.c ---*/ #line 1 "./asn1/x2ap/packet-x2ap-ettarr.c" @@ -27232,7 +27245,7 @@ void proto_register_x2ap(void) { &ett_x2ap_UnsuccessfulOutcome, /*--- End of included file: packet-x2ap-ettarr.c ---*/ -#line 690 "./asn1/x2ap/packet-x2ap-template.c" +#line 693 "./asn1/x2ap/packet-x2ap-template.c" }; module_t *x2ap_module; @@ -27774,7 +27787,7 @@ proto_reg_handoff_x2ap(void) /*--- End of included file: packet-x2ap-dis-tab.c ---*/ -#line 736 "./asn1/x2ap/packet-x2ap-template.c" +#line 739 "./asn1/x2ap/packet-x2ap-template.c" } else { if (SctpPort != 0) { dissector_delete_uint("sctp.port", SctpPort, x2ap_handle); diff --git a/epan/dissectors/packet-xnap.c b/epan/dissectors/packet-xnap.c index ffb2a3de6d..6ce226b6dc 100644 --- a/epan/dissectors/packet-xnap.c +++ b/epan/dissectors/packet-xnap.c @@ -38,6 +38,7 @@ #include "packet-s1ap.h" #include "packet-ranap.h" #include "packet-ntp.h" +#include "packet-f1ap.h" #ifdef _MSC_VER /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */ @@ -406,7 +407,7 @@ typedef enum _GlobalNG_RANNode_ID_enum { } GlobalNG_RANNode_ID_enum; /*--- End of included file: packet-xnap-val.h ---*/ -#line 47 "./asn1/xnap/packet-xnap-template.c" +#line 48 "./asn1/xnap/packet-xnap-template.c" /* Initialize the protocol and registered fields */ static int proto_xnap = -1; @@ -1598,7 +1599,7 @@ static int hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia2_128 = -1; static int hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia3_128 = -1; /*--- End of included file: packet-xnap-hf.c ---*/ -#line 74 "./asn1/xnap/packet-xnap-template.c" +#line 75 "./asn1/xnap/packet-xnap-template.c" /* Initialize the subtree pointers */ static gint ett_xnap = -1; @@ -1628,6 +1629,7 @@ static gint ett_xnap_UERLFReportContainerLTE = -1; static gint ett_xnap_UERLFReportContainerNR = -1; static gint ett_xnap_burstArrivalTime = -1; static gint ett_xnap_ReportCharacteristics = -1; +static gint ett_xnap_NRCellPRACHConfig = -1; /*--- Included file: packet-xnap-ett.c ---*/ #line 1 "./asn1/xnap/packet-xnap-ett.c" @@ -2223,7 +2225,7 @@ static gint ett_xnap_SuccessfulOutcome = -1; static gint ett_xnap_UnsuccessfulOutcome = -1; /*--- End of included file: packet-xnap-ett.c ---*/ -#line 104 "./asn1/xnap/packet-xnap-template.c" +#line 106 "./asn1/xnap/packet-xnap-template.c" enum { XNAP_NG_RAN_CONTAINER_AUTOMATIC, @@ -10084,8 +10086,18 @@ dissect_xnap_NRCarrierList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ static int dissect_xnap_NRCellPRACHConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 656 "./asn1/xnap/xnap.cnf" + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, NULL); + NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); + + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_xnap_NRCellPRACHConfig); + dissect_f1ap_NRPRACHConfig_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + + return offset; } @@ -14675,7 +14687,7 @@ static const per_sequence_t HandoverRequest_sequence[] = { static int dissect_xnap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 658 "./asn1/xnap/xnap.cnf" +#line 667 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14767,7 +14779,7 @@ static const per_sequence_t HandoverRequestAcknowledge_sequence[] = { static int dissect_xnap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 660 "./asn1/xnap/xnap.cnf" +#line 669 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14815,7 +14827,7 @@ static const per_sequence_t HandoverPreparationFailure_sequence[] = { static int dissect_xnap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 662 "./asn1/xnap/xnap.cnf" +#line 671 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14832,7 +14844,7 @@ static const per_sequence_t SNStatusTransfer_sequence[] = { static int dissect_xnap_SNStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 664 "./asn1/xnap/xnap.cnf" +#line 673 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNStatusTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14849,7 +14861,7 @@ static const per_sequence_t UEContextRelease_sequence[] = { static int dissect_xnap_UEContextRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 678 "./asn1/xnap/xnap.cnf" +#line 687 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextRelease"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14866,7 +14878,7 @@ static const per_sequence_t HandoverCancel_sequence[] = { static int dissect_xnap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 666 "./asn1/xnap/xnap.cnf" +#line 675 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14883,7 +14895,7 @@ static const per_sequence_t HandoverSuccess_sequence[] = { static int dissect_xnap_HandoverSuccess(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 766 "./asn1/xnap/xnap.cnf" +#line 775 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverSuccess"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14900,7 +14912,7 @@ static const per_sequence_t ConditionalHandoverCancel_sequence[] = { static int dissect_xnap_ConditionalHandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 768 "./asn1/xnap/xnap.cnf" +#line 777 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ConditionalHandoverCancel"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14917,7 +14929,7 @@ static const per_sequence_t EarlyStatusTransfer_sequence[] = { static int dissect_xnap_EarlyStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 770 "./asn1/xnap/xnap.cnf" +#line 779 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "EarlyStatusTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -14988,7 +15000,7 @@ static const per_sequence_t RANPaging_sequence[] = { static int dissect_xnap_RANPaging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 674 "./asn1/xnap/xnap.cnf" +#line 683 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RANPaging"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15005,7 +15017,7 @@ static const per_sequence_t RetrieveUEContextRequest_sequence[] = { static int dissect_xnap_RetrieveUEContextRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 668 "./asn1/xnap/xnap.cnf" +#line 677 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15022,7 +15034,7 @@ static const per_sequence_t RetrieveUEContextResponse_sequence[] = { static int dissect_xnap_RetrieveUEContextResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 670 "./asn1/xnap/xnap.cnf" +#line 679 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15039,7 +15051,7 @@ static const per_sequence_t RetrieveUEContextFailure_sequence[] = { static int dissect_xnap_RetrieveUEContextFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 672 "./asn1/xnap/xnap.cnf" +#line 681 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15066,7 +15078,7 @@ static const per_sequence_t XnUAddressIndication_sequence[] = { static int dissect_xnap_XnUAddressIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 676 "./asn1/xnap/xnap.cnf" +#line 685 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnUAddressIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15083,7 +15095,7 @@ static const per_sequence_t SNodeAdditionRequest_sequence[] = { static int dissect_xnap_SNodeAdditionRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 680 "./asn1/xnap/xnap.cnf" +#line 689 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeAdditionRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15179,7 +15191,7 @@ static const per_sequence_t SNodeAdditionRequestAcknowledge_sequence[] = { static int dissect_xnap_SNodeAdditionRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 682 "./asn1/xnap/xnap.cnf" +#line 691 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeAdditionRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15289,7 +15301,7 @@ static const per_sequence_t SNodeAdditionRequestReject_sequence[] = { static int dissect_xnap_SNodeAdditionRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 684 "./asn1/xnap/xnap.cnf" +#line 693 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeAdditionRequestReject"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15306,7 +15318,7 @@ static const per_sequence_t SNodeReconfigurationComplete_sequence[] = { static int dissect_xnap_SNodeReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 686 "./asn1/xnap/xnap.cnf" +#line 695 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReconfigurationComplete"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15455,7 +15467,7 @@ static const per_sequence_t SNodeModificationRequest_sequence[] = { static int dissect_xnap_SNodeModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 688 "./asn1/xnap/xnap.cnf" +#line 697 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15589,7 +15601,7 @@ static const per_sequence_t SNodeModificationRequestAcknowledge_sequence[] = { static int dissect_xnap_SNodeModificationRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 690 "./asn1/xnap/xnap.cnf" +#line 699 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15746,7 +15758,7 @@ static const per_sequence_t SNodeModificationRequestReject_sequence[] = { static int dissect_xnap_SNodeModificationRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 692 "./asn1/xnap/xnap.cnf" +#line 701 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequestReject"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15763,7 +15775,7 @@ static const per_sequence_t SNodeModificationRequired_sequence[] = { static int dissect_xnap_SNodeModificationRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 694 "./asn1/xnap/xnap.cnf" +#line 703 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequired"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15827,7 +15839,7 @@ static const per_sequence_t SNodeModificationConfirm_sequence[] = { static int dissect_xnap_SNodeModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 696 "./asn1/xnap/xnap.cnf" +#line 705 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15891,7 +15903,7 @@ static const per_sequence_t SNodeModificationRefuse_sequence[] = { static int dissect_xnap_SNodeModificationRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 698 "./asn1/xnap/xnap.cnf" +#line 707 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRefuse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15908,7 +15920,7 @@ static const per_sequence_t SNodeReleaseRequest_sequence[] = { static int dissect_xnap_SNodeReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 700 "./asn1/xnap/xnap.cnf" +#line 709 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15925,7 +15937,7 @@ static const per_sequence_t SNodeReleaseRequestAcknowledge_sequence[] = { static int dissect_xnap_SNodeReleaseRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 702 "./asn1/xnap/xnap.cnf" +#line 711 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15957,7 +15969,7 @@ static const per_sequence_t SNodeReleaseReject_sequence[] = { static int dissect_xnap_SNodeReleaseReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 704 "./asn1/xnap/xnap.cnf" +#line 713 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseReject"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15974,7 +15986,7 @@ static const per_sequence_t SNodeReleaseRequired_sequence[] = { static int dissect_xnap_SNodeReleaseRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 706 "./asn1/xnap/xnap.cnf" +#line 715 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseRequired"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16006,7 +16018,7 @@ static const per_sequence_t SNodeReleaseConfirm_sequence[] = { static int dissect_xnap_SNodeReleaseConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 708 "./asn1/xnap/xnap.cnf" +#line 717 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16038,7 +16050,7 @@ static const per_sequence_t SNodeCounterCheckRequest_sequence[] = { static int dissect_xnap_SNodeCounterCheckRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 710 "./asn1/xnap/xnap.cnf" +#line 719 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeCounterCheckRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16096,7 +16108,7 @@ static const per_sequence_t SNodeChangeRequired_sequence[] = { static int dissect_xnap_SNodeChangeRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 712 "./asn1/xnap/xnap.cnf" +#line 721 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeChangeRequired"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16144,7 +16156,7 @@ static const per_sequence_t SNodeChangeConfirm_sequence[] = { static int dissect_xnap_SNodeChangeConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 714 "./asn1/xnap/xnap.cnf" +#line 723 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeChangeConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16192,7 +16204,7 @@ static const per_sequence_t SNodeChangeRefuse_sequence[] = { static int dissect_xnap_SNodeChangeRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 716 "./asn1/xnap/xnap.cnf" +#line 725 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeChangeRefuse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16209,7 +16221,7 @@ static const per_sequence_t RRCTransfer_sequence[] = { static int dissect_xnap_RRCTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 718 "./asn1/xnap/xnap.cnf" +#line 727 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16299,7 +16311,7 @@ static const per_sequence_t NotificationControlIndication_sequence[] = { static int dissect_xnap_NotificationControlIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 754 "./asn1/xnap/xnap.cnf" +#line 763 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NotificationControlIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16346,7 +16358,7 @@ static const per_sequence_t ActivityNotification_sequence[] = { static int dissect_xnap_ActivityNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 756 "./asn1/xnap/xnap.cnf" +#line 765 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ActivityNotification"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16424,7 +16436,7 @@ static const per_sequence_t XnSetupRequest_sequence[] = { static int dissect_xnap_XnSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 726 "./asn1/xnap/xnap.cnf" +#line 735 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnSetupRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16441,7 +16453,7 @@ static const per_sequence_t XnSetupResponse_sequence[] = { static int dissect_xnap_XnSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 728 "./asn1/xnap/xnap.cnf" +#line 737 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnSetupResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16458,7 +16470,7 @@ static const per_sequence_t XnSetupFailure_sequence[] = { static int dissect_xnap_XnSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 730 "./asn1/xnap/xnap.cnf" +#line 739 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnSetupFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16475,7 +16487,7 @@ static const per_sequence_t NGRANNodeConfigurationUpdate_sequence[] = { static int dissect_xnap_NGRANNodeConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 732 "./asn1/xnap/xnap.cnf" +#line 741 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGRANNodeConfigurationUpdate"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16516,7 +16528,7 @@ static const per_sequence_t NGRANNodeConfigurationUpdateAcknowledge_sequence[] = static int dissect_xnap_NGRANNodeConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 734 "./asn1/xnap/xnap.cnf" +#line 743 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGRANNodeConfigurationUpdateAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16586,7 +16598,7 @@ static const per_sequence_t NGRANNodeConfigurationUpdateFailure_sequence[] = { static int dissect_xnap_NGRANNodeConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 736 "./asn1/xnap/xnap.cnf" +#line 745 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGRANNodeConfigurationUpdateFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16603,7 +16615,7 @@ static const per_sequence_t E_UTRA_NR_CellResourceCoordinationRequest_sequence[] static int dissect_xnap_E_UTRA_NR_CellResourceCoordinationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 738 "./asn1/xnap/xnap.cnf" +#line 747 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-UTRA-NR-CellResourceCoordinationRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16679,7 +16691,7 @@ static const per_sequence_t E_UTRA_NR_CellResourceCoordinationResponse_sequence[ static int dissect_xnap_E_UTRA_NR_CellResourceCoordinationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 740 "./asn1/xnap/xnap.cnf" +#line 749 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-UTRA-NR-CellResourceCoordinationResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16754,7 +16766,7 @@ static const per_sequence_t SecondaryRATDataUsageReport_sequence[] = { static int dissect_xnap_SecondaryRATDataUsageReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 760 "./asn1/xnap/xnap.cnf" +#line 769 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecondaryRATDataUsageReport"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16771,7 +16783,7 @@ static const per_sequence_t XnRemovalRequest_sequence[] = { static int dissect_xnap_XnRemovalRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 720 "./asn1/xnap/xnap.cnf" +#line 729 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnRemovalRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16788,7 +16800,7 @@ static const per_sequence_t XnRemovalResponse_sequence[] = { static int dissect_xnap_XnRemovalResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 722 "./asn1/xnap/xnap.cnf" +#line 731 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnRemovalResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16805,7 +16817,7 @@ static const per_sequence_t XnRemovalFailure_sequence[] = { static int dissect_xnap_XnRemovalFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 724 "./asn1/xnap/xnap.cnf" +#line 733 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnRemovalFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16822,7 +16834,7 @@ static const per_sequence_t CellActivationRequest_sequence[] = { static int dissect_xnap_CellActivationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 742 "./asn1/xnap/xnap.cnf" +#line 751 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16863,7 +16875,7 @@ static const per_sequence_t CellActivationResponse_sequence[] = { static int dissect_xnap_CellActivationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 744 "./asn1/xnap/xnap.cnf" +#line 753 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16904,7 +16916,7 @@ static const per_sequence_t CellActivationFailure_sequence[] = { static int dissect_xnap_CellActivationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 746 "./asn1/xnap/xnap.cnf" +#line 755 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16921,7 +16933,7 @@ static const per_sequence_t ResetRequest_sequence[] = { static int dissect_xnap_ResetRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 748 "./asn1/xnap/xnap.cnf" +#line 757 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16938,7 +16950,7 @@ static const per_sequence_t ResetResponse_sequence[] = { static int dissect_xnap_ResetResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 750 "./asn1/xnap/xnap.cnf" +#line 759 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16955,7 +16967,7 @@ static const per_sequence_t ErrorIndication_sequence[] = { static int dissect_xnap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 752 "./asn1/xnap/xnap.cnf" +#line 761 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16972,7 +16984,7 @@ static const per_sequence_t PrivateMessage_sequence[] = { static int dissect_xnap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 758 "./asn1/xnap/xnap.cnf" +#line 767 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -16989,7 +17001,7 @@ static const per_sequence_t TraceStart_sequence[] = { static int dissect_xnap_TraceStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 764 "./asn1/xnap/xnap.cnf" +#line 773 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17006,7 +17018,7 @@ static const per_sequence_t DeactivateTrace_sequence[] = { static int dissect_xnap_DeactivateTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 762 "./asn1/xnap/xnap.cnf" +#line 771 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17023,7 +17035,7 @@ static const per_sequence_t FailureIndication_sequence[] = { static int dissect_xnap_FailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 772 "./asn1/xnap/xnap.cnf" +#line 781 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "FailureIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17040,7 +17052,7 @@ static const per_sequence_t HandoverReport_sequence[] = { static int dissect_xnap_HandoverReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 774 "./asn1/xnap/xnap.cnf" +#line 783 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverReport"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17057,7 +17069,7 @@ static const per_sequence_t ResourceStatusRequest_sequence[] = { static int dissect_xnap_ResourceStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 776 "./asn1/xnap/xnap.cnf" +#line 785 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17074,7 +17086,7 @@ static const per_sequence_t ResourceStatusResponse_sequence[] = { static int dissect_xnap_ResourceStatusResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 778 "./asn1/xnap/xnap.cnf" +#line 787 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17091,7 +17103,7 @@ static const per_sequence_t ResourceStatusFailure_sequence[] = { static int dissect_xnap_ResourceStatusFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 780 "./asn1/xnap/xnap.cnf" +#line 789 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17108,7 +17120,7 @@ static const per_sequence_t ResourceStatusUpdate_sequence[] = { static int dissect_xnap_ResourceStatusUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 782 "./asn1/xnap/xnap.cnf" +#line 791 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusUpdate"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17125,7 +17137,7 @@ static const per_sequence_t MobilityChangeRequest_sequence[] = { static int dissect_xnap_MobilityChangeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 784 "./asn1/xnap/xnap.cnf" +#line 793 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17142,7 +17154,7 @@ static const per_sequence_t MobilityChangeAcknowledge_sequence[] = { static int dissect_xnap_MobilityChangeAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 786 "./asn1/xnap/xnap.cnf" +#line 795 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17159,7 +17171,7 @@ static const per_sequence_t MobilityChangeFailure_sequence[] = { static int dissect_xnap_MobilityChangeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 788 "./asn1/xnap/xnap.cnf" +#line 797 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -17176,7 +17188,7 @@ static const per_sequence_t AccessAndMobilityIndication_sequence[] = { static int dissect_xnap_AccessAndMobilityIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 790 "./asn1/xnap/xnap.cnf" +#line 799 "./asn1/xnap/xnap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AccessAndMobilityIndication"); @@ -19385,7 +19397,7 @@ static int dissect_XnAP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto /*--- End of included file: packet-xnap-fn.c ---*/ -#line 249 "./asn1/xnap/packet-xnap-template.c" +#line 251 "./asn1/xnap/packet-xnap-template.c" static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { @@ -24192,7 +24204,7 @@ void proto_register_xnap(void) { NULL, HFILL }}, /*--- End of included file: packet-xnap-hfarr.c ---*/ -#line 415 "./asn1/xnap/packet-xnap-template.c" +#line 417 "./asn1/xnap/packet-xnap-template.c" }; /* List of subtrees */ @@ -24224,6 +24236,7 @@ void proto_register_xnap(void) { &ett_xnap_UERLFReportContainerNR, &ett_xnap_burstArrivalTime, &ett_xnap_ReportCharacteristics, + &ett_xnap_NRCellPRACHConfig, /*--- Included file: packet-xnap-ettarr.c ---*/ #line 1 "./asn1/xnap/packet-xnap-ettarr.c" @@ -24819,7 +24832,7 @@ void proto_register_xnap(void) { &ett_xnap_UnsuccessfulOutcome, /*--- End of included file: packet-xnap-ettarr.c ---*/ -#line 447 "./asn1/xnap/packet-xnap-template.c" +#line 450 "./asn1/xnap/packet-xnap-template.c" }; module_t *xnap_module; @@ -25170,7 +25183,7 @@ proto_reg_handoff_xnap(void) /*--- End of included file: packet-xnap-dis-tab.c ---*/ -#line 491 "./asn1/xnap/packet-xnap-template.c" +#line 494 "./asn1/xnap/packet-xnap-template.c" } else { if (sctp_port != 0) { dissector_delete_uint("sctp.port", sctp_port, xnap_handle); -- cgit v1.2.3